Retro ISA Card Means Old, Slow Computers No Longer Need Old, Heavy Monitors

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.)

Handy silkscreen labels make everything crystal clear. Click to enlarge.

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!

66 thoughts on “Retro ISA Card Means Old, Slow Computers No Longer Need Old, Heavy Monitors

    1. 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.

        1. 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.

    2. 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.

      1. 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)

        1. 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.

    3. 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. ;)

          1. 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.

      1. 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.

        1. 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)

          1. 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

        2. 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.

      1. 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.

      1. 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.

          1. 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).

          2. > 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

          3. 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.

  1. 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.

  2. 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.

    1. 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…

    2. 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.

        1. 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.

          1. 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.

    3. 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!)

    4. 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).

    5. 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.

  3. 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.

    1. 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.

      1. > 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.

      2. 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.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.