This was my first concrete implementation on µC in the early 90s. I decided to build this simple Pong & Tetris videogame, not only to learn something else on this µCs, but also because at this time I started collecting old computers and videogame consoles like Timex Sinclair 2068, Sinclair ZX-Spectrum, Commodore 64, and all this great parts of history...
For this project I just used recicled electronic components (I always used to get cheap or broken boards to unsold all electronic/electric components), and my goal was to build it as small as possible.
This is the small PCB with all the components of the PIC Pong & Tetris project. RCA connectors are for BAS Video & Audio, on the side 2x joystick ports, a reset button, and some pins for power supply etc.:
This is the "soldering" side. As you can see, my soldering skills are not the best, but good enough !
The 8-bit µC from Microchip, PIC16F84A µC was overtacted to 12 MHz (usually 4 MHz). This frequency was necessary to perfom parallel video processing while the game is running. Video signal is a BAS signal (monochrome black&white), with two additional grayshades. For this, three output pins where used with corresponding resistence for gray intensity.
Also two joystick ports were available, so standard joysticks could be used. There also was a very simple audio output on RCA connector.
Very interesting on this project is the structure of the code, where the codelines of analog video processing are inbetween the main game code, to make everything work as fluent as possible.
PIC16F84A datasheet
http://akizukidenshi.com/download/PIC16F84A.pdf
PIC Pong original project
http://www.rickard.gunee.com/projects/video/pic/pong.php
PIC Tetris original project
http://www.rickard.gunee.com/projects/video/pic/tetris.php
To flash the PIC µC I also needed a programmer, so I build it with more recicled compoenents. This programmer was connected to 25 Pin parallel port on the PC:
Here is the soldering side of the programming board: