The sd2snes diagnostic firmware is used to track down hardware issues with your sd2snes. I originally wrote it for brief burn-in testing (e.g. to check for solder errors) but it might be useful in the field as well.
Note: It will change the date and time settings so make sure to correct them after going back to the regular firmware. ;)
- Download the diagnostic firmware (see link above) and unpack it to your SD Card just like a regular firmware update.
- Put the SD Card back into your sd2snes and turn on power.
- If right after startup either the green LED light up or the yellow+red LEDs light up and nothing else happens (no intermittent LED flashing etc.), the SD Card could not be initialized. It might be worth trying a different card. Otherwise there is a contact problem with the SD Card slot (hardware failure), or the sd2snes’s microcontroller doesn’t boot up properly anymore. Tests cannot continue in this case.
- Wait ;) The diagnostic firmware does not show anything on screen, it will work silently for a couple of minutes. If the power LED (green) flashes during the process please reset the SNES twice (it’s part of the SuperCIC self test).
- The final test is the SNES bus test. During the test the screen will turn red, orange, yellow, and finally green if everything is ok. If the screen remains black for more than 20 minutes something’s up.
- Testing is finished when the three LEDs light up in sequence like a running light.
- During testing, the sd2snes logs the results to a text file called “test_log.txt” in the sd2snes folder on card. I might ask you to upload it after running the diagnostic firmware ;)
The diagnostic firmware performs the following tests (in order):
- SD Card read/write error test: writes a 4MB file, reads it back, and compares the result
- RTC test: tests if the real time clock can be set and is ticking
- CIC test: checks for correct operation of the SuperCIC key. Toggles video modes/power LED color if SuperCIC lock is installed in the SNES.
- FPGA test: configures the FPGA and runs a simple echo test to see if it is alive
- RAM test: fills both RAM units (128Mbit+4Mbit) with test patterns and reads them back for comparison
- SD DMA test: Performs DMA transfer from SD Card to RAM, compares, and dumps the actual RAM content to card for manual inspection
- Clock test: loads the test ROM, measures the SNES master clock and checks for irregularities. Also logs a number of other control signal toggle counts for manual inspection (to check for broken traces/solder joints).
- IRQ test: triggers an IRQ via the cartridge slot and expects the SNES to react
- Address bus A/Data bus test: tests whether the SNES can correctly access (read+write) all of the available address space. Not the most useful test because in most cases the test code can’t run if something is wrong with the address or data bus.
- Address bus B test: checks if all peripheral bus lines are working