• Please review our updated Terms and Rules here

MDA, Hercules and other clones, what's the frequency, Kenneth?

HGC isn't supported by BIOS, and it doesn't contain any BIOS extension.
But there are third-party TSRs to provide INT 10h routines for HGC, the most common is MSHERC.COM, supplied with some DOS versions, and some programs require it to be loaded in order to utilize HGC graphics mode, eg. QBasic and CheckIt.
Derive comes with HERCULES.COM, which does similar thing.
There's more such things, but vast majority of HGC software programs the I/O ports directly.
 
Thx! Because I could not evaluate if this is a problem not having bios-routines for hercules-gfx, I accepted it. There are lots of programs that work on real hercules without tsr's loaded before, so it should be possible to access the chips directly.
Therefore I searched the internet for native hercules-code (e.g. byte magazine) and if it worked and there was a good description for it, I thought about changing the starfield-code to hercules. You might think "stupid naive idea" , but this was it.
I thought, look where it calls CGA, change it to HGC, look how the starfild looks, change other things that are different because of the other resolution...simple and stupid, sorry :(

if the starfield code uses bios-routines of the cga-card, then...there is it...the end...no chance for me. I thought quite simple, Starfiled CGA with HGCIBM => Starfield native in Hercules...

stupid, sorry.
 
Hercules is probably the most difficult to program. Firstly, because there are no BIOS routines to set the screen mode, so you have to program the CRTC directly to even switch between graphics and text mode. And the only way to draw is to poke directly into video memory.
Secondly, because it has a very complex 4-way interleaved memory layout, and two separate pages of memory.
The VGA 320x200 256 color mode is probably the easiest to start programming.
 
Thx! That answer is the deadline...argh! what a mess... I thought about one resolution only two colors...sounds easy. Bios, who needs slow Bios...(joke) but I trust you, so this is the dead end for me with 0,001% assembler knowledge... :(
 
Beside the programming-thing is also the CGA-Emulation. I searched the internet for a driver-disc for the paradise pvc4 but I found nothing yet.
It would be a great upgrade if I can let out the CGA-Emulation and run CGA on Hercules by setting the CGA-Mode via software.
 
Well, I tried VSET.COM and AGATEST.EXE on my PC20-III, and also the ATi Graphics Solution disk. They look very similar (same menu structure, test screen seem to be the same as well)...
Sadly the CGA emulation did not work on my machine. The 132 column mode did not work either.
 
VSET does not work on EuroPC with Paradise PVC4. Starting VSET and using "6. CGA-Emulation" does lead to a black screen..nothing more.
132 column leads to a flickerung picture. This tool does not seem to work, or is the wrong tool the PVC4.
 
VSET does not work on EuroPC with Paradise PVC4. Starting VSET and using "6. CGA-Emulation" does lead to a black screen..nothing more.
132 column leads to a flickerung picture. This tool does not seem to work, or is the wrong tool the PVC4.

Yea, I think these utilities are labeled incorrectly. There's also a utility for CMOS setup, which says it's for a PC40-III (which is an AT-class machine, XTs don't have CMOS).
So I wouldn't be surprised if these tools are all for a PC40-III. The PC40-III had an ATi EGA Wonder 800+ if I'm not mistaken, which might be what led to the confusion.

So well, either the PVC4 can't do CGA-on-Hercules after all... or we still need to locate the proper utility for it. Sadly I have not been able to find any PVC4 utilities at all so far.
 
So well, either the PVC4 can't do CGA-on-Hercules after all... or we still need to locate the proper utility for it. Sadly I have not been able to find any PVC4 utilities at all so far.

I came to the former conclusion after a lot of playing around with a Commodore PC10-III. It can output CGA to a CGA monitor through 9-pin TTL or composite port, OR it can output MDA/Hercules through 9-pin TTL to an MDA/Hercules monitor. It can probably output both to a multisync monitor. But it can't emulate CGA and send it to an MDA/Hercules display. It's not a Small Wonder.
 
I don't know if this is relevant, but MDA (or Hercules text mode) uses 350 active scan lines (25 text lines, 14 pixels character height), while Hercules graphics mode uses a resolution of 720x348 pixels. I have even seen a routine in a hardcopy program which uses the difference in frame time (or maybe counts the h-blanks) to differentiate between graphics and text mode. (Hercules registers are write-only so they can't be used for detection, and the BIOS doesn't know about graphics mode, it only knows the card is running mode 7.
 
I don't know if this is relevant, but MDA (or Hercules text mode) uses 350 active scan lines (25 text lines, 14 pixels character height), while Hercules graphics mode uses a resolution of 720x348 pixels. I have even seen a routine in a hardcopy program which uses the difference in frame time (or maybe counts the h-blanks) to differentiate between graphics and text mode. (Hercules registers are write-only so they can't be used for detection, and the BIOS doesn't know about graphics mode, it only knows the card is running mode 7.

Yup, I've heard about that as well. For some applications, it makes sense. Eg, if you want to create a TSR that can save screenshots, you'd have to detect whether the card is in graphics mode or not. Or if you make a debugger, it has to switch to textmode when a breakpoint is hit, to show its UI. Then it has to switch back when you continue running the program.
Of course, this all breaks down as soon as you use non-standard graphics modes. But the same goes for CGA/EGA/VGA as well. You just can't read back the registers.
 
Back
Top