Apologies if this is the wrong section, but since it's actually cart modding, I figured this might be a somewhat good place. Right, I've got a few plans on some games I'd love to reproduce... like translated Bahamut Lagoon, Secret of Mana 2, etc. The problem is that the donor carts for these can be expensive, since they need HiROM. However, LoROM carts that satisfy the other requirements (SRAM, battery, etc) tend to be a lot cheaper. I've been doing some digging, and it would appear that the major difference between HiROM and LoROM is basically how the MAD-1 is wired up. With that in mind, would it be possible to basically re-wire the MAD-1 to change the PCB from Lo to Hi, or would that cause potential issues with SRAM? The other question is, I hope, fairly simple and regarding the CIC. Any easy way to convert an NTSC cart to PAL? I'm considering using a real Bahamut Lagoon cart for the translation, but that won't work on my SNES (and while I could mod the SNES, it actually belongs to my Fiancee and she may well kill me if I start soldering random bits to it!). Thanks in advance. EDIT: Just realised it's a lot more complex than how MAD-1 is wired up. Hm... would a re-wire be possible anyways? I assume I'd have to cut applicable traces and run wires all over the shop from the cart connector to the various EPROM/MaskROM and MAD-1 pins.
I can say the NTSC to PAL is simple with a simple CIC swap. Or better yet just get the Super CIC chip and go region free. Can't help ya withe HI-ROM and LOW-ROM issue since this is the first I've ever heard of that.
Sounds like a flash cart, and region modded or NTSC console, are more what you're looking for. Reproduction games add up fast in total cost.
Oh, i'm aware flash cart would be better. Hell i've got a super wildcard and boxes of discs somewhere in the house! However, I like the idea of having actual carts, plus some friends have asked me to make some for them (most of them want starfox 2 and secret of mana 2), hence the questions... especially the CIC ones for modding the cart rather than the console. At least i've got soldering experience.
I used some garbage pirate game as donor to build my Tales of Phantasia cart. The original pirate game was MODE20 (LoROM). Also you don't need a MAD-1, you can use off shelf parts, the point of using a MAD-1 is make the circuit simpler/easier to build. As long the game memory map requirements are fulfilled the game MUST work. In the particular case of ToP we have two ROMs one is 32MB and the other is 16MB. 32MB ROM is mapped on mode 21 and 16MB ROM as mode 20 so the cart circuitry is a bit odd ... lol
From what I've read, LoROM arrangement is limited to 16Mbit, and games such as Super Metroid which are considered LoROM have the first 16 in typical arrangement but the last 8Mbit is what we would consider HiROM because it's arranged in 64Kbyte banks rather than 32Kbyte. So it sounds like ToP is like Super Metroid except it has much more ROM mapped as HiROM. Generally that is what people mean when they say HiROM/LoROM is it's 64Kbyte vs 32Kbyte banks. HiROM games in order to access the whole 64kbytes of a bank need to be read from upper banks as in the lower banks the cartridge and system share that area. I think technically there is just under or around 96mbits of space a cartridge can potentially use. It's up to the designer of the cartridge circuit to design how the cartridge responds to accesses. I think A15 is used or ignored depending on if you are using HiROM or LoROM mapping. I've heard before comments like, LoROM when wiring the MaskROM up skips A15, so perhaps that means that rather than connecting A15 to your ROM you connect A16, and so on for the upper lines. So then for HiROM you want A15 connected to the ROM and not skipped. Atleast I think so. From the software view, LoROM maps ROM at $8000-$FFFF of each bank that it responds to. HiROM maps ROM at $0000-$FFFF. So you see 32Kb or 64Kb banks. Banks something like 00-3F have system RAM and registers mapped to $0000-$7FFF so the cartridge cannot respond. So if your cartridge is HiROM, when accessed in the lower banks you simply cannot read the first 32kb of that bank. But when accessed in the higher banks ($80 and above atleast I think) the first 32kb of each bank can be read fine. Hopefully you can figure it out. It's good to point of that many LoROM and HiROM games are nothing more than 2 chips, the lockout and a MaskROM. MAD-1 is used when dealing with SRAM and/or multiple MaskROMs. Sometimes just a 7400 series chip is used, I'm guessing just when SRAM is involved.
A15 is ignored on LoROM setup so you have a "cap" of 32Mbit on the rom size. There's a few games that big which run on that memory map. Notable examples: Konami's Tokimeki Memorial and one of the obscure Japan only Squaresoft games (Treasure Hunter G maybe ?) use that memory map.
So I was right then, for rom access that is LoROM you ignore A15, not connecting it to the MaskROM? What do you know about LoROM games over 16M like Super Metroid? I know Super Metroid usually has a MAD-1 decoder, so does it perform operations related to 32kb banks versus 64kb banks, or is Super Metroid always two MaskROMs with one wired in HiROM and the other in LoROM?
Games with mixed memory maps are aways 2 chips. You just gave a example away ... ToP would be another example of mixed memory map game.
You could just make your own board or have a company make some one-off boards. You just need a ROM chip, an 8Kx8 SRAM chip, a CR2032 battery, a simple CPLD, and a cloned CIC chip ($4). You program the CPLD to perform the simple logic that the MAD would normally implement. LoROM games between 2.5 MB and 4.0 MB, such as the 3.0 MB Super Metroid, continue the normal LoROM mapping up through the FF bank. Starting at bank C0, the low half of a bank no longer will contain the 8 KB WRAM mirror nor the hardware registers; instead, it'll be a mirror of the high half of the bank. I had the same question about a week ago, and that's the answer that seems correct. Presumably, banks C0-FF could use 64 KB mappings, but that's beyond the understanding of the MAD chip. The non-S-DD1 6 MB games work a different way that I don't know. (Star Ocean uses the S-DD1 to swap chunks of ROM as needed, like an NES mapper.)
That seems to contradict what was stated earlier. Is the last 1 megabyte of Super Metroid not mapped/wired as HiROM for a unique 64kb per bank?
Nope, it's not like HiROM. For example, here is the bsnes database record for Super Metroid and the record for its board: information title: Super Metroid name: Super Metroid region: NA revision: 1.0 board: SHVC-BA3M-01 serial: SNS-RI-USA sha256: 12b77c4bc9c1832cee8881244659065ee1d84c70c3d29e6eaf92e6798cc2ca72 configuration rom name=program.rom size=0x300000 ram name=save.ram size=0x2000 board type=BA3M revision=01 rom name={rom.name} size={rom.size} ram name={ram.name} size={ram.size} map id=rom address=00-7d,80-ff:8000-ffff mask=0x8000 map id=ram address=70-7d,f0-ff:0000-7fff
So in banks above the system area the lower part of each bank is an exact mirror of the upper part of the bank? That part wasn't totally clear.
Offsets 0000-7FFF of banks C0-FF should be a mirror of 8000-FFFF, yes. Or possibly open bus, depending on how the cartridge board is wired.