NAM VOLCOPY ORG $C100 DSKROM EQU $E8BC INIT BRA START FCB 0 START LDX #STRMSG JSR $CD1E PSTRNG JSR $CD1B INBUFF LDD #0 CLEAR A AND B STD DCB1BLK CLEAR SECTOR ADDR STD DCB2BLK CLEAR SECTOR ADDR STD DCB1BUF CLEAR MEM ADDR STD DCB2BUF CLEAR MEM ADDR READ LDX #DCB1 GET DRV 1 DCB LDB #1 READ FUNCTION BSR DISKIO READ DISK WRITE LDX #DCB2 GET DRV 2 DCB LDB #2 WRITE FUNCTION BSR DISKIO WRITE DISK CMPA #1 READ AGAIN BNE READ IF COPY NOT FINISHED LDX #GCPMSG JSR $CD1E SWI END OF COPY DISKIO STX SAVEX STB SAVEB LDB #180 NBR SECTORS TO READ OR WRITE STB LASTS CLR 13,X CLEAR MEMORY ADDRESS STARTD LDX SAVEX GET ORIG X LDB SAVEB GET ORIG B JSR DSKROM DO IO TST 8,X ANY ERROR/ BEQ NOERR NO-CONTINUE SWI FIND TROUBLE NOERR LDD 11,X GET SECTOR ADDR ADDD #1 BUMP IT BY ONE STD 11,X STORE NEW SECTOR ADDR INC 13,X NEW MEMORY ADDR CMPD #350 END OF DISK? BEQ RETRNA YES LDA #0 DEC LASTS ANYMORE IO? BEQ RETURN NO-RETURN TO CALLER BRA STARTD DO ANOTHER IO RETRNA LDA #1 SET CC NON ZERO RETURN RTS RETURN TO CALLER SAVEX FCB 0,0 SAVEB FCB 0 LASTS FCB 0 DDT1 FCB -1,40,10,25,10 FDB $E816 FCB 00 DDT2 FCB -1,40,10,25,10 FDB $E816 FCB 00 DCB1 FCB 0,0,'D,'K FDB $E8BC FDB DDT1 FCB 0,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DCB2 FCB 0,0,'D,'K FDB $E8BC FDB DDT1 FCB 0,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 STRMSG FCC 'PUT DISK TO COPY FROM IN DRIVE 0 AND DISK TO COPY' FCB 13,10 FCC 'TO IN DRIVE 1. HIT CARRIAGE RETURN WHEN READY. (NOTE - THIS' FCB 13,10 FCC 'ROUTINE COPIES ONLY 35 TRACKS)' FCB 13,10,4 GCPMSG FCC 'COPY COMPLETED - NO VERIFY DONE' FCB 13,10,4 DCB1BLK EQU DCB1+11 DCB1BUF EQU DCB1+13 DCB2BLK EQU DCB2+11 DCB2BUF EQU DCB2+13 END INIT