Laufwerksnummer testen und entfernen ($c33c)
Einsprung von $8212:
8224: AA TAX a: Position, an der eine Drivenummer
8225: A0 00 LDY #$00 erwartet wird. y=0 (Default-Drivenummer)
8227: A9 3A LDA #$3A Anhand der Position des ':' die Art der
8229: DD 01 02 CMP $0201,X Driveangabe feststellen (z.B.':' oder '0:')
822C: F0 0C BEQ $823A Drivenummer vorhanden, ('0:') ==>
822E: DD 00 02 CMP $0200,X nur ':', Default-Drive ==>
8231: D0 17 BNE $824A kein ':', ==>
8233: E8 INX Drivenummer (':') entfernen
Einsprung von $8245:
8234: 98 TYA unnoetig,
Einsprung von $8241:
8235: 29 01 AND #$01 ist sowieso 0
Einsprung von $824F:
8237: A8 TAY
8238: 8A TXA x zeigt jetzt hinter die Drivenummer
8239: 60 RTS
Einsprung von $822C:
823A: BD 00 02 LDA $0200,X Drivenummer auslesen
823D: E8 INX Drivenummer ('0:') entfernen
823E: E8 INX
823F: C9 30 CMP #$30
8241: F0 F2 BEQ $8235 Drive 0, dann ok ==>
8243: C9 31 CMP #$31 Drive 1, dann '31, Syntax Error'
8245: D0 ED BNE $8234 nicht 0 oder 1, dann Drive 0
8247: 4C 2D 80 JMP $802D 31, Syntax Error
Einsprung von $8231:
824A: 98 TYA
824B: 09 80 ORA #$80 Flag fuer 'Keine Laufwerksangabe' (a = $80)
824D: 29 81 AND #$81
824F: D0 E6 BNE $8237 immer ==>
Previous Page / Next Page