Quick question I'm hoping someone here knows the answer to. Can you install a 42pin socket into a Genesis cartridge and still close the plastic case properly with a ROM chip in the socket? Or would you have to cut a hole in the cartridge or something to make it fit? I was just wondering as it would be nice to be able to pop a chip into a socket to test before soldering it into a cartridge directly. It would be handy with Flash chips too.
if its a very low profile socket, then yes.. If you plan to update the contents of the cart every once in a while, I'd just make a cart edge to chip socket adaptor and have chip nicely sodlered on the board.
What would be the best way to go about building that? I could probably butcher a Game Genie for a cart edge connector but I'm unclear of a good way to make a DIP chip socket end to go into a programmer. That would be pretty sweet to have a cartridge adapter, but what about PCBs with other chips that may interfere like SRAM?
For cart slot, I generally use a ISA slot's 8bit part, with a cut in one end (since its 31+31 pins not 32+32)... the most right side of the cart is useless (a GND and !CartIn signal) so that gets on the cut side. Then you'd need a chip socket with strong pins so you can solder wires onto and voila... if your cart has a SRAM chip too, you will have to tie few signals up so they'd not be floating and accidently enable SRAM while ROM chip is being written and/or read. That works as long as your programmer supports 16bit chips
Ah a chip socket makes sense. What signals are you talking about floating? The address lines that don't relate to the ROM chip I would guess? I assume I would set address lines that select anything above 1FFFFF (rom area) to be grounded so that the SRAM enabling logic never enables the SRAM chip right? I'm intending to get a programmer which will support 16bit chips so that shouldn't be a problem. So I'll get a 64 pin edge connector from somewhere, wire from it to a 42pin socket, and I assume ground the address lines beyond A20?
Don't you want to be able to program >16M at a time? With a couple switches and resistors you can to manually set the mapping bit (can't assume it's cleared at reset), just disconnect /CE, weakly pull down D0 and toggle /TIME. I would advise against wiring to an IC socket, instead look into IDC pin headers.
To access SRAM in games that are bigger than 2MBytes you do this : You set D0 to 1 and pulse !Time, then SRAM is enabled in upper 2MByte range instead of ROM. In the end, you set D0 to 0 and pulse !Time again.
Sorry I was confused with Word Versus Byte. 3FFFFF would be for a full 32 megabits. 1FFFFF would be for 16 Megabits followed by SRAM. I'll remember to look into pin headers if I go through with this. TmEE, what games are bigger than 2Mbytes and still have SRAM? The only game I can think of is Sonic 3 + Sonic & Knuckles.
Phantasy Star IV and Story of Thor/Beyond Oasis do but regardless you still have to switch out RAM if you want to program the ROM. Actually, I didn't think this was the case but the board they use switches in ROM on reset (now I can't remember which board didn't) so if you modify that board all you need to do is tie /RESET and /ROM_CE together on your adapter and RAM will always be disabled during programming.
SRAM is paged out by default on this mapper Sega used, 74xx74 chip is used and it has default state pins and they're made use of... Calpis described a quick and dirty way to rid you of all issues you might get regarding SRAM while during programming of the ROM