• Please review our updated Terms and Rules here

What PC display adapter is this program for? (ST100A.COM)

VileR

Veteran Member
Joined
Jul 21, 2011
Messages
656
Location
Israel
I've finally started dumping a rather sizable pile of floppies, which date back from my family's first no-name XT clone (~'87 or so). The first batch turned up a copy of the TSR attached here, which is related to the video adapter.

One thing I don't really know is what video adapter we actually had in there, so that's what I'm hoping to find out. I had a look into what the program actually does, so my IDA-assisted disassembly is included too.

What I remember:

  • The card was CGA-compatible (at the hardware level, since it ran the usual suspects like Digger and Round 42)
  • The monitor was monochrome, but displayed true 200-line CGA video (in shades of green)
  • 80-column text mode was CGA-like by default (200 scanlines, 8x8 characters)
  • However, the card could *also* display sharp MDA-style text on the same monitor (80x25 text only; no Hercules graphics or anything)
  • "ST100A" was the program that let you switch between the CGA-like and MDA-like text display.
What ST100A.COM actually appears to do:

  • Writes 40h to port 3DDh
  • Sets up an alternate Video Parameter Table, points INT 1Dh at it, then sets video mode 2 (B&W 80x25 text)
  • Installs its own handlers for INT 09h and INT 10h (keyboard and video), then terminates & stays resident
  • You can then hit Alt+[, Alt+], or Alt+/ to control the behavior of text mode.

Looks like "normal" CGA text mode requires sending 00h to port 3DDh, restoring the default Video Parameter Table, then setting mode 2 or 3. Writing 40h to that port (and setting up the alternate VPT) gets you the MDA-type mode instead.
If that's right, then Alt+[ sets up CGA text, Alt+] sets up MDA text, and Alt+/ flips between the two. (The keyboard handler also watches for Ctrl+Alt+Del, and sets up CGA text again before the warm boot.)

There's some other stuff in there too, like cursor handling; but it seems like port 3DDh may be the key here, since it's non-standard.

It's a long shot, but given all that - does anyone have a clue what hardware this was meant for, exactly? :)
 

Attachments

  • ST100A.zip
    2.7 KB · Views: 2
You brought this up in 2011 and got no answers. My guess is that it was for one of those hybrid CGA/MDA cards, since you're writing to 3Dx and not 3Bx.
 
You brought this up in 2011 and got no answers. My guess is that it was for one of those hybrid CGA/MDA cards, since you're writing to 3Dx and not 3Bx.

Hmm... if you mean this old thread, it's only kinda-sorta related; has more to do with what various CGA-on-monochrome solutions looked like, in general.

Back then, I didn't have the actual program handy. It's indeed a hybrid CGA/MDA card as mentioned above, but I'm hoping (against considerable odds...) to find out which one it actually was. Or at least the general direction, e.g. a particular chipset or something like that.
 
Yes, quite sure that's not it - it says that on a Plantronics, writing 40h to port 3DDh means "swap planes" in graphics mode; nothing about MDA-like text functionality there.
 
It could be something like that, but then it could be any other MDA/CGA combo card ever created, so it's a shot in the dark. :) I have a hunch that the card was simpler than that (Plantronics support would've been overkill for our system); perhaps more like the Compaq dual-mode card as used in the Portable II, in terms of capabilities.

I might as well post this to VOGONS, too. I suppose the only way to know for sure is if someone turns up a card with this program included (or with documentation that mentions it).
 
What strikes me about this code is that nowhere is there a check to see if the display adapter is what is intended, so conceivably, there could be adapters with a port at 3DD where this action would cause things to go south.

A simple check for a BIOS signature would have sufficed. This makes me wonder if this wasn't intended for a system with the display adapter on the motherboard.
 
Do you know what kind of monitor this was paired with? There were monochrome monitors like the Princeton Graphics MAX-12 which supported hardware CGA emulation (IE, it natively took RGBI and converted them to shades of green/amber) and MDA on a normal 9 pin video connector, was it one of those or something more proprietary?

It's interesting that its "MDA-ish" mode is still Mode 2? My memory's fuzzy but isn't MDA text Mode 7? When it was in this MDA-ish mode did it use MDA attributes or CGA greyscale? The first rotgut XT my family had back in the day had the aforementioned MAX-12 paired with a card that as far as I know only did CGA, so I have no idea if it was possible for that particular monitor to do 16 grays when it was running at MDA frequencies. (I did later have that monitor connected to a Hercules card, but of course a standard Hercules only has MDA's video/intensity lines for effectively four greys.)

Edit: Here's a long shot for you. I did a quick Google to see if it was possible that Princeton Graphics might have made a special video card for the MAX-12 that allowed it to modeswitch like you've described, and I hit this page describing a Paradise "Modular Graphics Card":

https://stason.org/TULARC/pc/graphi...EMS-INC-CGA-MODULAR-GRAPHICS-CARD-VER-64.html

It has DIP switches for supporting several different kinds of "enhanced" monitors including the MAX-12, could the program in question be for it?
 
Last edited:
What strikes me about this code is that nowhere is there a check to see if the display adapter is what is intended, so conceivably, there could be adapters with a port at 3DD where this action would cause things to go south.

A simple check for a BIOS signature would have sufficed. This makes me wonder if this wasn't intended for a system with the display adapter on the motherboard.
It wasn't an on-board adapter (later on we swapped it out for an EGA card and went for a color EGA monitor); the motherboard itself was the common Taiwanese no-name Turbo XT type, IIRC. I guess a CGA/MDA type board wouldn't normally have a BIOS extension, so a signature check wouldn't have worked.

Then again there are other eyebrow-raising things in that code, like the unnecessary use of ES and the prefix abuse that it entails, so go figure. :)

Do you know what kind of monitor this was paired with? There were monochrome monitors like the Princeton Graphics MAX-12 which supported hardware CGA emulation (IE, it natively took RGBI and converted them to shades of green/amber) and MDA on a normal 9 pin video connector, was it one of those or something more proprietary?
Definitely not a Princeton, but yep, it probably worked on the same principle. I believe the early Compaq Portable/Deskpro monitors were also like that for instance.
FWIW, I think the monitor was labeled 'Minta' (yet another generic Taiwanese brand?) - it looked exactly like the one in this photo with the grey inner bezel.

It's interesting that its "MDA-ish" mode is still Mode 2? My memory's fuzzy but isn't MDA text Mode 7? When it was in this MDA-ish mode did it use MDA attributes or CGA greyscale? The first rotgut XT my family had back in the day had the aforementioned MAX-12 paired with a card that as far as I know only did CGA, so I have no idea if it was possible for that particular monitor to do 16 grays when it was running at MDA frequencies. (I did later have that monitor connected to a Hercules card, but of course a standard Hercules only has MDA's video/intensity lines for effectively four greys.)
Yeah, on MDA/Hercules it would be mode 7. But if the card didn't have its own BIOS (like most CGA/MDA type cards), it would have to identify itself to the BIOS as either one or the other... in this case it apparently identified as CGA, so mode 7 wasn't available; I guess that's why this program was needed.
As far as I can remember the "MDA-style" mode still showed shades of green for CGA colors, as opposed to MDA attributes with underline and so on.

Edit: Here's a long shot for you. I did a quick Google to see if it was possible that Princeton Graphics might have made a special video card for the MAX-12 that allowed it to modeswitch like you've described, and I hit this page describing a Paradise "Modular Graphics Card":

https://stason.org/TULARC/pc/graphi...EMS-INC-CGA-MODULAR-GRAPHICS-CARD-VER-64.html

It has DIP switches for supporting several different kinds of "enhanced" monitors including the MAX-12, could the program in question be for it?
Could be one possibility, heh. That's some comprehensive monitor support there- makes me wonder what was so different about all of them...
 
Back
Top