! !!!!!!!!!!!! DISC INITIALISER (RXO2) !!!!!!!!!!!!!!!! ! ! COPIES THE SYSTEM (0-87) FROM UNIT 0 TO UNIT 1 ! AND ZEROS THE BLKLST AND DIRECTORIES ON UNIT 1 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! BEGIN CONSTBYTEINTEGERNAME ID = K'160030' CONSTINTEGERNAME NULLI=0 CONSTINTEGER DREAD=0, DWRITE=1 RECORDFORMAT PF(BYTEINTEGER SERVICE, REPLY, INTEGER A1, C INTEGERNAME A2, INTEGER A3) INTEGER I, J, K, L, M, DRIVE RECORD (PF)P INTEGERARRAY BUFF(0:256) PRINTSTRING('INITIALISES FLOPPY ON UNIT 1 FOR DEIMOS ') PROMPT('Copies Floppy Unit 0 to Unit 1 PLEASE CONFIRM?') READSYMBOL(I); SKIPSYMBOL DRIVE=K'020000'; ! UNIT ONE IF I#'Y' THEN STOP P_SERVICE=3; P_REPLY = ID P_A1=0; P_A2==NULLI PONOFF(P) IF P_A1#9 START PRINTSTRING('DISC TURN OFF CHECK ERROR '); WRITE(P_A1, 1); NEWLINE STOP FINISH CYCLE I = 0, 1, 74 P_SERVICE=3; P_REPLY=ID P_A1=DREAD; ! READ ONE BLOCK P_A2==BUFF(0) P_A3=I; ! BLOCK PONOFF(P) IF P_A1#0 START PRINTSTRING('DISC ERROR ') STOP FINISH P_A2==BUFF(0) P_A1=DWRITE P_A3=I!DRIVE P_SERVICE=3; P_REPLY=ID PONOFF(P) IF P_A1#0 START PRINTSTRING('DISC WRITE ERROR ') STOP FINISH REPEAT SELECT OUTPUT(0) PRINTSTRING('SYSTEM COPIED..... ') CYCLE I=0,1,256 BUFF(I)=0 REPEAT CYCLE I=88,1,160 P_A2==BUFF(0) P_A1=DWRITE; P_A3=I!DRIVE P_SERVICE=3; P_REPLY=ID PONOFF(P) IF P_A1#0 START PRINTSTRING('DISC WRITE ERROR ') STOP FINISH REPEAT PRINTSTRING('UNIT 1 INITIALISED ') ENDOFPROGRAM