libretro / snes9x2010

Snes9x 2010. Port of Snes9x 1.52+ to Libretro (previously called SNES9x Next). Rewritten in C and several optimizations and speedhacks.
Other
99 stars 71 forks source link

Satellaview games seem to be mis-identified as standard SNES ROMs and fail. #35

Open vaguerant opened 10 years ago

vaguerant commented 10 years ago

The Satellaview is that weird satellite-streamed service that was available in Japan for the Super Famicom. While Snes9x (even old versions) are able to detect Satellaview games as somewhat distinct from standalone SNES games and run them, Snes9X-Next seems to be launching them as SNES ROMs and the emulator locks up/crashes/etc. depending on the platform immediately upon load.

Emulation of the Satellaview is kind of a hassle generally; some games require the Satellaview BIOS to be in a certain directory and make calls to special BIOS functions and such, but other games (particularly those ported from the SNES to the Satellaview) don't rely on the Satellaview's features to run at all, e.g. Kaizou Chounin Shubibinman Zero (Japan) (BS) and Special Tee Shot (Japan) (BS) and will happily run in emulators without any BIOS required.

Anyway, Snes9x-Next seems to be trying to launch these games as SNES ROMs and they can be made to work somewhat by tweaking the bytes where a standard SNES ROM's internal header is located. Specifically, adjusting the ROM size byte which Snes9x-Next expects at 7FD7 (LoROM) or FFD7 (HiROM) to match the game in question (the values represent powers of two, e.g. 09 means 2^09 = 512KB, 0A means 2^0A = 1024KB, etc.) will make the games run to the extent that they can on a stock SNES.

Lay user's guess: when Snes9x-Next encounters the unexpected ROM size byte (FF in both of the aforementioned games) it tries to allocate some insane amount of RAM (forty-nine septendecillion zottabytes?) and everything explodes. Short of supporting the games, a sanity check here would probably be good. Ideally, it'd be great to see Next support the Satellaview somewhere around mainline 1.51's capability. If this is not planned, though, then at the least *.bsx should be removed from the list of supported file extensions since they don't work at all currently (i.e. Snes9x-Next isn't a Satellaview emulator).

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5256402-satellaview-games-seem-to-be-mis-identified-as-standard-snes-roms-and-fail?utm_campaign=plugin&utm_content=tracker%2F626376&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F626376&utm_medium=issues&utm_source=github).