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



Ответить на тему  [ Сообщений: 230 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  След.
 Отличия Dendy и других клонов от оригинальных NES/Famicom 
Автор Сообщение
Сообщение 12 дек 2009, 20:23
Профиль ICQ WWW
Аватара пользователя

Зарегистрирован:
22 июл 2007, 11:16
Сообщения: 787
Картинка очень хорошо ложится на тайминг нтсц кадра. От начала нми до начала рандера - ~20 строк, как и у нтсц, только по доке нми период длится все 20 строк, а у нас получается всего 5-6. Дальше такой же как у нтсц кадр, а потом тупо заглушки, разбитые на пополам до и после кадрового синхроимпульса. Получается что-то вроде ничего не делающей заглушки до прихода нми по правилам нтсц кадра, дающей лишнее время на обсчеты. От этого походу и пиратка на эмуляторах иногда вешается. Ей банально не хватает времени на отработку кода до прихода нми, как например у пиратского хака чипидейла 2 - марио и соник. Там между уровнями пираты вставили распаковку тайловых карт вместо стандартной незапакованной, она отжирает больше времени и просто на нтсц консоли не успевает отработать до прихода нми, который херит распаковщик сменой банка...

В общем в эмуляторе денди нужно просто к нтсц режиму добавить 30 лишних строк до КСИ и 20 после, когда ни каких прерываний не генерится и ппу не работает.

_________________
1. Модератор всегда прав.
2. Если модератор не прав, см. п. 1.


Сообщение 13 дек 2009, 15:02
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
HardWareMan:
15 - строчный обратный ход
84 - строка
6 - строчное гашение
8 - строчный синхроимпульс
Итого: 113 циклов на строку (F2, т.е. машинных процессорных циклов).
Если точнее, то не ровно 113, так как частоты не кратные. Но очень близко к реалу.


Вложения:
SLF2_Synchro.png
SLF2_Synchro.png [ 11.7 КБ | Просмотров: 19283 ]
ScanLine+F2.png
ScanLine+F2.png [ 12.64 КБ | Просмотров: 19149 ]

_________________
Nestopia 1.37/1.40 Fixed
Сообщение 13 дек 2009, 19:36
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Я раньше думал, что частота CPU влияет ТОЛЬКО на высоту тона 4-х каналов, а высота пятого, DPCM - задаётся непосредственно таблицей.
Тесты показали следующее: частота CPU влияет на высоту ВСЕХ 5-ти каналов в одинаковой степени.

Мы имеем стандартную таблицу частот DMC для NTSC. CPU=1.79 Мгц, и все 5 каналов работают с одинаковым питчем:
Код:
0x1AC * CPU_RP2A03_CC,
0x17C * CPU_RP2A03_CC,
0x154 * CPU_RP2A03_CC,
0x140 * CPU_RP2A03_CC,
0x11E * CPU_RP2A03_CC,
0x0FE * CPU_RP2A03_CC,
0x0E2 * CPU_RP2A03_CC,
0x0D6 * CPU_RP2A03_CC,
0x0BE * CPU_RP2A03_CC,
0x0A0 * CPU_RP2A03_CC,
0x08E * CPU_RP2A03_CC,
0x080 * CPU_RP2A03_CC,
0x06A * CPU_RP2A03_CC,
0x054 * CPU_RP2A03_CC,
0x048 * CPU_RP2A03_CC,
0x036 * CPU_RP2A03_CC,

В PAL режиме (ЦП=1.66 Мгц) высота тона 4-х каналов заметно ниже, чем в NTSC. Я выяснил, что если к PAL-режиму применить эту стандартную NTSC таблицу, высота тона DMC понизится СООТВЕТСТВЕННО ТАК ЖЕ, как у 4-х основных каналов.
Дисбаланса не будет, то есть эта таблица "нейтральна".
Если я изменю частоту CPU (например 1.77 Мгц, как у денди) - применяю эту же таблицу, и высота тона DPCM становится соответственна остальным каналам (т.е немного ниже, чем при 1.79 Мгц в NTSC режиме).

А зачем же тогда была сделана DMC-таблица PAL ?:
Код:
0x18E * CPU_RP2A07_CC,
0x162 * CPU_RP2A07_CC,
0x13C * CPU_RP2A07_CC,
0x12A * CPU_RP2A07_CC,
0x114 * CPU_RP2A07_CC,
0x0EC * CPU_RP2A07_CC,
0x0D2 * CPU_RP2A07_CC,
0x0C6 * CPU_RP2A07_CC,
0x0B0 * CPU_RP2A07_CC,
0x094 * CPU_RP2A07_CC,
0x084 * CPU_RP2A07_CC,
0x076 * CPU_RP2A07_CC,
0x062 * CPU_RP2A07_CC,
0x04E * CPU_RP2A07_CC,
0x042 * CPU_RP2A07_CC,
0x032 * CPU_RP2A07_CC

Эта таблица для того и введена, чтобы DPCM в PAL-режиме оставался на высоте тона NTSC (требуется для европейских РОМов)
И в то время, как 4 канала снижают высоту тона, DPCM этого не делает благодаря "выправляющим коэффициентам", хотя при использовании нейтральной NTSC-таблицы он должен был бы тоже понизить её.
Именно из-за этой выправляющей PAL-таблицы мы слышим дисбаланс высоты тона на NTSC-ромах.
Я проверил это на коде нестопии и нинтендулятора, всё идентично сходится, ошибки быть не должно.

Так что APU DMC NTSC таблица для Денди подходит абсолютно, какую бы мы не поставили частоту ЦП, ВСЕ каналы изменяют питч в соответствии с ней.


Вложения:
DMC.7z [192.91 КБ]
Скачиваний: 446

_________________
Nestopia 1.37/1.40 Fixed
Сообщение 01 ноя 2010, 14:07
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Приятно видеть, что дело сдвинулось с мёртвой точки.
Автор Retrocopy добавил денди-режим в последнюю тестовую версию своего эмулятора.
Спасибо Sliver 746. По имеющейся информации, автор воспользовался тестами и исследованиями HardWareMan'a:

Journey to Silius (U) - Video
Battletoads & D.D. (U) - Video
Battletoads & D.D. (U)
Ninja Ryukenden (J) - зависание на вступительном ролике
Power Blade II (U)
Choujin Sentai - Jetman (видимо оригинал действительно глючил на 6527P+6538)

Сам я ещё не тестировал. Релиз обещают на следующей неделе.

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 07 ноя 2010, 05:33
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 02:10
Сообщения: 313
Откуда: ниоткуда
Возвращаясь к теме. Вспомнил про Felix The Cat. Тут что-то про неё проскакивало. Почему игра такая тёмная? По-моему, на приставке она выглядела нормально, иначе бы я обратил внимание на её тёмность и это запало бы в память.
Игра, на движке которой сделан Феликс, - Kero Kero Keroppi 2, использует нормальную палитру.

_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.


Сообщение 07 ноя 2010, 18:32
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Да, здесь обсуждалось.
Насколько помню, у меня на старой приставке (Junior-II, UM6561) Феликс был затемнён, как и Jungle Book, James Bond Jr.
Сейчас проверил: на новоделе (NewGame/Simbas) и T1818P игра не очень тусклая, на Junior-I (UM6561) - тусклая.

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 07 ноя 2010, 19:05, всего редактировалось 2 раз(а).



Сообщение 07 ноя 2010, 18:48
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 02:10
Сообщения: 313
Откуда: ниоткуда
Всё-таки... Феликс ДОЛЖЕН быть тёмным в оригинале или нет? Как видно по ромсету, он издавался в Америке и Европе, может, на американской приставке его надо проверять? Хм. Может, это какой-то мутный косяк, как ездящие уровни в Young Indiana Jones Chronicles.

_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.


Сообщение 07 ноя 2010, 19:03
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Феликса надо на 6527P+6538 проверить. Вполне возможно, что он не должен быть настолько тёмным, как на 6561.
Глюки в джонсе же - целиком проблема эмуляторов. На приставках эта игра хорошо работала.

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 07 ноя 2010, 19:33
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 02:10
Сообщения: 313
Откуда: ниоткуда
Действительно, в Феликсе постоянно 3 старших бита 2001 установлены. Собрался было делать патч-коды, и вдруг заметил в последней версии FCEUX опцию New PPU. Этот новый ППУ вообще не воспринимает гашение палитры. Феликс стал выглядеть лучше, но пазуа в Super Spy Hunter теперь не тёмная.

_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.


Сообщение 07 ноя 2010, 20:59
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
У меня есть Spy Hunter, в ближайшее время проверю.
Nintendulator понимает гашение палитры.
И кажется мне на глаз, что на "нормальных" приставках затемнение в Феликсе присутствует, но в разумных пределах. Похоже на nintendulator.
А на 6561 гашение явно избыточно.


Вложения:
ppu-2001.rar [590.24 КБ]
Скачиваний: 437

_________________
Nestopia 1.37/1.40 Fixed
Сообщение 07 ноя 2010, 21:46
Профиль
Аватара пользователя

Зарегистрирован:
22 июл 2007, 02:10
Сообщения: 313
Откуда: ниоткуда
Насчёт палитр NES не знаю, но в эмуляторах СМД палитра явно затемнена. Позже в Кеге и Регене появилась опция Brighten, но до яркости приставки не доходило, я где-то на эму-ленде показывал скрины с Red Zone. Итого, имеем последовательно:
- обычная палитра эмуляторов (очень тёмная)
- Brighten
- палитра приставки
- это раньше смотрелось на ЭЛТ-мониторе, а он тёмный
- на ЖК посветлее
- на ЭЛТ-телике всё намного ярче
Плюс у меня сначала была пиратская МД2, а на ней цвета ещё более насыщенные, чем в МД1.

Так что до яркости тех цветов, что были видны на телике через приставку, эмуляторам сеги очень далеко. Я как-то включил Wiz'n'Liz на на приставке и удивился, что в ней синее небо. Там используестя цвет 020000 (самый тёмный синий, почти чёрный, следующий уже 000000) и в эмуляторе на ЭЛТ-мониторе он выглядел почти чёрным, и я думал, что небо чёрное.

Возможно, и с затемнением на дендике то же самое. Т.е. в Феликсе затемнение есть, но на приставке с теликом это особо не ощущается.

_________________
Мысль - это интеллектуальный эксцесс данного индивидуума.


Сообщение 24 ноя 2010, 12:02
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Цитата:
With the emulation, VGM support was added and proper Dendy NES emulation has also been added and according to people with the real devices is the most accurate Dendy emulation available.

Кто-нибудь пробовал, действительно ли всё так хорошо, как написано?
У меня пока ресурсы не позволяют запустить этот эмулятор.

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 26 ноя 2010, 22:17
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
Кстати да, что скажут наши спецы? Я, вообще-то, думал, что кто-то из вас помог автору добавить эмуляцию Денди.


Сообщение 26 ноя 2010, 23:25
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Все тесты HardWareMan делал. Я их отослал на nesdev в 2009 г. в надежде, что пригодятся.
Но Мартин так и не появился, нестопия умерла. Другие же авторы (Quietust) не проявляли интереса к фамиклонам.

Sliver746 (он же Sasha), форумчанин эмуленда, заинтересовался эмуляцией денди.
Он довольно давно и плотно общается с автором RetroCopy - Ральфом.
Я создал топик на форуме RC со ссылками на тесты и попросил Ральфа добавить денди-режим.
Непосредственно с Ральфом общался уже Sasha - напоминал, тестировал.
Со слов Саши, Ральф действительно сделал хороший денди-режим, в соответствии с тестами.
Да и по роликам это видно - частоты и тайминги соблюдены, всё прозрачно.

Что же касается меня: я рад, честно.
Но сам по себе RetroCopy мне не нравится, GUI перегружен.
Пользуюсь самодельным хаком нестопии (см. подпись).

Ядро NES в Retrocopy - это "допиленный" нинтендулятор.

Хочется сделать денди-режим в оригинальном нинтендуляторе (ничего лишнего в GUI).
Я пробовал это сделать, но единственное, что смог - заменить DPCM и Noise PAL-таблицы на NTSC-таблицы
(решена проблема с несоответствием тона DPCM и остальных каналов).
Частоту CPU и тайминги не осилил - а это одна из наиважнейших вещей. Но ведь я не спец и не программист.
В 2008 и 2009 пытался связаться с автором нинтендулятора (Quietust), но тщетно.
Он ненавидит пиратство и ни за какие пряники не будет делать поддержку клонов.

Если кто-нибудь из наших поможет - будет здорово.
Помимо нестопии и нинтендулятора, думаю FCEUX с новым PPU подойдет на эту роль.
FCEU не подходит (по словам Санча), т.к. он не тактово-точный.

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 27 ноя 2010, 02:20
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
А вообще, на глаз в чём отличия Денди от NES режима?


Сообщение 27 ноя 2010, 02:44
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
1. На глаз, в плане скорости денди-режим выглядит как обычный PAL, в котором запущены NTSC-игры.
Можешь на FCEU проверить. По сравнению с NTSC-режимом игры идут медленнее. Но это еще не всё.
Многие NTSC-игры плохо работают с PAL-режимом, а в денди такой проблемы почти нет.
Клон специально заточен для запуска NTSC (J) и (U)-игрушек на скорости 50 FPS.
2. Высота звукового тона почти аналогична NTSC приставке. Нет проблем с DPCM.

Об этом уже написано подробно. Прочитай тему, когда время свободное будет. PAL-фамиклоны уникальны.

_________________
Nestopia 1.37/1.40 Fixed


Последний раз редактировалось EvGS 27 ноя 2010, 02:49, всего редактировалось 2 раз(а).



Сообщение 27 ноя 2010, 02:45
Профиль WWW
Основатель сайта
Аватара пользователя

Зарегистрирован:
21 июл 2007, 15:40
Сообщения: 2234
Откуда: Москва
Так в том-то и дело, что для меня это слишком подробно. Спасибо, что коротко и ясно всё объяснил.


Сообщение 04 дек 2010, 13:42
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Ну и хорошо :good:

добавлено 4.12.2010:
Собрал наконец подходящую машину (PDC E6300) и попробовал этот Retrocopy.
В целом, неплохо, если закрыть глаза на GUI и навсегда забыть про "GameRoom".
Сразу оговорюсь, я тестировал только NES/Dendy. Звук - субьективно лучше, чем у нестопии, более мягкий.
Мягче, чем у любого другого эмулятора NES, что я слышал. Напоминает NNNesterJ.
Параметры cut-off фильтра (комбинация LowPass+HiPass, если не ошибюсь) подобраны приятно.
Если не использовать этот фильтр, "мягкость" никуда не исчезает. Звук чуть посочней, т.к. частоты не срезаются.
Параметры: 44.1-192Khz, максимальное кач-во (HolyShit). Специально достал карточку M-Audio Revo 5.1 и слушал на ней.

Из тех игр, что пробовал в денди режиме - всё адекватно. Но японский Рюкенден завис при попытке включить 1 этап.
Видимо у японского и американского есть отличия помимо языка, такое случается уже не первый раз. Но это мелочи.
А в целом - вполне неплохо.

_________________
Nestopia 1.37/1.40 Fixed


Сообщение 05 дек 2010, 00:23
Профиль
Аватара пользователя

Зарегистрирован:
23 июл 2007, 19:37
Сообщения: 401
Откуда: Мытищи
Посмотрел ещё раз source nintendulator.
Нашел два интересных места в APU.cpp:
- в первом указываются NTSC и PAL таблицы с высотой тона для DPCM и Noise.
- во втором выбирается сам регион, с указанием, какую таблицу и частоту ЦП использовать.

Теперь, если мы сделаем одно из двух:
А) Просто заменим содержимое PAL-таблиц на NTSC.
Б) Укажем для региона PAL таблицы NTSC, а содержимое самих таблиц оставляем нетронутым.

то получим один и тот же результат - натуральный PAL-режим, с соответствующей (пониженной) высотой звука,
но без дисбаланса со стороны DPCM.

Если же у варианта "Б" ещё изменить значение частоты ЦП (строка 898) на 1773447, получим высоту тона денди.
Только общая скорость игры/звука в таком случае возрастает до ~54 FPS.

По поведению такой вариант всё равно остаётся PAL'ом: Battletoads'ы зависают.
Надо найти, где в коде указывается главная частота ЦП, а также тайминги.


Вложения:
APU.CPP[TABLES].PNG
APU.CPP[TABLES].PNG [ 27.04 КБ | Просмотров: 18970 ]
APU.CPP[CLOCK].PNG
APU.CPP[CLOCK].PNG [ 19.02 КБ | Просмотров: 18970 ]

_________________
Nestopia 1.37/1.40 Fixed
Сообщение 05 дек 2010, 20:23
Профиль
Аватара пользователя

Зарегистрирован:
24 июл 2007, 06:54
Сообщения: 492
Откуда: Embedded
Получил от EvGS NTSC денди!
Изображение
Он использует 6527 как процессор (у денди 6527Р) и 6528 как PPU (у денди 6538Р), кварц на 21.47727МГц (у денди 26.601712МГц). Очень занятный экземпляр, на нем не виснет Ninja Ryukenden и не дергаются заставка и экран выбора в BT&DD. Снял тайминги, вот они:
VInt:
Изображение
Cycles:
Изображение
Циклов ровно 113,5, как у денди. В общем все как обычно. Дискасс.

PS Всегда можете заюзать вэйвформы в аттаче.


Вложения:
VInt.rar [640.93 КБ]
Скачиваний: 433

_________________
Tried so hard and got so far, but in the end, it doesn't even matter...
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 230 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  След.

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

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


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

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