Over the summer, you might recall seeing a homebrew 6502 game console called the GameTank grace these pages. The product of [Clyde Shaffer], the system was impressively complete, very well documented, and even had a budding library of games.
Recently, [Clyde] took to the r/electronics subreddit to show off the latest improvement to the GameTank: a revised removable cartridge. The biggest change this time around is the addition of 32 KB of battery-backed SRAM that gives games (or any other software that might be on the cartridge) some persistent storage to work with.
By utilizing the eighth output bit of the cartridge’s shift register, software can switch between accessing the Alliance Memory AS29CF160B 2 MB NOR flash chip (which is taking the place of a traditional ROM) or SRAM. The upper half of the cart’s address space is always available, as it contains the 6502’s reset vector. But once the system is up and running, the lower half of the flash can be accessed by a sliding “window” in memory that’s controlled by the shift register.
Adding the backup power source only took the addition of a coin cell and a couple diodes to make sure it doesn’t interfere with the power being provided from the system when the cartridge is in use. Interestingly [Clyde] notes that if a cartridge is installed in the GameTank when the power is switched off, it can provide enough juice to preserve the system’s RAM — so removing the cartridge when not in use is probably a good idea.
The GameTank is a fantastic example of a well-executed homebrew 6502 computer, but of course the beauty of working with the iconic 8-bit microprocessor is how little it really takes to get a system off the ground. So if you’re looking to start with something a bit less complex, take a look at this single breadboard implementation we covered recently.