Game Genie ROM replacement
Moderators: B00daW, Moderators
Game Genie ROM replacement
The Game Genie ROM replacement was successful and now my Game Genie runs a bootloader at power, ready to communicate with the PC. From there the PC can run any code out of NES RAM.
The PC can write to Game Genie registers, and disable it so that the game plugged in (if any) is accessible. Its ROMs can be dumped, or code can be run out of NES RAM or any RAM on the cartridge, and use the cartridge mapper. Interrupt vectors can be routed to RAM, so that the running code can use IRQ and NMI. I'll have to make sure the romless program format works well with this, as this is the perfect way to run code on anything.
I desoldered the Game Genie ROM, soldered in a 28-pin socket, and used a 2732A 1KB EPROM as a replacement. Programming the EPROM was frustrating, since I lack a proper programmer and had to rig one up on a breadboard. Further, I don't have a UV eraser, and the EPROMs I had already had code on them, so I had to fit things into the unused spaces. Plus getting the bugs out of the writing routine caused even more garbage.
Once I've played around more with this I'll see about making a ROM that has the original Game Genie ROM as well as the bootloader (argh, after looking at the Game Genie ROM, there's no apparent free space in it). Thanks to clueless for the idea and posting the image of a Game Genie that caught my interest.
The PC can write to Game Genie registers, and disable it so that the game plugged in (if any) is accessible. Its ROMs can be dumped, or code can be run out of NES RAM or any RAM on the cartridge, and use the cartridge mapper. Interrupt vectors can be routed to RAM, so that the running code can use IRQ and NMI. I'll have to make sure the romless program format works well with this, as this is the perfect way to run code on anything.
I desoldered the Game Genie ROM, soldered in a 28-pin socket, and used a 2732A 1KB EPROM as a replacement. Programming the EPROM was frustrating, since I lack a proper programmer and had to rig one up on a breadboard. Further, I don't have a UV eraser, and the EPROMs I had already had code on them, so I had to fit things into the unused spaces. Plus getting the bugs out of the writing routine caused even more garbage.
Once I've played around more with this I'll see about making a ROM that has the original Game Genie ROM as well as the bootloader (argh, after looking at the Game Genie ROM, there's no apparent free space in it). Thanks to clueless for the idea and posting the image of a Game Genie that caught my interest.
Awesome! I am glad that this worked.
And, just to confirm, this will work with a power-pack lite in MMC1 mode?
[1] http://www.retrousb.com/product_info.ph ... ucts_id=35
And, just to confirm, this will work with a power-pack lite in MMC1 mode?
[1] http://www.retrousb.com/product_info.ph ... ucts_id=35
This is a pretty cool idea. So you use Player 2 as some sort of serial communication port right? So would the Game Genie + PowerPAK Lite (or soldering SRAMs into another cartridge) + Serial cable end up being pretty cheap? The PowerPAK isn't the cheapest device but if this could make a feasible development setup that would be very cool.
- NESHomebrew
- Formerly WhatULive4
- Posts: 418
- Joined: Fri Oct 30, 2009 4:43 am
- Contact:
Just do what I did. Solder a connector from a broken game genie directly to the motherboard, then make a custom case for it (or cut a hole in the back). Unfortunately their isn't enough room for a copyNES if you do that. Add a screen, and viola you have a portable dev laptoptokumaru wrote:Cool, but the fact that the Game Genie is known for ruining cartridge slots makes it slightly less cool.
This is a really cool project blargg. If it works with the powerpak lite I'll be a very happy man. It's not that I don't like my copyNES, it's just that it isn't as portable as my nes laptop.
- NESHomebrew
- Formerly WhatULive4
- Posts: 418
- Joined: Fri Oct 30, 2009 4:43 am
- Contact:
Do you need something like this?65024U wrote:I have 3 dead toasters because of the dang thing.
I really need that adapter they made. :/ If only they weren't so hard to find.
No, we are talking about the 60-pin card-edge connector on the Game Genie. It is a bit thicker than it should be. This causes the spring / pins in the NES unit to spread apart and no longer make reliable electrical connections.WhatULive4 wrote:Do you need something like this?65024U wrote:I have 3 dead toasters because of the dang thing.
I really need that adapter they made. :/ If only they weren't so hard to find.
One other thing, be careful not to put the Genie circuit board in upside-down. Unlike NES boards, the component side faces down. Fortunately, putting it in upside-down and powering up the NES for several seconds doesn't damage it, heh.
Great idea coupling this with a PowerPak Lite. Serial cable plans are nearly ready, BTW.
It should, but it requires knowing how to configure it. Is there any documentation for its internal operation? Even with that, whoever's writing the driver software would probably need one as well in order to debug it.clueless wrote:And, just to confirm, this will work with a power-pack lite in MMC1 mode?
Great idea coupling this with a PowerPak Lite. Serial cable plans are nearly ready, BTW.
Using a real game-genie to debug the hacked game genie. Awesome. It's turtles all the way down!blargg wrote:One other thing, be careful not to put the Genie circuit board in upside-down. Unlike NES boards, the component side faces down. Fortunately, putting it in upside-down and powering up the NES for several seconds doesn't damage it, heh.
It should, but it requires knowing how to configure it. Is there any documentation for its internal operation? Even with that, whoever's writing the driver software would probably need one as well in order to debug it.clueless wrote:And, just to confirm, this will work with a power-pack lite in MMC1 mode?
Great idea coupling this with a PowerPak Lite. Serial cable plans are nearly ready, BTW.
I'm looking forward to seeing how this turns out. Another application of these would be to allow backing up and reloading battery backed RAM on cartridges which I sure would be popular.
Also it might make it more feasible to have an actual MMC3 or MMC5 development cartridge using SRAM rather than relying on EPROM or Flash ROMs for changing programs.
Also it might make it more feasible to have an actual MMC3 or MMC5 development cartridge using SRAM rather than relying on EPROM or Flash ROMs for changing programs.
That is a great idea too!MottZilla wrote:I'm looking forward to seeing how this turns out. Another application of these would be to allow backing up and reloading battery backed RAM on cartridges which I sure would be popular.
That would be really nice too.MottZilla wrote:Also it might make it more feasible to have an actual MMC3 or MMC5 development cartridge using SRAM rather than relying on EPROM or Flash ROMs for changing programs.
But would you just hack an existing MMC3 cart, or remove the MMC3 entirely and soldier it to a custom dev cart? I assume that one can't just remove ROMs from an MMC3 cart and drop RAM in its place. The /WE input on the RAM would not exist, and other pins are probably in the wrong place.