Get A Word of Advice at INPursuit.
> I remember discussing this with someone before. For the cartridge connector you list the pads as:
> 49 /ROM
> 26 /RAM
> this should actually be:
> 49 /CART
> 26 /RESET
Well, I guess /ROM and /CART are just different names of the same thing. Are you sure that pin 26 is /RESET ? At least that would explain why I was having some problems with this pin while designing my cart.
Here's where I have the pinout from:
> Your memory maps also have some bugs in them. First off, if you want to get picky, there are more than than just two mappings for cartridges. For example a LoRom cartridge using MAD-1 is mapped slightly different than a LoRom cartridge that is just hardwired. For example, your map doesn't allow 32Mbit LoRom ... which is possible.
How many 32MBit LoRom games do you know ? It wouldn't be a problem to change the SNES mapper to allow up to 32MBit LoRoms, though.
> It is up to the cartridge what to do with the areas given to it. Your LoRom is basically right (except for what I noted above). HiRom ... well SRAM isn't in the cartridge area anymore. It is put in the Expansion Memory region. ($00-$3F):($6000-$7FFF) .. the /CART is not asserted in this area.
I had to figure the HiRom mapping out by trial and error, because the SNES docs I found are quite unclear and cantradict each other. So I kept the SRAM at $70-$77 in HiRom just to be sure. I'm not sure, but I think some games didn't save when I mapped the SRAM only to $00-$3F.
> Actually, carts usually only map ($20-$3F):($6000-$7FFF) to the SRAM. And the banks just mirror each other (so mem is <= 64 kbits).
The docs I have say that the SRAM is 128KByte in HiRom.
Again, I mapped the SRAM to all lower banks just to be sure (I had big problems with SRAM in HiRom mode until I did that).
> Then you have the greater than 32Mbit games. I don't own one ... and I don't feel like wading through the emulator code. But you can see how it would work ... put 16Mbit in ($80-$BF):($8000-$FFFF), and then put up to 32Mbits in ($C0-$FF).
Hm... I never thought about that... but this seems to be basically LoRom and HiRom at the same time. Should be easy to change my mapper accordingly. Unfortunately, the RAM cart can only hold 32MBit...
> I'm sure I rambled alot, but I hope that helps a bit.
Thank you for your comments. I think I'll make some changes to my design (ie. allow up to 32MBit LoRoms and remove the SRAM from banks $70-$77 in HiRom)... The problem is, like you said, that there doesn't seem to be anything like one definite LoRom or HiRom configuration.