Z80 TV Game logo

Z80 TV Game

Introduction

Z80 TV Game in operationIn 1987, an electronics hobbyist from Japan developed this 8-bit games console entirely from scratch! Despite the simplicity of its circuitry (Only 19 ICs are needed to construct the system, none of which are dedicated graphics chips), it's possible to write surprisingly advanced games for it!

The specifications are as follows:

As of the time of writing, 26 game programs have been developed for the Z80 TV Game: 6 games by Mr. Isizu (the designer of the Z80 TV Game), and 20 games by Inufuto, who has developed a multi-platform compiler that supports the Z80 TV Game.

Technical Description

Close-up of assembled systemThe circuitry of the Z80 TV Game is relatively easy to understand, making it a good resource for learning how a computer generates a video signal.

Controller input and audio output are handled by either an Intel 8255 or Zilog Z80PIO I/O controller. There are two sockets on the PCB for either controller, depending on which is easier for you to obtain. These two ICs have to be controlled slightly differently by software, but it's possible to write games that are compatible with both, as demonstrated by the games written by Inufuto.

The controller interface is designed for two-button Sega Master System controllers and will also work with Mega Drive/Genesis controllers. Standard one-button joysticks will also work, aside from the lack of a second button.

The composite sync signal is generated with an EPROM, an unconventional method of simplifying the circuitry. Different ROMs have different data access times, so you may need to experiment with one or two models of ROM before you'll find one that produces a glitchless video signal, due to the high speed at which the raster generator steps through the ROM's address bus.

Fortunately, any size of ROM between 4KB (2732) and 64KB (27512) can be used, so long as the 4KB binary data file (available for download further down this page) is written to the upper 4KB of higher capacity ROMs. During testing, I found that a 150ns ROM worked well, while a 450ns ROM was too slow.

If the prospect of making a lot of cartridges doesn't appeal to you, I've designed a multi-cartridge that holds sixteen 32KB games on one 27C040 ROM. Game selection on the multi-cartridge is performed with DIP switches.

The maximum file size for games is 32KB, but I've designed an experimental bank-switching cartridge PCB (not tested yet!) that should allow games of up to 256KB to be accessed through two configurable 16KB page registers on the cartridge.

Software Development

Close-up of 32KB cartridgesThe memory map of the Z80 TV Game is as follows: Since it's possible to use either the 8255 or Z80PIO to handle I/O, there are two possible I/O maps:

8255:

Z80PIO: Z80 TV Game in operationAs mentioned earlier, 6 games (also a larger ROM containing all 6 games and a selection menu) have been developed by the creator of the Z80 TV Game, Mr. Isizu. These games were written in Z80 assembly, and the source code listings (with code comments in Japanese) are available for download here.

There's a selection of tools available for programming the Z80 TV Game in C:

Changelog

Revision 0:
Initial prototype, as seen in the photos. Revision 1:
This is the version available for download on this page.

Downloads

Close-up of assembled system Interactive Bill of Materials - Console
    HTML document, 531 KB

Schematic - Console
    PDF document, 941 KB

PCB Gerbers - Console
    ZIP archive, 744 KB

KiCad Files - Console
    ZIP archive, 1.33 MB - Useful if you want to make modifications to the PCB. Made with KiCad 9.

Interactive Bill of Materials - 32KB ROM Cartridge
    HTML document, 338 KB

Schematic - 32KB ROM Cartridge
    PDF document, 127 KB

Z80 TV Game in front of a local landmark PCB Gerbers - 32KB ROM Cartridge
    ZIP archive, 170 KB

KiCad Files - 32KB ROM Cartridge
    ZIP archive, 532 KB - Useful if you want to make modifications to the PCB. Made with KiCad 9.

Interactive Bill of Materials - 32KB x 16 Multi-Cartridge
    HTML document, 350 KB

Schematic - 32KB x 16 Multi-Cartridge
    PDF document, 151 KB

PCB Gerbers - 32KB x 16 Multi-Cartridge
    ZIP archive, 191 KB

KiCad Files - 32KB x 16 Multi-Cartridge
    ZIP archive, 564 KB - Useful if you want to make modifications to the PCB. Made with KiCad 9.

3D render of 32KB cartridge Interactive Bill of Materials - Experimental 256KB ROM Cartridge
    HTML document, 316 KB

Schematic - Experimental 256KB ROM Cartridge
    PDF document, 221 KB

PCB Gerbers - Experimental 256KB ROM Cartridge
    ZIP archive, 209 KB - Please note that the 256KB cartridge hasn't yet been tested!

KiCad Files - Experimental 256KB ROM Cartridge
    ZIP archive, 603 KB - Useful if you want to make modifications to the PCB. Made with KiCad 9.

Custom Fonts
    ZIP archive, 8.90 MB - Custom fonts used for the KiCad files. Only needed if you want to modify these files.

Original Schematics
    ZIP archive, 1.14 MB - Mr. Isizu's original schematics for the Z80 TV Game, with the 74LS122 timing circuit corrected. Includes the 1980's hand-drawn schematic, which has a different memory map to the 2000's CAD schematic that this PCB, emulators, C devtools, etc. are based on.

Game ROMs
    ZIP archive, 922 KB - All the games I know to exist for the Z80 TV Game thus far. Includes two combined ROMs for those who would rather have all 26 games on 2 multi-cartridges. If you know of any games that aren't mentioned on this page (or you've written a new game), please let me know! My email address is on the home page.

32KB Cartridge Dimensions
    PDF document, 61.3 KB - Useful for designing a 3D printed cartridge enclosure. Note that the standard PCB thickness used by most manufacturers is 1.6mm.

32KB x 16 Multi-Cartridge Dimensions
    PDF document, 67.1 KB - Useful for designing a 3D printed cartridge enclosure. Note that the standard PCB thickness used by most manufacturers is 1.6mm.

Z80 TV Game Logo (1920 x 846) (Variant 1)
    PNG image, 1.21 MB - The logo seen at the top of the page in full resolution.

Z80 TV Game Logo (1920 x 846) (Variant 2)
    PNG image, 1.08 MB - The logo seen at the top of the page in full resolution.


Thanks to:
    Mr. Isizu: The original designer of the Z80 TV Game.

    Inufuto: Developer of Cate, a multi-platform compiler that can generate software for the Z80 TV Game. All 20 of the games he has created with it thus far have Z80 TV Game versions. Inufuto has also designed a PCB version of the Z80 TV Game that outputs VGA video via a Raspberry Pi Pico.

    Takeda Toshiya: Developer of eZ80TVGAME, a Z80 TV Game emulator for Windows.

    lsluk: Developer of vdmgr, a multi-platform emulator for Windows that supports the Z80 TV Game.

Last updated on Oct 26, 2025.
This page was first uploaded on Oct 26, 2025.