$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