[comp.sys.apple] IIgs shadowing & b/w versus color graphics

MAT6013@DMZRZU71.BITNET (Matthias Kapffer) (12/15/87)

I've  waited  some  time  to  post  this  but  now I feel I have to rectify the
following issues:

1) Re: GAFRO
       (posted by: Sean Kamath)

             The  alternate display mode does *not* mean
             a choice between text and graphics !

 The  Apple  IIgs  video  buffers  are  all located in the 128K bytes of RAM in
banks  $E0 & $E1, which is accessible at only 1 MHz because of the sharing with
the  Video  Graphics  Controller  (VGC). For compatiblity with older Apple II's
they  are  "shadowed"  to  banks  0  & 1, the fast RAM, in the standard address
ranges.  Shadowing  means  that  data written to the fast RAM will be copied to
the  video  RAM  by  the  hardware transparent to software. But for reasons far
beyond  my comprehension Apple engineers "forgot" to implement shadowing of the
memory  at  $800-$BFF  which  is a painful incompatility with a lot of existing
software  using  page  2  for  text  (40  & 80 col) or block graphics (normal &
double).
 (Note  that _all_ modes are available with buffers in the video RAM - just the
shadowing is incomplete !)
 To  give  you some help with this problem a software solution was created (the
(in)famous  "Alternate  display  mode")  which  copies  text  page  2  into the
appropriate  video  buffer  during every tenth vertical blanking IRQ - stealing
you  the CPU time to move 6K/s into the slow RAM ! (So you could also calculate
SIN(X) 1000 times - slowdown will be the same as with output.)
 Besides  delaying  the  machine  some  older  software will crash with running
interrupts   while  other  just  locks  out  the  IRQ  disabling  the  software
shadowing.
 BTW,  the  german  Apple  IIgs  Owners  Manual  makes  you think the alternate
display  mode  is  for  selecting  the  MouseText  character  set  -  and  this
misunderstanding  is  so widespread that even the german ProDOS 16 system disk,
which  contains  translated  texts  for  the ones in the ROM to be installed at
boot  time,  substitutes  "Turn Alternate Display Mode On" with "Turn MouseText
mode on" (of course in German) !

2) Re: HELP! GS SHR Display strange
       (posted by: Larry W. Virden, TMPlee@DOCKMASTER.arpa)

 While  this  is *not* a solution of the SHR problem I will explain you some of
the effects of the b/w versus color monitor selection in the control panel:
 Hires  and double hires both have a tradeoff between color and resolution: You
can  look  at  every  bit  as a pixel or you can group bits together to yield a
hard-coded  color  value  (i.e.  a colored but wider dot) somewhat depending on
the type of your monitor.
 The  Apple  IIgs  allows  to switch the interpretation of the VGC to make both
approaches  useable  on  monochrome and RGB monitors. MouseDesk uses b/w double
hires  and  therefore  automatically selects this mode, but not permanent (i.e.
in  the  clock's  RAM)  so  that  entering  the  control panel from the desktop
switches  back  to  whatever  mode  happens  to  be  stored  as  your  personal
preference.  This  illustrates  why  the color mode causes that "smearing" when
you go out again.
 Other  software  (like  paint  programs  and  games) may of course require the
color  monitor  selection,  i.e.  the  choice  doesn't  depend on the connected
display  device  but  type of graphics an application generates. (Even both can
make sense for one application. Just have a try.)
 Sadly,  in  this  form  this  is  only  true  for  double  hires.  Somehow the
suppression of color is tied to annunciator 3:
When  on  (reference  $C05F), which is the default (after RESET etc.), hires or
lores graphics are not affected by the current type of monitor.
When  off  ($C05E;  one of the states necessary for double hires and lores) the
color  bit  (bit 7 in every displayed byte) is ignored disabling the half point
shift  (it  was formerly an official feature and is often used !) regardless of
the  monitor selection. In color mode this will force blue and red to appear as
violett  and green while finally in b/w mode we get the monochrome 280 dots/row
resolution but no pseudo 560 positions per scan line (as stated above).
 The  influation  of  hires  seems to be a side effect - not a design goal: The
dependence  of  annunciator  3 makes it impossible to use b/w hires with 80 col
mode and other software which resets the machine somewhere at the beginning.
 The  situation  is  even  worse with lores: b/w monitor with ann 3 off doesn't
give  you  block graphics with 16 shades of gray but mapes the 16 colors to the
4  of  the  restricted  hires  color mode (see above) making nearly every image
rather cryptic.
 Super  Hires  and  text mode are of course not affected - there is no tradeoff
between color and resolution.

                                        Matthias Kapffer
                                        <MAT6013@DMZRZU71.BITNET>