Making Your Own Video Games, 1970’s Style

Years ago, at the tender age of 10, I found an intriguing, thick, old red book at my local library (the LaGrange Memorial Library in LaGrange, GA, where I lived for a brief period of my life). Festooned in gold lettering on the cover was the thrilling title: How to Design and Build Your Own Custom TV Games by David L Heiserman. TV Games? I love those things! And it’s from the 70’s? That’s even cooler! (Even then I had a love for old stuff, including old video games.) I immediately starting pouring through it, despite the fact I had no idea what any of the diagrams meant. I knew my dad had some understanding of computers and electronics, so I took it to him to try to help me make sense of it. I remember his eyes widening as he looked at the schematics, responding that these circuits were much more complex than anything he had ever dabbled in. So instead of doing any of the builds, I just stared at the diagrams for the three weeks I had the book, hoping somehow they would begin to make sense to me.

In my twenties, I found that book again, this time from an Amazon used book seller, for a penny. Since my understanding of electronics had slightly improved since the age of 10, I thought I might be able to get my head around it a little easier. Turns out I still had a lot to learn, because I still struggled to understand what a lot of the logic gates meant and what chips or whatever they were referring to.

I’m now in my early thirties, and I’ve been slowly building up my abilities with hobby electronics. My soldering skills have greatly improved (in no small part due to upgrading my iron to a Hakko from a $10 job from Radio Shack), and I had given myself lots of practice by building things like joysticks for older consoles, repairing and modding retro computers, and building amplifiers. As I was cleaning up the game room / office, I rediscovered the aged red tome and began leafing through it again. To my surprise, I understood it. I mean, I didn’t quite follow all of the logic operations, but I knew how the wiring went. I actually had garnered and gleaned enough knowledge over the past several years to make sense of the build.

So…. where to begin? The book has as it it’s initial project, the “Sourcebox”, which is an analog composite video generator based on TTL logic that all the other projects in the book rely on. The book recommends doing this as three separate boards (horizontal video, vertical video, and power) and those boards are wired to a 44-pin card edge connector socket. The schematics are bigger than anything I had ever tried to build from scratch using perfboard or breadboards, so I thought it might be easier if I instead designed my own custom PCBs. So I watched a couple videos, downloaded EasyEDA, and I was in business! Learning the software and the process of designing went a lot smoother than I expected it to go, and if anyone is curious to try it I highly encourage taking the plunge, it’s fun!

Here are my first attempts at designing the PCBs based on the schematics from the book. I’m sure people who have been doing this for a while can see some rookie mistakes right off the bat, but you gotta start somewhere, right?

Anyway, after I got these PCBs in the mail I set to work right away getting all the parts soldered in. One thing I noticed right away was how arduous it was to have the three boards separate as suggested in the books. Tethering everything together proved to be a cumbersome process. After putting everything in its place, I held my breath, said a little prayer, and winced as I turned on the power to my setup.


I walked away for a bit to allow my brain to relax before I started furiously diving in to poke and prod indiscriminately in a clumsy attempt at troubleshooting. Eventually, I came back in and poked around gently with my oscilloscope, to see if I was getting any signal from the various video outputs. Nothing. That led me to the first step any troubleshooter should take on a project: making sure everything is getting the power it needs. The first thing I noticed was that the resistors marked 470k were totally incorrect – the schematic called for 2.2k ohm resistors. No idea where I got the 470k from. But much more importantly, 74LS74 on the Horizontal board wasn’t getting the 5V it needed. A quick bodge solution solved that, and the horizontal signals came alive! Huzzah!

BUT – still no picture. The vertical lines weren’t producing anything. First off, one of the 74LS93 chips on the vertical board had been put in backwards. Whoops. But I still wasn’t getting anything. I checked everything trying to find out what was wrong, until I noticed I wasn’t getting anything from Horizontal Reset. Poking around further on the horizontal board showed that 256H wasn’t doing anything, and that signal is generated by the 7476 IC. Was that chip bad? I cross referenced with the chip’s pinout and a similar implementation of this build, and I noticed something – the schematic was wrong! Pins 6 and 9 had been mistakenly swapped! Pulling out those pins and rerouting them managed to throw a picture up on the screen!

It didn’t look right though. All the patterns were garbled, scrolling, and generally unstable. The oscilloscope showed a lot of noise on the composite signal, so I assumed there must be a grounding issue somewhere. Eventually, I put a ground lead on the video output’s ground lug, and there it was, a crystal clear pattern. And this, dear reader, is how I discovered the importance of ground planes in PCB design.

An honest to God pattern! Though this was before I managed to completely solve the composite grounding issue.

Now that I’ve gotten the video source box working, it’s time to reach further….

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s