Автор Тема: Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)  (Прочитано 14643 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн evgs

  • Пользователь
  • Сообщений: 1043
  • Пол: Мужской
    • Просмотр профиля
Итак, за прошедшие годы было выяснено, что существуют 3 типа таймингов.

1. Официальный NTSC NES и Famicom.
2. Официальный PAL NES.
3. Пиратский PAL Famiclone, к которому относятся и наши Dendy.


В большинстве современных эмуляторов этот тайминг именуется режимом Dendy
в силу исторических причин (так сложилось).

Он представляет из себя гибрид NTSC/PAL, а именно:

Цитата
- Тактовая частота кварцевого резонатора (XTAL) = 26.601712 МГц.
- Тактовая частота CPU (XTAL:15) = 1.7734475 МГц, что намного ближе к NTSC NES/Famicom, чем к оригинальной европейской PAL NES.
- Тактовая частота PPU (XTAL:5) = 5.3203424 МГц, эквивалентна PAL NES.

- Таким образом, соотношение тактовых частот CPU:PPU одинаково для NTSC и Dendy, и равняется 1:3
  Иными словами PPU рендерит 3 пиксела за 1 такт CPU. Для PAL NES это cоотношение равняется 1:3.2

- Длина VBlank после NMI одинакова у NTSC и Dendy (20 сканлайнов), и отличается от PAL NES (70 сканлайнов).
  Полная длина VBlank эквивалентна PAL NES, но пострендер длинее на 50 дополнительных сканлайнов,
  соответственно NMI наступает ближе к концу VBlank (строка 291 вместо 241)
  Этот трюк позволяет сохранить длину VBlank после NMI в точности такой же, как у NTSC-систем.

- Логика работы аудиоканалов (LUT-таблицы Noise и DMC) соответствует NTSC-системам.
Это означает, что Dendy и им подобные PAL-фамиклоны были разработаны с целью обеспечения максимальной совместимости с японскими и американскими играми NTSC-региона, в ущерб официальной библиотеке PAL NES (мало распространенной в Азии).
Иными словами, Dendy позволяет запускать NTSC-игры со скоростью 50 к/с, сохраняя с ними совместимость, в отличие от PAL NES.

* Если попытаться запустить NTSC игры на официальной PAL NES (в обход lockout-чипа), или на эмуляторе в режиме PAL, они также будут работать со скоростью 50 к/с, но многие начнут артефачить, а некоторые даже зависать.
Ко всему прочему мы будем слышать дисбаланс между высотой тона PSG и DMC аудиоканалов.
На Dendy же будет правильный баланс.
Всё это происходит из-за несовместимости таймингов.

Благодарю HardWareMan, без которого эти исследования не воплотились бы в реальность, а также комьюнити nesdev.com и авторов популярных эмуляторов, охотно поддержавших инициативу.

Список эмуляторов, поддерживающих Dendy-режим:
Цитата
- RetroArch [libretro] (nestopia, fceumm, mesen)
- Nestopia 1.40, Nestopia UE
- FCEUX 2.2.3
- Nintendulator
- Mesen
- puNES
- BizHawk
- My NES
- Nintaco
- RetroCopy
- NESICIDE
- nes.emu (iOS/Android)
- nsfplay 2.3 (плеер NSF)
Подробная техническая информация:

CYCLE REFERENCE CHART - nesdev wiki
CPU Signals and Frequencies - nesdev wiki
Detect TV System - nesdev wiki
UMC UA6538 PPU die-shot


Тема на emu-russia, zx-pk, nedopc
Topic on nesdev

F.A.Q:

1. - Почему в эмуляторах этот режим назван "Dendy"? Не лучше ли было назвать его "PAL Famiclone"?
Ведь на этих таймингах работала куча самых разных клонов по всему миру!


2. - Я запутался! На моей Dendy (Lifa/Kenga/Subor/MicroGenius/Pegasus и т.д.) написано PAL!
Значит ли это, что я должен использовать игры для PAL-региона (Europe)?


3. - Как мне проверить тайминг моей приставки?
Как проверить ROM в разных режимах работы с помощью эмулятора?


4. - Что такое перепутанная скважность? Я что-то слышал о ней, но не знаю, что это!


5. - А вот в детстве на моём фамиклоне "Принц Персии" зависал, "Jungle Book" был очень тёмный,
а заставка "Lion King" вообще была зеленая! Сплошные глюки!
Неужели вы хотите и это эмулировать?!?!


6. - А зачем вообще нужна эмуляция этой пиратчины?!?!
NTSC-игры должны играться на NTSC-тайминге со скоростью 60FPS.
Именно так, как это было задумано разработчиками!


ENGLISH VERSION:

Youtube Video:
« Последнее редактирование: 25 Апрель 2024, 13:08:49 от evgs »

Оффлайн benladen88

  • Пользователь
  • Сообщений: 780
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #1 : 16 Февраль 2019, 15:44:58 »
Хотелось бы побольше узнать про совместимость Dendy и PAL-ромов. Там, как я понимаю, выборочная совместимость, но по какому принципу? Опять же, к нам попадали пал-пиратки на стародельных картриджах, вспомним ту же Shadow Warriors, и тут встречались "свидетели пиратского проботектора".
И второй, оффтоповый вопрос - на сегах всё не так? Мы ведь #вдетстве тоже играли на PAL-выходе в NTSC-ромы.

Оффлайн evgs

  • Пользователь
  • Сообщений: 1043
  • Пол: Мужской
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #2 : 16 Февраль 2019, 16:19:02 »
Цитата
Хотелось бы побольше узнать про совместимость Dendy и PAL-ромов. Там, как я понимаю, выборочная совместимость, но по какому принципу?
По тому же принципу, по которому некоторые NTSC-игры без глюков запускаются в официальном PAL-режиме - слабая чувствительность к таймингам.
Каких-то общих рецептов тут нет - как повезет.
Про сегу, я полагаю, другие товарищи расскажут лучше меня.
Если память не изменяет - там всё было стандартно, без уникальных таймингов.

-------------------------------------------------------------------------------------------------------------------
Оригинальная Nestopia 1.40 от Martin Freij имеет баги в режиме Dendy.
Они исправлены в NestopiaUE 1.49 / NestopiaUE 1.50

Прикрепляю оригинальную Nestopia 1.40, собранную с фиксами для Dendy-режима.
Также имеется хак Nestopia 1.37, где PAL переделан в Dendy. Пусть будет для истории:

-------------------------------------------------------------------------------------------------------------------

Changelog:
« Последнее редактирование: 22 Декабрь 2020, 10:09:17 от evgs »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2280
  • Пол: Мужской
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #3 : 16 Февраль 2019, 16:49:05 »
Там, как я понимаю, выборочная совместимость, но по какому принципу?
Никакой совместимости не предусмотрено, если оно не глючит то лишь по воле случая. Если игра сначала вышла в америке или японии, и стояла задача выпустить её в европе, то было несколько вариантов:
1. игра работает на pal, хоть и замедленно, переводим текст и оставляем как есть (пример Hammerin' Harry)
2. игра работает, но разработчики решают исправить музыку, чтобы звучала с такой же скоростью как на NTSC (например Adventure Island)
3. игра работает, но нужно подправить физику игры и музыку, чтобы различия между регионами не ощущались (например Super Mario Bros. 3)
4. игра не работает, нужно менять код, чтобы подстроить под новые тайминги. (например Battletoads)
Таким образом, если игра минимально менялась для pal региона, то она будет работать и на ntsc приставке.
Другое дело PAL эксклюзивы, они изначально делались под тайминги PAL, поэтому на NTSC практически у всех будут глюки. Есть ещё один момент - зависимость от маппера, дело в том что игры на простых мапперах вроде UNROM, AOROM сами вычисляют в каком месте экрана происходит отрисовка, в отличие от игр на MMC3 у которых есть аппаратный счётчик сканлиний, поэтому такие игры в большинстве случаев хуже реагируют на смену таймингов.

Оффлайн and1981

  • Пользователь
  • Сообщений: 102
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #4 : 15 Декабрь 2024, 16:55:34 »
Решил  закрыть таки окончательно вопрос исследования причин перепутанной скважности пиратских чипов для Денди.
Провел небольшое исследование фотографий чипа Хуалон HA6527P, данный подопытный образец был предоставлен Org от HardWareMan  для декапа и исследования отличий от оригинальных чипов NES. Его фото, а также изображения других пиратских клонов  вы можете найти тут: https://drive.google.com/drive/folders/1splfmyjpisDjYkXpbjlSoudwbgEAuS1P.

В результате было установлено, что в мультиплексоре скважности прямоугольных каналов были перепутаны местами управляющие биты и в регистры управления длительностью скважности вместо сигнала D6  приходил сигнал D7  и наоборот (D6, D7 - внутренняя шина данных).  И в итоге вместо 25% мы имеем 50% и наоборот.
Фото топологии и транзисторную схему с отличиями от референсного 2A03G прилагаю:


Оффлайн quq_CCCP

  • Пользователь
  • Сообщений: 2235
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #5 : 18 Декабрь 2024, 05:43:24 »
Пал nes  cpu  не декапили?

Оффлайн and1981

  • Пользователь
  • Сообщений: 102
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #6 : 18 Декабрь 2024, 17:17:23 »
Пал nes  cpu  не декапили?
@Org вскрыл его еще в 2021 году, все найденные отличия от референсного 2A03G мы зафиксировали тут: https://github.com/emu-russia/breaks/blob/master/BreakingNESWiki/APU/pal.md
В своём FPGA APU я добавил и его отличительные особенности (тайминги), чтобы при желании можно было использовать .

Оффлайн quq_CCCP

  • Пользователь
  • Сообщений: 2235
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #7 : 21 Декабрь 2024, 09:16:38 »
@Org вскрыл его еще в 2021 году, все найденные отличия от референсного 2A03G мы зафиксировали тут: https://github.com/emu-russia/breaks/blob/master/BreakingNESWiki/APU/pal.md
В своём FPGA APU я добавил и его отличительные особенности (тайминги), чтобы при желании можно было использовать .
Потому что слышал инфу что китайцы реверсили пал нес чипы и идеи с порядком "emphase bits" и скважностью оттуда была подсмотрена.

Оффлайн evgs

  • Пользователь
  • Сообщений: 1043
  • Пол: Мужской
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #8 : 21 Декабрь 2024, 11:00:09 »
Только в PAL NES PPU зеленый и красный биты эмфазы были перепутаны,
и больше нигде, если говорить про официальные Ricoh.

Ну и абсолютно во всех пиратских PAL/Dendy чипах та же история.
Исключений пока не видел. Вряд-ли это совпадение.

А вот про скважность в CPU/APU совсем другая история. Во всех официальных чипах она правильная.
И лишь некоторые пиратские чипы имеют перепутку, в то время как в других пиратках всё нормально.
Так что это похоже на багу.
« Последнее редактирование: 21 Декабрь 2024, 11:11:11 от evgs »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7551
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #9 : 21 Декабрь 2024, 11:15:27 »
Так что это похоже на багу.
Или даже вкусовщина.
« Последнее редактирование: 21 Декабрь 2024, 12:07:38 от HardWareMan »

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 913
  • Happy Games Only!
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #10 : 21 Декабрь 2024, 18:17:32 »
И лишь некоторые пиратские чипы имеют перепутку, в то время как в других пиратках всё нормально.
Так что это похоже на багу.
А мне когда-то попадался какой-то устаревший на сегодняшний день и не очень точный эмулятор, в котором было так же (по крайней мере, на слух). Вроде бы, Jnes. А как объяснить это?

Оффлайн Nhisti

  • Пользователь
  • Сообщений: 994
    • Просмотр профиля
Отличия Dendy и других клонов от NES/Famicom (+F.A.Q.)
« Ответ #11 : 21 Декабрь 2024, 23:56:02 »
Talking_Sword, В каких-то из старых эмулей попадалась возможность выбооа этой самой скважности (может и в нынешних есть, я просто не интнрнсовался), возможно по-умолчанию стояла неверная  :-\