DIY project offers the
simple stand-alone VGA game console which is based on PIC24EP512GP202 microcontroller.
As the video signal and the corresponding sync signals are generated by software,
the console contains a
minimum of hardware. There is also an audio signal output with five binary tone channels, mixed by
passive resistor network. Two of those channels are used for sound effects,
similar to ones used in video games of that time (early eighties) and
three for background music. This output is capable of driving line
output for PC speakers or headphones.
It should be noted that there is no video processing unit, PGA or
any special purpose chips, and that PIC microcontrollers are not
designed for video signal generation. Everything is achieved by a
series of different design tricks and some compromises.
This is an open hardware and open software project. Video
and audio generators, which are the vital parts of the firmware, are
the parts of the operating system, which will soon be documented, and can be used
for any other game or application. As the timings are critical, those parts
are written in assembly language, but all the other parts of the
program (scenario for some other games or any other application) may
also be written in some other programming language, preferably
Microchip's C. In this case all parts are written in Assembler, but
only as a result of author's preference.
At the moment, only the game Jumping Jack is written for the
platform, well known to those who played with the Spectrum personal
computer back in the day. However, once a new game is created, it is
easy to download it from the computer, via
the serial port. The console has a USB connector, but it is used
only for 5V power supply. Unfortunately, microcontrollers which are
packed in DIP packages (with thru-hole soldering, convenient for DIY
projects and workshops) do not have USB interface but only serial ports, so
you have to use RS 232 to download the new game instead of Jumping
Jack, which is deafult in this project.
If you want to build this console, you need the PCB and components
which are listed
To program the microcontroller, you should need a PIC programmer (e.g.
MPLAB X IDE software, available
But if you want to know how PIC generates video and audio signals by
software in real time, or even if you feel ambitious enough to
create your own game for this platform, please visit the