Hello, Cemetech! Long time, no see Smile

I'm working on a project involving upgrading/patching a SNES cartridge. Specifically F-Zero. Early last year (I think) a patch for F-Zero was released that mimicked the version released only in Japan, and released only on SatellaView. This means that no physical cartridges of this version actually exist, but I thought it'd be cool to make one. You can get the patch here.

So far, I've had no luck. I've been folowing this guide for how to make a SNES cartridge. I'm using the M27C801 UV EPROM chip as my replacement. I did everything in the guide to fix the slight pin incompatibility between the old and new ROM chip (swap some sections in the ROM and swap two of the pins with bodge wires) but still no luck. My patched ROM's checksum is good, it was burned and verified by a real EPROM burner, and I've checked all the solder joints. I'm beginning to run out of ideas.

One lead I have is that the original F-Zero is 4Mbit, and the patched F-Zero is 8Mbit. And it seems that the F-Zero cartridge PCB (SHVC-1A1B-05) is a bit strange. The description of the LoROM decoding circuitry in that guide doesn't match what the F-Zero PCB does. Specifically, the cartridge pin A15 is simply unused. The guide seems to suggest that the only time that's the case is with a LoROM board with no SRAM, but of course, F-Zero does have SRAM. BA7 is similarly unused, but that is less unusual I think. At first I thought this might mean that the F-Zero board is incompatible with ROMs above 4Mbit, but after I mapped out the connections and thought about it a bit more, I don't think this is the case. Here is my mapping with a multimeter of the connections in the decoding circuitry:


Right now what I'm going to do is desolder my EPROM and resolder on the SNS-FZ-0 ROM just to make sure I haven't zapped anything with static and I'm banging my head against the wall for nothing.

Any suggestions on something I'm missing here would be very welcome. Thank you all!

EDIT: With the original ROM, the cartridge still works, so that's good. I did have to clean the contacts though. Could this just be a case of "Botboy was silly not to clean the cartridge pads?" Stay tuned Razz

EDIT 2: Well, whaddaya know? It booted right up. There is just a slight snag, and that is that the ROM header tells the SNES that it has 16K of SRAM when it actually has only 2K, so that makes for some fun save memory corruption. It should be easy enough to adjust the ROM header to correct for this and then recalculate the checksum. But I guess the hardware just works now! Hopefully F-Zero Deluxe as it's called can operate on just 2K of RAM. I'll probably make sure of that first. Otherwise I may have to figure out how to stick 16K of RAM in there. At that point it's probably worth it to run some custom PCBs. I'll update here as I go though.
Kind of tangentially related, what tool are you using to read and write your ROM? You said a programmer, but I'm interested in what that one is in case it's inexpensive enough to get one for myself (for reasons unrelated to game consoles).
Tari wrote:
Kind of tangentially related, what tool are you using to read and write your ROM? You said a programmer, but I'm interested in what that one is in case it's inexpensive enough to get one for myself (for reasons unrelated to game consoles).

Sure thing! It is this one on Amazon. Pretty much a Chinese clone of the TL866. It's a little sketchy to download the software since their website is pretty jank, but it's done everything I've needed it to do so far!


As for getting the correct amount of RAM in the cartridge, I've found that the board SHVC-1A5B-02 seems to have the exact same memory mapping as the SHVC-1A1B-05, but has pads and decoding for a 256kbit (32kByte) SRAM chip. These boards were used for Sim City, so I may either explore replacing the ROM in a Sim City cartridge for the F-Zero Deluxe ROM, or buying that RAM chip, and wiring the extra pins up to the address and bank lines manually, which I assume is what that board does anyway. It would be a little less clean, but a heckuva lot cheaper and more reproducible since funnily enough, that family of SRAM chips is still in production!
For the sake of completeness, now that my original holdup is solved, here's the high level build log.

Desolder the original F-Zero ROM



Grab a M27C801 EPROM


Tape it over and program it



Solder on the ROM and a new 256Kbit SRAM


Apply super awesome sticker to the cartridge


Play!!!
Nice one!

Love that you had a GameCube in there too Smile.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement