VOGONS


First post, by fun_with_aluminum

User metadata
Rank Newbie
Rank
Newbie

Background: I have a Win98-era Dell Dimension XPS PII system that now runs FreeDOS 1.3 off a CF card. Input/sound/ethernet/VGA graphics/drives are all working in DOS, and I love it. However, playing text adventures in DOS on a modern LCD panel just doesn't feel right. For the full experience, I want to hook up a monochrome TTL (IBM 5151 or Amdek 300A) or composite CRT and drive it with an EGA Wonder or similar card that can do MDA mode 7 and also render colour graphics as shades on the monitor.

My question: Can I count on any ISA TTL video card working in a much more recent PC that has ISA slots? Would the machine need to have explicit BIOS support for these cards? Would FreeDOS need to have particular TSR drivers?

Thanks for any light you can shed; this seems like a straightforward question but it has been surprisingly hard to find an answer on the web.

Reply 1 of 20, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Normally, yes, I think. Both CGA and MDA are supported by PC's BIOS.
EGA and VGA have their own BIOS and work in any PC with BIOS, as well.
Just make sure the ISA bus isn't overclocked.

Hercules Monochrome looks like MDA to any PC - until Hercules-aware software is run.
In DOS, running MSHERC.COM helps making Hercules cards visible to software.
If a CGA card is also installed, just run "MSHERC /HALF".
To swotch between CGA/EGA/VGA and Hercules/MDA, use MODE.
"MODE MONO" will switch to MDA (Hercules),
"MODE CO40" or "MODE CO80" switches to CGA/EGA/VGA.

Edit: I'm not familiar EGA Wonder, sadly.
I heard about it, but I don't know the details. 🙁

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 20, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

By late pentium or so, certainly by when AGP became common, the BIOS stopped checking first for any thing other than VGA on the ISA bus, then later, not even that.. meaning you might still require a VGA on a PCI or AGP primary port to see POST and OS boot, because the mono won't auto detect at boot.

However, you still should be able to switch to an installed mono card with the mode mono command and activate it and attached monitor. Be aware that mono cards take up a different chunk of the UMA and if you use a "ready rolled' config.sys & autoexec.bat this will screw up all the loadhigh statements and drivers will have to be reorganised in the UMA using memmaker or similar.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 3 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member

The PC BIOS is supposed to initialize MONO/CGA by design, if you ask it to. If the BIOS doesn't contain that code, then yes, you'll have some trouble doing it, even if there are ISA slots. These cards usually don't supply video rom, so you'd be out of luck there, although there might be a model or two out there that do.

I think I remember having some success and some failures with a herc card in pentiums machines that I were using for servers. I'll check it out if that is of any interest.

Reply 4 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

I have tried many ISA cards - including 8-bit ones with TTL output - with AGP boards: sometimes it works, sometimes doesn't.
There's no general rule, eg. once I tried a Winbond HGC clone in an Athlon 1400 box, and it did work - but another card, based on the same Winbond chip, failed to work in that machine.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 5 of 20, by fun_with_aluminum

User metadata
Rank Newbie
Rank
Newbie

Thank you all for your informative replies.

@J022 and @BitWrangler: I am interested to hear that VGA can coexist with Hercules/MDA; I had read elsewhere that for technical reasons, it wasn't possible. It turns out my machine already has a generic PCI VGA card with some sort of plug-and-play functionality (no dip switches). If I could keep booting to this on the LCD and then MODE switch over to the TTL monitor when I wanted, that would be perfect. I am just reading here: https://web.archive.org/web/20040419214006/ht … -info/tn044.txt that VGA needs to be set to colour mode to coexist with MDA/Hercules, but it also assumes that both are ISA cards. Is any of this still a relevant concern with a PnP PCI card being detected as the primary display? I don't know how I would change the VGA card's mode/ used memory addresses if it was a problem: Dell BIOS isn't very sophisticated and I didn't install any particular drivers for the VGA card.

@Grzyb: that's interesting to hear about such mixed results with the same PC hardware and card chipset.

@the3dfxdude: Do you recall if there was any pattern with which machines didn't work (e.g., later model Pentiums, only machines with AGP slots, etc.)?

Reply 6 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member
fun_with_aluminum wrote on 2022-02-01, 21:09:

@the3dfxdude: Do you recall if there was any pattern with which machines didn't work (e.g., later model Pentiums, only machines with AGP slots, etc.)?

I had to check to remember better. So I pulled the machines out. I tested 3 of them. I have a few more that can be tested, but I think this is sufficient.

Soyo 5EMA-Pro AWARD BIOS 11/28/2000 MVP3 w/ AGP slot AMD K6-2+ 500MHz
Herc card only: Detected automatically and worked perfectly. Selectable video option in BIOS.

Intel PD440FX AMIBIOS BIOS 1.00.09.DT0 (c) 1998 440FX w/o AGP slot Intel Pentium 2 300MHz
Herc card only: Will not show POST screen (even though it's only text) but boots normally having enabled the Herc card as the primary display. Cannot see BIOS setup menu when entering.

Intel N440BX Phoenix BIOS 4.0 Release 6 (c) 2000 440BX w/o AGP slot, but integrated Cirrus Video Intel Pentium 2 450MHz
Herc+VGA integrated: Shows POST on VGA only. Still get a blinking cursor on boot. Can switch to mono monitor, but cannot display graphics on mono monitor. So text modes only for any program.

So I think generally mono/herc cards will work if you have an ISA slot, provided these situations are avoided:
1. Integrated graphics
2. BIOS that purposely breaks compatibility (a few variants out there may make life difficult here yes)

I don't think AGP has anything to do with it. You'll probably be able to use mono as dual monitor on problematic boards and switch to it, but no hercules graphics mode will be possible. I was pretty sure based on address space that hercules graphics mode will always overlap with cga/ega/vga, except on very special cards that allow more options, but then, I have no idea how compatible those few special cards will be. Anyway, I think typical main boards with ISA are ok.

Reply 7 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
the3dfxdude wrote on 2022-02-03, 04:08:

You'll probably be able to use mono as dual monitor on problematic boards and switch to it, but no hercules graphics mode will be possible. I was pretty sure based on address space that hercules graphics mode will always overlap with cga/ega/vga, except on very special cards that allow more options, but then, I have no idea how compatible those few special cards will be.

CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page.

CGA/EGA/VGA: B8000..BFFFF
Hercules text and first graphics page: B0000..B7FFF
Hercules second graphics page: B8000..BFFFF

There are some Hercules clones with a jumper to disable the second page.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 8 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member
Grzyb wrote on 2022-02-03, 08:12:
CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page. […]
Show full quote

CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page.

CGA/EGA/VGA: B8000..BFFFF
Hercules text and first graphics page: B0000..B7FFF
Hercules second graphics page: B8000..BFFFF

There are some Hercules clones with a jumper to disable the second page.

Yes, that may be possible given the right set of cards and motherboards. However, if you can avoid having two display cards, it still is better.

My card, the Genoa SuperSpectrum, has a jumper for "2nd card" to treat the card the second card. What I can gather is that this jumper disables the card from being seen as a card to initialize at post, and then I suppose later software drivers can initialize the card with the settings needed, possibly to restrict it to one page. I don't have that software, and I don't have the manual explaining how it works. But it's my guess as it seems like an interesting idea to get around some BIOS limitations with non-standard configurations where cards can be programmed to different resources prior to automatic resource assignment.

With the K6-2+ system, I added a Matrox card and booted. The system defaulted to the VGA card instead, which because of the energy star logo it draws in VGA mode, it will write garbage on the mono screen. If I use the "2nd card" setting, that won't happen, but the screen is useless. If I tell the BIOS to initialize the MONO display as primary, then the mono screen works like before when it was the single card. But when I got to DOS I noticed the blinking cursor was in the wrong spot and the intensity color were wrong/missing. When I tried to load MSHERC.COM it said there was no hercules card detected. Perhaps an incompatibility with the Matrox card?

I stuck the Genoa card into the P2 N440BX board, and while you cannot select the MONO card as primary, you can boot ok. I was able to get graphics here before in a program, but on the wrong screen. With the "msherc /half" the card is detected, and qbasic will run on the mono display. I can draw to the screen. But as soon as the program exits, the screen switches to the VGA display configured to mono, with no way to switch back. When running again, SCREEN 3 runs on the wrong display. But it seemed to get further with the Cirrus chip than Matrox in dual configuration.

The only way I can describe it is as there probably an I/O port conflict due to both cards wanting to emulate several standards. Not sure there is a point to run dual screen, unless you run with a basic mono or Herc with a clear way to disable the address overlap. I think if you have an ISA slot, go for the single card first and skip main boards with on board graphics. As long as the BIOS code doesn't assume VGA, I think it will likely work with most any mono/herc card.

Reply 9 of 20, by Plasma

User metadata
Rank Member
Rank
Member

I have VGA + mono/herc cards in most of my systems. The extra screen is very useful for showing debug output when programming. Turbo Debugger and SoftICE can also use the mono display and not disturb the main screen.

Reply 10 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member
Plasma wrote on 2022-02-04, 07:42:

I have VGA + mono/herc cards in most of my systems. The extra screen is very useful for showing debug output when programming. Turbo Debugger and SoftICE can also use the mono display and not disturb the main screen.

Yes, that is what they ended up used for late into the VGA era, for dual screen, with the mono monitor for text only. The question here is how to use the graphics mode (including monochrome shades emulating color) of the hercules card on a monochrome display without trouble, and the easiest seems to be as the only screen. Of course there might be some more ways given the right card, but at least for the one I tested, I either need software drivers, or definitely be the only card when running graphics.

Reply 11 of 20, by Plasma

User metadata
Rank Member
Rank
Member

I was disagreeing with your assertion that it is better to "avoid having two display cards" and there is "not a point to run dual screen."

Mono/Herc cards use ports 3Bx. CGA/EGA/VGA use 3Dx. They can coexist just fine. As said previously, you can have Hercules graphics on the first page.

Genoa SuperSpectrum is not a Hercules card. It supports Hercules modes, but it also supports CGA modes and thus uses ports 3Dx. This is why you have problems using it with a VGA.

Reply 12 of 20, by the3dfxdude

User metadata
Rank Member
Rank
Member
Plasma wrote on 2022-02-05, 05:06:

I was disagreeing with your assertion that it is better to "avoid having two display cards" and there is "not a point to run dual screen."

My comment was all in response to playing a game with shades of color on a monochrome monitor. I never said there was no point ever. I said avoid two cards if you want to use graphics, because it'd simply be easier to use the graphics modes, if that is your goal.

Mono/Herc cards use ports 3Bx. CGA/EGA/VGA use 3Dx. They can coexist just fine. As said previously, you can have Hercules graphics on the first page.

Genoa SuperSpectrum is not a Hercules card. It supports Hercules modes, but it also supports CGA modes and thus uses ports 3Dx. This is why you have problems using it with a VGA.

I know that. This is why I said in the first place that running some of these monochrome monitor supporting cards might have issues along side another CGA/EGA/VGA. The guy was basically asking about running a card like this.

Reply 13 of 20, by Plasma

User metadata
Rank Member
Rank
Member

That's not what you said. You were conflating hercules graphics and monochrome displays.

the3dfxdude wrote on 2022-02-03, 04:08:

I don't think AGP has anything to do with it. You'll probably be able to use mono as dual monitor on problematic boards and switch to it, but no hercules graphics mode will be possible. I was pretty sure based on address space that hercules graphics mode will always overlap with cga/ega/vga, except on very special cards that allow more options, but then, I have no idea how compatible those few special cards will be.

A Hercules graphics card is not the same as a CGA/EGA video card that can output to a monochrome monitor. The original Hercules card was designed to coexist with CGA. See page 3 of the manual. And because EGA/VGA are (mostly) CGA compatible, they also can coexist with Hercules. Anything that is an actual Hercules clone will have the same functionality. You don't need anything special.

In the late 80s, companies like ATI, Everex, and Genoa were trying to cram everything together on one video card, with support for all monitors including monochrome. An EGA Wonder is an example of such card. Those aren't Hercules cards. I agree that you cannot use those cards together with another VGA. It's the same as trying to use CGA/EGA with VGA. There are port conflicts.

Reply 14 of 20, by Ltsyrek

User metadata
Rank Newbie
Rank
Newbie

I have just tested HGC clone (Winbond w86855af) with a S3 805 VLB on 5x86-160.
First it looks okay ...
IMG-1050-1.jpg
But after a short while the letters displayed on IBM 5151 start to change randomly and finally I get garbage on the screen. Note: that HGC card paired with 286 with no other graphic cards seems to work fine.
I downclocked ISA bus from 10Mhz to 7Mhz, then to 4Mhz. There were no differences between those speeds in symptoms.
IMG-1051-1.jpg
What is strange, that graphics mode is working somewhat okay-ish:
IMG-1052-1.jpg

Could that:

Grzyb wrote:
CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page. […]
Show full quote

CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page.

CGA/EGA/VGA: B8000..BFFFF
Hercules text and first graphics page: B0000..B7FFF
Hercules second graphics page: B8000..BFFFF

There are some Hercules clones with a jumper to disable the second page.

be an issue? That this Winbond is using both video pages?

Reply 15 of 20, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

Odd... I have run mono/herc on several 486 boards* and at least one early pentium and not seen anything like that. So would tend to assume it's that particular example or the slot or motherboard that have a problem.

*There was a short trans millennial era where mono monitors were practically free and new SVGA CRTs were still hundreds, used still around a hundredish, and LCDs still megabuck level and not eating CRTs lunch yet and forcing their prices to giveaway level... So while I had 3 or 4 VGAs for the "good" machines in the house, I couldn't stretch to many more for the testbench and general screwing around on, so a couple of monos were in service. Not sure about the exact inflation factor, but at least double those figures for modern worth.

edit: Just to be super clear, talking of course about original MDA/Hercules class mono, not mono VGA, I managed to grab one of those too around that time, 12" one made for POS I think. Nice and crisp, much more compact in comparison to color (shorter tube etc) and easier to move around. Space gets to be a valuable commodity when you've got several machines set up. I kinda wanted another one or two, so kept looking for them right up until I saw 14" LCD under $50.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 16 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Ltsyrek wrote on 2022-02-07, 21:04:

Could that:

Grzyb wrote:
CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page. […]
Show full quote

CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page.

CGA/EGA/VGA: B8000..BFFFF
Hercules text and first graphics page: B0000..B7FFF
Hercules second graphics page: B8000..BFFFF

There are some Hercules clones with a jumper to disable the second page.

be an issue? That this Winbond is using both video pages?

It's possible that some software has enabled the second page on Hercules, but this shouldn't corrupt the text mode.
I suspect the VGA card is guilty here - normally, VGA should map its memory at B0000..B7FFF only in modes 7 and F, but I'm not sure about VGAs newer than ISA...

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 17 of 20, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2022-02-08, 01:46:
Ltsyrek wrote on 2022-02-07, 21:04:

Could that:

Grzyb wrote:
CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page. […]
Show full quote

CGA/EGA/VGA + Hercules graphics is possible, under one condition: Hercules graphics software only using the first video page.

CGA/EGA/VGA: B8000..BFFFF
Hercules text and first graphics page: B0000..B7FFF
Hercules second graphics page: B8000..BFFFF

There are some Hercules clones with a jumper to disable the second page.

be an issue? That this Winbond is using both video pages?

It's possible that some software has enabled the second page on Hercules, but this shouldn't corrupt the text mode.
I suspect the VGA card is guilty here - normally, VGA should map its memory at B0000..B7FFF only in modes 7 and F, but I'm not sure about VGAs newer than ISA...

Hi there! I think the same.

By the way, I've found a PDF of the original Hercules Monochrome Card.
https://www.minuszerodegrees.net/manuals.htm#Hercules

It seems that there was an utility called "HGC" that shipped with the original card.

The utility allowed activating both HALF and FULL mode. It also had a DIAG function.
- Maybe that's why Microsoft's MSHERC utility is useful to us, it contains the basic activation routines.

Because, after power on, the Hercules Monochrome behaves like this:
- Configuration switch is set to prevent setting graphics mode; Page 1 is masked and the Active Page bit can't be set yet
- IBM MDA emulation mode is activated (bit 1 set to 0: text mode; bit 1 set to 1: graphics mode)
- Active Page: Page 0 B0000-B7FFF (set via bit 7; if Page 1 is active: B8000-BFFFF, CGA's memory)

With these default settings, the Hercules Monochrome Card won't collide with anything (video related).
Because after power on, both Page 0 and Page 1 are actually mapped out of memory space.
The card is in textmode and merely occopies a tiny 4KB in the B0000-B0FFF range (just like IBM MDA).

That's why -in MDA compatible mode- it can be used in conjunction with a VGA card.
Debuggers used that possibility to have the Hercules clones work as primitve textgenerators to drive a status display.
It was cheaper than hooking up an serial terminal to AUX port, I suppose.

If we only had the original files of the GB101 diskette..:

HGC.EXE
FIXDIAG.EXE
HBASIC.EXE
HBASIC1 .EXE
PATTERN.BAS
FONT.COM

That would make testing things so much easier..

Edit: Here's the interesting bit about the utility from the manual..

"The Graphics Card's "Software Switch"
The Hercules Graphics Card model number GB 101 comes equipped with a
"software switch." The purpose of this switch is to allow you to manipulate the
Card with software to select one of three operating configurations.

Pay special attention to the information in this section on setting the "software switch".
This is something that needs to be done EACH TIME THE COM-
PUTER POWERS UP if you want to access either one 01' both "pages" of
screen buffer memory. If you forget to set the card into half 01' full
graphics mode, and you attempt to run any graphics software, your system will prob-
ably crash. If this happens, do a "soft boot" (CTRL-ALT-DEL) or power up again.

The DIAG configuration is the state which the card is automatically in after
power up. In this configuration, the graphics capabilities are masked, and
the Graphics Card emulates an IBM monochrome board for text only. No
graphics software may be run while in this mode.

The HALF configuration makes the first graphics page located at BOOOO-
B7FFF accessible to graphics software. The second graphics page located at
B8000-BFFFF is suppressed allowing the presence of other video cards
that their screen buffer does not occupy any portion of the first
provided graphics page. (This configuration allows the presence of an IBM Color Card
in the system at the same time as the Hercules Graphics Card.)

The FULL configuration makes the first and second graphics pages access-
ible to graphies software. "

Edit: I vaguely remember that the "CodeView" debugger used for Windows 3.1 development had the MDA feature..
Edit: Edited.

Last edited by Jo22 on 2023-02-11, 10:09. Edited 2 times in total.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 18 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2023-02-11, 09:17:

If we only had the original files of the GB101 diskette..:

Here you are...
but it's not very useful, as vast majority of Hercules-aware programs controls the "Graphics mode enable" register on their own.

Attachments

  • Filename
    HGC.ZIP
    File size
    31.13 KiB
    Downloads
    35 downloads
    File license
    Fair use/fair dealing exception

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 19 of 20, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2023-02-11, 09:50:
Jo22 wrote on 2023-02-11, 09:17:

If we only had the original files of the GB101 diskette..:

Here you are...
but it's not very useful, as vast majority of Hercules-aware programs controls the "Graphics mode enable" register on their own.

Thank you very much! 😃👍

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//