TITLE BOUT : AVALON HILL


        Loading the original produces a rattle free load, and an error
     scan shows no standard errors. A backup made with the C-64 Fast
     Copier produces a non-working copy. A backup made with a nybbler
     also produces a non-working copy. Before starting to work on this
     program, please make a non-working backup of the original.

     Working with your backup:

     1) Start by validating the BAM <> OPEN15,8,15,"V":CLOSE15 <> to
        make room for a new file we will be adding later. Scratch the
        first file from your backup <> OPEN15,8,15,"S0:AH":CLOSE15 <>.

     Working with your original:

     2) Place a write protect tab on the original to ensure its safety
        during the breaking process.

     3) Turn off your computer and insert your reset assembly into the
        cartridge port. Turn the computer on again and load the boot
        file and start the load process <> LOAD"AH",8,1 <> . Allow the
        program to load until the screen turns black and the words
        LOADING DATA appear in the middle of the screen. At this point,
        reset the computer.

     4) Remove the original disk from your drive and insert the utility
        disk. Load the $C000 monitor <> LOAD"49152",8,l <>. 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 your backup (see Scheme B
        Intro). Using the memory command (N 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 ($0811), it signals
        a new line. The next address is the address that the pointer
        will point to ($0812). Therefore, the first two bytes in this
        program should be 12 08 because all addresses are read in


            K.J. REVEALED TRILOGY    PAGE [15]     (C)1990 K.J.P.B.

<<previous page - next page>>