Oeffnen des Directory als Basicprogramm ($da55)

Kommandozeile auswerten

Einsprung von $96B8:

98F7: A9 0C     LDA #$0C         Befehlsnummer fuer 'Directory' setzen
98F9: 8D 2A 02  STA $022A
98FC: A9 00     LDA #$00         Default-Drivenummer = 0
98FE: A6 29     LDX $29          Laenge der Kommandozeile
9900: CA        DEX              =1 ?
9901: F0 0B     BEQ $990E        ja (load"$"), ==>
9903: CA        DEX              =2 ?
9904: D0 21     BNE $9927        nein, (load"$d:xx*=y") ==>
9906: AD 01 02  LDA $0201        Drivenummer aus Kommandozeile holen
9909: 20 95 82  JSR $8295        und pruefen
990C: 30 19     BMI $9927        keine Drivenummer gefunden, ==>

Einsprung von $9901:

990E: 85 EF     STA $EF          Drivenummer merken
9910: EE 2E 02  INC $022E        Anzahl Parameter =1 ('*')
9913: EE 2F 02  INC $022F        Anzahl Parameter vor '=' =1 ('*')
9916: EE 91 02  INC $0291        Position des 1. Parameters =1
9919: A9 80     LDA #$80         Jokerflag setzen
991B: 85 F4     STA $F4          (alle Files anzeigen)
991D: A9 2A     LDA #$2A
991F: 8D 00 02  STA $0200        '*' als Suchmaske setzen
9922: 8D 01 02  STA $0201
9925: D0 18     BNE $993F        immer ==>

Einsprung von $9904, $990C:

9927: 20 99 80  JSR $8099        Zeile bis ':' auswerten
992A: D0 05     BNE $9931        ':' gefunden ? ja, ==>
992C: 20 AF 81  JSR $81AF        Kommandozeilenparameter initialisieren
992F: A0 03     LDY #$03         Drivenummer bei '$0:'

Einsprung von $992A:

9931: 88        DEY
9932: 88        DEY              (moegliche) Position einer
9933: 8C 91 02  STY $0291        Drivenummer merken
9936: 20 B4 80  JSR $80B4        Kommandozeile auswerten
9939: 20 70 82  JSR $8270        gesuchten Dateityp feststellen
993C: 20 0B 82  JSR $820B        Laufwerksnummern pruefen

1. Directory Ausgabepuffer fuellen

Einsprung von $9925:

993F: 20 A2 82  JSR $82A2        Laufwerk initialisieren
9942: 20 27 86  JSR $8627        Disknamen in Dir-Zeilenpuffer schreiben

9945: 20 ED 82  JSR $82ED        1. Datei suchen
9948: 20 7C B1  JSR $B17C        Ausgabepuffer fuellen
994B: 20 71 90  JSR $9071        Byte aus aktuellem Puffer fuer
994E: A6 50     LDX $50          Ausgabe bereitstellen
9950: 9D 3B 02  STA $023B,X
9953: A9 04     LDA #$04         Dateityp PRG, Drive 0 waehlen
9955: 95 F9     STA $F9,X
9957: A9 00     LDA #$00         Zeiger in Kommandozeile loeschen
9959: 85 CD     STA $CD
995B: 60        RTS

    Previous Page / Next Page