$C8F0/51440: Perform [C] - Copy command C8F0: A9 E0 LDA #$E0 C8F2: 8D 4F 02 STA $024F C8F5: 20 D1 F0 JSR $F0D1 C8F8: 20 19 F1 JSR $F119 ; get buffer number of BAM C8FB: A9 FF LDA #$FF C8FD: 95 A7 STA $A7,X C8FF: A9 0F LDA #$0F C901: 8D 56 02 STA $0256 C904: 20 E5 C1 JSR $C1E5 ; check input line C907: D0 03 BNE $C90C C909: 4C C1 C8 JMP $C8C1 ; 31, 'syntax error' Jump from $C907: C90C: 20 F8 C1 JSR $C1F8 ; check input C90F: 20 20 C3 JSR $C320 ; test drive number C912: AD 8B 02 LDA $028B ; flag for syntax check C915: 29 55 AND #$55 C917: D0 0F BNE $C928 C919: AE 7A 02 LDX $027A C91C: BD 00 02 LDA $0200,X ; character of the command C91F: C9 2A CMP #$2A ; '*' C921: D0 05 BNE $C928 Jump from $C92D: C923: A9 30 LDA #$30 C925: 4C C8 C1 JMP $C1C8 ; 30, 'syntax error' Jump from $C917, $C921: C928: AD 8B 02 LDA $028B ; syntax flag C92B: 29 D9 AND #$D9 C92D: D0 F4 BNE $C923 ; 30, 'syntax error' C92F: 4C 52 C9 JMP $C952 C932: A9 00 LDA #$00 C934: 8D 58 02 STA $0258 C937: 8D 8C 02 STA $028C ; number of drives C93A: 8D 80 02 STA $0280 ; track number in directory C93D: 8D 81 02 STA $0281 C940: A5 E3 LDA $E3 C942: 29 01 AND #$01 C944: 85 7F STA $7F ; drive number C946: 09 01 ORA #$01 C948: 8D 91 02 STA $0291 C94B: AD 7B 02 LDA $027B C94E: 8D 7A 02 STA $027A C951: 60 RTS Jump from $C92F: C952: 20 4F C4 JSR $C44F ; search for file in directory C955: AD 78 02 LDA $0278 ; number of filenames in command C958: C9 03 CMP #$03 ; smaller than three? C95A: 90 45 BCC $C9A1 ; yes C95C: A5 E2 LDA $E2 ; first drive number C95E: C5 E3 CMP $E3 ; second drive number C960: D0 3F BNE $C9A1 ; not on same drive? C962: A5 DD LDA $DD ; directory block of the 1st file C964: C5 DE CMP $DE ; same directory block as second file? C966: D0 39 BNE $C9A1 ; no C968: A5 D8 LDA $D8 ; directory sector of first file C96A: C5 D9 CMP $D9 ; same directory sector as second file? C96C: D0 33 BNE $C9A1 ; no C96E: 20 CC CA JSR $CACC ; is file present? C971: A9 01 LDA #$01 C973: 8D 79 02 STA $0279 C976: 20 FA C9 JSR $C9FA C979: 20 25 D1 JSR $D125 ; get data type C97C: F0 04 BEQ $C982 ; rel-file? yes C97E: C9 02 CMP #$02 ; prg-file? C980: D0 05 BNE $C987 ; no Jump from $C97C: C982: A9 64 LDA #$64 C984: 20 C8 C1 JSR $C1C8 ; 64, 'file type mismatch' Jump from $C980: C987: A9 12 LDA #$12 ; 18 C989: 85 83 STA $83 ; secondary address C98B: AD 3C 02 LDA $023C C98E: 8D 3D 02 STA $023D C991: A9 FF LDA #$FF C993: 8D 3C 02 STA $023C C996: 20 2A DA JSR $DA2A ; prepare append C999: A2 02 LDX #$02 C99B: 20 B9 C9 JSR $C9B9 ; copy file C99E: 4C 94 C1 JMP $C194 ; done Previous Page / Next Page |