Hobbyist Builds HDMI ISA Graphics Card For Vintage PCs By Improving Graphics Gremlin (yeokhengmeng.com) 60
Earlier this year, Singapore-based embedded security researcher yeokm1 built a ChatGPT client for MS-DOS.
Now they're back with a new project: HDMI is a relatively modern video connector we take for granted on modern PCs and monitors. Now vintage PCs can join in the fun too with a native connection to modern HDMI monitors without any additional adapter.
Two years ago, I learned of an open-source project called Graphics Gremlin by Eric Schlaepfer who runs the website Tubetime.us. It is an 8-bit ISA graphics card that supports display standards like Color Graphics Adapter (CGA) and Monochrome Display Adapter (MDA). CGA and MDA are display standards used by older IBM(-compatible) PCs in the 1980s. The frequencies and connectors used by CGA and MDA are no longer supported by modern monitors hence it is difficult for older PCs of the 1980s era to have modern displays connected to them without external adapters. Graphics Gremline addresses this problem by using techniques like scan doubling (for CGA) and increasing the vertical refresh rate (for MDA) then outputing to a relatively newer but still old VGA port.
I fabricated and assembled the design then installed it into my IBM5155... I decided to modify the Graphics Gremlin design so it can connect natively to an external HDMI monitor and service the internal Composite-based CRT at the same time.
The post concludes triumphantly with a photo of their IBM 5155 running the CGA Compatibility Tester displaying the color palette.
Now they're back with a new project: HDMI is a relatively modern video connector we take for granted on modern PCs and monitors. Now vintage PCs can join in the fun too with a native connection to modern HDMI monitors without any additional adapter.
Two years ago, I learned of an open-source project called Graphics Gremlin by Eric Schlaepfer who runs the website Tubetime.us. It is an 8-bit ISA graphics card that supports display standards like Color Graphics Adapter (CGA) and Monochrome Display Adapter (MDA). CGA and MDA are display standards used by older IBM(-compatible) PCs in the 1980s. The frequencies and connectors used by CGA and MDA are no longer supported by modern monitors hence it is difficult for older PCs of the 1980s era to have modern displays connected to them without external adapters. Graphics Gremline addresses this problem by using techniques like scan doubling (for CGA) and increasing the vertical refresh rate (for MDA) then outputing to a relatively newer but still old VGA port.
I fabricated and assembled the design then installed it into my IBM5155... I decided to modify the Graphics Gremlin design so it can connect natively to an external HDMI monitor and service the internal Composite-based CRT at the same time.
The post concludes triumphantly with a photo of their IBM 5155 running the CGA Compatibility Tester displaying the color palette.
Great work (Score:3)
I have to say this is like 100x better than the chatgpt client for msdos which was basically just a REST client.
Re: (Score:3)
Even the DOS hack was pretty nifty. Getting an original IBM PC to talk TCP/IP must have taken some major-league Googling.
If he had made SSL work on the PC, that would've crossed the line into amazing. Sadly, so many people have spent so much effort making sure that only the most complex, advanced platforms can get on the Internet, that it's bound to be a losing battle.
Re:Great work (Score:4, Interesting)
It's actually pretty easy to get an IBM PC to use TCP/IP using mTCP ( https://www.brutman.com/mTCP/ [brutman.com] ). The hard part is finding an 8bit Ethernet card nowadays. Many 16bit cards will work in an 8bit slot but it's spotty which will/will not work.I have a few PC and XT class systems with TCP/IP support and it works beautifully. I also have a NuXT from Monotech PCs ( https://monotech.fwscart.com/ [fwscart.com] ) which is a great choice for a modern XT if the upkeep of vintage is not to your liking.
Re: (Score:2)
Re: (Score:3)
I have used parallel port Ethernet adapters in the past, the Xircom PE3 ( http://brutmanlabs.org/Dos_Net... [brutmanlabs.org] ) which does work very well. Problem is 10 years ago you could get these used fairly easy on eBay for around $30. Today, not so much, and when one is posted it goes for 100s of dollars. I still have one of them that's connected to my Tandy 1000HX. I've never used a serial port for Ethernet other than utilizing a modem for point to point Ethernet connections.
Re: (Score:2)
Ethernet adapter drivers exist for MS DOS as well as some TCP libs. I doubt it would be hard to lash it up to ChatGPT via a proxy service.
Re: (Score:2)
The simplest way is to use a serial port ethernet/wifi adaptor, which works a bit like a modem with AT commands. The "plipbox" is a popular and cheap one, and you can make it easily with this PCB that handles all the wiring for you: https://github.com/kuro68k/pli... [github.com]
From there you just need to pick a TCP/IP stack for DOS. There are several to choose from, with various memory requirements. Performance will be very slow, but machines were slow when TCP/IP was new so the protocol handles it without issue.
Re: (Score:2)
Even the DOS hack was pretty nifty. Getting an original IBM PC to talk TCP/IP must have taken some major-league Googling.
Errr not at all. There are plenty of open source TCP/IP implementations as well as other pre-existing clients with a code base to easily copy from that show up with even the most rudimentary Google search.
Long ago I built my own digital photo frame. It ran FreeDOS and pulled pictures via TCP/IP from my home server (via SSL). And my programming knowledge can only be described as borderline childlike. If all the ChatGPT client did was implement a REST client I suspect that would be trivial.
Re: (Score:1)
TCP/IP was generally available on DOS back then. All you need is a C client to make REST calls, which has been demonstrated before. Implementing SSL would've been the real complicated part, because modern implementations use a lot of CPU optimizations and the keys for a full chain SSL verifiy probably wouldn't fit in memory.
Re:Fun but trivial (Score:5, Insightful)
If I needed a card like this, I doubt I'd use more than an evening or two on it.
If you're not busy shitting on someone else's work, that is. Everything is easy in theory. Doing it is what separates the wannabes from the people with results.
Re: (Score:2)
If I needed a card like this, I doubt I'd use more than an evening or two on it.
If you're not busy shitting on someone else's work, that is. Everything is easy in theory. Doing it is what separates the wannabes from the people with results.
This is a forum for technical people. While the HDMI project is impressive if they aren't a trained EE, I think it's fair enough that qualified people are pointing out that this is bread and butter stuff for an EE (personally I would have just used an LPC/STM32 rather than muck about with an FPGA.
It's like when Elon announced his magical monkey brain interface; I don't know anything about that field, so it was really useful to have experts on here who were able to point out that the experiments he'd done ha
Re: (Score:2)
Everything is easy in theory. Doing it is what separates the wannabes from the people with results.
No. Doing it is what separates the people who have ideas that align with their hobby from others who have different hobbies. Nothing more. Every person here is likely good at something, and capable of doing something. That doesn't mean your lack of interest in their hobby makes you a worthless wannabe.
Many things I do are trivial to even people with rudimentary understanding of my hobbies, but look like black magic from the outside. Your lack of knowledge about a subject doesn't make the subject complicated
Re: (Score:2)
If it were that simple, you would have monetized it and be a jazillionaire by now.
Selling it to whom precisely? Lots of things look like black magic to people who don't understand it. HDMI or ISA interfacing isn't some long lost dark art. This project is something that anyone with an EE degree and some spare time to pursue a hobby could do.
Heck I dare say it's something someone without a degree can do as well, examples for interfacing with ISA, as well as how to output to HDMI using an FPGA can be found online, and programming an FPGA is something you can teach yourself and is actually q
Re: (Score:3)
You assume that there is an addressable market for this.
I assure you there is not, and the author knew it. Thus, this is a blog post about how he hacked on a piece of ancient hardware to make it successfully display CGA video to a modern display instead of a product announcement with instructions on how to pre-order.
Re: (Score:2)
If I needed a card like this, I doubt I'd use more than an evening or two on it.
Would that include rewriting the CGA and MDA bios?
Re: Fun but trivial (Score:2)
Let me Quote:
âzThe core of the GG is the Lattice iCE40HX4K FPGAâoe
It is exactly what they did.
Re: (Score:2)
Hey since it's so easy I have another design for you. How about a chip that talks SCSI on one side and NVME on the other? Yes I am all too familiar with SCSI2SD and ZuluSCSI but those are $50-60 each because it takes glue software to make them work and they aren't exactly speed demons either with SD cards.
No doubt it could be done but you aren't getting custom silicon made unless you order a million or so.
Re: (Score:2)
Have you tried Blue SCSI?
https://bluescsi.com/ [bluescsi.com]
I know there's a lot of retro computing folks out there making adapters for this sort of thing. I think there might be a signal compatibility issue with NVME stuff and SCSI (different protocols, etc.). There's a ton of IDE to SSD and NVME stuff. But very little SCSI. I thought I had seen something that worked like you're looking for, but it may have only been the Blue SCSI adapter. My entry point through YouTube is Action Retro, but you might have better luck wi
Re: (Score:2)
I did a little more Googling and came across this: https://www.redrocktech.com/pr... [redrocktech.com]
Which looks like it might be somewhat along the lines of what you're looking for.
So umm (Score:1)
Instead of buying an adapter that Wally World still stocks in their brick and mortar stores [walmart.com], you need a custom designed ISA card? Yeah, this is most definitely one of those because they could hacks, because it is trivial to go the adapter route.
Also, not everything "vintage" is a relic with ISA slots. I've still got an old Pentium III with an AGP GPU (Radeon 8500, which you're most definitely not going to be mining any crypto on) and it doesn't output HDMI either. Funny thing is though, I don't need an ad
Re: (Score:2)
That card has DVI and DVI is basically the same as HDMI, it just needs a wiring adapter.
I have a reverse problem though - I only have CRT monitors and video cards newer than GTX9xx series no longer have analog outputs. Most HDMI to VGA converters are crap, only supporting low bandwidth (165MHz) and it looks like they do scaling.
Re: (Score:2)
That card has DVI and DVI is basically the same as HDMI, it just needs a wiring adapter.
Not true. DVI has analog and digital signals in the same connector (the four pins around the hardware "cross" selector are the analog pins).
HDMI has the same digital interface but removes the analog signals from the connector.
https://en.wikipedia.org/wiki/... [wikipedia.org]
Re: (Score:2)
Yes, but DVI pretty much always has the digital signals that are needed if you want to use a HDMI monitor, which is what the previous poster was talking about (that Radeon 8500 does not have HDMI output). The picture I found on the internet shows that it has DVI and VGA connectors, so you can easily connect a HDMI monitor to it.
There was no reason to add a DVI connector just to use it for analog signals when you could just use VGA.
The reverse is not true, modern cards that have DVI, have the DVI-D variant w
Re: (Score:2)
That card has DVI and DVI is basically the same as HDMI.
Mine was one of the cheaper versions which lacked DVI output. Here's the proof. [imgur.com] I'm sure I could go on eBay and pay some ridiculously jacked up price for obsolete hardware and get one that does have the DVI output, but as I said, I use it with a CRT monitor anyway.
Re: (Score:2)
You literally didn't even read the summary?
I did read TFS. They're using a custom 8-bit ISA graphics card. Since you can run a VGA graphics card on an XT (Paradise cards were a popular choice back in the day), there's really no point in using any of the lesser standards unless you're feeling especially masochistic.
I will give you that I honestly have no idea how well those adapters work since I don't own one. I'd rather use a period correct CRT.
Re: (Score:2)
I did read TFS. They're using a custom 8-bit ISA graphics card. Since you can run a VGA graphics card on an XT (Paradise cards were a popular choice back in the day), there's really no point in using any of the lesser standards unless you're feeling especially masochistic.
I will give you that I honestly have no idea how well those adapters work since I don't own one. I'd rather use a period correct CRT.
The point is the XT didn't come with VGA graphics, hell it didn't even ship with color CGA graphics. This is about keeping it original.
Re: (Score:2)
The point is that many if not most VGA cards don't do CGA properly (though they all support the modes) which breaks some games.
I still would rather just emulate the whole system, which these days pretty much any device can handle at a good speed. Then you get niceties like speed control, save state...
Re: (Score:2)
This is about keeping it original.
They're not keeping it original, they've replaced the graphics card with a custom designed one based around a FPGA, which is kind of like installing a diesel engine on the ship of Theseus. Then to expand the analogy, it's like what this guy did was convert the engine to electric because he didn't want to buy diesel.
Like drinkypoo said below, at some point it just makes more sense to emulate the whole damn thing if most of the hardware in your "vintage" rig isn't actually vintage.
Re: (Score:2)
It's still a CGA card. Emulation does a poor job to demonstrate vintage hardware to people.
Re: (Score:2)
And installing a modern FPGA that he wrote translation code for, and adding a physical display interface port that is 25 years newer than the "vintage" PC keeps it "original"?
You're doing "original" wrong.
Re: (Score:2)
It's still a CGA card as far as the XT is concerned and outputs CGA graphics.
Re: (Score:2)
So you're fine with someone swapping a Subaru turbocharged flat-4 into a 1970s VW microbus and still calling it original? It's still an engine as far as the microbus is concerned, and outputs torque to the flywheel.
It's not original by any stretch of the imagination.
Re: (Score:2)
I recall watching a YouTube video with Jay Leno demonstrating an early electric car where he had to do some "unoriginal" modifications to keep it running. By "early electric car" I mean this thing dated back to somewhere around 1920, and it looked like it too with an appearance that had a lot in common with a Ford Model T. I don't recall if Leno mentioned what happened to the original batteries for this car but he opened the battery bay to show that what was inside were modern lead-acid batteries from Opt
Re: bro (Score:2)
Many people upgraded to VGA before retiring their XT. I helped a number of them, particularly those that had EGA, as the availability of the monitors dropped precipitously when VGA took off.
So no, it didn't ship with it, but it wasn't that unusual.
Re: (Score:2)
I'll quote from TFA
This project was a long journey for me. If you look at the silkscreen date on the PCB, it shows 9 August 2021. At that time, I designed the PCB without the skills to code in Verilog. Even though the number of changes I made are small, it took me quite a bit of time on the side to finally pick up the skills to work on my first FPGA project with all development and testing work this project entails.
Not forgetting Iâ(TM)m actually standing on the shoulders of giants like Eric Schlaepfer who designed the original Graphics Gremlin. Iâ(TM)m just building on a small increment on top of his work.
This wasn't about whether they could buy an adapter at Wal-Mart to slap on a vintage graphics card that they don't have. This was a relatively small project that was done for fun and for the learning experience.
Can it do drunken pilot Hercules interlace mode? (Score:2)
There was a program that allowed CGA programs to work with the Hercules graphics card which would expand the horizontal scan by skipping one scan line for each two that it converted. It would then go though the skipped ones and average the line above and below to make the game somewhat playable but with a huge lag.
MS Flight sim worked with this hack and when you banked the plane, the 2/3rds of the image would roll properly and then the other 1/3 would slowly catch up for a drunken pilot effect.
Composite (Score:4, Informative)
Meanwhile, you can also just use Composite video from a CGA card instead. If plugged directly into a TV, it will be misinterpreted as a 480i signal, but they make boxes (scalers) that will convert it to HDMI properly as a 240p signal. The scalers are meant for use with retro game consoles.
Re: (Score:2)
So several layers of hacks, got it.
Re: (Score:2)
So several layers of hacks, got it.
More or less hacks than this literal hack we are discussing here?
Re: (Score:2)
I wouldn't call their card a hack. It does exactly what they designed.
Re: (Score:2)
You can get RGB from a CGA port easily enough too, it's literally just some resistors to adjust the signal levels, and you might also need a sync combiner which can be a single chip or a couple of transistors.
The only issue with that is the inaccurate brown colour, which requires a special fixer circuit. A lot of software doesn't use brown though. Most games seem to have gone for the magenta/cyan/black/white palette.
Re: (Score:2)
Alleycat used brown, I'm fairly sure. I also got way too into that for a while.
Re: (Score:2)
I never had that one. I had an Amstrad PC1512 with the 640k upgrade, so only RGB colour. And I think it didn't do brown properly, because I don't recall any games using it. It did have a custom 16 colour mode, but only GEM used it.
I seem to recall a few games let you change the colour palette with an undocumented keypress. They looked awful no matter what you did, but if you preferred a green sky and red grass you could have it.
Re: (Score:2)
Eh maybe it was yellow...
anyway the different rooms ha different pallettes.
I didn't really have alleycat at the time: my uncle had an XT and we'd sometimes play it if we went over usually preferring digger. I then rediscovered it in the late 90s or early 2ks as it would happily run on NT or Linux/DOSBOX, and got massively addicted. It basically has no end level, it just keeps getting faster with the enemy probability ramped up too so you can go may levels beyond the alley cat difficulty level (it starts at
Re: (Score:2)
Sounds a bit like Paratrooper, that went on forever with increasing difficulty.
But ... isn't that an adapter? (Score:3)
Ah, I get it now. So the achievement is he built an internal adapter.
to have modern displays connected to them without external adapters
80x25 will look glorious on my 85" HDTV (Score:2)
Re: (Score:1)
Re: (Score:2)
with airplay, I'm able to play the original Master of Orion on my 55".
It worked well until I put beta releases on the appletv for other reasons, so I assume it will work again.
No Analog (Score:2)
It's silly to use an ISA card to modulate a digital frame buffer to an analog VGA signal and then use a digital sampler and convert that to a digital HDMI signal. ... Unless you have an Atari 2600 and then go right ahead - noone dares put an HDMI jack on one of those. That code ain't right.
This is a cool project that will save cost and energy!
Also I want to hear from all the defectives who have to tell us that akshually all these signals are analog on the wire. Reply below.
Re: (Score:2)
True Vintage: Atari (Score:2)
For real 8-bit computers, try systems like the Atari 800. There are several graphics output upgrades that have been developed. One is a tiny circuit board with a FPGA on it that plugs into the socket for the GTIA chip and provides DVI output. I'm sure the C64 community has similar hardware hacks.
It's really amazing to me that hobbyists can design something like this and send the design off and get back the parts, all at a reasonable price. And making a device that fits in the same socket as the original
Where is Tandy CGA/EGA support? (Score:3, Funny)
Dammit Beavis, yet another project leaves out support for Tandy CGA/EGA!
Re: (Score:1)
Last time I've seen CGA (Score:2)