$D6E4/55012: Enter file in dir Jump from $C9B3, $D9EC: D6E4: A5 83 LDA $83 ; secondary address D6E6: 48 PHA D6E7: A5 82 LDA $82 ; channel number D6E9: 48 PHA D6EA: A5 81 LDA $81 ; sector number D6EC: 48 PHA D6ED: A5 80 LDA $80 ; track number D6EF: 48 PHA ; save D6F0: A9 11 LDA #$11 D6F2: 85 83 STA $83 ; secondary address 17 D6F4: 20 3B DE JSR $DE3B ; get track and sector number D6F7: AD 4A 02 LDA $024A ; file type D6FA: 48 PHA ; save D6FB: A5 E2 LDA $E2 ; drive number D6FD: 29 01 AND #$01 D6FF: 85 7F STA $7F ; set D701: A6 F9 LDX $F9 ; buffer number D703: 5D 5B 02 EOR $025B,X D706: 4A LSR D707: 90 0C BCC $D715 ; equal drive number? D709: A2 01 LDX #$01 D70B: 8E 92 02 STX $0292 ; pointer in directory D70E: 20 AC C5 JSR $C5AC ; load dir and find first entry D711: F0 1D BEQ $D730 ; not found? D713: D0 28 BNE $D73D ; found? Jump from $D707: D715: AD 91 02 LDA $0291 ; sector number in directory D718: F0 0C BEQ $D726 ; equal zero D71A: C5 81 CMP $81 ; equal sector number? D71C: F0 1F BEQ $D73D ; yes D71E: 85 81 STA $81 ; save sector number D720: 20 60 D4 JSR $D460 ; read block D723: 4C 3D D7 JMP $D73D Jump from $D718: D726: A9 01 LDA #$01 D728: 8D 92 02 STA $0292 ; pointer to one D72B: 20 17 C6 JSR $C617 ; find next entry in directory D72E: D0 0D BNE $D73D ; found? Jump from $D711: D730: 20 8D D4 JSR $D48D ; write directory block D733: A5 81 LDA $81 ; sector number D735: 8D 91 02 STA $0291 D738: A9 02 LDA #$02 D73A: 8D 92 02 STA $0292 ; pointer to 2 Jump from $D713, $D71C, $D723, $D72E: D73D: AD 92 02 LDA $0292 D740: 20 C8 D4 JSR $D4C8 ; set buffer pointer D743: 68 PLA D744: 8D 4A 02 STA $024A ; file type D747: C9 04 CMP #$04 ; rel-file? D749: D0 02 BNE $D74D ; no D74B: 09 80 ORA #$80 ; set bit 7 Jump from $D749: D74D: 20 F1 CF JSR $CFF1 ; and write in buffer D750: 68 PLA D751: 8D 80 02 STA $0280 ; following track D754: 20 F1 CF JSR $CFF1 ; in buffer D757: 68 PLA D758: 8D 85 02 STA $0285 ; following sector D75B: 20 F1 CF JSR $CFF1 ; in buffer D75E: 20 93 DF JSR $DF93 ; get buffer number D761: A8 TAY D762: AD 7A 02 LDA $027A ; pointer to drive number D765: AA TAX D766: A9 10 LDA #$10 ; 16, length of filename D768: 20 6E C6 JSR $C66E ; write filename in buffer D76B: A0 10 LDY #$10 D76D: A9 00 LDA #$00 Jump from $D774: D76F: 91 94 STA ($94),Y ; fill with zeroes at position 16 D771: C8 INY D772: C0 1B CPY #$1B ; position 27 already? D774: 90 F9 BCC $D76F ; no D776: AD 4A 02 LDA $024A ; file type D779: C9 04 CMP #$04 ; rel-file? D77B: D0 13 BNE $D790 ; no D77D: A0 10 LDY #$10 D77F: AD 59 02 LDA $0259 ; track D782: 91 94 STA ($94),Y D784: C8 INY D785: AD 5A 02 LDA $025A ; and sector D788: 91 94 STA ($94),Y ; the side-sectors in directory entry D78A: C8 INY D78B: AD 58 02 LDA $0258 ; record length D78E: 91 94 STA ($94),Y ; in directory Jump from $D77B: D790: 20 64 D4 JSR $D464 ; write block D793: 68 PLA D794: 85 82 STA $82 ; channel number D796: AA TAX D797: 68 PLA D798: 85 83 STA $83 ; secondary address D79A: AD 91 02 LDA $0291 D79D: 85 D8 STA $D8 D79F: 9D 60 02 STA $0260,X D7A2: AD 92 02 LDA $0292 D7A5: 85 DD STA $DD D7A7: 9D 66 02 STA $0266,X D7AA: AD 4A 02 LDA $024A ; file type D7AD: 85 E7 STA $E7 D7AF: A5 7F LDA $7F ; drive number D7B1: 85 E2 STA $E2 D7B3: 60 RTS Previous Page / Next Page |