Once you've programmed a game or other bit of data for SNES, you'll probably want to try to, well, test it.
Methods
Although for most software these choices are, mostly, about preference. Most games which require Expansion Chips other than the DSP-1 may require less than favorable methods of testing (either emulation or reproduction cartridge).
Emulators
Emulators are computer programs which are designed to play the code of a different piece of hardware. Idealistically, the goal of an emulator would be to perfectly simulate the hardware in question, but in practice this is a herculean task, and most coders are quick to compromise this goal in favor of having features or tools the original hardware would not use. As such, emulators are usually not recommended for testing one's own game code, unless one is already certain the code runs on hardware and merely wants to check the emulator's specific compatibility for the code.
BSNES
BSNES is an emulator developed by byuu that, bucking the older emulator trends, seriously puts hardware accuracy above any other priority.
PROS
- High accuracy means that it's the most likely to replicate small details
- Only emulator to support various obscurities, such as Data Packs for Satellaview games and some of the more rarely-used expansion chips.
CONS
- If BSNES can't replicate an issue you're having with real hardware, you're probably screwed in terms of debugging.
- The most CPU-intensive of any SNES emulator.
SNES9X + derivatives
SNES9X is an emulator developed by Gary that is a widely-used emulator due to it being one of the first open-source SNES Emulators. Because of it's open-source nature, various ports and modifications of it were released, including SNESGT, SNES9Xpp XE, SNES9X-GTK, and various others.
PROS
- Geiger's SNES9X Debugger is one of the most popular debugger tools.
- SNES9XPP XE and SNESGT tend to work with a large amount of Satellaview Soundlink games.
CONS
- Not as hardware-accurate as BSNES. The degree of inaccuracy varies by version or derivative.
- Working with a bunch of different forks can be confusing.
ZSNES
ZSNES is an emulator developed by zsKnight and Demo, and is one of the most widely-used emulators due to it's compatibility with the most popular SNES games. ZSNES seems to be the emulator of choice for casual players, for some strange reason.
PROS
- Runs on really old hardware.
- Many old tutorials require it's inaccuracies. (Not really a pro, just FYI.)
CONS
- It's not very hardware accurate at all.
- It still runs on that DOS-y thing?
Real Hardware
The most ideal way to test code is to try running it on the actual hardware - as in, playing it on a Super Nintendo or Super Famicom game system (preferably both - Kiddo has witnessed an instance of a game playing fine on a US SNES and glitching on a Japanese SFC.)
There are various ways to try loading a piece of ROM data on real hardware.
Copiers
The oldest and most archaic method; generally not recommended anymore. Various different kind of ROM Copiers exist, including Super Magic Card, Super Wild Card, Super UFO, Pro Fighter, Game Doctor, etc. The Game Doctor SF7 or the Super Wide Card DX2 are the best of the copiers.
PROS
- Can be found cheaper than other options if you look hard enough.
- Lots of information available online
CONS
- Bulky, large and may require external power.
- Difficult to use because of the old hardware (floppy disk drive, parallel ports) and software (command line based) used with them.
- Expansion Chips like DSP and SuperFX not supported.
Mash-Mods Flash Cart
Cartridges and base sold by Mash-Mods.com.
PROS
- USB powered and supported on multiple modern operating systems
- Base can be used to dump games
- Supports games up to 4MB
- Supports up to 32kB of SRAM
CONS
- Recycles old cartridges and CICs
- Cart and base sold separately
SNES PowerPak
Cartridge sold by Retro Zone which plays SNES ROMs through a Compact Flash card.
PROS
- "Stupidly" easy to use.
- Compact Flash support makes loading games easy.
- Upgradable drivers and BIOS
CONS
- Expensive compared to a copier.
- Most Expansion Chips not supported.
QuickDev16
PROS
- Fastest way to debug code
- USB powered and supported on multiple modern operating systems
- Debug Console / Debug Shell
- Very sexy looking
CONS
- Very hard to obtain
- Contains recycled parts
- Not to be confused to playing pirated ROM files
Tototek Flash Cart
Developed by Tomy of Tototek.com, also known as the Super Flash Cart 32M / 64M.
PROS
- Supports up to 8MB ROMs
- SRAM Support
- Base can be used to dump games
- Supports DSP-1 with T-Connector + DSP-1 cart
CONS
- Base and T-Connector sold separately
- Contains recycled parts
- Parallel Port required
Neo Flash Myth Cart
Recently released, I have not tested one personally.
PROS
CONS
- Proprietary ROM loading sub cart
- Requires DSP cart for piggy backing
Super Everdrive
A new Flash Cart. Supports SD Cards and a USB port.
PROS
- Max supported ROM size up is 48MBit (6MByte)
- 32kb FRAM for game saves
- OS can be updated from SD or USB
- Saves auto backup/load**
- SRAM data can be stored or loaded from SD card
- SD/MMC card support with 2GB max size.
- FAT16 support with 2GB max partition size.
- Flashed game will stay in memory after power cycle.
- Supported with both PAL and NTSC systems.
- Multi-Region CIC developed by Ikari_01
- USB port available only on Super Everdrive + USB version.
- USB port can be used for OS update, game upload, homebrew software can communicate with a PC via virtual serial port interface. All USB port operations are controlled by the SNES CPU, so USB port can not be used if cart not attached to console.
- Save and load save data from saves database on SD.
CONS
- Firmware, different from OS, difficult to upgrade.
- SD Cards can be picky.
R.A.M. Factory 64SX+UF
PROS
- Internal FLASH ROM size up to 128MBit (16Mb).
- Maximum supported ROM size up to 48MBit (6Mb).
- 32kb FRAM or Static RAM memory for game saves store.
- USB (only in Enhanced configuration, available when purchasing with Assembler Studio ) development port. Support Assembler Studio, and step by step debug with code execution on real console.
- Upgradable OS from USB and from external memory card.
- Game saves can be stored or loaded from SD card.
- SD/MMC/SDHC cards support.
- FAT12/FAT16/ FAT32 support. 32GB max external card size.
- SMARD DMA Module (Support fast external memory access up to 11Mbit/ps).
- Support FX Capcom CX4 chip functionality.
- Memory paging support (64 ready to run maximum games store on one card).
- Automatic Save RAM memory management (extract need to run save ram then game store to internal ready to run memory).
- PAL and NTSC systems support, multi-Region CIC developed by Ikari_01.
CONS
- No bootloader, - difficult to upgrade (but upgrade can be from SD).
- Very hard to buy with USB debugging interface.
- Debug software is still in alpha version
SD2SNES
SD card based multi-purpose cartridge for the SNES
PROS
- Only cart to support the MSU1.
- 128Mbit 16-bit PSRAM, largest size of all carts (96Mbit actually implemented).
- 4Mbit 8-bit SRAM.
- Multi-Region CIC developed by Ikari_01
- Interfaces: SD-Card, USB, 2x UART (1 for ISP), JTAG.
- SD/SDHC/SDXC support (tested up to 64GB; no exFAT support so SDXC cards must be reformatted using FAT32)
- Supports BS-X Memory Map / Satellaview Base Unit Registers, DSP1/1b, DSP2, DSP3, DSP4, ST-010, Cx4, S-RTC
CONS
- Difficult to get.
- Original batch sold out and subsequent batches produced by 3rd parties.
Reproduction Cartridge
Currently this is the only method for playing many expansion chip based games. This is the process of swapping out one cartridge's EEPROM Chip with an EEPROM chip containing your own data.
PROS
- Support for Expansion Chips games
- CIC included
CONS
- Requires finding a cartridge that matches up with the data you're making and hacking it up.
- Requires a lot of man-work
- Destroys original cartridges
- Cost varies depending on original cartridge.
Miscellaneous
There is no known method of running Satellaview programming within an actual Satellaview environment. You may attempt to run Satellaview programming on SNES hardware, with varied results.