Saturday, December 18, 2010

Bsnes Special Chips Dumped

Update (4/08/12): All of the special chips have been dumped and emulated. You can download all of the images here. The archive contains images for use with bsnes versions v086 and earlier, as well as images for bsnes v087 and later.

Update (6/28/11): Another chip dumped and emulated! This time, the Cx4 chip (cx4.bin), which is used in Mega Man X2 and X3. The contents of this chip were really just math tables--naturally occurring relationships between numbers--and hence not protected by copyright, so byuu felt comfortable hosting the image on his own site. You can download it here (I'll also mirror it in my mediafire in case byuu's copy disappears for whatever reason).

Update (1/13/11): Dr. Decapitator has dumped and byuu has added low-level emulation for the NEC uPD96050 coprocessor, which is used by the ST-0010 and ST-0011 chips. This allows proper emulation of F1 Race of Champions II and playability for Hayazashi Nidan Morita Shougi. Click here to download the pair. Click here to download all DSP and ST-00* dumps.

Update (12/23/10): All DSP chips have been decapped and dumped. Click here to download the complete, unpadded (as per byuu's preference) set. Furthermore, thanks to the donations of several generous enthusiasts (and a particularly generous contribution from Mr. Krawczyk), all special chips have been paid for. Now, we wait for Dr. Decapitator and byuu to do their thing. ;)

Update (12/21/10): W00t! The DSP chips are all paid for and the decapping and emulation process has already begun. Click here to download a copy of the dsp3.bin file, which enables perfect emulation of the previously unplayable SD Gundam GX (J)!

While many individuals may think that emulating the SNES is long-since perfected, the truth of the matter is that a number of special auxiliary chips were never properly emulated and instead were approximated using what is known as High Level Emulation, or HLE.

To implement HLE, someone monitors what goes into a chip and then monitors what comes out in an attempt to infer the way the chip works. Using this strategy over the course of several years, 4 emulation heavy-hitters were able to deduce much of how these special chips work. However, they were never able to figure out any timing information, so to paraphrase bsnes author byuu, the chips were treated as magical black boxes that instantly convert input to output.

This is just beginning to change, though. Thanks to donations from emulation enthusiasts, renowned chip decapper Dr. Decapitator was able to shave down to the guts of the DSP-1B chip and see exactly what's going on inside. This breakthrough will eventually lead to the squashing of several bugs and will enable near-perfect emulation of both Super Mario Kart and Pilotwings.

However, to run any games that require the DSP-1B chip, you will now need to put a copy of the dumped image into the same directory as the game ROM image. Click here to download a copy of the dsp1b.bin file.

As awesome as this is, there are still a number of chips that need to be decapped (you can read all about it here) and byuu is running a collection to get things started in this thread. If you would like to contribute, visit byuu's official donations page. It's your chance to be a part of SNES emulation history.


Anonymous said...

Thank you so much for explaining my issue with emulating Super Mario Kart! Works like a charm now, no error message

Giovani Avelar said...

Many years have passed since your first posting, why do we still need to use an external file to play Pilotwings and Super Mario Kart? DSP-1B

Hunter K. said...

Hi Giovani,
The external files are needed for the low-level emulation (LLE), just like you need an external BIOS image for Playstation BIOS LLE. HLE doesn't require the files but may have some emulation inaccuracies. You can still use special chip HLE via snes9x or the bsnes-mercury-libretro fork.

Giovani Avelar said...

Thanks Hunter K :-)

Giovani Avelar said...

Do you know if there is any future possibility of emulating LLE DSP's chips?

Hunter K. said...

If you mean to remove the need for the image files, the HLE in snes9x and bsnes-mercury are exactly that. That is, an attempt to emulate those chips as closely as possible without actually having the chip images for reference.

Analytics Tracking Footer