[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple IIgs Color Dither Problem
Tony Kavadias wrote:
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).
And it's worth pointing out that "dithering" is a technique that is
employed _only_ when the indended viewing environment low-pass filters
the pixels into a lower-resolution perceived image.
This is true even of pointillist paintings, which collapse if viewed
close-up.
Therefore, dithering on the IIgs at 640 resolution should be viewed as
a design decision based upon the "smoothing" characteristic of the IIgs
monitor(s). Increasing the bandwidth thus invalidates this design, and
so such a display is not faithful to the intent of the designers.
The same argument can be made for hires graphics displays designed for
all the Apple II machines--they were overwhelmingly designed to be seen
as displayed by an NTSC monitor, with all its color ideosyncrasies.
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.
I would add that the appropriate, but missing, element of most emulators
is a variable-bandwidth digital lowpass filter to limit the bandwidth of
the emulated monitor so that it faithfully matches the display(s)
originally used. Faithful video emulation is frequently neglected by
programmers accustomed to thinking of video simply digitally.
-michael
NadaNet and AppleCrate II: parallel computing for Apple II computers!
Home page: http://home.comcast.net/~mjmahon
"The wastebasket is our most important design
tool--and it's seriously underused."