3) Turn your computer off and insert the reset assembly into the
cartridge port. Turn the computer on again and load the boot
file and start the load process <> LOAD"CREATIVE",8 <>. When the
cursor appears, type RUN and hit RETURN. Let the program load
for about 15 seconds and reset the computer.
4) Remove the original disk from your drive and insert the utility
disk. Load the $C000 monitor <> L0AD"49152",8,1 <>. When the
load is complete, sys the monitor in with SYS 49152. The monitor
should be active now. Remove the utility disk from the drive and
replace it with the backup work disk.
5) Interpret memory starting at $0801 (I 0801). Scroll through
memory and notice the Basic program. Our task is to repair the
pointers and save the program to our backup (see Scheme B
Intro). Using the MEMORY command (M 0801), inspect code at 0801.
Notice that the first two bytes are 00 00. These two bytes
represent the start of the next line in this Basic program.
Obviously, these bytes have been destroyed by the reset because
the next line couldn't be zero. To find the correct bytes to
replace the two zeros, follow this procedure. We know the first
four bytes are pointer bytes ($0801-$0804). We also know that
the next time a zero byte appears in memory ($0818), it signals
a new line. The next address is the address that the pointer
will point to ($0819). Therefore, the first two bytes in this
program should be 19 0B because all addresses are read in
reverse order. Now we can scroll to the two zeros at $0801 and
type over them 19 08 and hit RETURN. The first four bytes
starting at $0801 should now be 19 08 0A 00 (the 0A 00 bytes
represent the current line number in reverse 0A 00=00 0A=10 in
decimal). Our Basic program is now repaired and all that is left
is to locate the end of the program and save it to your backup
disk. To find the program end, use the HUNT command in your
monitor. We'll hunt for the three zero bytes that signal the end
of Basic. <>H 0801 8000 00 00 00 <>. As the first bytes begin to
be reported, hit the number 1 key to stop the hunt. We are only
interested in the first address reported. In this case it should
be $0879. Using the MEMORY command, inspect memory around the
address $0879. You'll notice that the third zero is at the
location $087B. We now have all the information needed to save
the new boot to our backup. The start address is $0801
(beginning of Basic) and the end address is $087C (all monitors
require us to save the actual address plus one: $087B+1=$087C).
Make sure your backup is in the drive and save the memory from
$0801-$087B <> S"CREATIVE",08,0801,0B7C <>.
When the save is complete, you will have a broken copy that will
no longer do a protection check, and will even load faster than
the original. We have essentially replaced the auto boot and
the protection check with the result, a Basic boot.
K.J. REVEALED TRILOGY PAGE [20] (C)1990 K.J.P.B.
<<previous page -
next page>>