Closed cyberic99 closed 4 years ago
I think it's a bug in the emulation somewhere, looks like execution is going off the rails. FWIW the full ROM is at http://www.pouet.net/prod.php?which=1793
So, it's actually a buggy .gbs file, which trips over how gbsplay loads the data into memory: The header specifies that the code should be loaded at address 0x04d0. It should thus not make any assumptions above data in memory before that area.
However it ends up loading data from address 0x0498, which just so happens to contain bits of the header, so it is not "zero" as the code expects. It ends up doing an out-of-bounds jumptable read, reading a bad jump address.
However the reason the header is mapped into the rom together with the code is historical at this point (It hasn't changed since https://github.com/mmitch/gbsplay/commit/b9b5043aa193f13c8148359a2303318e19e83ba3).
When trying to play or dump the registers of this .gbs file, I get this error after 4 seconds:
I used this command:
Here is the file:
Paragon 5 Music Album (2002)(Paragon 5).gbs.zip
Thank you Eric