{"id":520,"date":"2015-06-30T14:05:03","date_gmt":"2015-06-30T12:05:03","guid":{"rendered":"https:\/\/sd2snes.de\/blog\/?page_id=520"},"modified":"2026-07-22T23:13:25","modified_gmt":"2026-07-22T21:13:25","slug":"sd2snes-diagnostics","status":"publish","type":"page","link":"https:\/\/sd2snes.de\/blog\/cool-stuff\/sd2snes-diagnostics","title":{"rendered":"sd2snes diagnostics"},"content":{"rendered":"\n<p>The <a href=\"https:\/\/sd2snes.de\/files\/sd2snes_diagnostic_firmware.zip\">sd2snes diagnostic firmware<\/a> is used to track down hardware issues with your sd2snes or FXPAK Pro. 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.<br><strong>Note:<\/strong> It will change the date and time settings so make sure to correct them after going back to the regular firmware. \ud83d\ude09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Download the diagnostic firmware (see link above) and unpack it to your SD Card just like a regular firmware update.<\/li>\n\n\n\n<li>Put the SD Card back into your sd2snes or FXPAK Pro and turn on power.<\/li>\n\n\n\n<li>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&#8217;s microcontroller doesn&#8217;t boot up properly anymore. Tests cannot continue in this case.<\/li>\n\n\n\n<li>Wait &#8211; the diagnostic firmware does not show anything on screen, it will work silently for about a minute.<\/li>\n\n\n\n<li>The final test is the SNES bus test (cartridge slot connectivity). During the test the screen will turn red, flicker a bit, and finally turn green if the bus test was completed successfully. If it stays red or orange for more than 10 seconds the SNES bus test has failed.<\/li>\n\n\n\n<li>Testing is finished when either the red or green LED starts pulsing.\n<ul class=\"wp-block-list\">\n<li>Green LED pulsing: All tests passed.<\/li>\n\n\n\n<li>Red LED pulsing: At least one test failed (even when the screen is green!)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>During testing, the results are logged to a text file called &#8220;test_log.txt&#8221; inside the sd2snes folder on card.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>The diagnostic firmware performs the following tests (in order):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SD<\/strong>: SD Card read\/write error test. Writes a 1MB file, reads it back, and compares the result<\/li>\n\n\n\n<li><strong>RTC<\/strong>: RTC test. Tests if the real time clock can be set and is ticking<\/li>\n\n\n\n<li><strong>CIC<\/strong>: <s>CIC test: checks for correct operation of the SuperCIC key. Toggles video modes\/power LED color if SuperCIC lock is installed in the SNES.\u00a0<\/s> The CIC test is currently disabled because it requires interaction to complete.<\/li>\n\n\n\n<li><strong>FPGA<\/strong>: Basic FPGA test. Configures the FPGA and runs a simple echo test to see if it is alive.<\/li>\n\n\n\n<li><strong>RAM<\/strong>: RAM connection test. Fills both RAM units (128Mbit+4Mbit) with test patterns and reads them back for comparison to check for address and data line connectivity between FPGA and RAM.<\/li>\n\n\n\n<li><strong>SD DMA<\/strong>: Performs DMA transfer from SD Card to RAM, compares, and dumps the actual RAM content to card for manual inspection.<\/li>\n\n\n\n<li><strong>CLK<\/strong>: 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).<\/li>\n\n\n\n<li><strong>SNES IRQ<\/strong>: Triggers an IRQ via the cartridge slot and expects the SNES to react.<\/li>\n\n\n\n<li><strong>SNES RAM<\/strong>: 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&#8217;t run if something is wrong with the address or data bus. SNES test ROM size is minimized so it can check address line connections starting at A11.<\/li>\n\n\n\n<li><strong>SNES PA<\/strong>: checks if all peripheral address bus lines are working.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The sd2snes diagnostic firmware is used to track down hardware issues with your sd2snes or FXPAK Pro. 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. \ud83d\ude09 The diagnostic firmware performs the following tests (in order):<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":44,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-520","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/pages\/520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/comments?post=520"}],"version-history":[{"count":23,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/pages\/520\/revisions"}],"predecessor-version":[{"id":1358,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/pages\/520\/revisions\/1358"}],"up":[{"embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/pages\/44"}],"wp:attachment":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/media?parent=520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}