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 |