$EC9E/60574:   Load dir

Jump from $DAA7:

EC9E: A9 00     LDA #$00
ECA0: 85 83     STA $83         ; secondary address 0
ECA2: A9 01     LDA #$01
ECA4: 20 E2 D1  JSR $D1E2       ; find channel and buffer
ECA7: A9 00     LDA #$00
ECA9: 20 C8 D4  JSR $D4C8       ; initialize buffer pointer
ECAC: A6 82     LDX $82         ; channel number
ECAE: A9 00     LDA #$00
ECB0: 9D 44 02  STA $0244,X     ; pointer to end = zero
ECB3: 20 93 DF  JSR $DF93       ; get buffer number
ECB6: AA        TAX
ECB7: A5 7F     LDA $7F         ; drive number
ECB9: 9D 5B 02  STA $025B,X     ; bring in table
ECBC: A9 01     LDA #$01        ; 1
ECBE: 20 F1 CF  JSR $CFF1       ; write in buffer
ECC1: A9 04     LDA #$04        ; 4, start address $0401
ECC3: 20 F1 CF  JSR $CFF1       ; write in buffer
ECC6: A9 01     LDA #$01        ; 2 times 1
ECC8: 20 F1 CF  JSR $CFF1
ECCB: 20 F1 CF  JSR $CFF1       ; write in buffer as link address
ECCE: AD 72 02  LDA $0272       ; drive number
ECD1: 20 F1 CF  JSR $CFF1       ; write in buffer as line number
ECD4: A9 00     LDA #$00        ; line number hi
ECD6: 20 F1 CF  JSR $CFF1       ; in buffer
ECD9: 20 59 ED  JSR $ED59       ; directory entry in buffer
ECDC: 20 93 DF  JSR $DF93       ; get buffer number
ECDF: 0A        ASL
ECE0: AA        TAX
ECE1: D6 99     DEC $99,X       ; decrement buffer pointer
ECE3: D6 99     DEC $99,X
ECE5: A9 00     LDA #$00
ECE7: 20 F1 CF  JSR $CFF1       ; 0 as line end in buffer

Jump from $ED0B, $ED7F:

ECEA: A9 01     LDA #$01
ECEC: 20 F1 CF  JSR $CFF1       ; 2 times 1 as link address
ECEF: 20 F1 CF  JSR $CFF1
ECF2: 20 CE C6  JSR $C6CE       ; directory entry in buffer
ECF5: 90 2C     BCC $ED23       ; another entry?
ECF7: AD 72 02  LDA $0272       ; block number lo
ECFA: 20 F1 CF  JSR $CFF1       ; in buffer
ECFD: AD 73 02  LDA $0273       ; block number hi
ED00: 20 F1 CF  JSR $CFF1       ; in buffer
ED03: 20 59 ED  JSR $ED59       ; directory entry in buffer
ED06: A9 00     LDA #$00
ED08: 20 F1 CF  JSR $CFF1       ; zero as end marker in buffer
ED0B: D0 DD     BNE $ECEA       ; buffer full? no

Jump from $ED56:

ED0D: 20 93 DF  JSR $DF93       ; get buffer number
ED10: 0A        ASL
ED11: AA        TAX
ED12: A9 00     LDA #$00
ED14: 95 99     STA $99,X       ; buffer pointer to zero
ED16: A9 88     LDA #$88        ; set READ flag
ED18: A4 82     LDY $82         ; channel number
ED1A: 8D 54 02  STA $0254
ED1D: 99 F2 00  STA $F2,Y       ; flag for channel
ED20: A5 85     LDA $85         ; data byte
ED22: 60        RTS

    Previous Page / Next Page