Arduino Basic PC With TV Output

In this Instructables I will show how to build a retro 8-bit computer running BASIC, by means of two Arduino and few other components.
You can input the variables and the BASIC program with a PS2 keyboard, and the output is shown on a monitor with a text 47 columns x 29 rows of 8x8 pixels characters (B&W), a resolution similar or better than the Commodore 64, equal to 40 x 25 characters.
You can see it in action in this video.
The program can then be saved on the Arduino EEPROM, and you can still control the I/O pins directly via Basic dedicated commands.
One Arduino is the “master”, and it runs Tiny Basic Plus, a C implementation of Tiny Basic, with a focus on support for Arduino. It also control a PS2 keyboard. The output is then sent via the serial port to the second Arduino which generates the video output thanks to the awsome MRETV library.
The idea to use one or more Arduino to create an old style PC running a dialect of Basic is not new, but so far there where some strong limitations in the output resolution. In some projects available on the net, people used LCD displays, while in others, to allow the use of monitors, it has been used the TVout library, which has a much lower resolution. Furthermore in many of these projects special shields or hardware has to be build.
Here you need just two Arduino, a couple of diodes, few resistors and the connector for the PS2 keyboard and the monitor, as shown in the above picture.”