Something I observed while quickly looking at this list is that we currently have games that are working on canoe without any preset ID or patches, even though they run "special chip". This takes away the "issue" that "pimpinelephant" stated about games running special chips need patches/preset ID's. For an example, the game "Lock-On" uses the "DSP1" chip, and according to the two main compatibility lists this game works fine on Canoe without any patches or Preset ID:s. Sorry if this is way off-topic. I learnt something new, maybe someone else did as well.
These special chips are pretty interesting in that they each are designed with specific purposes in mind, except for the SA-1 chip. That chip was basically the SNES console's internal CPU except on steroids (probably why it was called the Super Accelerator). It was even capable of taking priority over
the SNES console's CPU!
Anyways, I'm not exactly sure how Nintendo decided to do everything when it comes to Canoe, but at the very least, we know this: Preset IDs enable/disable various features in order to cater to its corresponding game. It's best to think of Preset IDs like a light switch in that features are either "flipped" on or off, take for example Kirby's Dream Land 3's official Preset ID of 10A2, its SRAM "light switch" was flipped off by Nintendo. This same concept applies with various other features, such as chipsets, modes 5/6 (high resolution), etc.
Preset ID 0000 is essentially a "default" Preset ID in that basically, every feature's "light switch" is flipped off (except for SRAM).
Preset IDs also do some other things that are not fully clear as of this moment (most likely insertion of new bits of code into RAM). This is why some games can have a bug (not related to on/off features) appear with one Preset ID but not with another Preset ID.
Preset IDs can be pretty complicated, and even I don't fully grasp them (not even close), but at the very least, this should be a good starting point into the understanding of the enigma known as Preset IDs.
One thing to note is that, for the most part, Preset IDs for different regions but the same game can be considered identical. This is obviously not always the case, as some games had vast differences between them when they were released in a different region. Having said that, it's always best to use the Preset ID with the same region's game.
I went ahead and tested Lock On.
Preset ID 0000 = No boot, C7 error.
Preset ID 10BD (Super Mario Kart) = Booted up and played normally.
Are there other DSP-1 ids besides Mario Kart? Or does that generally work for all of them?
As reyvgm previously stated, I believe there are currently two known DSP-1 games with official Preset IDs, Super Mario Kart and Pilotwings.
Oh. Forgot. Does Pilotwings plane demo (#4) crash early? Or does Canoe auto-cheat this one? Because Ballz 3D says working.
I went ahead and did some testing with Pilotwings, and I found some rather interesting discoveries.
First, the lists describe "sound issues" when used with the Super Mario Kart ID. It actually took me a while to figure out where these sound issues were occurring since it sounded perfectly fine to me. The issue occurs when pressing Start during the middle of gameplay (pausing the game) because when you unpause the game, ambient sounds become muted (engine noise, wind noise, etc.).
Using the official Preset ID fixes this issue (ambient sounds continue after unpausing), but introduces a completely new bug. Reyvgm's list already describes it better than I ever could.
The next thing I tested was with the Demos that play out when sitting idle at the splash screen. I tested Pilotwings with different DSP-1 BIOSes via Higan. I used the exact same ROM and only switched the DSP-1 BIOS.
Pilotwings with dsp1.rom = The plane in the demo landed successfully.
Pilotwings with dsp1b.rom = The plane in the demo crashes before reaching the runway.
Are the demo characters being controlled in real-time by the DSP chips? If so, that's actually kind of impressive!
Anyways, continuing on! I then tested Pilotwings on the Classic to see which DSP-1 BIOS is being emulated by Canoe. With both Pilotwings' ID as well as Super Mario Kart's ID, the plane in the demo landed successfully. This would mean that Canoe is emulating DSP-1, and not DSP-1B. It's not too big of a deal since there isn't really much of a difference between the two, but the 1B revision contains several bug fixes, so it just makes me ask the question, "Nintendo, why not just use DSP-1B?"
I just tested via Higan to see if Ballz 3D works with the DSP-1 BIOS, and it does indeed work. I used dsp1.rom with Ballz 3D, and it appeared to run pretty fine.
I've never played or even heard of this game, so I have no idea what differences there are between using DSP-1 and DSP-1B. This is probably one of the strangest games I have ever played.
I don't own a copy of the game to be able to test, but this patch appears to simply write the text SUPER 3D NOAH'S ARK to the rom; that's sufficient to fix the ROM? What was the actual error?
Apparently this game was an unlicensed game. The cartridge header is all null (00), and the header is used by the SNES/emulator to know various information about the ROM in order to run it correctly. The patch adds values to the byte for ROM makeup (HiROM, LoROM, FastROM, SlowROM, etc.) as well as ROM size. The chipset value as well as SRAM size and Country (NTSC, PAL) were already fine at their current values.