Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Пока на gp32x.com тишина, начал ковырять исходники сабжа в версии для Wiz'а. Внутри, платформозависимый код ужасен. Видно что его переделывали из исходной SDL версии сначала под GP2X, заодно используя pollux_set Notaz'а, а потом #ifdef'ами перекорёжили под Wiz с добавлением libcastor'ки. Разбираться во всём этом месиве практически невозможно. Поэтому я начал с малого - попробовал скомпильнуть и чтобы оно хоть как-нибудь запустилось. Переделал RAM-тайминги под Кену(пока вообще отключил разгон ОЗУ), вырубил поворот экран. Эмулятор стартует, но экран кривой(потом скриншоты положу) и, понятное дело, управление тоже не работает. Тем более, что ремаппинг кнопок там будет серьёзной головной болью из за методов в wiz_lib'е, про джойстик молчу. Пока на этом я застрял. Думаю как дебажить. Через вывод в лог не охота, хочу настроить gdb клиент\сервер для отладки пошаговой, но сдаётся мне это не сработает из-за pollux_set'а. Собственно вопрос - есть ли смысл там ковыряться или кто-то уже делает\сделал? Версия с использованием Vice'а не рассматривается. Он сам по себе тормозной, хоть и есть SDL версия. Там надо делать серьёзные платформозависимые оптимизации, что в конечном итоге выльется в месиво на подобии Frodo, только ещё тормознее.
upd. Добавил обещаный скриншот. По нему видно, что имеется проблема в функциях отрисовки экрана. Что интересно, смещение идёт каждые 8 символов. Т.е. я так полагаю, что мы видим линии бордюра, которые разнесло по экрану. Исходники не даю, потому что они пока практически точно такие же как на openhandhelds.org в разделе Wiz'а. |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Хорошая новость, что ты занялся C64. Там было немало хороших игрушек.
Надеюсь когда нибудь у кого-нибудь дойдут руки и до Амиги с Атари ST _________________ Просто Вовк |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Эм... дык Амига то уже есть. А АтариST сейчас сносно работает через GINGE. Засада по прежнему с Комодом. Вроде как были поползновения от автора порта под Виз, но до сих пор тишина. А мне ещё долго с ним возиться пока пойму что к чему. Не факт что дело вообще выгорит. |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Вау, её то я и пропустил. Спасибо. Смотрел эту тему, но там на тот момент ничего кроме плаков не было. Не ожидал что Рисси выложит свою версию туда и тем более того, что она так и не появится в тот же день на архиве.
С архивом в последнее время вообще беда. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Продолжаю свои мучения с этим... кхм... куском кода. Несмотря на то, что я взял за основу порт для Виза и его настройки мейкфайла, всё-равно проблема неправильной генерации картинки никуда не исчезла. Причём она точно в функциях рисования эмуля, а не блита готового буфера на экран. Ради такого сделал-таки проект(с которым тоже была целая история...) для Code::Blocks чтобы можно было цивильно отлаживаться через гую и GDB. Сижу, пытаюсь понять как эмулируется VIC Комода. Пока всё печально. Точно выяснил, что горизонтальные полосы получаются в процедуре отрисовки спрайтов. Если её выключить - будут чёрные полосы на тех же местах -__- Т.е. явно где-то баг с расчётом смещения по экранной области, а вот где он и почему вдруг возник непонятно. Буду сравнивать исходники для разных платформ, может подсказку найду. Но самый аццкий хэл будет потом - это переделка управления под Кену. Там совершенно антисоциальные хэндлеры управления и маппинга на виртуальную клаву. |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Ну что, частично меня можно поздравить - картинку я кажется починил. Осталось самое страшное - управление Т__Т |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Так. Управление я тоже починил. Оказалось не настолько страшно, как я предполагал. В uae4all всё намного хуже в этом плане. Теперь осталось понять две вещи - откуда такие тормоза(эмуль явно подтормаживает), и почему не работают функции меню(после них гарантированный вылет). Насчёт тормозов есть некоторые идеи - я полагаю внутри где-то есть цикл задержки для синхронизации. Видимо неправильное значение на задержку вычисляется. Поэтому попрошу владельцев Виза проверить версию для него на предмет тормозов, а именно различия по скорости эмуляции между просто Frodo и FrodoSC "экзешниками". Взять эмуль можно отсюда :
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,72,276
И хотя народ в комментах говорит что он фулспид эмулирует, есть подозрения, что фулспид только FrodoPC версия в которой упрощённая эмуляция экрана. |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Привет, поздравляю с успехами.
Эмулятор помню, еще с Эфок - особых тормозов еще тогда не было, о производительности ничего толком не скажу - большинство проектов запускались неплохо под обоими запускниками, просто в разных запускниках эмулятора были проблемы с разными образами игр.
Скинь пару проблемных образов, посмотрю их на Визе и скажу есть ли грабли и где. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
В общем странная бяка с загрузкой следующего образа диска. Он нормально не подцепляется (не проходит загрузка из него информации по запуску первого файл или запуску произвольного файла).
Также словил еще один баг с управлением - в менюшке иногда начинает жать от балды "селект", на каком бы пункте ты не находился. 8/
Да, и с управлением - никак не удается подобрать игру, которая бы нормально работала с джойстиком 8/ Везде где пробовал работают только кнопка вниз и выстрел. Надо будет поковырять конфиги. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Да, там действительно странное с диск лоадером что-то. Надо внутрь опять смотреть -__- Управление да, оно тоже работает "с приключениями". Хотя битовую маску передаваемую в функцию обработчика нажатий я проверял в дебаггере. Видимо что-то ещё дополнительно глючит. А вот про селект странно, у меня такого поведения не было. С джойстиком проблема мне тоже вроде ясна - видимо он не держит нажатие. В визовском коде он постоянно читает состояние пинов пада, а с джойстиком такой фокус не катит. Видимо надо будет заводить переменные сохраняющие состояние по осям.
Тут другое дело, я кажется "разворошил осиное гнездо" На буржуйском форуме ожил, его величество, Pickle и вроде как сильно недоволен. На что я ему резонно ответил - нефиг было столько тормозить. Если сам портировал его на Виз, то переделка под Кену - плёвое дело, зачем было столько времени тянуть кота за меандр? Пара дней и порт готов... |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Частично пофиксил управление, теперь курсорные кнопки работают как надо. Но всё-ещё непонятно откуда иногда возникают коллизии - напр. B + Vol. Down или Home + Joy2 Fire. Но вот что порадовало - запас по скорости эмуляции. Я поставил звук на 44100 и всё-равно времени процессорного дофига. Но главное другое. Я тут ради RAM таймингов полез рыться по исходникам портов и нашёл в PocketSNES всё то, что мне нужно было во Frodo только лучше Так что, будет время в отпуске - сделаю отдельную Кену ветку в которую унаследую наработки из PocketSNES(это не касается меню). А именно, что я хочу доделать:
* Индикацию активности медиа устройства(дисковод\кассета). Иначе непонятно - грузится что-то, или уже повисло\распаковывается.
* Двойную буферизацию при рисовании на экран. С демосценовых времен бесят тиринги.
* Надо что-то делать со звуковой синхронизацией - постоянные блипы при обновлении звукового буфера меня нервируют.
* TV OUT поддержку. Когда мне спаяют кабель, иначе не могу дебажить.
* Поддержку внешней клавы\джойстика.
Пофиксеная версия. Проверяйте.
http://rghost.ru/10142151 |
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Вернуться к началу |
|
|
PheeL
Постоялец
Пол: Возраст: 45 Зарегистрирован: 10.11.2010 Сообщения: 60
Группы: Нет
|
|
Вернуться к началу |
|
|
|