BangkokPadang wrote:Hey there. Im brand new to these forums. This is actually my first post.
I'm impressed with your New Host App, as a newcomer to manipulating rom files (mirroring them, editing them in hex editors, etc.) it is nice that many roms seem to "just work" with your software. It has let me get some quick success, whereas I was completely unable to even burn SMW to my 8mb INL flash cart with the "standard issue" software.
Thank you so much for your work so far. It really has been a huge help to me, and has kept me from getting frustrated while I learn what I'm doing.
ANYWAY, I have a question relating to reading the SRAM.
I am exploring a few games, and have gotten pretty far in one game. I'd like to be able to preserve my SRAM from this game, so I can burn other roms to my flash cart, and then reload the preserved SRAM onto the cart again (along with it's corresponding ROM) at a later date.
Specifically, my questions are as follows:
1) Is there any way read the SRAM, save the program's buffer, and convert that buffer (which is presumably just an "image" ,if you will, of the cart's SRAM) into either a .srm or .sav file?
2) Additionally, can the SRAM reading functionality, in it's current state, allow me to read the SRAM, save the buffer, and rewrite that SRAM back to the cartridge later?
Thanks again for your efforts!
Sorry for taking so long to reply, here. In the future if there's something you need and I'm not responding, ping me with a PM - I'll answer there and/or in the forum thread itself.
Thanks for the positive comments. Unfortunately, work on this is still on hold. It should resume soon, life is trying to sorta normalize for me.
Right now, the SRAM code is mostly nonfunctional. I had some issues getting it to work properly and never had time to finish chasing it down - that's what's next in the lineup, so far as I'm concerned. Right now, it can be read, but proper size detection isn't working, so my intent was to use the ROM's header to detect size and cut the SRAM image properly. I'm not familiar with .srm or .sav internal formatting, but I'd imagine it's not far off from what's dumped by the program. SRAM reading is barely working, but SRAM writing is presently completely nonfunctional - that wasn't in INL's original firmware, and despite the fact that it should be stupid levels of simple to get to work, it was fighting me, and I was already in a situation where working on the code was rough. It's probably something simple that I overlooked.
For now, the only way to keep SRAM between games is a hardware mod switching the uncontrolled address lines on the SRAM chip to a different area. It's a fairly simple mod for anyone who can solder SMD parts - basically isolate the top one or two address between the SRAM and the CPLD and install your own hi/lo switches for manually switching the top few bits of the SRAM address line. I say 'top few' because I'm not certain how many address lines are controlled, presently. From what I remember, 32k is the largest SRAM used, and (again, from memory) the INL carts use either 1m or 2m SRAM. Should give you plenty of addresses to switch. What I would do is get a binary counter switch (the type you'd see in old SCSI drives for ID select) and connect it to either VCC or Gnd on the common pin, and each of the output pins to a different SRAM address (starting from topmost and working down) and then put a pull-up resistor from each address line to VCC. Suitable resistor values must be chosen, as any time a pin is pulled down by the switch it'll load the regulator further, moreso if your value is too low. Then you just have to remember (or label) which switch position is which game. Using an 8-position (0-7) switch requires three address lines, aka 8 banks, using 256k per bank, which is well above the largest SRAM chip used in the SNES to my knowledge. If I'm wrong and it's a 1m chip, that's still 128k which should be safe.
To answer the Starfox 2 questions - that's actually why I started this whole thing. I was looking for info on making an SF2 cart with modern hardware instead of old 5v UV EPROMs or discontinued 5v flash, and stumbled across the INL boards. They can't, won't, and never will run Starfox 2 or any other SuperFX/GSU/SA-1/etc based ROM, unless he releases another version with an FPGA emulating the hardware like some of the more expensive carts does. I'm looking into another solution, which should (in theory) allow this to work, but it's either going to be an ungodly hack or a long, long time coming. In the mean time, if you need Starfox 2 (or any other expansion chip based game) you'll have to buy a cart and chip swap it.
I'd also like to say thanks to everyone for not nagging about the stalled progress on the software. I'm at the end of my rope, and I'm pretty sure if someone started nagging I'd just walk away from the whole thing at this point. Thank you for bearing with me. It's not abandoned. I will be back.