bsnes-emu / bsnes

bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Other
1.69k stars 158 forks source link

Satellaview games smaller than 1024kb fail to load properly #144

Open ds22x opened 3 years ago

ds22x commented 3 years ago

For whatever reason, games smaller than 1024kb will refuse to load when loaded through the Satellaview BIOS (tested it out with both DRM enabled and disabled versions), and will also force close the emulator when unloading the game. Padding these games out with a hex editor to be 1024kb will allow them to work as intended.

ds22x commented 3 years ago

Didn't quite figure out why it happens, but I did figure out a workaround. By replacing https://github.com/bsnes-emu/bsnes/blob/b1a4f2700e2d627675fced0780fc1723c35c5b9e/bsnes/heuristics/bs-memory.cpp#L29 with the following code, it will load the smaller format games as intended:

 output.append(Memory{}.type("Flash").size(0x100000).content("Program").text());

There's probably a much better way to fix it, but I thought I could at least share what I've found so far.