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