You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Eliminator Boat Duel (USA) и Star Wars JVC (USA) зависают в зависимости от состояния выравнивания CPU/PPU на реальном железе.
"Reading $2002 at the exact start of vblank clears the flag to 0 without reading back a 1. On most consoles and with most wait loops, an alignment is eventually reached such that the flag is read other than on at the exact start of vblank. However, Dendy-style PAL famiclones have a frame of exactly 113.667 by 312 = 35464 cycles, and 35464 is a multiple of 8. A bit/bpl loop that crosses a page boundary, such as that found in the game Eliminator Boat Duel, lasts 8 cycles. On some alignments, it hits the start of vblank every time and thus always fails to advance.
So for the $2002 wait loop, do not make a wait loop whose length in cycles evenly divides the frame length."
Эмуляторы, в которых имеется функция рандомизации выравнивания - в точности повторяют данный баг.
Ninja Ryukenden 1 (Japan) работает на железе с определенными артефактами и зависаниями в катсценах: https://www.youtube.com/watch?v=OdGUmJ4xr1M&t=86s - экран затемняется во время показа картинки меча в интро https://www.youtube.com/watch?v=OdGUmJ4xr1M&t=282s - зависон во время катсцены после окончания 1 уровня.
При этом ни один эмулятор не может в точности повторить это поведение, зато вылезают такие баги:
игра зависает при нажатии "start" в главном меню [Mesen 0.9.8, nintendulator, bizhawk, nestopiaue, fceux]
эмулятор выдает illegal opcode после нажатия start, затем перезапускает титульник и уже работает нормально после второго нажатия start [Mesen 0.9.9, nintendulatorNRS, myNES]
игра зависает сразу на старте выдавая illegal opcode [puNES, Mesen 0.9.9 (at some specific alignments)]
Американская версия Ninja Gaiden (USA) НЕ имеет подобных проблем в эмуляторах.
Kyouryuu Sentai Zyuranger и Vice Project Doom/Gun Dec работают БЕЗ ГЛЮКОВ НА ЖЕЛЕЗЕ.
При этом некоторые эмуляторы (NestopiaUE, My NES и Mesen (лишь при определенных значениях выравнивания))
имеют проблемы с этими играми:
Kyouryuu Sentai Zyuranger зависает совершенно рандомно между катсценами и переходами между дверьми в игре
Vice Project Doom/Gun Dec зависает в конце 3-го уровня (в комнате с боссом)
Выяснить, что происходит в пунктах 2 и 3.
На основе этой информации будет возможно улучшить современные эмуляторы, которые имеют проблемы с этими играми. Разработчик Mesen писал:
"emulators are still pretty far from simulating stuff that occurs at a precise point within a cpu/ppu cycle, the alignment options in mesen don't do this either, even though it's definitely something that has impact on hardware"
https://forums.nesdev.org/viewtopic.php?p=274887#p274887
https://forums.nesdev.org/viewtopic.php?p=286245#p286245
Выяснено, что:
Eliminator Boat Duel (USA) и Star Wars JVC (USA) зависают в зависимости от состояния выравнивания CPU/PPU на реальном железе.
"Reading $2002 at the exact start of vblank clears the flag to 0 without reading back a 1. On most consoles and with most wait loops, an alignment is eventually reached such that the flag is read other than on at the exact start of vblank. However, Dendy-style PAL famiclones have a frame of exactly 113.667 by 312 = 35464 cycles, and 35464 is a multiple of 8. A bit/bpl loop that crosses a page boundary, such as that found in the game Eliminator Boat Duel, lasts 8 cycles. On some alignments, it hits the start of vblank every time and thus always fails to advance.
So for the $2002 wait loop, do not make a wait loop whose length in cycles evenly divides the frame length."
Эмуляторы, в которых имеется функция рандомизации выравнивания - в точности повторяют данный баг.
Ninja Ryukenden 1 (Japan) работает на железе с определенными артефактами и зависаниями в катсценах:
https://www.youtube.com/watch?v=OdGUmJ4xr1M&t=86s - экран затемняется во время показа картинки меча в интро
https://www.youtube.com/watch?v=OdGUmJ4xr1M&t=282s - зависон во время катсцены после окончания 1 уровня.
При этом ни один эмулятор не может в точности повторить это поведение, зато вылезают такие баги:
При этом некоторые эмуляторы (NestopiaUE, My NES и Mesen (лишь при определенных значениях выравнивания))
имеют проблемы с этими играми:
Выяснить, что происходит в пунктах 2 и 3.
На основе этой информации будет возможно улучшить современные эмуляторы, которые имеют проблемы с этими играми. Разработчик Mesen писал:
"emulators are still pretty far from simulating stuff that occurs at a precise point within a cpu/ppu cycle, the alignment options in mesen don't do this either, even though it's definitely something that has impact on hardware"
ТАБЛИЦА:
excel-alignment.zip
The text was updated successfully, but these errors were encountered: