When it comes to driving a display, you can do all kinds of fancy tricks with microcontrollers to get an image up. Really, though, FPGAs are the weapon of choice for playing with these kinds of signals. [Ted Fried] put one to great work driving an ancient IBM 5151 MDA display, and shared his results on Hackaday.io.
The build relies on a Digilent Arty Z7-20 SOC FPGA development board, which has a beefy 600 MHz ARM processor on board. It also packs 500 MB of DRAM—more than enough for storing pixel data for an ancient display.
To drive the old display, [Ted] whipped up a state machine on the FPGA. It’s tasked with fetching display data from RAM and creating the appropriate timings for the MDA display interface. The images are stored directly in an array in C code running on the ARM core. From there, they are copied into the FPGA’s RAM for trucking out to the display. The 720×350 images are stored as 1 bit per pixel, and are created by converting the original JPEGs into single-bit bitmaps in GIMP, before final conversion into a C code array via utility of [Ted’s] own design.
If you’ve ever wanted to display your images in resplendent amber or green, then this could be the project for you. It’s also just a great way to learn about using FPGAs and interfacing with alternative display technologies. If you’ve been whipping up your own retro display hacks, don’t hesitate to drop us a line.
Next step: live conversion from DVI input into a signal suitable for the 5151 :)
“… ancient IBM 5151 MDA…”….. ANCIENT?…. You you whipper snappers.. some of us come before the 5151 was around…. doesn’t mean we’re ancient too… “ANCIENT is a time period from the beginning of writing and recorded human history to as far as late antiquity” .. and antiques are at least 100 years old… which some of us aren’t… yet…. so retro is more correct and classy…. some of us are retro techs. 😄
Great hack though… nice to see another use of FPGAs
“ANCIENT is a time period from the beginning of writing and recorded human history to as far as late antiquity”
Not in computing, though. The article is right here, I think.
Historically, IT has a different perception of time, it’s much more fast paced.
In the past, using a 10 years old computer was nolonger practical.
Just think of the 90s, in which a new 386/486/586 processor upgrade was around every 6 months or so. You had to upgrade, to play the newest games or run commercial Windows applications adequately.
Or let’s go back to the year 1985:
Using a “PC” from 1975 wasn’t possible , this was a time before CP/M and the Z80 were even out.
Or let’s think of the late 80s, when CGA graphics looked somewhat dated (did they ever look current?).
Merely the poor guys still had used it – on their 4 MHz typewriters. ;)
Business users usually had Hercules graphics (and something better than the poor 5151), whereas video game players with the slightest bit of dignity had invested in an EGA setup. And an AT, at least (286/386 CPU).
Or had used a Tandy 1000, Atari ST, Amiga etc.
Even PC emulator boards (Atari/Amiga) tried to keep up here, because CGA was looking so poor.
When VGA debuted in ’87 (compatible cards in ’88), it was all about supporting MCGA/VGA. (The Hercules cards/MDA monitors still survived as debugging tools alongside VGA).
^That’s of course just a simplified summary. In practice, things like Plantronics, AT&T/Olivetti graphics existed, still. Anyway, PC history was more than graphics. Just came to mind because of the MDA monitor in the article. It really is a relic by now.
“some of us come before the 5151 was around…. doesn’t mean we’re ancient too… ”
Yes. Yes, it does. 😉 Those 20th century people remembering the introduction of color TV, the moon landings and the original airing of “The Wizard of Oz” or the Sesamestreet surely are. 🧓
But that doesn’t mean those folks are obsolete, just darn old (on paper).
True age is a matter of mind in first place. And we others travel through the years, too.
I’ve seen people in their 20s with an 80 years old mindset and 80+ young people that were mentally flexible like others in their 20s.
A sense of humor and a positive attitude towards life will keep people young.
I read somewhere this display with the original adapter card could be sent a command to let the smoke out.
Yes, with some Assembler manipulations in the Timings, overriding the Fixed-Frequency Specs could blew some circuits off
But not all MDA/MGA compatible monitors by third-party manufacturers were affected, right? 🤷♂️
From what I heard, the original 5151 had no circuitry that prevented it going below/past ~18.4 KHz.
Fixed frequency monitors rely on being able to run the horizontal deflection at resonance in order to not dissipate too much power in the “horizontal output transistor”. Running at the wrong frequency can cook the HOT.
Creating a graphics card for an MDA monitor on FPGA is a whole lot easier than obtaining an actual, working MDA monitor :D.
Its probably easier to find a real period card to drive it than it is to find a 5151 display.
>Its probably easier to find a real period card to drive it than it is to find a 5151 display.
Pretty much all MDA displays are rare now. I have a Brother MDA display, amber screen. You bet cards are easier to find.
I’d love to connect mine to /something/… but not enough to purchase a period card or the bulky PC required to host it.