$C63D/50749: Test and initalise drive Jump from $C409, $C416, $C423, $C434, $CB8C: C63D: A5 68 LDA $68 C63F: D0 28 BNE $C669 C641: A6 7F LDX $7F ; drive number C643: 56 1C LSR $1C,X ; disk changed? C645: 90 22 BCC $C669 ; no, then done C647: A9 FF LDA #$FF C649: 8D 98 02 STA $0298 ; set error flag C64C: 20 0E D0 JSR $D00E ; read directory track C64F: A0 FF LDY #$FF C651: C9 02 CMP #$02 ; 20, 'read error'? C653: F0 0A BEQ $C65F ; yes C655: C9 03 CMP #$03 ; 21, 'read error'? C657: F0 06 BEQ $C65F ; yes C659: C9 0F CMP #$0F ; 74, 'drive not ready'? C65B: F0 02 BEQ $C65F ; yes C65D: A0 00 LDY #$00 Jump from $C653, $C657, $C65B: C65F: A6 7F LDX $7F ; drive number C661: 98 TYA C662: 95 FF STA $FF,X ; save error flag C664: D0 03 BNE $C669 ; error? C666: 20 42 D0 JSR $D042 ; load BAM Jump from $C63F, $C645, $C664: C669: A6 7F LDX $7F ; drive number C66B: B5 FF LDA $FF,X ; transmit error code C66D: 60 RTS Previous Page / Next Page |