$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