The NES, Atari 2600, the Apple II, the Commodore 64 and the TurboGrafx-16 are just some of the many game consoles and home computers built around the 6502 CPU. And while the 6502 has been pretty much obsolete since the mid-’90s, that hasn’t stopped hackers from building new systems with it in the 21st century. Today we can even show you an entirely new 6502-based game console: the GameTank, designed and built by [Clyde Shaffer].
The GameTank was designed to be easy to build by anyone, and is therefore largely constructed from DIP chips that can be bought new at any component distributor. The main CPU is a WD65C02 running at 3.5 MHz, assisted by a 6522 I/O controller and 32 kB of RAM. Composite video is generated by a clever circuit made out of discrete logic chips. The video card comes with DMA for fast transfers and even includes a blitter, which enables it to move images around the screen quickly without loading the CPU.
For the controllers, [Clyde] decided to go for the more-or-less industry standard DE-9 connector gamepads as used on the Sega Genesis and various Atari consoles. He also made his own controller, a 3D printed one with four directional buttons, three action buttons and a start button. The buttons are implemented with Cherry MX Clear switches — an unusual choice for a gamepad perhaps, but they’re apparently very comfortable for long gaming sessions.
The console itself is also housed in a printed enclosure with a design reminiscent of the Nintendo 64. Game cartridges are inserted at the top and contain an EEPROM chip that can be written with a special programmer. The cartridge port also brings out several internal signals and can therefore be used as an expansion port, similar to the way Super NES cartridges could accommodate enhancement chips.
Games currently available include Tetris, the office-themed platformer Cubicle Knight, a Zelda-style adventure named Accursed Fiend, and a remake of the classic viral animation Bad Apple. [Clyde] provides a comprehensive stack of tools and example code and invites anyone interested to help develop more software for the platform. There’s also a hardware-accurate emulator, which is not only useful if you’re writing new code for the system but also if you simply want to try out the existing games in your browser.
Rolling your own 6502 system is great fun, and we’ve seen several examples over the years: some are built with huge bundles of wire, some are come with a clever programming language, some are so tiny they fit on your wrist, and some are simply beautifully made.
Mmm, the case has two buttons, the PCB has three. Seems to me that reset button, the middle, is not user accessable.
As far as I can see that is not the board that is in that case that you can see here. Even the two buttons are not aligned with the motherboard
From the source page it sounds like the PCB in the image was an earlier prototype, and a later version moved the button IO to headers so that the switches could be chassis-mounted anywhere (notice that the switches on the PCB are directly behind the DE-9 ports, wherease the buttons in the chassis image are different switches and are also offset from the DE-9s). Presumably then the reset switch is somewhere out of sight.
There’s an absolute stack of documentation from throughout the development process, which is really nice to read.
Basically right! The reset switch on the case is the yellow button. On the old prototype the other two buttons exposed an extra input bit that the system could access, but wasn’t connected to the DE-9 port. I didn’t populate these on the newest version, but left footprints for 3.5mm audio jacks to play with later.
If the bit-size era taught me anything then it’s that even the most primitive graphics acceleration is far better than none at all. Even if they just added a second 6502 with a fixed set of routines and ran both at 1MHz, it would MUCH better than this.
Maybe you should do that, and post the project here…
Erm, did you not read the bit about it having a blitter? It is hardware accelerated, with a 3.5MHz 6502 to drive it all.
You write the 6502 is “pretty obsolete”
No it is not. The CMOS (Bill Mensch) version is produced today by WDC.
It is fully static and wors from 0 up to to 24MHz at 3V 10MHz.
They also sell the Verilog model so you can find the 6502 core in some custom chips.
They also sell the Mensch SBC with a 65C256 which has a 6502 8bit compatibility mode.
Obsolete as in performance. Sure, it’s sold, but that doesn’t mean it’s a good idea to design your next product around it.
The Game Tank. Great name for an truly inspiring project and documentation!
Back in the day, my friend Ton had an Apple IIe with color graphics card and monitor, two joysticks and loads of games like Dig Dug, the original Wolfenstein and Choplifter. That stuff was expensive here so it was a rare opportunity to fool around with a real computer!
This is really nice, but stems from 2020, after which there seems to have been little progress. So “latest” is a bit misleading. Nice project though.
The 2020 video was two whole prototypes ago! Back then the system looked wildly different, was absurdly fragile, and had some stubborn glitches*. 2021 was spent fixing glitches, refining features, and stabilizing the design. This year I designed the case and shifted focus to software, toolchains, documentation, and parts sourcing.
But it does occur to me both that the site doesn’t give a good sense of chronology and that I desperately need to record a new demo video. The article features content spanning all three prototype phases, which tells me I should add date labels to the writeups and consolidate the most recent information.
I’ve recorded a new video of a game running on the system that’s hopefully at least marginally more impressive than the 2020 Cubicle Knight video: https://www.youtube.com/watch?v=FyrKu8JzlZ4
Well, not impressive on skills because I couldn’t beat the game but it should show off the GameTank’s abilities a bit better!
Nice circuit. Having fun has nothing to do with sophistication (resolutions, MHz, fps, etc…) actually.
But for the ones who already own a cell phone (or tablet), try this one :
https://arstechnica.com/science/2022/08/make-your-own-cardboard-diy-arcade-games-with-tinycade/