[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple IIgs Color Dither Problem



On 2009-09-17 05:59:53 +1000, Immortal Nephi <Immortal_Nephi@hotmail.com> said:

I apologize not to explain clear.  I did not say that CRT / LCD screen
for VGA monitor is connected to Apple IIgs' RGB port.  I simply talk
about Apple IIgs' real RGB monitor and VGA monitor.

Hi there, thought I'd explain this in another point of view...

... the frequency of the 640 dot clock in the video signal of an Apple IIGS results in scans that exceed the resolution (dot pitch) of the original AppleColor RGB Monitor that Apple sold for their machines. Because the resolution of the video signal was higher than the resolution of the monitor used to display it, the effect was that adjacent pixels on a 640 display "blurred" together resulting in the mixing of pixels by the monitor hardware itself to produce tertiary additive colours. This was Apple's so-called "13-colour experimental dithering" technique used in many programs, including the Apple IIGS QuickDraw II Toolbox (the graphics routines used to draw to the Super High-Res display).

The reason why it was "13 colours" was because for a 640-wide scan line, 4 colours would be assigned to even pixels, and two other colours would be assigned to odd pixels--both even and odd pixels would have a colour assignment for black and white in the system's standard colour palettes. Out of a total of 16 colours per scan line, 3 colours would appear twice for an even-odd pixel pair: black, white and grey. The two grey colours would have a phase-shift characteristic which would allow programmers to draw black and white graphics at a higher resolution in amongst the dithered colour in 640 mode, which was used to provide sharp 80-column text and monochrome user interface elements in amongst the colour graphics.

On LCD displays (or with VGA monitors with a high enough dot pitch to precisely match the resolution of your computer's display) with a display rendered by an Apple IIGS emulator, you can actually see what the Apple IIGS would have drawn to its Super High Resolution display memory, because today's LCD monitors are pixel-perfect. The AppleColor RGB Monitor wasn't pixel-perfect at 640-wide scan lines, thus producing the results that Apple IIGS users would have seen on their displays. The example you noticed was how the Apple IIGS used an array of blue and white vertical stripes to produce the blue pastel colour that the AppleColor RGB Monitor would have shown for the Finder desktop. On an LCD display, that would literally show up as an array of blue and white vertical stripes!

To display dithered colour on an LCD monitor, you have to drop the resolution of your display so that pixels in graphics memory no longer have a 1:1 relationship with pixels on your LCD monitor: on Macintosh computers, you can do this by choosing a resolution which is about a quarter to half the size of the maximum that your Macintosh can produce. This forces the graphics processors to produce an image where pixels in video memory have to span across "one-and-a-half" pixels on the LCD display matrix to achieve the same sort of dithering that earlier AppleColor RGB Monitors would have produced. For your particular Macintosh model, try applying different desktop sizes to see the results shown on your Apple IIGS emulator's display window on the display showing it.

On PCs, whether this technique will work depends on your monitor's video hardware. Some older monitors don't dither lower-resolution video signals onto LCD displays, instead showing display pixel colours along the monitor's pixel borders on the display matrix. Today's monitors seem to handle lower resolutions more uniformly.

Otherwise, you'll have to rely on your emulator to simulate, in software, how the AppleColor RGB Monitor produces dithered colours... and even then, the dithering isn't perfect because the dithering algorithms used by Apple IIGS emulators are too simplistic compared to images produced by the AppleColor RGB Monitor.

Cheers!


--tonza