We often take for granted how easy it is to get information in today’s modern, Internet-connected world. Especially around electronics projects, datasheets are generally a few clicks away, as are instructions for building almost anything. Not so in the late 80s where ordering physical catalogs of chips and their datasheets was generally required.
Mastering this landscape took a different skillset and far more determination than today, which is what makes the fact that a Japanese electronics hobbyist built a complete homebrew video game system from scratch in 1987 all the more impressive.[Alex] recently discovered this project and produced a replica of it with a few modern touches.
The original console, called the Z80 TV Game, was built on an 8-bit Z80 processor. The rest of the circuitry is fairly intuitive as it uses various integrated circuits that have straightforward wiring. It supports cartridges with up to 32 KB of ROM, outputs a 168×210 black and white image as well as 1-bit audio.
There are around 26 games for this platform developed mostly by the original creator of the console and another developer named [Inufuto] who also developed a multi-platform compiler for the system. [Alex]’s version adds PCBs to the overall design making assembly much easier. He’s also added a cartridge port for the various games and included controller ports for Genesis or Master System controllers.
Even outside the context of the 80s the console is an impressive build, encouraging development of homebrew games that continues to this day. The original creator maintains a site about the console as well (Google Translate from Japanese). There are a number of development tools still available for this platform that allow modern gamers and enthusiasts to interact with it, and all of [Alex]’s schematics and other information are available on his website as well.
For a more modern take on a homebrew system, take a look at this one based on a PIC32 that can not only run homebrew games, but original Game Boy ROMs as well.

Something seems slightly off in the raster timing ROM…
It’s a 4096 address ROM and there’s no obvious way to reset the address counter early. This means it can either draw 16 addresses per scanline and 256 scanlines (6ish too few), or 15 addresses per scanline and 273-ish (10ish too many) scanlines. Neither seems fantastic for NTSC compatibility, but maybe that’s good enough?
I think old CRTs didn’t care so much about the exact timing. When they get a sync, they begin pulling the beam back. It’s a hack but it would work for some TVs. Professional consoles skirted the standard quite a bit too.
But it won’t work on LCD displays which use pixels instead of CRT line scanning.
Would have to buffer it through something if it’s an issue. Although I’d love to test it on actual hardware, some of the LCDs are pretty forgiving of the consoles being standard-ish.
It will work, it might not look great, don’t forget the output from this isn’t a pixel stream with synced dot clock, it’s analogue.
Because of that most (all?) devices which can handle analogue input tend to be somewhat forgiving of timing variances.
The designers of an awful lot of the vintage stuff used all sorts of “hacks” and “close enough” methods to make use of what was available and/or to save money which worked well enough on contemporary CRT displays, some of those hacks even added “features” like extra colours by taking advantage of the more lax standards.