Game-Genie-like device with arduino

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Game-Genie-like device with arduino
by on (#110959)
Hello there,

In the goal of improving my understanding of the SNES, I want to design a kind of Game Genie, using an Arduino.

The SNES sends request for data (placing an address on the Address Bus). I would think the GG tests this address against the address of the data to patch, then patches it if matched, otherwise the GG fetches the data from the ROM.

The Arduino Uno clock speed is 16 MHz. I expect to have problems as far as timings are concerned, what do you think ?
I'm a noob when it comes to hardware, so feel free to suggest your way of doing this project.
Re: Game-Genie-like device with arduino
by on (#110960)
The Game Genie has to respond within nanoseconds, not microseconds. It's probably got an address comparator that selects between the normal ROM's chip select and that of its internal patches, before the read/write signal comes in.
Re: Game-Genie-like device with arduino
by on (#110966)
yeah a microcontroller isn't going to be fast enough to do it how you're proposing. You'd need programmable logic (FPGA or CPLD) to patch in values on the fly.

If you're limited to using a mcu because they're more 'noob freindly' than programmable logic there is a less time intensive approach you could take using a mcu. You could use a mcu to read from the original cart, modify the rom image, and store it onto a flash/SRAM cartridge. Then put the flash/sram cart in your SNES and play.

There are a few discussions around here recently discussing the idea of a 'hardware patcher' that might give you some valuable input if you dig around for them.