Сообщения без ответов | Активные темы Текущее время: 28 мар 2024, 19:34



Ответить на тему  [ Сообщений: 13 ] 
 FCEUX и режим Dendy 
Автор Сообщение
Сообщение 05 ноя 2013, 23:32
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Как-то спонтанно все завертелось на форуме tasvideos.org (см.ветки про разработку FCEUX и BizHawk)
Выяснилось, что BizHawk уже на данный момент имеет отличный и идеально работающий денди-режим, но его нельзя включить (без некоторых неочевидных манипуляций).
Приятная новость, я попробовал - действительно работает отлично.
FCEUX же не имеет денди-режима. Но очень хочется его сделать, потому что множество в том числе андроидных эмуляторов основаны на коде fceux-svn.

Как известно, разработчиков FCEUX несколько: наши AnS, feos и Санч и зарубежные - adelikat и zeromus.
Никто из них не заинтересован в денди-режиме, отчасти из-за старого кода FCEU, который в свою очередь форк FCE 1998 года.
Там сплошной хардкод. Увы, так вышло, что самый популярный эмулятор NES основан на таком вот наследии.
Вселяет надежду наличие ядра NEW_PPU, написанного зеромусом в середине 2000х на более-менее внятном синтаксисе, где можно легко отследить и поменять ключевые константы.

Вот что мы имеем:
AnS писал(а):
Personally I don't care about the mode, as I've been playing NES emulators for more than decade, while I was playing Dendy only for a few years in 90s, so I'm long accustomed to 60FPS instead of sluggish 50FPS.

Adelikat писал(а):
I no longer actively develop FCEUX, please talk to AnS about this.

Zeromus писал(а):
I have little interest in FCEUX and especially not things like this. FCEUX is a difficult codebase to work with when it comes to changing core things. Maybe someone else will fix it if you continue to add info to the bugtracker.

Феос отнесся к затее скорее положительно, но нужно знать, куда копать. Он тоже не знает.

Я сам попытался сделать денди-режим из ПАЛа, но моя попытка провалилась.
1) Сначала я заменил ПАЛ тайминги на дендевские в NEW PPU (и заодно поломал NTSC, это очевидно):
http://diffchecker.com/1fw2dxhl (строка 1968 и далее)
2) Потом поменял таблицы звука, чтобы DPCM и тоновые каналы играли на одной высоте тона при запуске НТСЦ-игр на пале:
http://diffchecker.com/qb6e9kz1
После этих процедур большинство НТСЦ-игр, которые глючили в пале, стали работать нормально. Даже Батлтоадс/БТиДД перестали наглухо зависать. БТиДД даже дёргается где надо))
Но все равно проскакивают мелкие глюки то там, то здесь (например первый батлтоадс). Я подумал, что это оттого, что частота ЦП до сих пор низкая, и равна 1.66 МГц
3) Нашел частоту ЦП
http://diffchecker.com/5o5l8hid
Но когда ее меняю, эти мелкие глюки не исчезают (что уже странно), а звук сильно портится, так что я не могу на слух определить - изменилась ли высота тона - а следовательно, повысилась ли в реальности частота ЦП.

Тогда я попытался пойти другим путем и просто замедлить классический NTSC режим до 50 гц (фактически тот же денди-режим, но сделанный искусственно):
Все работает действительно на 50 гц, но звук намертво портится
http://diffchecker.com/5m5ej1t9 (строка 934)

Если кто-нибудь заинтересован - пишите сюда. На разработчиков надеяться бесполезно, а я совершенно не умею программировать. На что мозгов хватило, то и осилил.
Здесь не обойтись простой заменой ненужных констант на нужные, как в нестопии.
Сделать настоящий денди-режим скорее всего не получится, а если размер аудиобуфера хардкодом завязан на частоту ЦП - это полный мрак (здравствуй, ядро FCEU).
Было бы здорово хотя бы просто реализовать замедление: замедлить NTSC режим до 50 гц при сохранении высоты тона NTSC для всех каналов (включая DPCM)
Для конечного пользователя отличий от настоящего денди режима практически не будет.

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 07 ноя 2013, 10:36
Профиль
Аватара пользователя

Зарегистрирован:
06 янв 2010, 15:19
Сообщения: 10
Вряд ли за это кто то возьмется, очень жаль, у тебя почти получилось, если бы добавить отдельную галочку для твоего режима, и доработать его, было б круто. А так, юзаем BizHawk, хорошо хоть туда денди режим добавили.
Цитата:
Если кто-нибудь заинтересован - пишите сюда.
+1


Сообщение 07 ноя 2013, 23:56
Профиль
Аватара пользователя

Зарегистрирован:
06 ноя 2008, 02:39
Сообщения: 21
Не понимаю, какой смысл от Dendy-режима? В чем его преимущество перед оригинальным звуком NES/Famicom?


Сообщение 08 ноя 2013, 06:21
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Greg Ayrton писал(а):
Не понимаю, какой смысл от Dendy-режима? В чем его преимущество перед оригинальным звуком NES/Famicom?

Режим Денди только для взрослых дядек. Школоте не понять.

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...


Сообщение 08 ноя 2013, 10:18
Профиль
Аватара пользователя

Зарегистрирован:
06 янв 2010, 15:19
Сообщения: 10
Greg Ayrton писал(а):
Не понимаю, какой смысл от Dendy-режима? В чем его преимущество перед оригинальным звуком NES/Famicom?

В денди режиме игра идет на 50 фпс, да можно переключится на пал эмуляцию, но некоторые игры не идут, или не корректно работают.


Сообщение 08 ноя 2013, 12:08
Профиль WWW
Аватара пользователя

Зарегистрирован:
06 апр 2008, 13:46
Сообщения: 119
Было бы клёво. Вообще жалко, что никто не берётся серьёзно дорабатывать Nestopia. Хотя помню когда-то автор FCEU закрыл проект (я тогда был её фанатом), и она долгое время лежала без дела с несколькими несерьёзными форками, пока не дошло дело до FCEUX.


Сообщение 24 апр 2015, 16:38
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Всем здрасте. К делу подключились Feos с tasvideos.org и Илья Хвощевский. Огромная им благодарность!
Ниже прикреплен билд от феоса на основе всех наших наработок.
Денди-режим официально запилен в репу FCEUX!

За всеми подробностями - в тему на nesdev

upd 27.04.2015: Отдельный подарок тем людям, у которых была денди с перепутанными тембрами инструментов:
config -> sound -> swap duty cycles
Ностальгируйте на здоровье:


Вложения:
Комментарий к файлу: FCEUX svn-r3107 with Dendy-mode and "Swap Duty Cycles" option
fceux-dendy-27.04.2015-r3107+.7z [1.05 МБ]
Скачиваний: 504

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 27 апр 2015, 17:44, всего редактировалось 2 раз(а).

Сообщение 27 апр 2015, 01:18
Профиль
Аватара пользователя

Зарегистрирован:
06 янв 2010, 15:19
Сообщения: 10
Все отлично работает! Сколько лет ждал! Спасибо Вам парни!! :2players: :2players: :2players: :2players:


Сообщение 30 апр 2015, 14:08
Профиль WWW
Аватара пользователя

Зарегистрирован:
06 апр 2008, 13:46
Сообщения: 119
Ого, круто! Ждём релиза на fceux.com с этими фишечками :)


Сообщение 30 апр 2015, 17:24
Профиль
Аватара пользователя

Зарегистрирован:
06 янв 2010, 15:19
Сообщения: 10
На fceux.com долго ждать придется, там раз в год/два версия обновляется.


Сообщение 01 май 2015, 22:50
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Update 01.05.2015: Добавлен фильтр "prescale nX" (где n=1,2,3,4).
Аналогичные фильтры есть в VirtuaNES и puNES.
Исправлен баг nsf-плеера в режиме Dendy.

Изображение


Вложения:
fceux-01.05.2015-svn3110.rar [1.08 МБ]
Скачиваний: 527

_________________
Nestopia 1.37/1.40 Fixed
Сообщение 02 июл 2015, 03:05
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Выражаю благодарность feos'у, Илье и Лукасу (punkrockguy318) за портирование
денди-режима под SDL в последней ревизии FCEUX r3134-svn:

Изображение

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 25 окт 2015, 16:18
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Замедлил NTSC-режим виртуанеса до 50гц, стало на денди похоже.
Пусть здесь полежит, может еще что-нибудь придумаю.


Вложения:
Комментарий к файлу: NTSC slowdown hack
VirtuaNES_50FPS.rar [476.34 КБ]
Скачиваний: 474

_________________
Nestopia 1.37/1.40 Fixed
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 13 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB