when the drive code exits. The sector's last byte pointer is set at
$3D. But PAST that code, at $4E is ANOTHER check for the $55/$67
byte pair. This is called from the turbo code (first load segment)
during the KERNAL cold start. Place an RTS ($60) at position $4E to
kill this little terror.
And then there's the matter of the TROJAN HORSE routine in Desk
Top that will delete the SYSTEM BOOT files from your disk if it
detects any changes in GEOS BOOT. To date, we have found four
versions of Desk Top containing this check, all slightly different
and very hard to pinpoint if you don't have a sound working
knowledge of the internal workings of GEOS. Again, use the provided
Desk Top parameter to explore this further.
As a final exercise, use the included GCR editor to look at the
header and tail gap bytes we discussed above. They can be found at
position $0A in ANY header block and position $145 in ANY data
block on your ORIGINAL GEOS boot disk.
In closing, we hope you have a better understanding of what kind
of effort can go into finding and disabling a protection scheme as
complex as this one. It's easy to complain about copy protection...
but doing something about it is a whole new ball game.
< < < HOW TO SNAPSHOT GEOS 1.3 & 2.0 > > >
If you've ever tried using Super Snapshot's (SSS) excellent
archiving talents on GEOS, you know that any interruption of GEOS,
even with a hardware device, will ultimately produce a total system
freeze or crash. There are several minor reasons this occurs but
only one major reason: GEOS uses custom drive "turbo" code to speed
up disk accesses. It is almost always "talking" to the currently
active drive via the serial port at $DD00 while the drive is
checking its end of the serial bus ($1800 in drive memory) for any
command signals (load, save, etc...).
GEOS keeps track of the state of the drives through 4 status
bytes (called TURBO FLAGS) located at $8492 - $8495 in computer
memory. Each of these 4 bytes corresponds to GEOS drives A through
D or DOS devices 8, 9, 10, and 11. If the status byte contains $00,
the drive is either inactive or is not running the turbo code (i.e.
available for normal DOS commands). A status of $80 indicates that
the turbo code is present in the drive but not active. Finally, a
status value of $C0 means that the turbo code is up and running.
When the SSS button is pressed, the entire state of the computer
is preserved. But the drive(s) running the turbo code are still
waiting for a command signal from GEOS. At this point, any attempt
K.J. REVEALED TRILOGY PAGE [112] (C)1990 K.J.P.B.
<<previous page -
next page>>