IBM

Hacking an IBM CGA card for fun and speed!

Hacking an IBM CGA card for fun and speed!

#Hacking #IBM #CGA #card #fun #speed

“Adrian’s Digital Basement ][”

Announcement: I’ll be at VCF Southwest in Dallas June 14, 15 and 16! Let’s continue fooling around with …

source

 

To see the full content, share this page by clicking one of the buttons below

Related Articles

37 Comments

  1. That was simply awesome. Your "period correctness" is off the charts with this one. It's what I would have wanted to know and do back then (if I had to make do with CGA). I was half expecting an avr or similar coming out of your drawers. But just some bodge wires and jumpers…. great work. Also, I like your attitude towards changing old things.

  2. I thought the mods were fun and a good learning experience. And as you noted, there was no permanent damage done and could be reversed. In fact, more mod videos IMHO would be awesome.

  3. This is pretty cool.

    I like mods like this.The only time I really would have an issue would be if it is a very rare piece of hardware with historical value in its original state, the only mods I'd like in that case would be necessary repairs and mods to use the thing at all. CGA cards are common enough this isn't an issue I'd have.

  4. You should present all your mods in this format, even if it means double work, its very accessible to us to follow along with your thought processes and get lots of stuff done too

  5. You know, you keep saying that this was pointless and silly, but this type of hardware hacking is a lot of fun to all of us hobbyists, and I'm sure I'm not alone when I say that I'd love to see more of these videos.

  6. Certainly interesting, but it's no good idea to fake the retrace interrupt signal, as this will cause problems with certain games an several demos, which rely on it.

  7. Umm, I could be wrong here, but the signal you were trying to hack in the second part was labelled -DISPEN . That suggests to me that it should be low (-) when the display is enabled (not in blanking). So when you pulled it down to ground, you were telling the computer that it is never in the boarder/blanking interval (it is always displaying video), so there is no time where it is safe to update the display. (That is also likely why hooking it up to +VSYNC_DLY had the opposite effect you intended too, because it signalled that it was only safe to update when VSYNC_DLY was active (i.e. once per frame).)

    You should have tried just pulling it high instead and then I suspect that would have had the effect you intended. You just had the logic level reversed from what it should be, is all.

  8. That newer CGA card actually looks like it's got a Video BIOS onboard (the two large chips in the corner). If that's the case, then the reason it doesn't flicker is probably not because it ignores that hardware line, but actually because when the computer first boots up, it detects the expansion card's ROMs, executes the code in them automatically, which replaces the default BIOS routines with its own custom ones (similar to how ZANSI.SYS or FASTCRT do). The software patch is just built into the card.

    This was very common for most video cards with more advanced features, as they would add functionality to the stock BIOS routines to support switching to other modes, or using more advanced graphics capabilities, etc, that way too.

  9. Hi,
    It is PicoMEM Setup, not PicoGUS 😉
    Fix horizontal refresh signal is not a good idea, to wait for the horizontal refresh, the code wait until 0, then wait until 1
    Amstrad did hack this on the Amstrad PC Video by returning alternatively 0 and 1 for the horizontal refresh bit.

  10. Single pixel wide and double pixel wide character sets… seems likely this was intended to support light and heavy (bold) characters in text mode. BUT because of the requirements of composite video bold text is enabled always. Also possibly because they ran out of attributes bits in CGA so the feature couldn't be implemented but IBM already had the ROMs so character set could be selected with this hardware mod. Documentation for ANSI.SYS from Microsoft listed the ansi escape sequence for bold text but it didn't work. So maybe It was supposed to work but the hardware support just never happened

  11. Hi Adrian, is it possible to put faster chips into the graphics card ? And increase the ram etc? So sort of super mod it with more resources than they could ever have dreamed of when they created the card?

  12. As an academic exercise, the mods and investigation surrounding them were very interesting.
    The fact you posed the question to the audience regarding butchering what is presumably a genuine IBM CGA card suggests you at least belatedly realised that the activities would raise the hackles of some viewers.
    – Ultimately, it's your board, you have at least one other and as you point out, you'd already resurrected this one from a scrap pile, from where it was in a heavily corroded state.
    (I'd tin and wick off the excess solder to protect the exposed copper on the edge connector, BTW – precursor and material to gold plate that exposed copper is horrendously expensive)
    – On the other hand, having resurrected a genuine IBM CGA card, it would have been nice to have it in as pristine condition as possible.
    – The counter-argument to that is, had you done these mods to a supposed 1:1 clone of an O.G. IBM CGA card, there's always the doubt that it is 100% electronically equivalent to "the real thing", so doing same mods on a clone board may generate false positive and/or false negative findings!

Leave a Reply