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>>