$DEBUG PAGELENGTH(55) /*********************/ /* */ /* E X $ H D C O P Y*/ /* */ /*********************/ M$EX$HDCOPY: DO; $NOLIST $INCLUDE(COMMON.DCL) $INCLUDE(ISIS.DCL) $INCLUDE(:F1:ISISIO.DCL) $INCLUDE(STRING.DCL) $LIST DECLARE MSG$FILL$IN(1) BYTE EXTERNAL; DECLARE MSG$BEWARE(1) BYTE EXTERNAL; DECLARE ECOMP5 STRING EXTERNAL; DECLARE ECOMP7 STRING EXTERNAL; EX$HDCOPY: PROCEDURE (COM$LINE$P,COM$TYPE$P) PUBLIC; DECLARE COM$LINE$P ADDRESS, COM$TYPE$P ADDRESS; DECLARE (COM$LINE BASED COM$LINE$P) STRING, (COM$TYPE BASED COM$TYPE$P) BYTE; DECLARE CHAR STRUCTURE( ML ADDRESS, L ADDRESS, D(2) BYTE ); DECLARE COMP1 STRUCTURE( ML ADDRESS, L ADDRESS, D(8) BYTE ) DATA (7,7,'HDCOPY ',0); DECLARE I BYTE; DECLARE MSG1(*) BYTE DATA( LF, ' --- COPY A WHOLE HARD DISK TO ANOTHER ---',CR,LF, ' FROM TO',CR,LF, ' DISK DRIVE NUMBERS: ', 0); CHAR.ML,CHAR.L=1; CHAR.D(1)=0; CALL MSG$OUT(.MSG1); COM$LINE.L=0; CALL APPEND$S(.COM$LINE,.COMP1); CHAR.D(0)=CI; DO WHILE ((CHAR.D(0)<'0') OR (CHAR.D(0)>'3')); CALL CO(BELL); CHAR.D(0)=CI; END; CALL CO(CHAR.D(0)); CALL APPEND$S(.COM$LINE,.CHAR); CALL APPEND$S(.COM$LINE,.ECOMP7); CALL MSG$OUT(.(C$RGT,C$RGT,C$RGT,C$RGT,C$RGT,0)); CHAR.D(0)=CI; DO WHILE ((CHAR.D(0)<'0') OR (CHAR.D(0)>'3')); CALL CO(BELL); CHAR.D(0)=CI; END; CALL CO(CHAR.D(0)); CALL APPEND$S(.COM$LINE,.CHAR); CALL APPEND$S(.COM$LINE,.ECOMP5); CALL MSG$OUT(.(CR,0)); CALL MSG$OUT(.MSG$BEWARE); IF UPPER(CI)<>'Y' THEN COM$TYPE=0; ELSE COM$TYPE=1; CALL MSG$OUT(.(CLR$SCRN,0)); END EX$HDCOPY; END M$EX$HDCOPY;