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)
PROMPT('Copies Floppy Unit 0 to Unit 1
PLEASE CONFIRM?')
READSYMBOL(I)
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
P_SERVICE=3; P_REPLY=ID
P_A1=0; P_A2==NULLI
P_A3=K'020000'
PONOFF(P)
IF P_A1#9 START
PRINTSTRING("UPPER CHECK FAILS
")
STOP
FINISH
CYCLE I = 0, 1, 1000
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
ENDOFPROGRAM