     $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