A few years ago I did something pretty similar. Here's a list:
1. Replaced the ROM on the Game Genie with an EEprom. The EEPROM I used has 2 to 4 more pins because programming something smaller would have been a pain for me.
2. On power on it bootstraps and waits for input. The bootstrap does not exit Game genie mode so that the user can still "enter" cheats if they design code to do so.
3. The data comes in via the second controller port. The serial data cable is bit banged and gets a decent speed of 115200 bps. The software checks for errors in data transmission and corrects when needed.
4. I also made a MMC1 flashrom (with CHR RAM) cart that is programmable in system. It does work but I stopped deving it when the powerpak came out.
5. I think I rearranged the memory map in a way that is CopyNES friendly. Started on getting the game genie to work with CopyNES a while back but stopped.
I did create some routines to dump a few Mappers/SRAM. Here's most of the code I wrote. A tad messy but eh!
http://0wnag3.biz/NES/GG
I can post the plans for the data cable later, but that was pretty simple.
Added a picture of my cable to that directory. Looks like the run of the mill max232CPE. You can use MAX233 to avoid having to have so many external caps. I think the pins on the NES used are D0, CLK, +5, and GND, but not 100% sure.
Game Genie ROM replacement
Moderators: B00daW, Moderators
I found a picture of an older version that also has a 2732 ROM chip. So at least two revs of it use a discrete ROM.
That's the idea of the Munchausen cartridge, which is moving along, just going slowly at the moment, working out final details.clueless wrote: When you first publicized your boot loader idea I had an idea: Build a RAM cart (like the power-pack lite), and include a small E(E)PROM on it. Tweak the mapper so that this ROM is in charge when it boots up, but the ROM can be switched out to run the game. The boot rom would use your method to pull in a stage-2 loader, which would then chain-load the entire development cart image to the (bankable) RAM at $8000-$ffff + char-ram (acting as char-ram or char-rom).
The Game Genie approach seems most flexible. The programmable cartridge doesn't need any boot ROM, just programmable PRG/CHR, either SRAM or EEPROM/Flash. You program it using the Game Genie, and then play it normally once the Game Genie is disabled via its internal logic. This allows use with unmodified cartridges for testing of smaller programs on its mapper.Like a hybrid mapper or something. Writing to $5fff would swap in the MMC1 / other mapper and the normal game in RAM. Writing to $5ffe would reset the cart back to the boot rom. For those of us developing new games, avoiding writing to $5xxx does not sound too burdensome, as most mappers used for homebrew won't use that range anyway.