• Please review our updated Terms and Rules here

Confusion about Hercules blending

carlos12

Experienced Member
Joined
May 10, 2020
Messages
183
Location
Madrid, Spain
I have a Hercules+CGA dual graphics card, and I recently bought a PC clone which has a Hercules clone. None of both cards show the graphics blended like in picture 2. They always show like in picture 1.

35999182-bbfc49d2-0cfd-11e8-999b-cf9217885b0d.png



35999184-bc33119c-0cfd-11e8-82b8-df9f13ef3dec.png


(The pictures are taken from an emulator as I didn't find images from real hardware this time).

So my question is: where could be the problem? Are cards the ones that are unable to blend the image for being clones? Or is it the monitor's fault? The monitor is capable of managing several frequencies, being usable for both CGA and MDA/Hercules. Maybe with a 5151 or clone the blend would show up? Thanks!
 
Sorry for the double post. I'm posting the images at their original size because I realized that with the miniatures, it cannot almost be distinguished what I want to correct. And I got too late to being able to edit the first message.

35999182-bbfc49d2-0cfd-11e8-999b-cf9217885b0d.png


35999184-bc33119c-0cfd-11e8-82b8-df9f13ef3dec.png
 
I have not heard of this "blend" patch before, but doing a quick search suggests that it's for Emulators to make the output look more like what you'd see on the real CRT. If that's the case, then I don't think you'd need this on real hardware.

I could be misunderstanding, of course.
 
So my question is: where could be the problem? Are cards the ones that are unable to blend the image for being clones? Or is it the monitor's fault? The monitor is capable of managing several frequencies, being usable for both CGA and MDA/Hercules. Maybe with a 5151 or clone the blend would show up? Thanks!

In Hercules mode, you have black and white, no shades. All monochrome monitors will show Hercules accurately, without any artificial blending.

In CGA emulation mode, it's up to the card to figure out how to represent 16 shades of gray. Some cards will show "shades" by pulsing the Video and Intensity pins faster than the monitor's phosphors can react to (PWM, essentially), others will show dither patterns.

In your examples, the "top" image without blended shades is correct, and what Hercules + MDA monitors actually show. The blended shots seem like the emulator is attempting to enhance the image, which no Hercules+MDA hardware does. CGA+MDA might, but only if showing a CGA mode, not a Hercules mode.

Where did you get the impression that Hercules+MDA was supposed to show blended shades?

My advice if you have real Hercules: Stick to Hercules graphics modes and find programs/games to run in those modes; they look much nicer at high resolutions than CGA hardware/software emulation does. Sierra AGI DOS games will render better text; MS Flight Simulator 3 and 4 run in high-res; so does The Colony; GEM/Windows/Geoworks Ensemble GUI environments use the high-res mode; Microsoft Word 4 and 5 for DOS (possibly others) have a high-res WYSIWYG mode you can edit in and see bold/italic/etc. onscreen; etc. My personal preference is to play to the card's strengths.
 
I haven't been able to locate a good technical explanation for blending so the following may be incorrect. Blending requires long duration phosphors so it will only work with a subset of monochrome monitors.
 
In Hercules mode, you have black and white, no shades. All monochrome monitors will show Hercules accurately, without any artificial blending.

This is what I thought as well? There was another thread recently about CGA emulators on Hercules where the claim was made that some “SimCGA” clone pulled off real grayscales while their attempt to copy its technique didn’t work and only showed stripes; that got me digging through Google to try to find references showing how to do “grayscale mode” (presumably 360x348?) and I couldn’t find any evidence of such an animal.

It’s been 30 years but I remember simulated CGA on real Hercules hardware looking like the unblended pictures. Does the OP have any pictures of this “true grayscale” mode on real hardware? Because the best I can think of is maybe it looked like real grayscales if you had a combination of a very blurry monitor and looking at it from three or four feet away.
 
I haven't been able to locate a good technical explanation for blending so the following may be incorrect. Blending requires long duration phosphors so it will only work with a subset of monochrome monitors.

How would this work? Did they jitter the screen horizontally by one pixel between frames or something?

FWIW, I do know that a very few cards like the ATI Wonder *could* do true-ish grays when emulating CGA (And EGA with the EGA Wonder) on MDA monitors, but that relied on hardware, it wasn’t applicable to real Hercules cards.
 
How would this work? Did they jitter the screen horizontally by one pixel between frames or something?

FWIW, I do know that a very few cards like the ATI Wonder *could* do true-ish grays when emulating CGA (And EGA with the EGA Wonder) on MDA monitors, but that relied on hardware, it wasn’t applicable to real Hercules cards.
https://www.vogons.org/viewtopic.php?f=61&t=61035&start=100 purports to show the emulated images seen above compared to a real screen shot. My guess would be that the dithering is switched between pixels and the screenshot shows the off phosphors only partially decayed so things look a lot brighter.
 
Okay, reading the patch notes and the motivation for the person who created it, it's clear to me that they are simulating what their monitor looked like using Hercules. They must have had a terribly fuzzy monitor. Decent MDA monitors, like the 5151, do not look like the "smoothing patch" added to 86box.

That patch was added in 2018. @carlos12, Is it possible to disable it?
 
My guess would be that the dithering is switched between pixels and the screenshot shows the off phosphors only partially decayed so things look a lot brighter.

I would think that would be pretty much impossible to pull off without massive CPU cost? (And memory bandwidth?) Isn't the pinstripe pattern you get in emulated 4-color CGA mode just the binary representation of the colors of the four "chunky" CGA pixels per byte? To flip the dithering between frames you'd have to be able to read every byte of memory on the screen, order-swap the underlying bits in 4 pairs per, and write it back?

(Also I would think just doing that would end up with the two colors that weren't "black" and "white" looking identical.)
 
I'll test later on today, I have 5151 and a late clone monochrome monitor, but my memory is that pixels are razor sharp for MDA/Hercules, no bleeding/blending whatsoever.

MDA was created for business applications in "high-resolution" text mode 80x25 with 14x9 characters.

Hercules is same, but with user defined graphics, original developer used prototype to do his typesetting in Thai language. From interwebs:

Van Suwannukul was frustrated. He wanted to write his doctoral thesis in his native Thai alphabet but the computer graphics cards at the time, 1982, couldn’t handle it. So he invented the Hercules Graphics Adapter (HGA), named after the California town where he lived. The HGA displayed clear monochrome graphics as well as crisp text. The HGA quickly became a new standard and helped to make personal computers popular because of its business and gaming applications.
 
Last edited:
Hercules does have two graphics pages and swapping between them does not require that much CPU. Most of the effect would be accomplished by phosphors themselves.

The image shows wide swaths of a single color instead of the dithering pattern shown by the emulator without blending or the similar dithering pattern shown by most good monitors.
 
Hercules does have two graphics pages and swapping between them does not require that much CPU. Most of the effect would be accomplished by phosphors themselves.

I don’t think that really helps, though, because you’d still have to bit mangle the contents of at least one of those pages. (And now you’re also having to route every screen update to both pages, I don’t think there’s hardware to do that on the Hercules card. EGA has those planar latches that could *kind* of do write duplication like that…)

… I mean, I guess if you had a TSR to do all the mangling and copying running in the background it might kind of work with mostly static images but still seems pretty costly. Does Hercules have a vertical sync interrupt or would this TSR have to try syncing up a timer with the 50hz refresh?
 
Last edited:
Where did you get the impression that Hercules+MDA was supposed to show blended shades?
By reading the 86Box issue and also the Vogon's thread pointed by Krebidfan (I read it a time ago but didn't find it this time). But, as I see on the thread, the "blended" by emulator image and the real image returned by the monitor don't look exactly the same. So I'm starting to think that this is a try to mimic the monitors but it's not accurate at all.
My advice if you have real Hercules: Stick to Hercules graphics modes and find programs/games to run in those modes; they look much nicer at high resolutions than CGA hardware/software emulation does. Sierra AGI DOS games will render better text; MS Flight Simulator 3 and 4 run in high-res; so does The Colony; GEM/Windows/Geoworks Ensemble GUI environments use the high-res mode; Microsoft Word 4 and 5 for DOS (possibly others) have a high-res WYSIWYG mode you can edit in and see bold/italic/etc. onscreen; etc. My personal preference is to play to the card's strengths.
That's a good advice. It would be easy to render high resolution images for my game, so I think it would look great,
This is what I thought as well? There was another thread recently about CGA emulators on Hercules where the claim was made that some “SimCGA” clone pulled off real grayscales while their attempt to copy its technique didn’t work and only showed stripes; that got me digging through Google to try to find references showing how to do “grayscale mode” (presumably 360x348?) and I couldn’t find any evidence of such an animal.

It’s been 30 years but I remember simulated CGA on real Hercules hardware looking like the unblended pictures. Does the OP have any pictures of this “true grayscale” mode on real hardware? Because the best I can think of is maybe it looked like real grayscales if you had a combination of a very blurry monitor and looking at it from three or four feet away.
Well, I think I can explain this confusion I created myself: this only happened on my dual CGA+Hercules card. My emulator just hangs my other card, an only Hercules clone. Also 86Box. The conclusion after this and after examining the disassembled code is: my emulator doesn't emulate CGA at all. It just switches the dual card from Herc to CGA and vice-versa (on a multi frequency monitor), so what I saw was the images in CGA 4 shades of gray, not Hercules emulating CGA in any way. What I saw was real B/W CGA. These dual cards seemed to be quite popular in Europe in the late 80s and early 90s, hence the existence of that "emulator".

Okay, reading the patch notes and the motivation for the person who created it, it's clear to me that they are simulating what their monitor looked like using Hercules. They must have had a terribly fuzzy monitor. Decent MDA monitors, like the 5151, do not look like the "smoothing patch" added to 86box.

That patch was added in 2018. @carlos12, Is it possible to disable it?
Yes! In Dosbox-X you can turn it on and off by pressing CRT+F8 and 86Box also allows to enable/disable it.
 
CGA-emulating-cards did this automatically, but yes, it's not possible in software.

FWIW, MDA monitors do actually support 4 shades of gray; they have "video" and "intensity" lines, so something like an ATI Wonder can do 4 real shades without any time/space dithering. (Back in the stone age I played with CGA emulation on a Small Wonder and for 4-color graphics I at least remember it being real shades. 16 color text modes, on the other hand, seemed to incorporate some trickery that made it even flickery-er than MDA on amber is already...) But, yeah, that's still *hardware*.

Well, I think I can explain this confusion I created myself: this only happened on my dual CGA+Hercules card. My emulator just hangs my other card, an only Hercules clone. Also 86Box. The conclusion after this and after examining the disassembled code is: my emulator doesn't emulate CGA at all. It just switches the dual card from Herc to CGA and vice-versa (on a multi frequency monitor), so what I saw was the images in CGA 4 shades of gray, not Hercules emulating CGA in any way. What I saw was real B/W CGA. These dual cards seemed to be quite popular in Europe in the late 80s and early 90s, hence the existence of that "emulator".

I wonder if that binary supports more than one kind of dual-mode card. Almost all of Commodore's XT clones came with video chips that supported CGA/Plantronics/Hercules and I gather those were more popular in Europe than they ever were here. (I think they *may* have used more than one type of card; I've read that the first model with a slotted video card may have come with ATI Wonder cards in the beginning at least?, but the more integrated ones like the Colt used something less talented. I had a Colt briefly and I never figured out a way to get it to soft-switch, if I wanted to switch between Herc and CGA on my dual-mode monitor I had to hit the dip switch.)
 
FWIW, MDA monitors do actually support 4 shades of gray; they have "video" and "intensity" lines, so something like an ATI Wonder can do 4 real shades without any time/space dithering. (Back in the stone age I played with CGA emulation on a Small Wonder and for 4-color graphics I at least remember it being real shades. 16 color text modes, on the other hand, seemed to incorporate some trickery that made it even flickery-er than MDA on amber is already...) But, yeah, that's still *hardware*.
In fact, EGA on an MDA monitor supports, I seem to remember, 4 shades of gray. Unfortunately, I have only tested it on 86Box and PCEm emulators. I have a monochrome monitor but not an actual EGA card (neither IBM or clone). Nevertheless, it looks fantastic.
 
An "actual EGA" can't do anything with an MDA monitor. You need a special card like ATI EGA/VGA Wonder etc.

8N1I39W.jpg
 
An "actual EGA" can't do anything with an MDA monitor. You need a special card like ATI EGA/VGA Wonder etc
8N1I39W.jpg
What about mode 0Fh? AFAIK it's an IBM official 640x350 monochrome mode intended for MDA monitors (I can be wrong, nevertheless, as I don't have any means other than the emulators to test it).
 
I forgot about that, you are correct. But you won't get any shades.
 
Back
Top