1; GET UNIX FILE INTO CP/M UTILITY 2; getunix unixfilename.extension driveletter:cpmfilename.extension 3; 4 .Z80 5 6SRCFCB EQU 005CH 7SECFCB EQU 006CH 8 9CBIOS EQU 0EA00H 10OPNUNX EQU CBIOS+33H 11RDUNX EQU CBIOS+39H 12CLSUNX EQU CBIOS+3FH 13 14BDOS EQU 5 15CREATE EQU 22 16WRITE EQU 21 17CLOSE EQU 16 18SETDMA EQU 26 19PRINT EQU 9 20 21 CSEG 22 ENTRY START 23START: 24 LD SP,STACK 25;MOVE DESTINATION FCB 26 LD HL,SECFCB 27 LD DE,DSTFCB 28 LD BC,10H 29 LDIR 30 LD HL,DSTFCB+16 31 LD DE,DSTFCB+17 32 LD (HL),0 33 LD BC,20H 34 LDIR 35;OPEN SOURCE FILE 36 LD DE,SRCFCB 37 CALL OPNUNX 38 AND A 39 JP NZ,ERROR1 40;CREATE DESTINATION FILE 41 LD DE,DSTFCB 42 LD C,CREATE 43 CALL BDOS 44 CP 0FFH 45 JP Z,ERROR2 46;SET DMA ADDRESS 47 LD DE,0080H 48 LD C,SETDMA 49 CALL BDOS 50;READ ONE, WRITE ONE 51LOOP: LD DE,SRCFCB 52 CALL RDUNX 53 AND A 54 JP NZ,CLOSEM 55 LD DE,DSTFCB 56 LD C,WRITE 57 CALL BDOS 58 AND A 59 JP NZ,ERROR4 60 JP LOOP 61;CLOSE UNIX FILE 62CLOSEM: LD DE,SRCFCB 63 CALL CLSUNX 64 AND A 65 JP Z,CLSCPM 66 67CLSCPM: LD DE,DSTFCB 68 LD C,CLOSE 69 CALL BDOS 70 JP 0 71 72ERROR1: LD DE,STR1 73 JP ERROR 74STR1: DEFM "ERROR1" 75 DEFB 13,10,'$' 76ERROR2: LD DE,STR2 77 JP ERROR 78STR2: DEFM "ERROR2" 79 DEFB 13,10,'$' 80ERROR3: LD DE,STR3 81 JP ERROR 82STR3: DEFM "ERROR3" 83 DEFB 13,10,'$' 84ERROR4: LD DE,STR4 85 JP ERROR 86STR4: DEFM "ERROR4" 87 DEFB 13,10,'$' 88 89ERROR: LD C,PRINT 90 CALL BDOS 91 JP 0 92 93DSTFCB: DEFS 200 94STACK: DEFS 1 95 END 96