$DA55/55893:   Open directory

Jump from $D7FC:

DA55: A9 0C     LDA #$0C        ; command number 12
DA57: 8D 2A 02  STA $022A
DA5A: A9 00     LDA #$00
DA5C: AE 74 02  LDX $0274
DA5F: CA        DEX
DA60: F0 0B     BEQ $DA6D
DA62: CA        DEX
DA63: D0 21     BNE $DA86
DA65: AD 01 02  LDA $0201       ; second character
DA68: 20 BD C3  JSR $C3BD       ; get drive number
DA6B: 30 19     BMI $DA86       ; not a plain number?

Jump from $DA60:

DA6D: 85 E2     STA $E2
DA6F: EE 77 02  INC $0277
DA72: EE 78 02  INC $0278
DA75: EE 7A 02  INC $027A
DA78: A9 80     LDA #$80
DA7A: 85 E7     STA $E7         ; set wildcard flag
DA7C: A9 2A     LDA #$2A        ; '*'
DA7E: 8D 00 02  STA $0200       ; as file name in command buffer
DA81: 8D 01 02  STA $0201
DA84: D0 18     BNE $DA9E       ; absolute jump

Jump from $DA63, $DA6B:

DA86: 20 E5 C1  JSR $C1E5       ; test input line to ":"
DA89: D0 05     BNE $DA90       ; found?
DA8B: 20 DC C2  JSR $C2DC       ; erase flags
DA8E: A0 03     LDY #$03

Jump from $DA89:

DA90: 88        DEY
DA91: 88        DEY
DA92: 8C 7A 02  STY $027A       ; pointer to drive number in command
DA95: 20 00 C2  JSR $C200       ; analyze line
DA98: 20 98 C3  JSR $C398       ; ascertain file type
DA9B: 20 20 C3  JSR $C320       ; get drive number

Jump from $DA84:

DA9E: 20 CA C3  JSR $C3CA       ; initialize drive if necessary
DAA1: 20 B7 C7  JSR $C7B7       ; prepare disk title
DAA4: 20 9D C4  JSR $C49D       ; load directory
DAA7: 20 9E EC  JSR $EC9E       ; create and prepare directory
DAAA: 20 37 D1  JSR $D137       ; get byte from buffer
DAAD: A6 82     LDX $82         ; channel number
DAAF: 9D 3E 02  STA $023E,X     ; byte in output register
DAB2: A5 7F     LDA $7F         ; drive number
DAB4: 8D 8E 02  STA $028E       ; save as last drive number
DAB7: 09 04     ORA #$04
DAB9: 95 EC     STA $EC,X       ; PRG-flag
DABB: A9 00     LDA #$00
DABD: 85 A3     STA $A3         ; set pointer back in input buffer
DABF: 60        RTS

    Previous Page / Next Page