Rewrite the re-encrypted code at $0600 back to T/S $12/$12 by
placing the value $90 into drive memory $03. When the drive LED
turns off, reset the computer and try out your newly broken backup.
< < < MicroLeague : WWF Wrestling > > >
"WWF Wrestling" uses a protection scheme that takes its sweet
time before making the protection check, which leads you on until
you're convinced that the backup you made is sound. Then,
SURPRISE!, it fails. Fortunately, there are two ways to create a
working backup of this piece. You can disable the protection check
or you can use the included GCR EDITOR to reproduce the physical
disk protection. Let's explore the protection check first.
Use any fast data copier to make a copy of your ORIGINAL WWF.
Boot it and let it (oh so slowly) make its way towards the
protection check, which occurs during the disk access preceding the
actual beginning of the wrestling match. Reset the computer and
load the $1000 monitor. Search memory for disk commands such as
"M-E, B-E, U1, etc...". You should find a "U1" (read sector) and
"B-E" (Block-Execute) command referencing track/sectors $12/$03
and $12/$04 (18/3 & 4).
Use the drivemon to load and disassemble these two sectors in
drive buffers $0500 and $0600, respectively. You are now looking at
the (fast?) loader drive code. If you're familiar with a normal
read of GCR data, you'll notice something funny about the read
routine in T/S $12/$04 at drive memory $0695. This code swings out
to track 35, waits for a data block, and counts $144 bytes to the
end of the data block, placing us in the tail gap (this is an
effective protection technique because software-based nybblers
will seldom copy tail-gap bytes).
Then the scheme looks for a GCR byte equal to the value of $73.
If it's not found, the Y register is incremented and loops back
to try again until Y is equal to $0A (10). If the $73 byte is
found or .Y equals $0A, the current value of .Y is stored to $0300
in drive memory. The protection scheme is using this odd GCR byte
($73) to set a different byte to a certain value. We can break
this protection check if we know the proper value of the Y
register.
Load the included GCR editor and read track 35 of your ORIGINAL
WWF diskette. Read in each data block and look for a $73 byte
starting from position $144 on the GCR (left) side of the display.
You should find the $73 byte on sector 0 at position $146. $146
minus $144 equals 2, giving us the value of the Y register. You
can satisfy the protection check right here by reading this same
K.J. REVEALED TRILOGY PAGE [126] (C)1990 K.J.P.B.
<<previous page -
next page>>