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

Re: help with DHR plotting



In article <DJIwqq.3Iq@actrix.gen.nz> dempson@atlantis.actrix.gen.nz (David
Empson) writes:
>[...munch, crunch, chomp, yum yum...]
>NEWVIDEO is at location $C029.  Bit 6 must be clear to disable
>linearisation.  Bit 5 of this register determines whether double hi-res
>graphics is displayed in monochrome or colour mode on an RGB monitor
>(0 for colour).  Bit 7 is used to enable Super Hi-res graphics mode.
>The other bits in this register MUST be preserved when modifying its
>contents - you will cause an instant crash otherwise.

I second the comment about preserving the other bits of $C029.  This is
my favorite make-all-heck-break-loose poke.  How bad is it?  Try it and
see:  take all your disks out of your drives, disconnect or turn off all your
sensitive peripherals, and type POKE 49193,0.  The crash is immediate, and
sometimes quite spectacular (and if it ruins any of your disks because you
didn't heed my advice about taking them out of their drives, remember, you
read about it right here on AOL...).


The sensitive bit here is bit 0.  In normal operation it's always set to 1.
Setting it to 0 turns off the GS's ability to access bank $E1 directly--
instead, bank $E1 must be accessed in the Apple IIe fashion, through bank
$E0 by means of the RAMRD, RAMWRT, and ALTZP switches.  This causes MAJOR
problems, since almost every ROM routine, even in emulation mode, expects
to be able to access bank $E1 without having to play with the soft
switches.  It's so crucial that the very first two instructions the GS
executes when it's turned on, and whenever RESET is pressed, are LDA #1 and
TSB $C029.

A machine-language routine could probably run with bit 0 of $C029 turned
off, but it would have to be careful never to touch any ROM routines.  It
might also have to run with interrupts disabled.

              - Neil Parker
-- 
Neil Parker, nparker@{cie-2,cie}.uoregon.edu, http://cie-2.uoregon.edu/~nparker

     "Evolution is vastly overrated."  -- Ambassador Delenn, _Babylon_5_