banner

Blog

May 15, 2023

Johannes le Roux Turns an Arduino UNO or ATmega328P Into a Video Processor for the Micro

Developer and vintage computing enthusiast Johannes le Roux has built an add-on that offers programmable graphics on a Micro-Professor MPF-I — courtesy of an Arduino UNO coprocessor.

"My latest little project [is] a super-simple Arduino-based VDP [Video Display Processor] for the Micro-Professor MPF-I," le Roux writes of the project, which combines either an Arduino UNO or a bare Microchip ATmega328 with a crystal and a GAL programmable logic device (PLD) chip.

Released by Multitech in 1981 for $149, the Micro-Professor MPF-I was designed to be an affordable entry point into learning how to program and use the Zilog Z80 microprocessor. Out of the box, the machine is more of a training device than a true personal computer: programs are entered using machine code via a built-in hexadecimal keypad, while the program's output is displayed on a seven-segment display via a monitor program.

Seven-segment displays are fine for numbers, of course, but they're a bit limiting if you want to draw pictures or play games — which is where le Roux's add-in board comes in. Using an Arduino UNO microcontroller board, or an ATmega328 chip with external crystal oscillator, alongside a GAL20V8 programmable logic device and a pair of resistors, the board takes an input from the Micro-Professor's expansion header and turns it into a composite video output — giving it a connection to an external display plus the power it needs to make use of it.

The VDP add-on can be used via escape codes which control the position of the cursor, switch between four different font sizes plus a collection of sprites for use in games, and draw primitives including lines, rectangles, and circles, filled or otherwise.

"The heavy lifting is done by the awesome TVOut library," le Roux explains. "I no longer use the Arduino UNO board but rather have the Atmega328 socketed on proto board next to the GAL20V8, [too]."

A wiring diagram, source code, and example programs for the Micro-Professor are available under an unspecified open source license on le Roux's GitHub repository.

SHARE