One thing about vintage computers is that they depend greatly on whether or not one can plug a compatible monitor into them. That’s what’s behind [Tube Time]’s Graphics Gremlin, a modern-design retro ISA video card that uses an FPGA to act just like a vintage MDA or CGA video card on the input end, but provides a VGA port for more modern display output options. (Actually, there is also an RGBI connector and a composite video out, but the VGA is probably the most broadly useful.)
Why bother making a new device to emulate an old ISA video card when actual vintage video cards are still plentiful? Because availability of the old cards isn’t the bottleneck. The trouble is that MDA or CGA monitors just aren’t as easy to come across as they once were, and irreplaceable vintage monitors that do still exist risk getting smashed during shipping. Luckily, VGA monitors (or at least converters that accept VGA input) are far more plentiful.
The board’s design files and assembly notes are all on the project’s GitHub repository along with plenty of thoughtful detail about both assembly and troubleshooting, and the Verilog code has its own document. The Graphics Gremlin is still under development, but you can also watch for the latest on [Tube Time]’s Twitter feed.
Thanks to [NoxiousPluK] for the tip!
Nice.
Yes, that is a compliment.
It is very nice to see that [Tube Time] bridges vintage computer and modern monitor.
Nice and Fun! Just loved the inscriptions on the board.
Great PCB :)
I love how he calls out the “mystery switches”, but doesn’t actually say what they do…!
Not to mention the “blurry picture” label.
If I had to guess, I’d say that the “Blurry Picture” label points to a place to solder in an RCA jack for composite video.
I really enjoyed reading the silk-screened labels. Can’t say that very often!
There are cheap CGA/EGA/YUV to VGA converterboards on Ali, but this is of course way more elegant
VGA itself is vintage. Why not HDMI or Displayport?
That’s what I was thinking too, but VGA still comes even on flat screen ips monitors.
Maybe it’s time to start shipping old monitors personally, as in buy the monitor a plane ticket and accompany it to the destination. The lack of decent shipping in some countries is a real shame.
Or insure them for their ”as new” replacement value, not their scrap value. Shipping companies may take more notice.
I would sure hope people are insuring them for their actual current purchase price. A good condition and rare CRT these days goes for more in actual dollar value and actual value adjusted for inflation then they typically sold for when they were new. A lot of perfectly good CRTs were junked for next to nothing or the owners had to pay someone to take them off their hands in the early-mid 2000s when they fell out of style and the LCD took over. Now people into retro gaming/computing will pay top dollar for them.
People need to ship them properly too, They should probably be crated with a bunch of those expanding foam packing inserts rather than thrown in a box with a bunch of packing peanuts, bubble wrap, or those air sacs.
A lot of them don’t have it – Neither the Dell U2525s and Samsung CJ791 in front of me have it.
Analogue video does *not* map perfectly onto HDMI or DP. There is a lot of variability in the framerates and timing which digital transports can get really huffy about. On the other hand, VGA monitors expect their inputs to fall “somewhere” in a supported range, and are a lot more forgiving about it. And you can *still* buy new monitors which support it.
Which might be an issue if the FPGA wasn’t hiding the actual video generation from the system. It’s already frame doubling, it doesn’t take much to go from there to HDMI (you can even manage the 8-10 encoding in logic on the FPGA and reduce the parts count down to a socket and some level shifters (HDMI being 0.5V peak-peak with a 2.8V DC offset)
Correcting myself, you only need the level shifter for the 5V EDID signal from the monitor/TV used to enumerate capabilities. If you don’t need that then you only need the socket.
HDMI level shifting can be done in passives.
VGA is timeless. Also due to its simplicity.
VGA will outlive HDMI, just like it did with DVI and Display Port.
Which isn’t that bad, actually. VGA knows no DRM, can use any refresh rates etc. And it can still be used/understood in a post-apocalyptic world. ;)
Well, DVI outputs are a simpler to find these days. If anything, DVI and DP are the one outliving VGA as of now
What’s crazy is how S-Video is gone from new TVs yet they still have the crappy composite video inputs.
Well, many TVs have the multi-analog port:
– plug in 3 RCAs = component video
– plug in 2 RCAs = S-video
– plug in 1 RCA = composite video
Unfortunately, you still just get 1 port out of it. Would be cool if you could do combos.
Svideo heh the thing that no tv had until we had better inputs so no one used it
VGA is DVI + a DAC layer
Exactly – they’re dropping the analog inputs as quick as possible as its just another layer of signal processing and cost.
DisplayPort is the de facto for PCs surely -none of the monitors in front of me have VGA, and both my MacBook and my other half’s SP4 have DP as their primary output (with conversion to HDMI). Buying devices with VGA input is becoming increasingly difficult.
Both my tv sets have VGA, and composite input.
I have no hdmi monitors. I do have VGA, some of which also have DVI input.
These are all LCD.
Thirty years ago when I put together an XT with scrap boards, I had a CGA board with composite out (though I had to solder a phono jack to the header)
I guess they must all be fairly old in that case – between the Dell U2515Hs (2x DP and 2x HDMI) and my Samsung C34J UW panel (HDMI, DP and DP over USB C), Samsung TV (No VGA) and Sony TV (Not even SCART / Component input) there seems to be very little VGA floating around
My monitor, TV both have VGA, HDMI inputs, DVI for the monitor, and no DisplayPort.
Much easier to pick up a HDMI cable at the average consumer electronics place. I have a $5 HDMI switch as part of a poor man’s KMV set up.
The point about rights management is a good one. VGA is still 100% unencumbered by the MPA and RIAA. With VGA the user has full control.
because vga->hdmi converter is $1.21 “Converter HDTV Video to Female Male Cable Adapter HDMI for DVD PC 1080P VGA New” with free shipping
Wrong.
That is HDMI to VGA, an arguably simpler task. Just an TMDS enabled DAC with some support components (These are cheap and mass produced).
VGA to HDMI requires digitization, buffering, and re-encoding as a TMDS signal, way more work.
Iirc, both need a license. Not something you’d be worried about for a hobby project, but I’m not sure if you can actually publish solutions with HDMI etc.
The world needs more PCB silkscreens like that!
I do love well labeled and amusingly labeled silk screened PCBs. Although old hand drawn PCBs can be pretty beautiful to discover.
Please make an HDMI version of this, with a VGA->HDMI bridge chip like for example a ZY5621
With audio analog input to be also transferred with HDMI
The problem being you need to license HDMI if you include audio, iirc.
Jumpers! And a silkscreen label “can you hear what is going on here?”
Do you need the license if you don’t include the HDMI chip in the kit? let the end assembler procure their own HDMI chip off digikey/mouser/ebay
You don’t even need a bridge chip, the FPGA could just output DVI (with an HDMI plug).
Isn’t HDMI just DVI anyways, with fewer “lanes” as far as the video goes? I know my old VGA/DVI monitors will take HDMI video with just a passive HDMI to DVI dongle. They both transmit TMDS data with HDMI only having 3 “lanes” and DVI having 6. Or is DVI patent encumbered as well? Seems like you could just implement the DVI spec over an HDMI plug and call it a day? Yeah you wouldn’t have audio, but likely if you’re playing with retro conputers, you’re also using some retro sound card as well.
6 lanes is optional in DVI (dual-link), default is 3 lanes just as HDMI. HDMI is backwards-compatible with DVI.
The maximum allowed clock is higher with HDMI, but for 640×480 you only need a very reasonable 25MHz pixel clock, which the Lattice FPGA on this board should easily do: https://www.fpga4fun.com/HDMI.html
It’s not the pixel clock that’s a problem, it’s that HDMI needs (or actually TMDS) a tenfold speed to push out the bits in a serial fashion (as there’s 10 bits per pixel).
> It’s not the pixel clock that’s a problem, it’s that HDMI needs (or actually TMDS) a tenfold speed to push out the bits in a serial fashion (as there’s 10 bits per pixel).
Right, the 25MHz is only the TMDS clock, the red/green/blue colors are clocked with at least 8x that (misread the fpga4fun article).
However IIUC the ICE40 can do up to 275Mhz, so that should be sufficient for clocking out pixel data at 25MHz * 8 = 200MHz.
e.g. https://hackaday.io/page/5702-dvi-hdmi-pmod-for-an-ice40-fpga
No, you are confusing terminology here. The pixel clock is 25.175 MHz, zo every about 40ns a pixel is pushed out to the screen. But HDMI is a serial connection, so it needs to push out the data bits one after the other. The encoding for this is TMDS, and it takes 10 (not 8!) bits per pixel clock. So to encode pixels at 25.175 MHz, you need a 251.75 MHz clock. Whether a specific FPGA can do that depends on a lot of factors.
Kudos! That’s really impressive!
Next step – a Hercules compatible for PCIe, maybe ?
I kinda missed MDAs/HGCs for PCI slots in the 90s,
when debuggers supported them in dual-monitor config still.
For even more retrocomputing fun, you can equip your machine with his Snark Barker SB 1.0 clone.
why bother when you can program this fpga platform to be graphic and sound blaster at the same time?
Maybe you can show us all how it’s done?
Is there an advantage to this over using an old ISA VGA card?
Did old DOS games meant for CGA/EGA not talk to those? I thought they did. I thought that all the old VGA cards supported the even older CGA/EGA video modes for backwards compatibility.
Or did those cards somehow try to modify their output to make old CGA/EGA software look more like newer VGA? Does this give a more authentic look?
Or is it just a solution if you don’t happen to have any old VGA cards lying around? I can’t remember if I got rid of mine years ago or if they are still packed away. Could be gold now…
It’s well done either way. I was just wondering which.
You might have missed the part where it says ‘CGA/EGA’. I have a couple old ISA VGA cards, however, not all of them of them support or can emulate the CGA/EGA modes, and I don’t have a monitor that does either. I do have one card that does emulate well, which is the one I use presently in my retro ‘puter (its a pentium 133, so not that retro). If I recall, I think the CGA/EGA monitors had a DE-9 connector, not the familiar 15 pin one that VGA uses. Since I no longer have a CGA/EGA monitor, or a card that supports the modes, and the fact that it has been nearly 25 years since I used one, I might be forgetting the details! Neat solution for those who need the capability! I am actually very surprised that we don’t see a lot more shoehorning modern tech into place for reusing old gear! It might be the purity aspect of the whole retro movement that contributes to this…or just laziness…
This would probably work on *really* old XT machines with 8-bit ISA slots and a BIOS which doesn’t know about VGA. I don’t think I’ve ever seen a VGA card in anything smaller than 16-bit ISA intended for use in AT or newer machines.
There are, in fact, a number of old VGA cards that support 8-bit ISA, or are even 8-bit ISA only.
My experience with a lot of old “VGA” cards is that a lot of them are really RGB output using the same connector, which isn’t quite the same thing–I have monitors with ports labeled VGA that won’t work with new devices and devices with ports labeled VGA that won’t work with new monitors because of timing signal incompatibility.
Not sure what you mean. VGA is VGA. They’re either compatible or not. And what do you mean by “RGB output”? I’ve never seen, or heard of, a VGA card with a VGA connector that wasn’t compatible with a VGA CRT monitor. I think you might’ve misremembered.
http://www.malinov.com/Home/sergeys-projects/isa-supervga 8bit ISA VGA card kit using a Trident TVGA9000i bare chips are still available on ebay. AFAIK the BIOS doesn’t have to “support vga” that is the whole reason graphics cards have a bios extension rom on them
I have half a dozen 8 bit VGA cards. They’re quite common. Maybe you didn’t look very harf?
Forgot to add here that some of the really old stuff, IE IBM AT, XT etc don’t even support VGA for the most part, so you will need a CGA/EGA card to get them up and running. This card save you the trouble of then also sourcing the boat-anchor monitor that you need to even use the aforementioned card! (Edit button please!)
VGA is not perfectly CGA/MDA compatible. It can do some of the modes, but not perfectly, and doesn’t support fancy stuff like composite artefacting. Also (but more niche), it was possible to do dual monitor with MDA/Hercules combined with CGA/EGA/VGA. This card lets you do that and still output to a modern VGA screen.
That said, you can cover 90% of what this card does with a regular VGA card provided it works in an 8b ISA slot (which many do), but consider that those cards are also getting scarce. I for one am intrigued by this card and intend to acquire one (or solder it myself, if I can master SMD at last…), to compare with my MCE2VGA (that takes output of MDA/Hercules/CGA/EGA and converts it to VGA).
There aren’t many ISA VGA cards that support 8-bit ISA slots, VGA cards do not support composite mode, and are otherwise not fully CGA/MDA compatible on register level.
But can it properly render the 8088 MPH Demo? https://www.youtube.com/watch?v=yHXx3orN35Y&t=3s
Yeah, at least some of it: https://twitter.com/TubeTimeUS/status/1380652308422266881
But half the fun of retorcomputing is the half ton monitor.
Joking aside, there is truth to this.
Nice! But just for the heck of it, I’d like to be able to take full advantage of a couple of EISA slots. There is a VESA slot available, but it’s got wider spacing than standard, and I’ve never been able to locate one of proprietary graphics cards meant for it.
I haven’t looked lately, but I remember coming across VESA video and other expansion cards on ebay. They aren’t “proprietary” VESA was just a blip in the timeline of expansions interconnects, I believe only really popular around the 486 era, Then the Pentium came about and PCI hit and the rest is history. EISA was even more rare than VESA as far as I know. They were both cludges to get 32bit support and faster data rates to the ISA slot, VESA did it with an extra PCI like connector at the back of the ISA card, EISA did it with an extra row of pins deeper inside the familiar ISA slot. Both allowed you to still use classic 8/16bit ISA cards in the same slot. Then it was just decided to drop the backwards compatibility and go PCI and just leave a few normal ISA 8/16bit slots on the board for the few legacy cards one might still want to use.
> VESA did it with an extra PCI like connector
VLB slot reused old stock of MCA connectors
>They were both cludges to get 32bit support
VLB was just a direct connection to raw 486 CPU Data/Address buses. Became problematic with Pentium 64bit datapath.
Speed wise VLB transferred at the full speed of the CPU, there way no way to go faster. It was a pretty great cheap hack at the time.
This one was “proprietary” because it had a non standard distance between the two connectors. All the VESA cards I’ve seen are too short. Right now I have an ISA graphics card in one of the backwards compatible EISA slots.