Although the SNES was quite technically advanced at the time of it's release (with built in features like Mode 7 wowing players), developers were continually pushing it further and further, and eventually what they desired could no longer be achieved on the basic hardware, no matter how much they tried. This lead to coprocessors and other exotic devices being built into cartridges, so that games could take advantage of them. This could lead to more expensive games for the end consumer, but it could also lead to graphically advanced games which were much more popular and sold more copies. Since so many different games were released with chips in, I think it's not taking too much of a leap to say that the chip games did more than break even.
Although special chips were available in the game paks from the start - for example in Pilotwings - ever more powerful ones turned up over time. The aim of this writeup is to provide basic information about each chip, how to detect it in a ROM using only a hex editor, and to provide links for further information. I could probably post the source to emulate each chip (or at least, as much as is currently known) but that information is likely to change at any time, and for so many of the chips the emulation isn't finished, and updating the source all the time would be a nightmare. If you want to see how the emulation works, check out the source to Snes9X, Zsnes, or SNEeSe.
NB: As with emulation in general, this is a work in progress. If you find a ROM that is definitely a special chip game but it doesn't fit in with the scheme below, that doesn't mean you're wrong. Research is currently going on, and the information I present here is (I hope) the latest findings of the researchers. Full credit goes to them for finding out all this, I'm just bringing it to E2.
A note on using a Hex Editor to detect ROMs... The $7FD5 / $FFD5 is the ROM speed and the $7FD6 / $FFD6 is the Memory Map. Which of those you check depends on whether you have a LoROM or a HiROM - you can find this out either by scanning your ROM with a tool such as Nach's SNES ROM Tools, or some emulators will tell you on ROM load. Come to think of it, a few emulators detect special chips on startup too, this information here just explains exactly what the emulator is checking for. And remember, if your ROM has a 512 byte header, you have to add $200 onto the values, or else you will be looking in the wrong place. Some of the chips have multiple values for ROM speed / Memory map - generally, reasons for this are unknown, although in some cases it distinguishes between games with SRAM for saves and games with no SRAM.
Chips
DSP - the first chip used on the SNES, and in fact it was planned to be built into the SNES hardware. When time or money constraints didn't allow this, the games which had already been developed to take advantage of it were released anyway, with a DSP chip inside the cartridge. There were in fact 6 variations of the DSP chip (although 3 of them are all but identical). All had the same hardware, but different software.
The DSP-1 had 3 variants (vanilla, DSP-1A, and DSP-1B), which were essentially bugfixes. Emulator authors realised that this meant if they could perfectly emulate the DSP-1B (the one with all the bugs fixed) then all DSP-1 games would work. This is roughly the state that DSP-1 emulation has got to now.. although it's not perfect, it's pretty much good enough to play most games. Pick up either the latest version of Snes9x or a Zsnes WIP to see this emulation in action.
To detect whether a ROM uses the DSP-1, then open it in a hex editor such as frhed. If it is a LoRom then check the location $7FD5 - a value of 0x20, 0x21, 0x30 or 0x31 indicates some kind of a DSP-1. If you need confirmation, also check location $7FD6: A value of 0x3 or 0x5 indicates a DSP-1 of some kind. If you are working with a HiRom, then do the same as above, except use the locations $FFD5 and $FFD6.
The following games used one of the DSP-1 chips:
Ace Wo Nerae
Armored Trooper Votoms
Ballz 3D
Battle Racers
Bike Daisuki! Hashiriya Kon
Final Stretch
Korean League
Lock On/Super Air Diver
Michael Andretti's Indy Car Challenge
Pilotwings
Super 3D Baseball
Super Air Diver 2
Super Bases Loaded 2
Super F1 Circus Gaiden
Super Mario Kart
Suzuka 8 Hours
Syutoko Battle Racing 2
Syutoko Battle Racing 94
The DSP-2 was a chip only used in the SNES port of Dungeon Master... or at least that is the only one known. If a LoROM is a DSP-2 game, then it should have a value of 0x20 at $7FD5 and a value of 0x5 at $7FD6. The DSP-2 is emulated now in Snes9x.
The DSP-3 was only used in SD Gundam GX. To detect this chip accurately, you have to look in a third place. For a LoROM, $7FD5 should be 0x30, $7FD6 should be 0x5, and $7FDA should be 0xB2. For a HiROM, the locations you need to check are $FFD5, $FFD6, and $FFDA. The DSP-3 is not emulated.
The final chip in this range, the DSP-4, was only used in Top Gear 3000. You should find a value of 0x30 at $7FD5 / $FFD5 and a value of 0x3 at $7FD6 / $FFD6. If you've read this all, hopefully you should know which ROMs need you to look at $7F... and which need $FF... The DSP-4 is also not properly emulated yet.
The SA-1 is, according to TRAC, a "Custom CPU with a 65c816 execution core", just like the SNES main CPU, although it runs faster, and has a heap of added features. For one, Matthew Kendora tells me it has "bitmap to bitplane DMA", and while I don't know