Nino Ivanov Brings DEC's PDP-8 Minicomputer Out of the '60s and Onto an Arduino Near You
The most popular of 1960s minicomputers, a PDP-8, can be yours for a fraction of the original $18,500 purchase price — on an Arduino.
Programmer and vintage computing enthusiast Nino Ivanov has published an emulator for the Digital Equipment Corporation (DEC) PDP-8 capable of running on an Arduino — putting the cream of 1960s computing into a single sketch.
Generally recognized as the first commercially-successful minicomputer, the 12-bit PDP-8 launched in March 1965 for $18,500 — the equivalent, allowing for inflation of over $150,000 today. Despite its high sticker price, the PDP-8 family sold around 50,000 units in its lifetime — aided by the release of a lower-cost PDP-8/S, the first minicomputer to cost less than $10,000.
Now, though, putting a PDP-8 on your desk is cheaper than ever: All you need is an Arduino, and Ivanov's port of an emulator originally written by Jeelabs founder Jean-Claude Wippler in just 256 lines of code.
"What you are getting is an ino-file which you just load in the Arduino IDE and flash onto an Arduino Due (for the complete version), mainly due to the memory requirements," Ivanov explains. "There is also a somewhat reduced version for the Arduino Mega 2560 — here, I simply 'cut off' a few trailing zeroes from the memory dump, so the mem array is SMALLER than 4K, and I am not entirely sure what implications this will have in general, but so far it works.
"Then, once having loaded it, open a terminal emulator of some sort (I am using Picocom on Linux) and ... interact! IN CAPITAL LETTERS ONLY. REMEMBER THIS IS 1969 AND LOWER CASE LETTERS ARE AN UNAFFORDABLE LUXURY ONLY AVAILABLE TO THE WEALTHIEST KINGS OF EUROPE. The built-in Serial Monitor of the Arduino IDE will NOT work, as it will not allow you to terminate lines."
To demonstrate the emulator in action, Ivanov has shared a video showing the emulator communicating with a Brother EP44 thermal typewriter as a teletype terminal, running the FOCAL 69 programming language.
Both the Due and Mega versions of the emulator are available on Ivanov's GitHub repository.