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