     $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