Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Graphics Displays

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.
This discussion has been archived. No new comments can be posted.

Hobbyist Builds HDMI ISA Graphics Card For Vintage PCs By Improving Graphics Gremlin

Comments Filter:
  • by backslashdot ( 95548 ) on Sunday September 10, 2023 @11:56PM (#63838164)

    I have to say this is like 100x better than the chatgpt client for msdos which was basically just a REST client.

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

        by RitchCraft ( 6454710 ) on Monday September 11, 2023 @01:34AM (#63838254)

        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.

        • Serial port abuse is not an option anymore? I imagine that at IBM 5150 speeds, the ChatGPT requests might be fine with it.
          • 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.

      • by DrXym ( 126579 )

        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.

      • by AmiMoJo ( 196126 )

        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.

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

      • by guruevi ( 827432 )

        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.

  • 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

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

      • 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]

        • 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

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

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

    by Dwedit ( 232252 ) on Monday September 11, 2023 @03:45AM (#63838400) Homepage

    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.

    • So several layers of hacks, got it.

    • by AmiMoJo ( 196126 )

      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.

      • Alleycat used brown, I'm fairly sure. I also got way too into that for a while.

        • by AmiMoJo ( 196126 )

          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.

          • 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

  • by cascadingstylesheet ( 140919 ) on Monday September 11, 2023 @06:02AM (#63838488) Journal

    Ah, I get it now. So the achievement is he built an internal adapter.

    to have modern displays connected to them without external adapters

  • Roughly about the size of a domino for each character.
    • Good. Due to my macular degeneration, I'm always looking for brighter and bigger screens, especially low resolution ones. The nice thing about big 4k screens is that they generally still look fine at HD where the pixel density is lower and I don't have to rely on a screen reader or scaling. I won't go 85" next time, though. I'll switch to a laser projector. Recently, I've been viewing a lot of ANSI art in DOS emulation via DOSBOX-X. With the OLED color in the 48" screen I use, I've never seen ANSI look so a
    • by hawk ( 1151 )

      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.

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

    • This is partly the comment that I came here to read. If, as others have pointed out, he's just up-sampling an analog signal and converting back to digital, that's just an adapter soldered to a card. But if he's actually doing a digital conversion of the framebuffer to an HDMI signal, that's pretty impressive, but I really can't tell from the summary or the comments that are critical but devoid of any details.
  • 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

  • by EmagGeek ( 574360 ) on Monday September 11, 2023 @10:28AM (#63839046) Journal

    Dammit Beavis, yet another project leaves out support for Tandy CGA/EGA!

    • It's a cool project, but you are right, there is always room for more features. Tandy graphics support would be neat along with FM Towns or PS/2 MCGA, also.
  • Last piece of CGA graphics I have seen must have been in a HP Apollo400. Doubt it was ISA - not for just $21,000.

% APL is a natural extension of assembler language programming; ...and is best for educational purposes. -- A. Perlis

Working...