-
Notifications
You must be signed in to change notification settings - Fork 78
Description
I noticed that the MSX1 Hunchback didn't want to run properly on WebMSX, whilst it worked properly in BlueMSX and OpenMSX.
Tested this with WebMSX emulating MSX1, 2, 2+ in 50Hz and 60Hz configs, all had the same result.
After some troubleshooting I noticed it used the following pattern (3 times in total in the game):
LD BC,8098H
L3732: OUTI
NOP
JR NZ, L3732
This doesn't result in a 'too_fast_vram_access' warning in OpenMSX btw and works on the real hardware as well it seems (at least the 3 machines + FPGA based one I tested it on); but as mentioned it corrupts the screen in WebMSX; pressing the spacebar still starts the game, but the screen never updates anymore. Replacing the OUTI, NOP with a simple OTIR fixed the WebMSX issue and the game ran just fine afterwards.
The 'original ROM' failing on WebMSX (these are file-hunter.com urls, but I tested on webmsx.org too; same result):
DOWNLOAD: https://download.file-hunter.com/Games/MSX1/ROM/Hunchback%20-%20Ocean%20(1984)%20[4408].zip
DEMO: https://download.file-hunter.com/assets/webmsx.html?url=https%3A%2F%2Fdownload.file-hunter.com%2FGames%2FMSX1%2FROM%2FHunchback%2520-%2520Ocean%2520(1984)%2520%5B4408%5D.zip
The 'OTIR patched ROM' working on WebMSX:
DOWNLOAD: https://download.file-hunter.com/Games/MSX1/ROM/Hunchback%20-%20Ocean%20(1984)%20%5BWebMSX%20%2B%20PSG%20fix%5D.zip
DEMO: https://download.file-hunter.com/assets/webmsx.html?url=https://download.file-hunter.com/Games/MSX1/ROM/Hunchback%20-%20Ocean%20(1984)%20%5BWebMSX%20%2B%20PSG%20fix%5D.zip
Perhaps the timing emulation is very very slightly off ?