• Please review our updated Terms and Rules here

Confusion about Hercules blending

I forgot about that, you are correct. But you won't get any shades.

Are you absolutely certain about that? The GW-BASIC user manual specifically says that the special MDA-monitor mode, which it calls "Screen 10", is two bits per pixel.

Although... when you go into more detail it says this:
---------------------------------
The following are default attributes for SCREEN 10, monochrome display:

Attribute ValueDisplayed Pseudo-Color
0Off
1On, normal intensity
2Blink
3On, high intensity

The following are color values for SCREEN 10, monochrome display:

Color ValueDisplayed Pseudo-Color
0Off
1Blink, off to on
2Blink, off to high intensity
3Blink, on to off
4On
5Blink, on to high intensity
6Blink, high intensity to off
7Blink, high intensity to on
8High intensity

------------------------------

This conforms to a vague memory I have of there being some limitation where MDA officially only really supports *three* colors instead of four, IE, "off", "on", and "high intensity", but what I don't know is if this is a hardware limitation of the *card* or the *monitor*. I don't have either at hand, haven't for many years, but it seems like there is conflicting info on this. John Elliot's page about the Monochrome Display Adapter has a table of MDA attribute combinations which shows mostly just the three shades of "black", "green", and "bright green", but there these two exceptions:

  • Attribute 78h displays as dark green on green. In fact, depending on timing and on the design of the monitor, it may have a bright green 'halo' where the dark green and bright green bits meet
  • Attribute F8h displays as a blinking version of 78h (if blinking is enabled); as dark green on bright green otherwise.
On a CGA monitor there are four "grays"; "black", which is all signals off, "white", which is RGB on, intensity off, "bright white", RGBI all on, and "bright black" which is RGB off, Intensity on. I think the question this raises in my mind is: do MDA monitors support "bright black" (IE, "video" off, "intensity" on?)? The MDA attributes described by John Elliot implies they do, that EGA+MDA attribute mapping implies otherwise. So which is it?
 
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.

All this would get you is 50% gray though, because you only have 2 pages to flip between. So you've increased the number of shades from 2 to 3.
 
Re: how many physical grays MDA monitors can do, this thread analyzing the output of some ATI cards doing color emulation on Monochrome came to the conclusion that the Small Wonder at least appeared to be using the bright/normal/black palette and doing some dithering for the fourth gray. It's mentioned in passing that supposedly some MDA monitors will do that "dark green" for intensity-but-no-video, but not all of them. If that were true that would explain why ATI wouldn't have relied on it and IBM also stuck to 3 levels instead of four on EGA+MDA.
 
EGA on mode 0fh can do black, gray and white (or the equivalent green or amber depending on the monitor). It's done via 2 planes/RAM banks, instead of 4 planes as the 16 color modes do. IIRC, one plane draws the pixels and the other one sets intensity.

Well, mystery deepens here as I found some time ago, and found it again now, a video showing real hardware, blending the images and showing what it looks like black and two gray nuances... Mine doesn't look this great. Mine is able to show black, gray and white on text mode (QuickBASIC, Turbo C++ IDEs, etc.). But graphics look black and gray unblended.

The footage I found on the web:

 
The encoding of that video is pretty awful, and I think they may have applied a blur filter to it, my guess to compensate for moiré distortion. (It’s possible the camera recording it de-noised it.)
 
Are you absolutely certain about that? The GW-BASIC user manual specifically says that the special MDA-monitor mode, which it calls "Screen 10", is two bits per pixel.

Although... when you go into more detail it says this:
---------------------------------
The following are default attributes for SCREEN 10, monochrome display:

Attribute ValueDisplayed Pseudo-Color
0Off
1On, normal intensity
2Blink
3On, high intensity

The following are color values for SCREEN 10, monochrome display:

Color ValueDisplayed Pseudo-Color
0Off
1Blink, off to on
2Blink, off to high intensity
3Blink, on to off
4On
5Blink, on to high intensity
6Blink, high intensity to off
7Blink, high intensity to on
8High intensity

------------------------------

This conforms to a vague memory I have of there being some limitation where MDA officially only really supports *three* colors instead of four, IE, "off", "on", and "high intensity", but what I don't know is if this is a hardware limitation of the *card* or the *monitor*. I don't have either at hand, haven't for many years, but it seems like there is conflicting info on this. John Elliot's page about the Monochrome Display Adapter has a table of MDA attribute combinations which shows mostly just the three shades of "black", "green", and "bright green", but there these two exceptions:

  • Attribute 78h displays as dark green on green. In fact, depending on timing and on the design of the monitor, it may have a bright green 'halo' where the dark green and bright green bits meet
  • Attribute F8h displays as a blinking version of 78h (if blinking is enabled); as dark green on bright green otherwise.
On a CGA monitor there are four "grays"; "black", which is all signals off, "white", which is RGB on, intensity off, "bright white", RGBI all on, and "bright black" which is RGB off, Intensity on. I think the question this raises in my mind is: do MDA monitors support "bright black" (IE, "video" off, "intensity" on?)? The MDA attributes described by John Elliot implies they do, that EGA+MDA attribute mapping implies otherwise. So which is it?

Interesting...

SimCity and MS Flight Sim are the only games I know that use that mode and they are only black/white. Lazy conversions from Hercules I guess.
 
Well, mystery deepens here as I found some time ago, and found it again now, a video showing real hardware, blending the images and showing what it looks like black and two gray nuances... Mine doesn't look this great. Mine is able to show black, gray and white on text mode (QuickBASIC, Turbo C++ IDEs, etc.). But graphics look black and gray unblended.

The footage I found on the web:

There is no mystery here. True Hercules graphics mode has 720x348 pixels addressable, and each pixel is 1 bit. There is no possibility to define 2 bits per pixel. Monitors don't automatically blend in the horizontal direction because that would smear text into an effective "360x350" resolution. Any blending people remember is the result of fuzzy personal memories and/or extremely cheap/blurry monochrome monitors.

That video is not good enough to determine what's going on. The camera, the distance between lens to screen, the focus, or the encoding can all result in "blending".
 
I would have liked if some of the videos that look blended went into more detail as to the system being used. I have seen it work but I tend to think of it as an optical illusion that only works with the correct setup, not a general purpose solution to making HGC look amazing.
 
Thank you everyone for your ideas.

I came into the conclusion all this is a trompe l'oeil, or, as you said, just an illusion. I recorded some Hercules footage with my not-high-end phone, from a certain distance, and I got a similar result as in the video I posted. The camera and it's filters, the distance, maybe some monitors not in perfect shape and the brain do the trick.

All this time I've being pointing to the wrong direction, wondering if my images didn't blend because I was missing to set some jumper in the card, or maybe my monitor was too sharp or not able to do it, maybe only genuine Hercules cards could do it... Every theory was wrong!

With two pixels adjacent there's an illusion of a white pixel. With pixel/blank alternating you get the illusion of gray (some kind of dithering). The Hercules standard, AFAIK, only allows black/gray/white on text mode. Its graphics mode is quite simpler than EGA over MDA monitor. This one allows to set individual pixels intensity, thanks to its planar nature, missing on Hercules.

Finally, I'm posting another video I found, showing this time a Hercules card + a real IBM 5151 monitor. Here we can appreciate the illusion but also at once the vertical stripes that create the illusion of gray.


Thanks again for your ideas and for helping me clarify this mystery.
 
Back
Top