{"id":62,"date":"2011-07-31T14:03:35","date_gmt":"2011-07-31T12:03:35","guid":{"rendered":"http:\/\/sd2snes.de\/blog\/?p=62"},"modified":"2015-03-25T15:41:13","modified_gmt":"2015-03-25T14:41:13","slug":"a-small-recap-part-2","status":"publish","type":"post","link":"https:\/\/sd2snes.de\/blog\/archives\/62","title":{"rendered":"A small recap, part 2"},"content":{"rendered":"<p>So the hardware was pretty much done at that point. Yet I did a complete redesign of the hardware. Why? Multiple reasons:<\/p>\n<ul>\n<li><a href=\"http:\/\/hackmii.com\/2010\/01\/the-weird-and-wonderful-cic\/\">Segher reverse engineered the SNES CIC<\/a> and published the disassembled ROM dump of the D411 (US\/JP CIC). I figured out the seeds of the D413 (EU CIC) &#8211; just one nibble was changed &#8211; and made a PIC based CIC replacement with automatic region fallback. sd2snes now worked on any unmodified SNES. (Also a counterpart was created later to replace the original CIC in the console itself &#8211; with additional features like switchless 50\/60Hz switching. See the <a href=\"https:\/\/sd2snes.de\/blog\/?page_id=48\">SuperCIC page<\/a>.)<\/li>\n<li>MSU1 &#8211; byuu came up with the 21fx specification, <a href=\"http:\/\/byuu.org\/snes\/msu1\/\">later renamed to MSU1<\/a>, that allows streaming of up to 4GB of data and CD-quality audio playback from mass storage. The present hardware would not have been able to stream data from card at the rate required by the spec. Also a DAC was needed to input audio to the SNES&#8217;s cartridge slot. Additionally the bonus extension pins of the cartridge had to be added again to accomplish this &#8211; to access the line-in and to synchronise audio with the SNES master clock to maintain A\/V sync during video playback.<\/li>\n<li>RAM cost and space requirement. The 64 MBits of SRAM were comprised of four 16 Mbit SRAM chips at ~14\u20ac each. A 128Mbit PSRAM is now used. There was a catch though &#8211; these chips are only available in BGA packages. A subproject was initiated to modify a pizza oven to work as a makeshift reflow oven. I was skeptical at first but it proved to work better than expected.\n<p><figure style=\"width: 240px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.flickr.com\/photos\/sd2snes\/4402547508\/\"><img loading=\"lazy\" decoding=\"async\" title=\"Reflow pizza oven\" src=\"https:\/\/farm3.static.flickr.com\/2733\/4402547508_b761735ef9_m.jpg\" alt=\"Reflow pizza oven\" width=\"240\" height=\"180\" \/><\/a><figcaption class=\"wp-caption-text\">Reflow pizza oven<\/figcaption><\/figure><\/li>\n<li>A second RAM bus was added. This was necessary to allow for parallel access to the ROM and battery\/cartridge RAM areas. Some custom chips like the SuperFX require this. The second RAM is 4Mbits of SRAM. The increased number of required I\/Os required changing the FPGA to a bigger package (PQ208).<\/li>\n<li>Due to MSU1 the loading speed had to be improved. A more advanced microcontroller (ARM Cortex M3 @100MHz) was used to replace the slow 8-bit AVR. This chip also includes an RTC so a battery holder was added to maintain the RTC. The battery doubles as a backup battery for the 4Mbits of SRAM. That way saved games can be preserved even when a blackout occurs before the automatic save feature can write to SD card.<\/li>\n<li>I replaced Eagle with KiCAD as the EDA tool &#8211; it is free as in speech, less restricted, and slightly more usable.<\/li>\n<li>Much higher loading speed (9MB\/s)<\/li>\n<\/ul>\n<p>So that was a pretty big overhaul. The current result looks like this:<\/p>\n<figure style=\"width: 240px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.flickr.com\/photos\/sd2snes\/5993221883\/\"><img loading=\"lazy\" decoding=\"async\" title=\"sd2snes Mk.II\" src=\"https:\/\/farm7.static.flickr.com\/6144\/5993221883_a2c32faf20_m.jpg\" alt=\"sd2snes Mk.II\" width=\"240\" height=\"180\" \/><\/a><figcaption class=\"wp-caption-text\">sd2snes Mk.II<\/figcaption><\/figure>\n<p>Development is now going on to implement the enhancement chips. The following are currently supported:<\/p>\n<ul>\n<li>S-RTC<\/li>\n<li>BS-X \/ Satellaview<\/li>\n<li>DSP1<\/li>\n<li>DSP1b<\/li>\n<li>DSP2<\/li>\n<li>DSP3<\/li>\n<li>DSP4<\/li>\n<li>ST0010<\/li>\n<li>MSU1<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>So the hardware was pretty much done at that point. Yet I did a complete redesign of the hardware. Why? Multiple reasons: Segher reverse engineered the SNES CIC and published the disassembled ROM dump of the D411 (US\/JP CIC). I figured out the seeds of the D413 (EU CIC) &#8211; just one nibble was changed &#8211; and made a PIC based CIC replacement with automatic region fallback. sd2snes now worked on any unmodified SNES. (Also a counterpart was created later&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/sd2snes.de\/blog\/archives\/62\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-62","post","type-post","status-publish","format-standard","hentry","category-sd2snes"],"_links":{"self":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts\/62","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"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=62"}],"version-history":[{"count":13,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts\/62\/revisions"}],"predecessor-version":[{"id":497,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/posts\/62\/revisions\/497"}],"wp:attachment":[{"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/media?parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/categories?post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sd2snes.de\/blog\/wp-json\/wp\/v2\/tags?post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}