- 128x128 framebuffer, 128x100 visible onscreen
- NTSC Composite video output
- Fast 1 cycle per byte hardware blitter
- 8KB of RAM
- CPU clock at 3.5MHz
- 4-channel soundcard with two square wave generators, LFSR noise, and a wavetable (may be revised soon)
- Cartridge/expansion port that exposes the system bus, as well as a SPI port
- 32KB of address space allocated to the cartridge port
- Controller ports compatible with Genesis controller
Much of the GameTank is fairly typical of a W65C02-based retrocomputer project, but it does have a special trick up its sleeve. The composite video signal generator uses a dual-ported RAM as a framebuffer, and between the CPU and framebuffer sits a dedicated memory copy controller that can copy bytes into VRAM without the overhead of a software-defined copy loop.
Sound on the v1 prototype is produced by dedicated square wave generators based around the 74HC40103, along with an LFSR noise generator and a wavetable controlling a DAC. However, the digital potentiometers used for controlling channel volume were discontinued. To get around this I'm testing the idea of replacing the soundcard with a second 6502 as audio coprocessor which will control an 8-bit DAC.
Once I work out the bugs remaining in the design, I plan to write up a detailed programming manual along with tutorials and a comprehensive software development toolchain. The third prototype will be designed to fit a case with a proper game console form factor.
The EAGLE design files, the emulator, and the first game developed for the system are on my Github:
Some other updates can be viewed on my 6502.org forum posts: