no sync marks on the track: the routine reads until it finds a GCR
      byte with the value $5A, of which there is a long series. When the
      $5A byte sequence ends, the code reads and EOR's each successive
      pair of bytes together and stores the result byte to buffers 
      $0300 - $06FF. This produces the custom fast loader code.
      
      You can now understand how a normal nybbler is dead in the water
      if it can't reproduce this track. But we can trap the code easily.

      Bypass the JMP instruction at $0797 by entering:

        ]A 078E LDA #501
        ], 0790 JMP $F969

      This will return control to the drive-mon when the code has
      finished execution. To execute it, enter
      
         :0004 E0

      When the monitor returns you will be able to look at V-MAX! in
      all its glory. We first must make a minor modification to the code
      in case your work copy is not perfect. There is a sector checksum
      verification routine at $03F3 that will fail if the sector checksum
      is not zero. This can be defeated by entering:
      
         :03F5 A9 00
      
      Now we need to re-write the loader code at $0700. Start with a
      fresh copy by re-loading T/S $12/$0D like we did above.
      
      Directory sectors $04, $07, $0A, and $0C will contain the code
      from $0300 - $06FF. Beginning at $0700, re-write the drive code as
      follows:

        0700    SEI         ;disable interrupts
        0701    LDX #$0D
        0703    LDA $071A,X ;store read data to job queue
        0706    STA $00,X
        0708    DEX
        0709    BPL $0703
        070B    CLI
        070C    LDA $00     ;wait for read to complete
        070E    ORA $01
        0710    ORA $02
        0712    ORA $03
        0714    BMI $070C
        0716    SEI         ;continue normally ...
        0717    JMP $078E

        071A 80 80 80 80 0D 00 12 04
        0722 12 07 12 0A 12 0C

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

<<previous page - next page>>