IMD 1.17: 24/11/2010 19:45:43 17 mus  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WORKMUS *Z(MUS.TEXTT"z(@ MUS.B.TEXTT"z@d MUS.A.TEXTT"zO^aBYv  * >* * >* MANY THANKS TO JOHN STRAIT OF UCC * >* +,OUTPUT,MUSDATA,MUSREC,NEWREC); CONST &DC1:= 7405B; &GS:= 4035B; &BELL:= 4007B; &US:= 4037B; &ESC:= 4033B; &FF:= 4014B;  FOR THE PROCEDURES PUTBYTE AND MOVE * >* AND TO WILLIAM H. LYNCH AND FRED T. * >* HOFSTETTER OF THE U&VT:= 7645B; &HIGH:= 4040B; &LOWX:= 4100B; &LOWY:= 4140B; &CTRLS:= 4023B; TYPE PEN:= (UP,DOWN); &STRING:= PACKED ARRAY[1.. OF DELAWARE FOR * >* THE MUSDATA DATAFILE AND MANY OF THE * >* CONSTANTS USED FOR GRAPHICS. .4] OF CHAR; &ALPHA:= PACKED ARRAY[1..10] OF CHAR; VAR LASTHY,LASTLY,LASTHX : INTEGER; &INTERVAL1,INTERVAL2,CHARACTER : CHAR; * >* * >* MUSIC IS AN INTERACTIVE PROGRAM * >* DESIGNED TO DRILL MUSIC STUDENTS ON * >* THE RECOGNITION OF THE BASIC HARMONIC * >* INTERVALS USING A TEKTRONIX 4010 TERMINAL * >* AND PLATO MUSIC BOX WITH INTERFACE. * >* IN A SAMPLE RUN, THE STUDENT WOULD * >* TYPE -MUS, WHICH STARTS A PROCEDURE FILE * >* THAT GETS THE NOTE AND RECORD KEEPING * >* DATA FILES, EXECUTES THE BINARY OF THIS * >* PROGRAM, AND UPDATES THE RECORD FILES * >* AFTER THE STUDENT IS FINISHED. DURING * >* THE ACTUAL RUN, THE STUDENT IS PLAYED AN * >* INTERVAL AND ASKED IT"S NAME. IF THE * >* %(************************************************* >* * >* M U  ANSWER GIVEN IS CORRECT, THE NOTES ARE * >* DRAWN ON THE STAFF AND THE NEXT INTERVAL * >* IS PLAYED. S I C * >* * >* INTERACTIVE HARMONIC  * >* FOR A COMPLETE LISTING OF ALL * >* COMMANDS AND OPTIONS, ENTER INFO  * >* INTERVAL DRILL * >* * >*  * >* INSTEAD OF AN INTERVAL NAME WHEN YOU * >* ARE RUNNING THE PROGRAM. *  V1.0 * >* MARVIN MOSER, JULY 1977. * >* >* * >**************************************************) PROGRAM MUSIC(INPUT/ EGIN (* PUTBYTE TAKES 4 DIGITS OF OCTAL AND SENDS THE *) $(* TERMAINAL TWO CHARACTERS WHICH CORRESPOND TO THE TOP *) $(* AND B%MOVE(22,YY,DOWN);MOVE(0,YY-43,DOWN);MOVE(0,YY-50,DOWN); %MOVE(5,YY-56,DOWN);MOVE(15,YY-60,DOWN);MOVE(23,YY-56,DOWN); %MOVE(2OTTOM TWO DIGITS OF THE FOUR DIGIT NUMBER *) %OUTPUT' := CHR((BYTE DIV 100B) MOD 100B); %PUT(OUTPUT); %OUTPUT' := CHR(B5,YY-45,DOWN);MOVE(22,YY-40,DOWN);MOVE(15,YY-38,DOWN); %MOVE(9,YY-42,DOWN);MOVE(10,YY-45,DOWN);MOVE(15,YY-50,DOWN); %MOVE(20,YYTE MOD 100B); %PUT(OUTPUT); #END; PROCEDURE MOVE(X,Y : INTEGER; PENSTATUS : PEN); VAR HX,LX,HY,LY : INTEGER; #BEGIN (* MOVY-50,DOWN); #END; PROCEDURE FCLEFF(Y : INTEGER); #BEGIN %YY:=630-(Y*150); %MOVE(5,YY-13,UP);MOVE(6,YY-13,DOWN);MOVE(4,YY-14E SENDS TEKTRONIC PLOTTING DATA TO MOVE AN *) $(* INVISIBLE 'PEN' TO THE SPECIFIED X,Y POSITION *) %IF PENSTATUS = UP THEN PUT,DOWN); %MOVE(11,YY-4,DOWN);MOVE(15,YY-1,DOWN);MOVE(20,YY-2,DOWN); %MOVE(25,YY-4,DOWN);MOVE(30,YY-12,DOWN);MOVE(28,YY-20,DOWN)BYTE(GS); %HX := X DIV 32 + HIGH; %LX := X MOD 32 + LOWX; %HY := Y DIV 32 + HIGH; %LY := Y MOD 32 + LOWY; ; %MOVE(1,YY-53,DOWN);MOVE(35,YY-7,UP);MOVE(38,YY-9,DOWN); %MOVE(35,YY-22,UP);MOVE(38,YY-24,DOWN); #END; PROCEDURE SHARP(X,Y%IF HY <> LASTHY THEN PUTBYTE(HY); %IF (LY <> LASTLY) OR (HX <> LASTHX) THEN PUTBYTE(LY); %IF HX <> LASTHX THEN PUTBYTE(HX); ,YNOTE : INTEGER); #BEGIN (* SHARP *) %YY:= 606-(Y*150)+YNOTE*8; %MOVE(X-4,YY+12,UP);MOVE(X-1,YY-16,DOWN);MOVE(X+2,YY+16,UP); &WCOUNTER,NOTEVAL,NOTEVAL2:INTEGER; &OCTIVE,OCTIVE2,QCOUNTER,UNITN : INTEGER; &LENGTH,SKEY : INTEGER; &INTNAME,INTTEMP,ANSW%PUTBYTE(LX); %LASTHY := HY; %LASTLY := LY; %LASTHX := HX #END; PROCEDURE ADVANEXER; #BEGIN (* ADVANEXER READS THE NOTESER : STRING; &DUMMY : ALPHA; &DRAW,JUSTLOOKING:BOOLEAN; &TIM,TIM2,DAY : ALPHA; &MUSDATA,MUSREC,NEWREC : TEXT; &X,Y,YNOTE :  OF THE NEXT EXERCISE *) %IF (EOF(MUSDATA)) OR (TOTALEX>500) THEN NOTELETTR:='*' %ELSE READ(MUSDATA,NOTELETTR); %IF NOTELETTRINTEGER; &STAFFN,CORRECTY,XIN,YIN,COUNTER2 : INTEGER; &RESTVALUE : INTEGER; &ZERO,TOTALEX,Q : INTEGER; &LL : INTEGER; &YY,C='*' THEN 'BEGIN )RESET(MUSDATA); )READLN(MUSDATA); )RESETUNIT:=TRUE; )TOTALEX:=0; )NEXT:=TRUE; )DRAW:=FALSE; 'END; %WHOUNTER : INTEGER; &XSTEM,YSTEM : INTEGER; &FIRST,NORM,SHOWINT : BOOLEAN; &CIS,TOPVOICE,VOL1,VOL2,VOL3,VOL4 : INTEGER; ILE NOT (NOTELETTR IN ['A'..'G']) DO %READ(MUSDATA,NOTELETTR); %READ(MUSDATA,ACCIDENT,OCTIVE,NOTELETTR2, %ACCIDENT2,OCTIVE2,I&SPACER,GSPEED : INTEGER; &OCNOTE,EXCOUNTER,ANSCOUNTER,IDNUM,RUNS : INTEGER; &NOTELETTR,ACCIDENT,NOTELETTR2,ACCIDENT2 : CHAR;NTERVAL1,INTERVAL2); %TOTALEX:=TOTALEX + 1; #END; PROCEDURE GCLEFF(Y : INTEGER); #BEGIN (* GCLEFF *) %YY := 630-(Y*150); % &FLAGUP,HELP,HARMONIC,GRAPH,ANS,BYE : BOOLEAN; &NEXT,UPDOWN,FORMAL,RESETUNIT : BOOLEAN; &FUNCTION RANDOM : REAL; EXTERN; PRMOVE(8,YY-70,UP);MOVE(10,YY-72,DOWN);MOVE(11,YY-69,DOWN); %MOVE(8,YY-70,DOWN);MOVE(10,YY-75,DOWN);MOVE(12,YY-77,DOWN); %MOVE(1OCEDURE SETRANDOM(SEED1,SEED2 : INTEGER); EXTERN; PROCEDURE COMP(VAR X:INTEGER);EXTERN; PROCEDURE PUTBYTE(BYTE : INTEGER); #B5,YY-75,DOWN);MOVE(17,YY-72,DOWN);MOVE(8,YY,DOWN); %MOVE(12,YY+5,DOWN);MOVE(15,YY+7,DOWN);MOVE(18,YY+5,DOWN);  7,YY-7,DOWN);MOVE(X+7,YY+7,UP); %MOVE(X-7,YY-7,DOWN);MOVE(X-7,YY,UP);MOVE(X-7,YY,DOWN); %MOVE(X+7,YY,UP);MOVE(X+7,YY,DOWN);MOV; )MOVE(XSTEM,YY,UP); )MOVE(XSTEM,YSTEM,DOWN); 'END; %IF NOTEVALUE>2 THEN 'BEGIN (* LET"S DRAW SOME FLAGS *) E(X,YY+7,UP); %MOVE(X,YY+7,DOWN);MOVE(X,YY-7,UP);MOVE(X,YY-7,DOWN); #END; PROCEDURE DOUBLEFLAT(X,Y,YNOTE : INTEGER); #BEGIN )MOVE(XSTEM,YSTEM,UP); )IF FLAGUP THEN MOVE(XSTEM+10,YSTEM-15,DOWN) )ELSE MOVE(XSTEM+12,YSTEM+15,DOWN); )IF NOTEVALUE>3 THEN(* DOUBLE FLAT *) %FLAT(X,Y,YNOTE); %FLAT(X-14,Y,YNOTE); #END; PROCEDURE NATURAL(X,Y,YNOTE : INTEGER); #BEGIN (* NATURAL SI (* 1/16 NOTE FLAGS NOW *) +BEGIN /IF FLAGUP THEN BEGIN MOVE(XSTEM,YSTEM-8,UP); /MOVE(XSTEM+10,YSTEM-23,DOWN) END /ELSE BGN *) %YY:=606-(Y*150)+(YNOTE*8); %MOVE(X-5,YY+12,UP);MOVE(X-2,YY-8,DOWN);MOVE(X+2,YY+8,UP); %MOVE(X+5,YY-12,DOWN);MOVE(X-4,YEGIN MOVE(XSTEM,YSTEM+8,UP); /MOVE(XSTEM+12,YSTEM+23,DOWN) END; -IF NOTEVALUE>4 THEN (* 1/32 NOTE FLAGS *) /BEGIN 3IF FLAY+6,UP);MOVE(X+2,YY+8,DOWN); %MOVE(X-2,YY-8,UP);MOVE(X+4,YY-6,DOWN); #END; PROCEDURE DASH(X,Y,YNOTE : INTEGER); #BEGIN (* GUP THEN BEGIN MOVE(XSTEM,YSTEM-16,UP); 5MOVE(XSTEM+10,YSTEM-31,DOWN) 3END 3ELSE BEGIN MOVE(XSTEM,YSTEM+16,UP); 5MOVE(XSTEM+ DRAW DASH FOR NOTES ABOVE AND BELOW STAFF *) %YY:=606-(Y*150)+YNOTE*8; %MOVE(X-16,YY,UP); %MOVE(X+16,YY,DOWN); #END; 12,YSTEM+31,DOWN) 3END; 1IF NOTEVALUE>5 THEN (* 1/64 FLAGS *) 3BEGIN 7IF FLAGUP THEN BEGIN 9MOVE(XSTEM,YSTEM-24,UP); 9MO PROCEDURE CLEAR; #BEGIN (* CLEAR SCREEN *) %PUTBYTE(7677B); %PUTBYTE(7656B); %WRITELN(' ')VE(XSTEM+10,YSTEM-39,DOWN); 7END 7ELSE BEGIN 9MOVE(XSTEM,YSTEM+24,UP); 9MOVE(XSTEM+12,YSTEM+37,DOWN); 7END; 3END /END +E; %QCOUNTER:=0; %SPACER:=140; #END (* CLEAR SCREEN *); PROCEDURE NOTE(X,Y,YNOTE,NOTEVALUE : INTEGER; FLAGUP : BOOLEAN); VARND 'END; %IF (Y=0) AND (YNOTE=-7) THEN %DASH(X,Y,YNOTE); %IF (Y=0) AND (YNOTE>4) THEN 'BEGIN )DASH(X,Y,5); )IF YNOTE>6 TH COUNT : INTEGER; #BEGIN (* DRAW A NOTE *) %YY:=606-(Y*150)+YNOTE*8; %IF NOTEVALUE<2 THEN 'BEGIN (* OPEN NOTE *) )MOVE(X-8,EN +BEGIN -DASH(X,Y,7); -IF YNOTE>8 THEN /BEGIN 1DASH(X,Y,9); 1IF YNOTE>10 THEN 1DASH(X,Y,11); /END +END 'END;  %MOVE(X+5,YY-14,DOWN);MOVE(X-8,YY+3,UP);MOVE(X+8,YY+9,DOWN); %MOVE(X-8,YY-8,UP);MOVE(X+9,YY-2,DOWN); #END; PROCEDURE FLAT(XYY,UP);MOVE(X-3,YY+6,DOWN);MOVE(X+3,YY+6,DOWN); )MOVE(X+8,YY,DOWN);MOVE(X+3,YY-6,DOWN); )MOVE(X-3,YY-6,DOWN);MOVE(X-8,YY,DOWN),Y,YNOTE : INTEGER); #BEGIN (* FLAT *) %YY:=606-(Y*150)+YNOTE*8; ; )COUNT:=COUNT+30; 'END %ELSE 'BEGIN (* SOLID NOTE *) )MOVE(X-8,YY-5,UP);MOVE(X+8,YY,DOWN); )MOVE(X-8,YY-2,DOWN);MOVE(X+%MOVE(X-6,YY+30,UP);MOVE(X-6,YY-9,DOWN);MOVE(X+5,YY+2,DOWN); %MOVE(X+7,YY+5,DOWN);MOVE(X,YY+8,DOWN);MOVE(X-6,YY+6,DOWN); #END8,YY+3,DOWN); )MOVE(X-8,YY+1,DOWN);MOVE(X+8,YY+6,DOWN); )COUNT:=COUNT+15; 'END; %IF NOTEVALUE>0 THEN %IF FLAGUP THEN 'BEGI; PROCEDURE DOUBLESHARP(X,Y,YNOTE : INTEGER); #BEGIN (* DOUBLE SHARP *) %YY:=606-(Y*150)+YNOTE*8; %MOVE(X-7,YY+7,UP);MOVE(X+N )XSTEM:=X+8; )YSTEM:=YY+40; )MOVE(XSTEM,YY,UP); )MOVE(XSTEM,YSTEM,DOWN); 'END %ELSE 'BEGIN )XSTEM:=X-8; )YSTEM:=YY-40 11); +END 'END #END; PROCEDURE RESTFLAG(X,YY : INTEGER); #BEGIN (* FLAGS FOR 1/4 TO 1/32 RESTS *) %MOVE(X-7,YY-15,UP); %X,Y : INTEGER); #BEGIN (* DRAW A BAR TO SEPARATE MEASURES *) %YY:=630-(Y*150); %MOVE(X,YY,UP); %MOVE(X,YY-64,DOWN) #END;MOVE(X+7,YY+15,DOWN); %MOVE(X-4,YY+10,DOWN); %MOVE(X-8,YY+10,DOWN); %MOVE(X-10,YY+12,DOWN); %MOVE(X-9,YY+14,DOWN); %MOVE(X- PROCEDURE DOT(X,Y,YNOTE : INTEGER); #BEGIN (* DRAW A DOT FOR LONGER NOTES *) %YY:=606-(Y*150)+YNOTE*8; 8,YY+15,DOWN); %MOVE(X-7,YY+14,DOWN); %MOVE(X-10,YY+12,DOWN); #END; PROCEDURE REST(X,Y,YNOTE,RESTVALUE : INTEGER); #BEGIN %MOVE(X+16,YY+2,UP);MOVE(X+16,YY-2,DOWN); %MOVE(X+18,YY+2,UP);MOVE(X+18,YY-2,DOWN); #END; PROCEDURE INFO(HELP : BOOLEAN); #(* DRAW A REST *) %YY:=606-(Y*150)+YNOTE*8; %IF RESTVALUE=0 THEN 'BEGIN (* WHOLE REST *) )MOVE(X-7,YY,UP);MOVE(X-7,YY-8BEGIN (* RUN-TIME INFORMATION FOR THE STUDENT *) 'IF HELP THEN BEGIN )CLEAR; )WRITELN('THIS PROGRAM WAS WRITTEN TO HELP YOU ,DOWN); )MOVE(X+7,YY-8,DOWN);MOVE(X+7,YY,DOWN); )MOVE(X-16,YY,UP);MOVE(X+16,YY,DOWN); 'END %ELSE 'BEGIN )IF RESTVALUE=1 THRECOGNIZE MUSICAL INTERVALS, WHICH'); )WRITELN('ARE THE DIFFERENCE IN PITCH BETWEEN TWO NOTES. THE SIZE OF AN INTERVAL'); )WREN +BEGIN (* HALF REST *) -MOVE(X-7,YY,UP);MOVE(X-7,YY+8,DOWN); -MOVE(X+7,YY+8,DOWN);MOVE(X+7,YY,DOWN); -MOVE(X-16,YY,UP)ITELN('IS DETERMINED BY THE NUMBER OF STAFF DEGREES INVOLVED, GOING FROM THE'); )WRITELN('LOWER TO THE HIGHER TONE. UNLIKE LIN;MOVE(X+16,YY,DOWN); +END )ELSE +BEGIN -IF RESTVALUE=2 THEN /BEGIN (* 1/4 REST *) 1MOVE(X,YY-17,UP); EAR MEASUREMENT, THERE IS NO ''ZERO'''); )WRITELN('TO START AT, SO INSTEAD YOU MUST BEGIN COUNTING AT ''ONE'', FROM THE'); )WR1MOVE(X-5,YY-10,DOWN); 1MOVE(X-4,YY-7,DOWN); 1MOVE(X-1,YY-4,DOWN); 1MOVE(X-5,YY+3,DOWN); 1MOVE(X,YY+12,DOWN); 1MOVE(X,YY+1ITELN('LOWER NOTE. FOR EXAMPLE, D TO F IS AN INTERVAL OF A THIRD BECAUSE THERE'); )WRITELN('ARE THREE DEGREES BETWEEN THEM, NA5,UP); 1MOVE(X+5,YY+8,DOWN); 1MOVE(X,YY,DOWN); 1MOVE(X-1,YY-4,DOWN); 1MOVE(X+5,YY-9,DOWN); 1MOVE(X,YY-7,DOWN); 1MOVE(X,YY-MELY D-E-F.'); )WRITELN; )WRITELN('THERE ARE THREE BASIC KINDS OF INTERVALS: PERFECT, MAJOR, AND MINOR.'); )WRITELN('TO TEST 17,DOWN); 1MOVE(X-2,YY+3,UP); 1MOVE(X+4,YY+10,DOWN); 1MOVE(X,YY+15,UP); 1MOVE(X,YY,DOWN); 1MOVE(X-3,YY-12,UP); 1MOVE(X,YY-IF AN INTERVAL IS PERFECT, CONSIDER THE LOWER TONE AS THE'); 4,DOWN); /END -ELSE /BEGIN (* 1/8 REST *) 1RESTFLAG(X,YY); 1IF RESTVALUE>3 THEN 3BEGIN (* 1/16 REST *) 5RESTFLAG(X-4,)WRITELN('TONIC OF A MAJOR SCALE. NEXT, INVERT THE INTERVAL AND CONSIDER THE NEW'); )WRITELN('LOWER TONE AS THE TONIC OF A MAYY-8); 5IF RESTVALUE>4 THEN 7BEGIN (* 1/32 REST *) 9RESTFLAG(X-8,YY-16); 9IF RESTVALUE>5 THEN ;BEGIN (* 1/64 REST *) JOR SCALE. IF EACH TONE OF THE INTERVAL'); )WRITELN('OCCURS IN THE MAJOR SCALE OF THE OTHER, IT IS A PERFECT INTERVAL. THERE'%IF (Y=1) AND (YNOTE<-6) THEN 'BEGIN )DASH(X,Y,-7); )IF YNOTE<-8 THEN +BEGIN -DASH(X,Y,-9); -IF YNOTE<-10 THEN DASH(X,Y,-=RESTFLAG(X-12,YY-24); =IF RESTVALUE>6 THEN =RESTFLAG(X-16,YY-32); ;END 7END 3END /END +END 'END #END; PROCEDURE BAR( LN; )WRITELN; )WRITELN('THESE ARE COMMANDS WHICH YOU MAY ENTER AT ANY TIME:'); )WRITELN(' BYE TO STOP THE PROGRAM.');  %OCNOTE:=36+IVAL+(OCTIVE-2)*12; #END; PROCEDURE QUIET; VAR K : INTEGER; #BEGIN (* SET MODE TO ALL VOICES, THEN LOAD UN)WRITELN(' AGAIN TO PLAY THE CURRENT INTERVAL AGAIN.'); )WRITELN(' DRILL TO PRACTICE READING NOTES.'); )WRITELN(' PLAYABLE NOTES *) %OUTPUT':=CHR(74B);PUT(OUTPUT); %OUTPUT':=CHR(05B);PUT(OUTPUT); %WRITE('CAA'); 'FOR K:= 1 TO 4 DO BEGIN )); )WRITELN('ARE THREE PERFECT INTERVALS, PER4,PER5,AND PER8. ALL OTHER INTERVALS'); )WRITELN('ARE EITHER MAJOR,MINOR, OR TRI LENGTH TO CHANGE THE LENGTH OF THE INTERVALS.'); )WRITELN(' MELODIC FOR MELODIC INTERVALS.'); TONE. IF THE INTERVAL CONSISTS OF THREE'); )WRITELN('WHOLE STEPS (AS IN F TO B), IT IS A TRITONE. MAJOR INTERVALS OCCUR'); ))WRITELN(' HARMONIC FOR HARMONIC INTERVALS.'); )WRITELN(' CLEAR TO CLEAR THE SCREEN AND REDRAW THE STAFF.'); )WRITELN(WRITELN('WHEN THE TOP TONE IS IN THE MAJOR SCALE WHOSE KEYNOTE IS THE LOWER TONE.'); )WRITELN('MINOR INTERVALS ARE A HALF STEP ' SHOW TO SEE THE ANSWERS.'); )WRITELN(' PLAY TO PLAY AN INTERVAL OF YOUR CHOICE.'); )WRITELN(' ORDER CHANGESSMALLER THAN A MAJOR INTERVAL.'); )WRITELN; )WRITELN; )WRITELN('IN GENERAL, THIS PROGRAM ACTS AS DRILL. AN INTERVAL WILL BE  THE ORDER THE NOTES ARE PLAYED.'); )WRITELN(' GRAPH TO SUPPRESS THE STAFF FOR FASTER DRILL.'); )WRITELN(' QUIT TO PLAYED TO'); )WRITELN('YOU, AND YOU TYPE IN THE NAME OF THAT INTERVAL. IF YOU ARE INCORRECT,'); )WRITELN('I WILL RESPOND WITHRETURN FROM DRILL COMMAND.'); )WRITELN(' UNIT TO CHANGE UNITS.'); )WRITELN(' INFO TO LIST INFORMATION.'); )WRITEL A < OR > SYMBOL IF YOU GUESSED TOO HIGH OR TOO LOW,'); N(' NEXT TO BYPASS A QUESTION.'); )WRITELN; )WRITELN('ALL COMMANDS MAY BE ABBREVIATED BY USING ONLY THE FIRST LETTER.');)WRITELN('RESPECTIVELY. IF YOU ARE RIGHT, I"LL SAY SO AND DRAW THE NOTES ON THE'); )WRITELN('STAFF. THEN I WILL PLAY THE NEX )WRITELN; )WRITELN; )WRITELN('WHEN YOU HAVE FINISHED READING, TYPE CONTINUE .'); )IF NOT EOS(INPUT) THEN READLN(INPUT) ELSET INTERVAL, AND SO ON. WHEN YOU WANT TO'); )WRITELN('QUIT, SIMPLY TYPE IN THE WORD BYE .'); )WRITELN; )WRITELN; )WRITELN(' GETSEG(INPUT); )IF FIRST THEN CLEAR; 'END; #END; PROCEDURE UNCODE(NOTELETTR,ACCIDENT:CHAR; OCTIVE:INTEGER); VAR IVAL,JVAL WHEN YOU HAVE FINISHED READING THIS, TYPE CONTINUE .'); )IF NOT EOS(INPUT) THEN READLN(INPUT) ELSE GETSEG(INPUT); 'END %ELS: INTEGER; #BEGIN (* UNCODE TURNS A CONVENTIONAL NOTATION NOTE INTO *) $(* A NUMBER REPRESENTING IT"S FREQUENCY *) E 'BEGIN )CLEAR; )WRITELN('THE ACCEPTED ABBREVIATIONS OF INTERVAL NAMES ARE:'); )WRITELN; )WRITELN('MIN2,MAJ2,MIN3,MAJ3,PER'CASE NOTELETTR OF ('A':JVAL:=9; ('B':JVAL:=11; ('C':JVAL:=0; ('D':JVAL:=2; ('E':JVAL:=4; ('F':JVAL:=5; ('G':JVAL:=7; '4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,PER8'); )WRITELN('(OR EQUIVALENTLY)'); )WRITELN('N2,M2,N3,M3,P4,T,P5,N6,M6,N7,M7,P8'); )WRITEEND; 'CASE ACCIDENT OF ('N':IVAL:=JVAL; ('?':IVAL:=JVAL+1; (''':IVAL:=JVAL-1; ('D':IVAL:=JVAL-2; ('X':IVAL:=JVAL+2; 'END; N ['2'..'8']) AND (ANSWER[1] IN ['P','M','N'])) %OR ((ANSWER[1]='T') AND (ANSWER[2]=' '))) 'THEN BEGIN (* LIST OF COMMANDS  *) )IF ANSWER[1] IN ['A'..'Z'] THEN +CASE ANSWER[1] OF ,'I':IF (ANSWER='I ') OR (ANSWER='INFO') THEN /BEGIN 1WRITELN('FOR GENERAL PROGRAM INFORMATION, TYPE GENERAL .'); 1WRITELN('FOR A LIST OF COMMANDS, TYPE COMMAND .'); 1INPUTLN; 1QCOUNTER:=QCOUNTER+3; 1IF ANSWER[1]='C' THEN HELP:=FALSE 1ELSE HELP:=TRUE; 1INFO(HELP); 1CLEAR; 1SETUP; 1STAFF(STAFFN); 1RETURN; 1)DAY[10],RUNS:8,FANS:12,FTRY:12); )IF FANS>0 THEN WRITE(' ',(WCOUNTER+FANS)/FANS:5:3); )WRITELN; )UNTIL FIDNUM=1; 'EPLAY; /END -ELSE NOPE; ,'U':IF (ANSWER='U ') OR (ANSWER='UNIT') THEN /BEGIN 1UNIT; 1CLEAR; 1SETUP; 1STAFF(STAFFN); 1ROUTPUT':=CHR(74B);PUT(OUTPUT);OUTPUT':=CHR(05B);PUT(OUTPUT); )WRITE('H@A@A'); 'END; #END; PROCEDURE NOOP; #BEGIN (* NOOP ND #END; PROCEDURE QUESTION; VAR EXERCISE,KK : INTEGER; SELECT,LOOPER:INTEGER; PROCEDURE NOPE; #BEGIN %IF NOT JUSTLOOKINGSENDS A 'NO OPERATION' SIGNAL TO THE BOX. *) %PUTBYTE(DC1); %WRITE('@A@A@A'); #END; PROCEDURE CONVERT(X:INTEGER);  THEN 'BEGIN )WRITELN('SORRY, THAT"S NOT A COMMAND. IF'); )WRITELN('YOU WANT MORE HELP, TYPE INFO.'); )WRITELN('OTHERWISE, TRY ANOTHER INTERVAL NAME.'); )QCOUNTER:=QCOUNTER+3; 'END %ELSE 'BEGIN )WRITELN('I"M AFRAID THAT I DON"T UNDERSTAND YOUR LAST REPLY.'); )WRITELN('YOU MAY ENTER EITHER AN INTERVAL NAME OR SOME OTHER'); )WRITELN('COMMAND. FOR A LIST OF INTERVAL NAMESO^, TYPE INFO .'); )QCOUNTER:=QCOUNTER+3; (IF QCOUNTER>19 THEN QCOUNTER:=QCOUNTER+4; 'END; #END; #BEGIN (* QUESTION LOOKS F@BFOR COMMANDS OR ANSWERS TO QUESTIONS *) %IF NOT JUSTLOOKING THEN QCOUNTER:=QCOUNTER+1; %IF QCOUNTER>26 THEN 'BEGIN )CLEAR; )SETUP; )STAFF(STAFFN); )RETURN; 'END; %IF QCOUNTER=15 THEN 'BEGIN )SETUP; )RETURN; )QCOUNTER:=QCOUNTER+1; 'END; %IF NOT JUSTLOOKING THEN INPUTLN; %IF NOT (((ANSWER[4] IN ['2'..'8','T']) AND (ANSWER[1] IN ['M','P','T'])) %OR ((ANSWER[2] I ER='AGAI') THEN /BEGIN 1PLAY; /END -ELSE NOPE; ,'B':IF (ANSWER='B ') OR (ANSWER='BYE ') THEN /BEGIN 1BYE:=TRUE; 1GRAPH3END 1ELSE 1GRAPH:=NOT GRAPH; /END -ELSE NOPE; ,'H':IF (ANSWER='H ') OR (ANSWER='HARM') THEN /BEGIN 1HARMONIC := TRUE;:=FALSE; 1NEXT:=TRUE; 1DRAW:=FALSE; /END -ELSE NOPE; ,'L':IF (ANSWER='L ') OR (ANSWER='LENG') THEN SPEED -ELSE NOPE; ,' 1CIS:=0; 1TOPVOICE:=1; 1CHANGEMODE; 1PLAY; /END -ELSE NOPE; ,'T':IF ANSWER='TEST' THEN /BEGIN 1CLEAR; 1SETUP; 1STAFFM':IF (ANSWER='M ') OR (ANSWER='MELO') THEN /BEGIN 1HARMONIC:=FALSE; 1CIS:=1; 1TOPVOICE:=0; 1CHANGEMODE; 1PLAY; /END -(1); 1FOR LL:=2 TO 5 DO 1FOR KK:=1 TO 7 DO 3BEGIN 5ANSWER[1]:=CHR(KK); 5ANSWER[3]:=CHR(LL+ZERO); 5ANSWER[2]:='N'; 5NOTELEELSE NOPE; ,'C':IF (ANSWER='C ') OR (ANSWER = 'CLEA') THEN /BEGIN 1CLEAR; 1SETUP; 1STAFF(STAFFN); 1RETURN; /END -ELSE TTR:=ANSWER[1]; 5ACCIDENT:=ANSWER[2]; 5OCTIVE:=LL; 5IF NOTELETTR IN ['A','B'] THEN OCTIVE:=OCTIVE-1; 5NOTELETTR2:=NOTELETTR;NOPE; ,'F':IF (ANSWER='F ') OR (ANSWER='FORM') THEN -FORMAL:=TRUE -ELSE NOPE;  5ACCIDENT2:=ACCIDENT; 5OCTIVE2:=OCTIVE; 5GRAPHICS; 5PLAY; 5SPACER:=SPACER-30; 3END; 1RETURN; /END -ELSE NOPE; ,'D':IF,'R':IF (ANSWER='R ') OR (ANSWER='RAND') THEN -FORMAL:=FALSE -ELSE NOPE; ,'G':IF (ANSWER='G ') OR (ANSWER='GRAP') /OR ( (ANSWER='D ') OR (ANSWER='DRIL') THEN -DRILL -ELSE NOPE; ,'P':IF (ANSWER='P ') OR (ANSWER='PLAY') THEN /BEGIN 1SHOWINTANSWER='GAME') THEN BEGIN 1IF ANSWER='GAME' THEN 3BEGIN 5COUNTER:=0; 5LOOPER:=0; 5CLEAR; 5WRITELN('WELCOME TO SEARCH AND D:=FALSE; 1QCOUNTER:=QCOUNTER+2; 1WRITELN('WHAT INTERVAL WOULD YOU LIKE AN EXAMPLE OF\'); 1WRITELN('TYPE QUIT TO QUIT PLAYING ESTROY. GOOD LUCK.'); 5WRITELN('ENTER SPEED'); 5GSPEED:=NUMBERIN; 5CLEAR; 5CHARACTER:='B'; 5WHILE ORD(CHARACTER)<>Q DO 7BEXAMPLES.'); 1WHILE ORD(ANSWER[1])<>Q DO 3BEGIN 5INPUTLN; 5IF ((ANSWER[1]='T') AND (ANSWER[2]=' ')) OR ETURN; /END -ELSE NOPE; ,'E':IF (ANSWER='E ') OR (ANSWER='EXER') THEN /BEGIN 1WRITELN('HOW MANY EXERCISES WOULD YOU LIKE EGIN 9LOOPER:=LOOPER+1; 9TIME(TIM); 9PUTBYTE(0007B); 9PUTBYTE(CTRLS); 9PUTBYTE(GS); 9X:=ROUND(RANDOM*1000); 9Y:=ROUND(RANTO ADVANCE\'); 1EXERCISE:=NUMBERIN; 1WHILE EXERCISE>1 DO 3BEGIN 5ADVANEXER; 5EXERCISE:=EXERCISE-1; 3END; 1NEXT:=TRUE; DOM*700); 9MOVE(X,Y+4,UP); 9MOVE(X+4,Y,DOWN); 9MOVE(X-4,Y,DOWN); 9MOVE(X,Y+4,DOWN); 9WRITELN(' '); 9GINPUT(TRUE,XIN1DRAW:=FALSE; 1INTDECODE(INTERVAL1,INTERVAL2); 1EXCOUNTER:=EXCOUNTER+1; 1QCOUNTER:=QCOUNTER+2; /END -ELSE NOPE; ,'N':IF (,YIN,CHARACTER); 9TIME(TIM2); 9IF ((ORD(TIM[6])-ZERO)*60+(ORD(TIM[8])-ZERO)*10+ORD(TIM[9])-ZERO+GSPEED> 9(ORD(TIM2[6])-ZERO)*ANSWER='N ') OR (ANSWER='NEXT') THEN /BEGIN 1NEXT:=TRUE; 1DRAW:=FALSE; /END; ,'O': IF (ANSWER='O ') OR (ANSWER='ORDE') 60+(ORD(TIM2[8])-ZERO)*10+ORD(TIM2[9])-ZERO) 9AND (SQR(XIN-X)+SQR(YIN-Y)<=100+SQR(GSPEED)) 9THEN ;BEGIN =COUNTER:=COUNTER+1;THEN /BEGIN 1UPDOWN:=NOT UPDOWN; 1HARMONIC:=FALSE; 1CHANGEMODE; 1PLAY; /END -ELSE NOPE; ,'A':IF (ANSWER='A ') OR (ANSW =CLEAR; ;END; 7END; 5CLEAR; 5WRITELN('HITS: ',COUNTER,' RANK:',SQR(LOOPER/COUNTER)+(GSPEED/2)); 5WRITELN;  LOOPER<500) DO )BEGIN 9ADVANEXER; 9INTDECODE(INTERVAL1,INTERVAL2); 9LOOPER:=LOOPER+1; 9END; 9IF LOOPER>500 THEN ;BEGIN =-IF DRAW THEN /BEGIN 1IF ((NOTEVAL>NOTEVAL2) AND (NOT UPDOWN)) OR 3((NOTEVALNOTEVAL2) AND (NOT UPDOWN)) OR 5DUMMY[1]:=NOTELETTR; 5DUMMY[2]:=ACCIDENT; 5DUMMY[3]:=CHR(OCTIVE); 5NOTELETTR:=NOTELETTR2; 5ACCIDENT:=ACCIDENT2; 5OCTIVE:==((NOTEVAL0) THEN 4BEGIN 1ANSWER[1]:=NOTELETT ?END; =ANSWER[1]:=NOTELETTR; =ANSWER[2]:=ACCIDENT; =ANSWER[3]:=CHR(OCTIVE+ZERO); =QCOUNTER:=QCOUNTER+1; =SETUP; =GRAPHICR2; 1ANSWER[2]:=ACCIDENT2; 1ANSWER[3]:=CHR(OCTIVE2+ZERO); 1GRAPHICS; -END; 1RETURN; /END; +END )ELSE +BEGIN -IF ANSWERS; =ANSWER[1]:=NOTELETTR2; =ANSWER[2]:=ACCIDENT2; =ANSWER[3]:=CHR(OCTIVE2+ZERO); =GRAPHICS; =RETURN; ;END; 7END; 3END; ='TRIT' THEN ANSWER:='T '; -IF ANSWER[1]='T' THEN ANSWER:='T '; -PUTBYTE(VT); -WRITE(' '); -IF INTVALUE(ANSWER[1IF (TOTALEX>60) AND (UNITN>0) THEN 3BEGIN 5RESET(MUSDATA); 5FOR COUNTER:=12 TO 12*UNITN DO 5READLN(MUSDATA); 5ADVANEXER; 1],ANSWER[4]) < INTVALUE(INTERVAL1,INTERVAL2) -THEN WRITELN('>') -ELSE WRITELN('<'); +END; )WCOUNTER:=WCOUNTER+1; 'END #EN5TOTALEX:=0; 3END; /END -ELSE NOPE; ,'S':IF (ANSWER='S ') OR (ANSWER='SHOW') THEN /BEGIN 1PUTBYTE(VT); 1WRITE(' 'D; PROCEDURE SELECT; VAR JJ : INTEGER; #BEGIN (* SELECT PROPER INTERVALS FOR SPECIFIED UNIT *) %IF (RESETUNIT) OR ((TOTA); 1WRITE(NOTELETTR,ACCIDENT,OCTIVE:1, 0' ',NOTELETTR2,ACCIDENT2,OCTIVE2:1); 1INTDECODE(INTERVAL1,INTERVAL2); 1WRITELN(' LEX>60) AND (UNITN>0)) THEN 'BEGIN )RESETUNIT:=FALSE; )TOTALEX:=0; )IF UNITN>0 THEN ',INTNAME); 1QCOUNTER:=QCOUNTER+1; 1NEXT:=TRUE; /END -ELSE NOPE; ,'X':IF (IDNUM=0) AND ((ANSWER='XREP') OR (ANSWER='XCLE'))+BEGIN (* REPOSITION MUSDATA TO CORRECT UNIT *) -RESET(MUSDATA); -FOR COUNTER:=12 TO 12*UNITN DO -READLN(MUSDATA); -ADVANEX THEN RECORDS -ELSE NOPE; ,'J','K','Q','V','Y','Z':NOPE; +END )ELSE NOPE; 'END %ELSE 'BEGIN (* SEE IF RIGHT INTERVAL NAER; +END 'END; %ANS:=FALSE; %EXCOUNTER:=EXCOUNTER+1; %IF FORMAL THEN ADVANEXER %ELSE %FOR JJ:=1 TO TRUNC(RANDOM*3 + 2.0) 5((ANSWER[1] IN ['P','M','N']) AND (ANSWER[2] IN ['2'..'8'])) 7THEN BEGIN 9INTTEMP:=INTNAME; 9INTDECODE(ANSWER[1],ANSWER[2])ME WAS GIVEN *) )IF (ANSWER[2] IN ['1'..'8',' ']) AND (ANSWER[1] IN ['P','M','N','T']) +THEN BEGIN -INTTEMP:=INTNAME; -INTDE; 9ANSWER:=INTNAME; 9INTNAME:=INTTEMP; 7END; 5LOOPER:=0; 5IF ORD(ANSWER[1])<>Q THEN 7BEGIN 9WHILE (ANSWER<>INTNAME) AND (CODE(ANSWER[1],ANSWER[2]); -ANSWER:=INTNAME; -INTNAME:=INTTEMP; +END; )IF ANSWER=INTNAME THEN +BEGIN -RIGHT; -ANS:=TRUE;   WE BEGIN THE ACTUAL MUSIC PROGRAM *) %INITIALIZE; %WHILE NOT BYE DO 'BEGIN )WRITELN('DO YOU WANT INFORMATION\'); )INPUTLNDO ADVANEXER; %INTDECODE(INTERVAL1,INTERVAL2); %PLAY; %WHILE (ANS=FALSE) AND (NEXT=FALSE) %DO QUESTION; %IF ANS THEN ANSCO; )IF ANSWER[1]='Y' THEN +BEGIN -INFO(TRUE); -INFO(FALSE); +END; )WRITELN('WHAT IS YOUR STUDENT ID NUMBER\'); UNTER:=ANSCOUNTER+1; %SPACER:=SPACER+35; %NEXT:=FALSE; %DRAW:=TRUE; #END; PROCEDURE UPDATE; VAR JJ,FIDNUM,FANS,FTRY,FWCOUN)IDNUM:=NUMBERIN; )IF IDNUM=0 THEN +BEGIN -UNITN:=1; -NEXT:=FALSE; -LENGTH:=4; -FIRST:=FALSE; -DRAW:=TRUE; +END )ELSE TER : INTEGER; %NOWRITE : BOOLEAN; #BEGIN (* UPDATE MUSREC TO NEWREC *) %RESET(MUSREC); %JJ:=IDNUM-1; %NOWRITE:=TRUE; +BEGIN -UNIT; -CLEAR; -SETUP; -STAFF(STAFFN); -RETURN; -FIRST:=FALSE; +END; )WHILE NOT BYE DO SELECT; )WRITELN('WELL,G%WHILE (IDNUM<>FIDNUM) AND (NOT EOF(MUSREC)) DO 'BEGIN )READLN(MUSREC,FIDNUM,DAY[1],DAY[2],DAY[3], )DAY[4],DAY[5],DAY[6],DAY[OODBYE FOR NOW.'); )IF (NORM) AND (IDNUM>0) THEN )UPDATE; 'END #END. 7],DAY[8],DAY[9], )DAY[10],RUNS,DUMMY[1],FANS,DUMMY[2],FTRY,DUMMY[3],FWCOUNTER); )IF IDNUM<>FIDNUM THEN )WRITELN(NEWREC,FIDNUM:1,DAY[1],DAY[2],DAY[3], )DAY[4],DAY[5],DAY[6],DAY[7],DAY[8],DAY[9], )DAY[10],RUNS:1,DUMMY[1],FANS:1,DUMMY[2],FTRY:1,DUMMY[3],FWCOUNTER:1) (ELSE NOWRITE:=FALSE; 'END; 'IF NOWRITE THEN WRITELN('ILLEGAL STUDENT NUMBER...NO DATA RECORDED.') 'ELSE 'BEGIN )DATE(DAY); )WRITELN(NEWREC,IDNUM:1,DAY[1],DAY[2],DAY[3], )DAY[4],DAY[5],DAY[6],DAY[7],DAY[8],DAY[9], )DAY[10],RUNS+1:1,'/',FANS+ANSCOUNTER:1, ('/',FTRY+EXCOUNTER-1:1,'/',WCOUNTER:1); )WHILE JJ>0 DO +BEGIN -READLN(MUSREC,FIDNUM,DAY[1],DAY[2],DAY[3], -DAY[4],DAY[5],DAY[6],DAY[7],DAY[8],DAY[9], -DAY[10],RUNS,DUMMY[O^1],FANS,DUMMY[2],FTRY,DUMMY[3],FWCOUNTER); -WRITELN(NEWREC,FIDNUM:1,DAY[1],DAY[2],DAY[3], -DAY[4],DAY[5],DAY[6],DAY[7],DAY[8],@DAY[9], -DAY[10],RUNS:1,DUMMY[1],FANS:1,DUMMY[2],FTRY:1,DUMMY[3],FWCOUNTER:1); -JJ:=JJ-1; +END; 'END; #END; #BEGIN (* NOW  B*VOL1+VOL2); %CONVERT(10B*VOL3+VOL4); #END; PROCEDURE PLAY; CONST CRYSTAL = 3872000; VAR NOTEOPER,NOTEOPER2:INTEGER; COUSE; )QCOUNTER:=0; )STAFFN:=1; )UNITN:=-1; )JUSTLOOKING:=FALSE; )FORMAL:=TRUE; )TOTALEX:=0; )RESETUNIT:=TRUE; )NORM:=TRUENTER,TOP : INTEGER; FREQ:REAL; #BEGIN %UNCODE(NOTELETTR,ACCIDENT,OCTIVE); %NOTEVAL:=OCNOTE-21; %FREQ:=27.5*EXP(LN(2.0)*NOTE; )DRAW:=TRUE; )ANSCOUNTER:=0; )EXCOUNTER:=0; )CIS:=1; )TOPVOICE:=0; )VOL1:=6; )VOL2:=6; )VOL3:=6; )VOL4:=6; )QUIET; VAL/12.0); %NOTEOPER:=ROUND((CRYSTAL/FREQ-2)/4); %UNCODE(NOTELETTR2,ACCIDENT2,OCTIVE2); %NOTEVAL2:=OCNOTE-21; )CHANGEMODE; )TIME(TIM); )DATE(DAY); )SETRANDOM(ORD(TIM[9])*100+ORD(DAY[9])*1000,ORD(TIM[8])*10000); )SKEY:=0; )COMP(SKEY);%FREQ:=27.5*EXP(LN(2.0)*NOTEVAL2/12.0); %NOTEOPER2:=ROUND((CRYSTAL/FREQ-2)/4); %IF ((NOTEVAL>NOTEVAL2) AND (NOT UPDOWN)) OR  (* TURN OFF S-KEY INTERRUPT *) )ZERO:=ORD('0'); )Q:=ORD('Q'); 'END #END; FUNCTION INTVALUE(INTERVAL1,INTERVAL2:CHA'((NOTEVAL0) AND (X<27) THENF HARMONIC THEN FOR COUNTER:=1 TO LENGTH DO NOOP; %PUTBYTE(DC1); %WRITE('H@A@A'); %IF HARMONIC THEN 'BEGIN )PUTBYTE(DC1);  'BEGIN )OUTPUT':=CHR(X); )PUT(OUTPUT); 'END %ELSE %IF (X>32) AND (X<59) THEN %PUTBYTE(7600B + X - 32) %ELSE 'CASE X OF)WRITE('H@A@A'); 'END; %PUTBYTE(7645B); WRITELN; #END; PROCEDURE INITIALIZE; #BEGIN (* INITIALIZE CHECKS DATA FILES AND S )0:PUTBYTE(7401B); )27:WRITE('['); )28:WRITE('^!'); )29:WRITE(']'); )30:WRITE('''); )31:PUTBYTE(7404B); )32:WRITE(','); ETS INITAL VALUES *) %RESET(MUSDATA); %IF EOF(MUSDATA) THEN 'BEGIN )WRITELN('PLEASE GET MUSDATA'); )BYE:=TRUE; 'END )59:PUTBYTE(7661B); )60:WRITE(':'); )61:PUTBYTE(7662B); )62:WRITE('^''); )63:PUTBYTE(7674B); 'END; #END; PROCEDURE CHANG%ELSE 'BEGIN )CLEAR; )WRITELN('WELCOME TO THE HARMONIC INTERVAL PROGRAM.'); )HARMONIC := FALSE; )GRAPH := TRUE; )FIRST:=TEMODE; #BEGIN (* CALL TO CHANGE THE MODE THE BOX IS IN PRESENTLY. *) %PUTBYTE(DC1); %CONVERT(4*CIS+TOPVOICE); %CONVERT(10RUE; )BYE := FALSE; )ANS := FALSE; )SHOWINT:=TRUE; )LENGTH:=4; )RESET(INPUT); )WCOUNTER := 0; )UPDOWN:=FALSE; )HELP:=FAL  [4]:=INTERVAL2; +END; *'N': BEGIN -INTNAME:='MINO'; -INTNAME[4]:=INTERVAL2; +END; 'END; #END; PROCEDURE INPUTLN; VAR KK15; ,':':CONVERT:=27; ,';':CONVERT:=28; ,'<':CONVERT:=29; ,'=':CONVERT:=30; ,'>':CONVERT:=31; ,'\':CONVERT:=32; +END; 'E:INTEGER; #BEGIN (* READ ONLY FIRST 4 LETTERS OF INPUT LINE *) %KK:=0; %ANSWER:=' '; %IF NOT EOS(INPUT) THEN 'BEGINND; #END; #BEGIN (* GINPUT GETS X AND Y CO-ORDINATES FROM GRAPHIC INPUT MODE *) %PUTBYTE(0007B); %PUTBYTE(4000B); %PUTBYT )READLN; )WHILE (NOT EOF(INPUT)) AND (NOT EOLN(INPUT)) DO +BEGIN -KK:=KK+1; -IF KK<5 THEN ANSWER[KK]:=INPUT'; -GET(INPUTE(4000B); %IF GIN THEN %PUTBYTE(4033B) (* GRAPHIC INPUT MODE *) %ELSE %PUTBYTE(4005B) (* ALPHA CURSOR POSITION *); %PUTBY); +END 'END %ELSE 'BEGIN GETSEG(INPUT,0); )WRITELN('PLEASE TYPE SOMETHING BEFORE YOU HIT A CARRAGE RETURN.'); )INPUTLN; TE(4032B); %GET(INPUT); %CHARACT:=INPUT'; %GET(INPUT); %HX:=INPUT';GET(INPUT); %LX:=INPUT';GET(INPUT); %HY:=INPUT';GET(INP)QCOUNTER:=QCOUNTER+1; 'END; #END; FUNCTION NUMBERIN:INTEGER; #BEGIN (* NUMBERIN RETURNS THE NUMBER THAT A PERSON TYPES IN UT); %LY:=INPUT'; %WHILE NOT EOLN(INPUT) DO GET(INPUT); %X:=32*CONVERT(HX)+CONVERT(LX); %Y:=32*CONVERT(HY)+CONVERT(LY); #EN*) %INPUTLN; %IF ANSWER[1]=' ' THEN NUMBERIN:=0 %ELSE IF ANSWER[2]=' ' THEN NUMBERIN:=ORD(ANSWER[1])-ZERO %ELSE IF ANSWER[3]D; PROCEDURE SPEED; #BEGIN (* SELECT SPEED OF DICTATION *) %LENGTH:=-1; %WHILE (LENGTH<1) OR (LENGTH>99) DO 'BEGIN )WR=' ' THEN %NUMBERIN:=10*(ORD(ANSWER[1])-ZERO) + ORD(ANSWER[2])-ZERO %ELSE IF ANSWER[4]=' ' THEN %NUMBERIN:=100*(ORD(ANSWER[1]ITELN('WHAT SPEED DO YOU WANT THE EXERCISE'); )WRITELN('TO BE PLAYED AT\ USE ANY INTEGER BETWEEN 1 AND 99.'); R):INTEGER; #BEGIN (* INTVALUE PRODUCES A NUMBER WHICH INDICATES HOW FAR APART THE TWO NOTES OF THE INTERVAL ARE. *) 'CASE IN)-ZERO) %+ 10*(ORD(ANSWER[2])-ZERO) + ORD(ANSWER[3])-ZERO %ELSE NUMBERIN:=1000*(ORD(ANSWER[1])-ZERO) + %100*(ORD(ANSWER[2])-TERVAL2 OF ('2': IF INTERVAL1='N' THEN INTVALUE:=1 )ELSE INTVALUE:=2; ('3': IF INTERVAL1='M' THEN INTVALUE:=4 ZERO) + 10*(ORD(ANSWER[3])-ZERO) %+ ORD(ANSWER[4])-ZERO; #END; PROCEDURE GINPUT(GIN:BOOLEAN;VAR X,Y:INTEGER;VAR CHARACT:CHAR))ELSE INTVALUE:=3; ('4': INTVALUE:=5; (' ': INTVALUE:=6; ('5': INTVALUE:=7; ('6': IF INTERVAL1='M' THEN INTVALUE:=9 )ELSE ; VAR LX,HX,LY,HY : CHAR; FUNCTION CONVERT(LETTER : CHAR):INTEGER; #BEGIN (* CONVERT TEKTRONIX CODE TO DECIMAL *) %IF LETTINTVALUE:=8; ('7': IF INTERVAL1='M' THEN INTVALUE:=11 )ELSE INTVALUE:=10; ('8': INTVALUE:=12; 'END; #END; PROCEDURE INTDECER IN ['0'..'9'] THEN %CONVERT:=ORD(LETTER)-10 %ELSE 'BEGIN )CONVERT:=1; +CASE LETTER OF ,' ':CONVERT:=0; ,'''':CONVERT:=ODE (INTERVAL1,INTERVAL2 : CHAR); #BEGIN (* DECODE INTERVAL NAME FROM THE DATA FILE REPRESENTATION *) 'CASE INTERVAL1 OF *'P2; ,'?':CONVERT:=3; ,'$':CONVERT:=4; ,'B':CONVERT:=5; ,'_':CONVERT:=6; ,'"':CONVERT:=7; ,'(':CONVERT:=8; ':BEGIN -INTNAME:='PERF'; -INTNAME[4]:=INTERVAL2; +END; ('T': INTNAME := 'TRIT'; *'M': BEGIN -INTNAME:='MAJ0'; -INTNAME,')':CONVERT:=9; ,'*':CONVERT:=10; ,'+':CONVERT:=11; ,',':CONVERT:=12; ,'-':CONVERT:=13; ,'.':CONVERT:=14; ,'/':CONVERT:=  MAJ2,PER4,MAJ7,PER8'); )WRITELN('2 MIN2,MAJ3,TRIT,MAJ6'); )WRITELN('3 MIN3,PER5,MIN6,MIN7'17:WRITELN('7 MIN2,MAJ2,MIN3,MAJ3,PER4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,PER8'); 18:WRITELN('8 MIN2,MAJ2,MIN3,MAJ3,PER); )WRITELN('4 MIN2,MAJ2,MAJ3,PER4,MAJ7,PER8'); )WRITELN('5 MIN3,TRIT,PER5,MIN6,MAJ6,MIN7'4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,PER8'); 19:WRITELN('9 PER8,PER4,MAJ7,MAJ2,MIN2,MAJ3'); 110:WRITELN('10 MIN3,TRIT,PE); )WRITELN('6 MIN6,MAJ6,MIN7,MAJ7'); )WRITELN('7 ALL INTERVALS - LEVEL 1'); )WRITELN('8 R5,MIN6,MAJ6,MIN7'); 111:WRITELN('11 MIN2,MAJ2,MIN3,MAJ3,PER4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,PER8'); )WRITELN; )QCOUNTER: ALL INTERVALS - LEVEL 2'); )WRITELN('9 PER8,PER4,MAJ7,MAJ2,MIN2,MAJ3'); )WRITELN('10 =QCOUNTER+18; 'END; %UNITN:=-1; %WHILE (UNITN<0) OR (UNITN>11) DO 'BEGIN )WRITELN('WHICH UNIT 1 THROUGH 11 DO YOU WANT\');  MIN3,TRIT,PER5,MIN6,MAJ6,MIN7'); )WRITELN('11 ALL INTERVALS - LEVEL 3'); )WRITELN; )UNITN:=NUMBERIN; )QCOUNTER:=QCOUNTER+2; 'END; %RESETUNIT:=TRUE; %IF NOT FIRST THEN NEXT:=TRUE; %FORMAL:=FALSE; #END; PR)QCOUNTER:=QCOUNTER+18; 'END; %UNITN:=-1; %WHILE (UNITN<0) OR (UNITN>11) DO 'BEGIN )WRITELN('WHICH UNIT 1 THROUGH 11 DO YOOCEDURE STAFF(STAFFN : INTEGER); VAR IX : INTEGER; #BEGIN (* DRAW A STAFF *) %IF GRAPH THEN 'BEGIN )SPACER:=140; )FOR Y:=U WANT\'); )UNITN:=NUMBERIN; )QCOUNTER:=QCOUNTER+2; 'END; %RESETUNIT:=TRUE; %IF NOT FIRST THEN NEXT:=TRUE; %FORMAL:=FALSE;0 TO STAFFN DO +BEGIN -YY := 550-(Y*150); -FOR IX := 1 TO 5 DO /BEGIN 1MOVE(0,YY+16*IX,UP); 1MOVE(1000,YY+16*IX,DOWN); /E #END; PROCEDURE STAFF(STAFFN : INTEGER); VAR IX : INTEGER; #BEGIN (* DRAW A STAFF *) %IF GRAPH THEN 'BEGIN )SPACER:=140ND; -IF ODD(Y) THEN FCLEFF(Y) -ELSE GCLEFF(Y); -BAR(0,Y);BAR(1000,Y); -MOVE(0,350,UP); +END; )IF SHOWINT THEN +BEGIN ; )FOR Y:=0 TO STAFFN DO +BEGIN -YY := 550-(Y*150); -FOR IX := 1 TO 5 DO /BEGIN 1MOVE(0,YY+16*IX,UP); 1MOVE(1000,YY+16*IX-MOVE(0,700,UP); -PUTBYTE(US); -WRITE('UNIT '); /CASE UNITN OF 11:WRITELN('1 MAJ2,PER4,MAJ7,PER8'); 12:WRITELN('2 ,DOWN); /END; -IF ODD(Y) THEN FCLEFF(Y) -ELSE GCLEFF(Y); -BAR(0,Y);BAR(1000,Y); -MOVE(0,350,UP); +END; )IF SHOWINT THEN  MIN2,MAJ3,TRIT,MAJ6'); 13:WRITELN('3 MIN3,PER5,MIN6,MIN7'); 14:WRITELN('4 MIN2,MAJ2,MAJ3,PER4,MAJ7,PER8'); 15)LENGTH:=NUMBERIN; )QCOUNTER:=QCOUNTER+3; 'END #END; PROCEDURE UNIT; #BEGIN (* SELECT WHICH UNIT TO USE *) %IF FIRST +BEGIN -MOVE(0,700,UP); -PUTBYTE(US); -WRITE('UNIT '); /CASE UNITN OF 11:WRITELN('1 MAJ2,PER4,MAJ7,PER8'); 12:WRITELTHEN CLEAR; %WRITELN('DO YOU WANT TO SEE YOUR UNIT CHOICES\'); %INPUTLN; %QCOUNTER:=QCOUNTER+2; %IF ANSWER[1]='Y' THEN 'BEGN('2 MIN2,MAJ3,TRIT,MAJ6'); 13:WRITELN('3 MIN3,PER5,MIN6,MIN7'); 14:WRITELN('4 MIN2,MAJ2,MAJ3,PER4,MAJ7,PER8IN )CLEAR; )WRITELN; )WRITELN; )WRITELN('UNIT INTERVALS COVERED'); )WRITELN; )WRITELN('1 '); 15:WRITELN('5 MIN3,TRIT,PER5,MIN6,MAJ6,MIN7'); 16:WRITELN('6 MIN6,MAJ6,MIN7,MAJ7');  :WRITELN('5 MIN3,TRIT,PER5,MIN6,MAJ6,MIN7'); 16:WRITELN('6 MIN6,MAJ6,MIN7,MAJ7'); 17:WRITELN('7 MIN2,MAJ2,MI0+(((ORD(ANSWER[3])-ZERO)-4)*7); +END; )FLAGUP:=TRUE; )NOTE(SPACER,Y,YNOTE,NOTEVALUE,FLAGUP); +CASE ANSWER[2] OF ,'N':; N3,MAJ3,PER4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,PER8'); 18:WRITELN('8 MIN2,MAJ2,MIN3,MAJ3,PER4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,P,'?':SHARP(SPACER-12,Y,YNOTE); ,''':FLAT(SPACER-14,Y,YNOTE); ,'X':DOUBLESHARP(SPACER-10,Y,YNOTE); ,'D':DOUBLEFLAT(SPACER-10,ER8'); 19:WRITELN('9 PER8,PER4,MAJ7,MAJ2,MIN2,MAJ3'); 110:WRITELN('10 MIN3,TRIT,PER5,MIN6,MAJ6,MIN7'); 111:WRITELNY,YNOTE); +END; )SPACER:=SPACER+52; (END; 'END; #END; PROCEDURE WRONG; VAR SELECT:INTEGER; #BEGIN (* NEGATIVE FEEDBACK ('11 MIN2,MAJ2,MIN3,MAJ3,PER4,TRIT,PER5,MIN6,MAJ6,MIN7,MAJ7,PER8'); /END; -PUTBYTE(0007B); -PUTBYTE(CTRLS); -PUTBYTE(GSTO THE STUDENT *) %SELECT:=TRUNC(1.0+RANDOM*7); 'CASE SELECT OF )1:WRITELN('TRY AGAIN.'); )2:WRITELN('NO.'); )3:WRITELN('S); -MOVE(0,350,UP); +END; 'END #END; PROCEDURE RETURN; VAR JJ : INTEGER; #BEGIN (* RETURN PLACES THE ALPHA CURSOR WHERE ORRY, THAT"S WRONG.'); )4:WRITELN('TRY AGAIN.'); )5:WRITELN('MAKE ANOTHER TRY.'); )6:WRITELN('NOT RIGHT, CHOOSE AGAIN.'); )7IT LEFT OFF AFTER GRAPHICS MODE *) %IF GRAPH THEN 'BEGIN )MOVE(0,350,UP); PUTBYTE(US); )WRITELN(' '); :WRITELN('I"M AFAID THAT"S NOT RIGHT.'); 'END; %QCOUNTER:=QCOUNTER+1; #END; PROCEDURE RIGHT; VAR SELECT:INTEGER; #BEGIN (*)IF QCOUNTER<14 THEN )FOR JJ:=0 TO QCOUNTER )DO WRITELN )ELSE )FOR JJ:=0 TO (QCOUNTER+20) )DO WRITELN; 'END; #END; PROC POSITIVE FEEDBACK TO THE STUDENT *) %PUTBYTE(VT); WRITE(' '); %SELECT := TRUNC(1.0 + RANDOM*9); 'CASE SELECT OF EDURE SETUP; #BEGIN (* SETUP PLACES THE TEKTRONIX INTO GRAPHICS MODE *) %IF GRAPH THEN 'BEGIN )PUTBYTE(0007B); )PUTBYTE()1:WRITELN('GOOD GOING.'); )2:WRITELN('NICE GOING.'); )3:WRITELN('RIGHT ON.'); )4:WRITELN('THAT"S RIGHT.'); )5:WRITELN('CORRCTRLS); )PUTBYTE(GS); 'END; #END; PROCEDURE GRAPHICS; VAR NOTEVALUE : INTEGER; #BEGIN (* KEEP TRACK OF AND DRAW NOTES ECT.'); )6:WRITELN('RIGHT AGAIN.'); )7:WRITELN('KEEP UP THE GOOD WORK.'); )8:WRITELN('VERY GOOD.'); *) %IF GRAPH AND DRAW THEN 'BEGIN )IF SPACER>950 THEN +BEGIN (* CLEAR THE ALMOST FULL SCREEN *) -CLEAR; -SETUP; -STAFF(ST)9:WRITELN('GOOD JOB.'); 'END; #END; PROCEDURE DRILL; VAR NOTES:ALPHA; #BEGIN (* DRILL THE STUDENT ON READING THE LETTEAFFN); +END ELSE %BEGIN )NOTEVALUE:=8 DIV LENGTH; )IF ANSWER[1] IN ['A','B'] THEN ANSWER[3]:=CHR(ORD(ANSWER[3])+1); )IF (RS OF NOTES *) %SHOWINT:=FALSE; %CLEAR; %WRITELN('NOTE READING DRILL.'); %WRITELN('RESPOND PLACE TO POSITION NOTE WITH CRANSWER[3] IN ['1'..'3']) OR )((ANSWER[1] IN ['A','B']) AND (ANSWER[3] = '4')) THEN +BEGIN (* BASS CLEFF *) -Y:=1; -YNOTOSSHAIRS'); %WRITELN('OR LETTER TO IDENTIFY DRAWN NOTES.'); %INPUTLN; %CLEAR; %IF ANSWER[1]='P' THEN 'BEGIN )CHARACE:=ORD(ANSWER[1])-5+(((ORD(ANSWER[3])-ZERO)-3)*7); +END )ELSE +BEGIN (* TREBLE CLEFF *) -Y:=0; -YNOTE:=ORD(ANSWER[1])-1TER:='A'; )WRITELN('TO PLACE A GIVEN NOTE, ADJUST THE CROSSHAIRS ON THE SCREEN'); )WRITELN('(USING THE DIALS ON THE SIDE OF TH >CORRECTY+52 THEN 1ANSWER[3]:='5' 1ELSE 1IF YIN>CORRECTY-4 THEN 1ANSWER[3]:='4' 1ELSE 1IF YIN>CORRECTY-146 THEN 1ANSWER[3NEWREC,JJ:1,' 00/00/00.000/000/000/000'); 1JJ:=JJ-1; /END; -QCOUNTER:=QCOUNTER+4; +END 'END %ELSE 'BEGIN (* GENERATE ]:='3' 1ELSE 1ANSWER[3]:='2'; 1IF ANSWER[1] IN ['A','B'] THEN 1ANSWER[3]:=CHR(ORD(ANSWER[3])-1); 1SETUP; 1GRAPHICS; INSTRUCTOR"S REPORT *) 'CLEAR; )DATE(DAY); )WRITELN('STUDENT PROGRESS REPORT. ',DAY); )WRITELN; )WRITELN('ST1RETURN; 1COUNTER:=COUNTER+1; /END -ELSE -COUNTER:=4 -ELSE /BEGIN 1SETUP; 1RETURN; 1WRONG; /END; +END )UNTIL CHARACUDENT LAST TOTAL TOTAL TOTAL MEAN ? OF'); )WRITELN('ID ? RUN RUNS RIGHE TERMINAL) UNTIL THE'); )WRITELN('HORIZONTAL LINE IS PLACED ON THE STAFF AT THE PROPER PLACE.'); )WRITELN('THEN HIT ANY CHARATER='Q'; 'END %ELSE 'BEGIN )WRITELN('A NOTE WILL BE DRAWN ON THE STAFF, AND YOU ARE'); )WRITELN('TO RESPOND WITH THE LETTERCTER KEY (EXCEPT A Q) AND THE RETURN KEY.'); )WRITELN('TO QUIT THE DRILL, TYPE Q AND A RETURN KEY.'); )SETUP; )STAFFN:=1; )S OF THAT NOTE. IF '); )WRITELN('CORRECT, A NEW NOTE WILL BE DRAWN. TYPE QUIT TO STOP.'); )SETUP; )STAFFN:=1; )STAFF(STAFFNTAFF(STAFFN); )RETURN; )REPEAT )FOR COUNTER2:=1 TO 4 DO )NOTES[COUNTER2]:=CHR(TRUNC(RANDOM*7 + 1.0)); )WRITELN('PLEASE PLAC); )WHILE ORD(ANSWER[1])<>Q DO +BEGIN -ANSWER[1]:=CHR(TRUNC(RANDOM*7 + 1.0)); -ANSWER[2]:='N'; -ANSWER[3]:=CHR(ZERO+2+TRUNCE THE FOLLOWING NOTES: ',NOTES[1], (' ',NOTES[2],' ',NOTES[3],' ',NOTES[4]); )QCOUNTER:=QCOUNTER+1; )COUNTER:=1; (RANDOM*5)); -DUMMY[1]:=ANSWER[1]; -GRAPHICS; -RETURN; -INPUTLN; -QCOUNTER:=QCOUNTER+1; -WHILE (ORD(ANSWER[1])<>ORD(DUMMY[)WHILE (CHARACTER<>'Q') AND (COUNTER<=4) DO +BEGIN %IF QCOUNTER=0 THEN BEGIN SETUP; RETURN; WRITE('PLEASE PLACE THE FOLLO1])) -AND (ORD(ANSWER[1])<>Q) DO /BEGIN 1QCOUNTER:=QCOUNTER+1; 1IF ANSWER[1]<>DUMMY[1] THEN 3BEGIN 5PUTBYTE(VT); 5WRITE('WING NOTES: '); FOR COUNTER2:=COUNTER TO 4 DO WRITE(NOTES[COUNTER2]); WRITELN; QCOUNTER:=1; END; -CORRECTY:=640+(ORD(NOTE '); 5QCOUNTER:=QCOUNTER-1; 5WRONG; 3END; 1INPUTLN; /END; -IF ORD(ANSWER[1])<>Q THEN /BEGIN 1RIGHT; 1SETUP; /S[COUNTER])-10)*8; -GINPUT(TRUE,XIN,YIN,CHARACTER); -IF ((YINCORRECTY-4)) -OR ((YINCORRECTY+52)) -OR ((YINCORRECTY+108)) -OR ((YINCORRECTY-90)) -OR ((YINCORRECTY-146)) -OR ((YINCORRECTY-202)) -OR (ORD(CHARACTER)=Q) THEN -IF ORD(CHARACTANSWER='XCLE' THEN 'BEGIN (* GOODBYE, OLD CLASS RECORDS... *) )NORM:=FALSE; )WRITELN('CLEAR RECORD FILE ... ENTER PASSWORD')ER)<>Q THEN /BEGIN 1ANSWER[1]:=NOTES[COUNTER]; 1ANSWER[2]:='N'; 1IF YIN>CORRECTY + 108 THEN 1ANSWER[3]:='6' 1ELSE 1IF YIN; )INPUTLN; )IF ANSWER='CATS' THEN +BEGIN -WRITELN('HOW MANY STUDENTS\'); -JJ:=NUMBERIN; -WHILE JJ>0 DO /BEGIN 1WRITELN( = DC1; +PUT(Print); +Print^ := chr(Driver); +PUT(Print); +Print^ := DC2; +PUT(Print); +READLN; 'END !END.  JunJulO^(.r)w New date: P---SP ġHSPSSSSS*~~š  ~n  T EXERCISES REPLIES/ANS'); )WRITELN; )RESET(MUSREC); )REPEAT )READLN(MUSREC,FIDNUM,DAY[1],DAY[2],DAY[3], )DAY[4],DAY[5],DAY[6],DAY[7],DAY[8],DAY[9], )DAY[10],RUNS,DUMMY[1],FANS,DUMMY[2],FTRY,DUMMY[3],WCOUNTER); )WRITE(FIDNUM:2,' ',DAY[1],DAY[2],DAY[3], )DAY[4],DAY[5],DAY[6],DAY[7],DAY[8],DAY[9], PROGRAM TRYMUS(Input,Print,Output); !VAR Print : TEXT;  DC1, DC2 : CHAR; +Driver : INTEGER;   !BEGIN %DC1 := chr(17); %DC2 := chr(18); %FOR Driver := 32 to 126 DO 'BEGIN +Print^ : 7 E@ 7U@w&E5!7 5@p7w i7 d7w 7 \E`E `EՀW  `E e `&& `E e `&Ew V-t@N pazE J3 E@ >8 63(?( E@ -7\?Հ~EՀ~ 7  ҂ ~ E e `  ~7,   E7 w wU &    #7 7 7 E7L    @ ` &e%C~  Gd7&z   78H 76zv x7 vEl7 h v7 rEj7 f \wRU W "7 27 0 ,Z 2*E@ $&?W wN B  6 E E78 ~  w U@w > 6 & 7  ~w ?  "& > Bd`Z  %  D~ " ~ E D~ D C~ %  D~  ~& U@ w>Ez7 vw0d ^prAA~E e @`& E&~AA~E e @`&AA~E e @`  tvf zfwftfqfnfkfhfefbf_f \f"Yf$Vf&Sf(Pf*M J  `v` t @L A@@A tBt J@ P ``f~ ``A~ GDA>;852/ ,")$&&#( *eeee e  ҇ : ``&& `  E e @a&&6E e e& #   EezN EEE7 lEB~ &z e @a&E e @a e8\J@&$@`@`$fH@7`e w22\##TN7 ' @>\7 ' ``WtB  aBE B<  wN E`C~ B~UE 0f 6&z  eN E8@ 6E LU@t7`t P  ?~BE B @Wtw`T& B~Lz& & E N\Et& B~ &- _ 6_ 8/efAA"w  >e UB~  Ձ@  a a!~F@  B~ ~  6 V   . < B H ` h n t * z P  &,28>DJPV\bhntz +\ vw-e@ BCzEG@HPtJ$LM nO(kQRChTV `hn`hn@`a@ ."@X%\% x"."@ ."bc Z J 焵W!cY_[\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ouEw7x߄z @|Η}½  & &L&J  @ @7&  &E7 v7 |7 x|7 l7 V6  @` dd&`f&d&b& w @ w|>3& w& w׭D >\ 2   \  W  m e5`\wBe w5 5@ \ɋE 5\zwt Please put program disk back in drive. Type . wN  AF-2.*$^A@A\\..ww. m e w e wvr@p@`jJ`RPK ww WFl   mAF! &ffD e w5 wDeZ+@-.028D"0> ND'RRAY,EGINASEONSTIV'OOWNTOLSE ND XTCfB@B Ew40e7CvvERN/ORILE.ORWARD"UNCTION OTOFN)ABELOD'OT&F R(THERWIS0ACKED+ROCEDURROGRAM!ECORD-@ @5@ C@ e E`E``B~A EwwDw j  -EPEATET*EGMENT!HEN OYPENTIL ARHILEITH%,5=CI\x@`@`( 7$]   P~P~NPP  W  ~~%` wU  @E  @74WE w$E 7P `!~eί%@ eAp6% "1, 1,1,^  5 7 WaWaw( n qw[7^7X, :)wOwGF5 1 ^A 5^A&Daef  09E A Z 톃 > ѕ  w=& E  E?j?\ŸbE R7`  jN $> FD@  R~@A @`e eJ  C~C~~ afe-   ~tqji5 :?1 ,I SB~ B~ *6<BFbnz~$04:DL".X4: | . f ~ (  (  % C~C~c7 ( & @  z7 ( 7 (7 l(7 f%7 )7 j%7 &7  @W V Em&@W VE  t`  U&E w e Eftt\& \\r1@\[?\ ew & ?U?*@ڪAD C % e E e' e*-&EE e 7 -e E T    @  f&\   B -  e \z\D f C_  fW & @&F :  t w` 1T p'& _w E  tw2>.$j@ PE Ґ~7 &f-_ tjU \@@&JE Uz ]Ej `7 IC7 B7 ],-% "]|-v r x-j$#` j  _~]T@ &f D U=78w.w%w7B DI~A< | r P _ !B  #E %M~ & E7 , .   & ? 8  -$# 7  7  ?7  @E  avu7 mw7 _w7w ,Ujf WW  E@~H~U@_ v  j f&? Z$pll7 jEZ7 VU@:@J @U777\% eC ~% C ``` e7 r w6U  ($y $;_&aŀ7 P@? -z @]- r% ` r @t< -X%$ ' -X%$ -G n@l]hT f ^ Z_P, @@T$   - e6_ 8 ED@ .4&7 .E7 ##@&f# e`\"t!e E7 _ wU K E|7 xvv v:e2#eE~PPXXxhPXpx$V R-NVD &fEʝ@$$W V  x  נw$w w ʕtʕ  Q~EmHU ez\& Dr)&& 5 F 8   UU e0   W U@e@ E\   5@5@7 X^%%b%&&&'%%%%'b%'b%'b%'b%&'&'b%"&'"&V&f&\   @ \fEA#& e@ & f& f& f7 &b%6+ ff w   &@&  "@@eB@m>AmNPP  P~P~m>m R @5 @@eBA Am f&f+  -7 7 ||w r7 r,ff,Z7 Z CptE`LJe%DeE -** "; & w -[@eBA Amu-f&f& w-BB~ 5 >wfff& w-'W-)m-   ` ~ m- ` ~-, W-$%W/ !5W->>f= 2fwFw :eԇ   5  \ < L f <wX7V H` <> 0 <0. w (w $,,,,, et   p t `mwe%E&&&7 D''(N''D'&^%T''b%&b%b%&4'b%:'''e\\;@\ \N @   =@f&ysE[\ : 7 t7m||7 xrE^7Z7P 7NLL7 Hev 6 8pCf&f&\% a @w   6 6 &  f 6A  v  6N\ze   wt  $--{.7vP @ 7v7vx7vee\\\ N A f C %C B    \ w  D& &&@~m m7vwt{. wvPA 7tx7vx 7th7vhxrP.\.Z.f.......ff 7 b%(D& && 6  A7 ^&(d&^%((d&(^%)(('()'b%'b%'b%'b%'( e\ \S\w w   w :}v6 u-@>m5 <w@6@>6@>6- e& @7 b%)(e\X)f& \:יc&>X4%]@& & & & & D&&D&&  @eB@m>AmNPP  ~~m>m ?@eBA Am @ f&f& w-r5 @ @%7 r&)  IA e e@ e& & & & & D&&e #@  f&f& w-a 5 >fff& w-LW-NW  @W~0fwh@ @6 7 &(*6 6 #?%-0 @ ׳f&& @׳@f&7 '^%!5 ,0fwHW# :W-$@  >0fw   e*^%&*f&f&7 l'*'b%'b%'b%'b%'b%b%*b% (*   \+f& \ e\>:L]L?ƪff w :w2v6 @ @m5 "@>m5 6w|@6@>6@>6- w V-t@N pazE J3 E@ >8 63(?( E@ -7\?Հ~EՀ~ 7  ҂ ~ E e `  ~7,   E7 w wU &    #7 7 7 E7L    @ ` &e%C~  Gd7&z   78H 76zv x7 vEl7 h v7 rEj7 f \wRU W "7 27 0 ,Z 2*E@ $&?W wN B  6 E E78 ~  w U@w > 6 & 7  ~w ?  "& > Bd`Z  %  D~ " ~ E D~ D C~ %  D~  ~& U@ w>Ez7 vw0d ^prAA~E e @`& E&~AA~E e @`&AA~E e @`  tvf zfwftfqfnfkfhfefbf_f \f"Yf$Vf&Sf(Pf*M J  `v` t @L A@@A tBt J@ P ``f~ ``A~ GDA>;852/ ,")$&&#( *eeee e  ҇ : ``&& `  E e @a&&6E e e& #   EezN EEE7 lEB~ &z e @a&E e @a e8\J@&$@`@`$fH@7`e wJ12\\##TN7 6& @>\7 6& ``WtB  aBE B<  wN E.C~ B~UE 0f 6&z  eN E8@ 6E LU@t7`t P  ?~BE B @Wtw`T& B~Lz& & E N\Et& B~ &- _ 6_ 8/efAA"w  >e UB~  Ձ@  a a!~F@  B~ ~7 E@ 7U@w&E5!7 5@p7w i7 d7w 7 \E`E `EՀW  `E e `&& `E e `&E  `hn`hn@ 4`>a>@T @## @\ b>c> Z J 焵W!cY_[\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ouEw7x߄z @|Η}½  & &L&J  @ @7&  &E7 v7 |7 x|7 l7 V6  @` dd&`f&d&b& w @ w|>3& w& w׭D >\ 2   \  W  m e5`\wBe w5 5@ \ɋE 5\zwt Please put program disk back in drive. Type . wN  AF-2.*$^A@A\\..ww. m e w e wvr@p@`jJ`RPK ww WFl   mAF! &ffD e w5 wDeZ)+L-d/28D"0> ND'RRAY,EGINASEONSTIV'OOWNTOLSE ND XTCfB@B Ew40e7CvvERN/ORILE.ORWARD"UNCTION OTOFN)ABELOD'OT&F R(THERWIS0ACKED+ROCEDURROGRAM!ECORD-@ @5@ C@ e E`E``B~A EwwDw j  -EPEATET*EGMENT!HEN OYPENTIL ARHILEITH%,5=CI\x@`@`( 7$]   P~P~NPP  W  ~~%` wU &f&f7 U   0ɝ^& _E7 `!~eί%@ eAp6% "1, 1,1,^  5C DE!:7  7aehD A   aw7e:wXP@P7n@eI70 ^A 5^A&Daef  09E A Z 톃 > ѕ @wnM)w\ 7 , ßz 5U$ J  E    FD@  R~@A @`e eJ  C~C~  7 7  @  27 !ׯ+U E `    ͋DB~ B~ *6<BFbnz~$04:DL".X4: | . f ~ (  (  % C~C~c7 & & @  z7 & 7 &7 &7 #7 >(7 #7 B%7  6 V   . < B H ` h n t * z P  &,28>DJPV\bhntzv)\ vw-e@ BCzEG@HPtJ$LM nO(kQRChTV  .   & ? 8  -"0" 7  7  ?7    E@ N A f C %C B    \ w  D& &&@7 #'D& && 5|w 5B N  5 , W#D  7W ΁?Zw w   D5H5 ~H~U@_ v  j f&? Z6#pll7 jEZ7 VU@:@J @w6U    :@ S~ e&-"wn.5) 5|w 77 :  .-&($y $;_&aŀ7 P@? -z @]-< -# pU`E@ wHw . FU@ 6# ' -#6# -G n@l]hT f ^ Z_P, D@ .4% eC ~% C ``` ez - e6_ 8 E E&7 .E7 0"0"@&fj" e`\!e:e2"7 _ wU K E|7 xvv vV R-NDeE~PPXXxhPXpx" &fEʝ@W   x6#6# נw$w w ʕtʕ  Q~EmU 5 F ez\& Dr)&&\    8   UU e0   W @e@ E@W  E5@5@7 X#d$#>%z$z$j&P$Z$Z$Z$j&#j&#j&#j&#n$6&$j&#$j&$$f&\  \& \m@&@W E  t`  U&E w e Eftte E \r1@\[?\ ew & ?U?*@ڪAD C %     @ e' e*-&EE e 7 -e E Tw`  f&\   B -  e \z\D f C_  fW & @&&&&7 %j&&%rjD`|PE Ґ~7 &f- ],-6&%>%#%j&#>%##>%%#%j&%e\\;@\ \N @   =@f&ysE[\pCf&f&\%% "]|-v r x-j"0"` j  _~]T@ &f D U& E7 , a @w   6 6 &  f 6A  v  6N\z\\\  et   p t `mwe%E : 7>>$$$~$~$$>> >&&228DD800   $~$|888 t7m||7 xrE^7Z7P 7NLL7 Hev 6 8e  ~888``0 @@<@@>`PHD~@@>>@@B<|>BB<~@ > BB>BB>~~wt{B- wvPA 7tx7vx 7th7vhxr,,,,n,---(-n,ff w w>"rBB^@BBB~BBB>> ">B""B~BfZBBBBBFJZRbBBB>~BBBRr~@>BB>BBB< 6  A7 ^>%R'$#\'R'$f'#l'R'R'j&'j&#j&#j&#j&#j&D' e\ \S\ e& @7    w :}v6 u-@>m5 <w@6@>6@>6- @eB@m>A#'('e\'f& \:יc&>X4%]@& & & & & D&&D&& @%7 rmNPP  ~~m>m ?@eBA Am @ f&f& w-r5 @ f&f& w>%(  IA e e@ e& & & & & D&&e #@  -za 5 >fff& wf-PLW-NW  @W.fwh@!5 ,@6 7 >%(6 6 #?%-0 @ ׳f&& @׳@f&7 j&#,)#>%(f&f /fwHW# :W-$@  >:L]L?ƪ@ \fEA# w :w2v6 @ @m5 "@>m5 6Bw|@6@>6@>6- "@@e& e@ & f& f& f7 >%#) ff w   &@& )  r+7 B@m>AmNPP  P~P~m>m R @5 @@eBA Am f&f& w-[@e7 ||w r7 r+ff*Z7 Z CptE`LJe%DeE -** "; m-   BA Amu-f&f& wl-VBB~ 5 >wfff& w6- 'W-)W-$%W/ !5` ~ m- ` ~-"+ և  W->>f= $1fwFw e 5  \ < L f <wX7V H` <> 0 <0. w (w $^++++"+ ýýýݽݽCHAR Ч-BOOLEAN Ч,STRING Ч(TEXT Ч+SMALLTEXЧ* ۦMAXINT Щۢ /ۢۢFAýýÿ۽LSE TRUE ,ٚ ۦNIL Щۢ )ۢۢۢ9 9ئ Щآ آ8 ϟÿŹýý8ئ Щآ آآآ7 7ئ Щآ آآآآآ6 6ئ Щآ آآýŹýýýŻآ55ئ Щآ آ آآآآآآآآآ44ئ Щآ آآ آآآآآآآP٩ء  ޢޢ ءޢޢޢޢ \READ READLN WRITE WRITELN EOF EOLN PRED SUCC 4 0  F2 PASCALCO ORD SQR ABS NEW UNITREADUNITWRITCONCAT LENGTH INSERT B<@B<~BBBBBB<BBBB$$BBBBZfBBB$$BBBBB$~B B~>> 0``|@@@@@|" ERROR COMPINITFINISHCODECLARATBODYPART <@\B|:FBF:BBBB>pp`> ہہǻ//٢٢..٢٢--٢٢,,٢٢))٢٢**(٢(ý8TT8٢٢-++,٢,٢٢-( (٢P٢٢٢/٢ ٢ ٢-٢P٩  @@ ýýýÿýߢ ؚߢ (٩ ޢ ,ޢޢؚޢ @INTEGER Ч/REAL Ч. SE ODD ЩCHR ЩTRUNC ЩROUND ЩSIN Щˡh 6P?1ˡ 11á \TCOS ЩLOG ЩATAN Щ LN Щ EXP Щ SQRT Щ #######YX! \*    ; Al؟آآآآ#Щ ########ЩIORESULTЩUNITBUSYЩPWROFTENЩUNITWAITЩUNITCLEAЩ آ AZMMOS Pascal Compiler [ Version ZBZ ]Z(C 1?> ;l؟HALT ЩMEMAVAILЩWWȡ0ܹܳ, XX /X-/ XX .Xآآآآ آ11آآئPROGRAM Щآ آآآآآ?آآ آl1w.q/h, XX /XM.GB:/1/rnW c\C?$>8ݡ  8>hpF v  8$ P?1ˡ 11á \T XXXXݡXX؟ˡYYYX ښXؚ<p WYX! \*    ; Al؟آآآآȡ*WˡW&ؚآ(Wآ&ثWWˡ WWF X 0:32$#!"'%Ɓ-?́.*SYSTEM.SYNTAX"á'Ɓ. Ɓ/Pʁ.ʁ.áƁ/ZƁ/Z ZE& @IFEK?JD >BǁNJ PͦPROGRAM Щȡ'Pؤڢrror #Z Zr^^^Dˍ^D^ثA ZIá Z1I I Iڢ Щ/ h8dh`|dLt\XڂڕZڕǴZ <---< Error!ZZError # Z Z in ͦPROGRAM Я Z main prograTBxP تP"ˡBZ Can't open ZZ.ZZmZ procedure ZWˡZ , in file ZWZZ/Compiler: Continue Detail Edit QDELETE COPY POS MOVELEFTMOVERIGHEXIT IDSEARCHTREESEARTIME FRV8ZZ Compile: ƂPƂƂPŴ*Ƃ*ƂPƂ*.TEXTUƂ*/ILLCHARDISPOSE SYSINFO REWRITE CLOSE SEEK RESET GET PUT SCAWTEXT̂*Ƃ*ƂPƂ*.PMD[20]XƂ*PMD̂*Ƃ*ƂPƂ*.CODEUƂ*CODE/ˡǑN BLOCKREABLOCKWRIDRAWLINEPAGE SIZEOF DRAWBLOCGOTOXY MARK RELEA @H aXXYYˡYإ e YYYإآXآ آ "آY uit &ٳAaZٹRZ^D^A^WP*SYSTEM.EDITOR.P%Qǐč  " "ˡߢ á áb^ XDEZXٳZG   ZIá Z1I I I ǔ   ߢ ˡk {ߧ(Äd  ާ/á4ڂڕZڕǴZ <---< Error!ZZError # Z Z in ͦPROGRAM Я Z main prograō P Pˡ ߧ(   ߟˡiߢ   ǔ ޚmZ procedure ZWˡZ , in file ZWZZ/Compiler: Continue Detail Edit Q   ߢ ˡk ߟˡ/á&ˡ .áǏ š f ߚ ˡ AáE EGG fZ??ȡTP?š=ZSegment Z٢Z Z worٟ%4b ڟ˶~hڧ/ڧ.˄2ġ%ɡ܂8ds.Z??ZF Z linesGš[Z, ZG< Z seconds, ZGF Z lines pɡ۸oq6Y @š  ڢ ڢڢڢer minute. .ZZC" Z identifiers left. ??ȡP?????ȡ1/ ł ڢڢ ˡ   ٶ˄/ڣ %ڣ áڢڣ ڣ Ȅ ڢڢP?ȡ٢ ??H%/ZErrors in Pascal program.Z٢٢٢á   ٢ ٢٢٢' ' á  2| G fZ??ȡTP?š=ZSegment Z٢Z Z woráU  ˡ8ȡ,. m   ء n   ds.Z??ZF Z linesGš[Z, ZG< Z seconds, ZGF Z lines p ł      ˡ  o   er minute. .ZZC" Z identifiers left. ??ȡP?????ȡ1٢٢ ٢٢   ˫ á (  š P?ȡ٢ ??H%/ZErrors in Pascal program.Z öń ˡ%      ł  # ˫d ddá lˡ  0  ߚ  Í ii   áN   +á*L L    *. آˡ\ޚ˄< Í á ޚٟm h ` ``V,( $#$%(+-"1357   hlˡTáÄ Ä%á Ä ÄǠ ٟáX #Tl؟ٓˡ Ǧ ٓ ۢۢۢáإآ آآآآآ;آJآ?>>JǕá JJáآآ  ߟá ޟˡޢ  ˫ڢؚ   ˫ ˡ á ۥ ˡ ál ߟˡ áá%   áۢ ۢۢ) Ä  آ ٚآ# ؟a" V   آآg' ' á)  إآ  آ0آ  ˡ á ݥݢ ݢ) Ä ڢ ۚ0ٟˡ)گ 0$ ˡ ˧   l     آآآآآ0ˡآ0# 0ˡu 0p 1 ݥ   ˡ?ȡ/.á m /á Ǖ  q ˫ ݢٚݢݢ ݢݢ;L L˫L    ˡ  ál  %ȡآآ آ آ ˡGٟˡ>ݢ ۚݢ܂á۟ˡáݢllؚ# L    ȡ ǎ  ض  ás   á 0ˡu 0)- 8  áw @ ! ˡ0Ŷ/Í.Í s .ár   آآˡ(ضš ǩ @á  ˡ 6  ߚ; .   آآ á  ˡ , ,  ( (˫\   ˡááy  ȡ 䏂ߟˡ   r  ɡ l؟آ   ł   آlآض آ( (á(@ !)  áááá!áˡ&Wݍ PK"'6,#&:!<>*$ rG˄ &A ˡE=a r R   z>$ *  ; KءJ?/= /+8:ˡǐ ';"=?72!XˡjP &ǐ I %2*ˡ" << < $ Y؟ˡڦINPUT Я ڦOUTPUT Я qڢ  کۢ +g ("XE7 |؟ˡB٣ á٣ á%٣  2;٣ ٣ ٣  *ۢۢۢ;ۢ٢llٚڦINPUT Я ٫3٫2 ##á'٣  6;٣ ٣ Pˡˡ NJ  ˡ ˡq ˡáááá!áˡ&Wݍ P J˶ 8  !    ˡ  šNj ˡC,á !Ȅ 3ǔ $ȡ 'ǀٿ:ǀ &á(ڢ  @$ńˡ  &ˡˡ nj ˡ qˡCأá.ˡ(أ á أ  أ š? ˡ ?JǏ oڢȡڢق  @ǀ 3áná šˡ ۚš$ ġx xء`& Ǐ @? >?J >š J Ǐ á P? áá _ٳ0d@ HJ'ÍȄ'á ؂ ؂ #Ȅ؂ $á 5; K ܣ K;ɡ;;  ɡ: lޡܚ  خ @MÍǀ   Gڳáقšخáخǀ  خjáޓܢۚo ޓܢۚáPá4ޡz ܢ ݚݟˡ x ܢ  Mخaǀ Ȅ ?á(ܢá  .ޓ{ Rޡǡ ܢ "Ú ; KءJ?/= ܢ9á ܢSá ܢ ة á&ǀ  ȡ > << < $ Y؟ˡڦINPUT Я ڦOUTPUT Я qڢ  کۢ + N  ,ˡLJ !خ ٢`m ۢۢAá8`mɡ1ɡ! ɡ9S *ۢۢۢ;ۢ٢llٚڦINPUT Я ٫3٫2 ##خ? b á ا;"ˡk.˄)á.á33 áá|ˡtÍ` -Ä Sخ ááǏ ˡńICELICXLKCVAZS11T #VAˡˡ}  ˡǏ  CVACELICELI%á/Ǎ X X- á  7ܮ.d$á ˡ/*%3ö9 ˡ(á!-á" á -Ä Há=ءǚ á/-á'Bݢ ݢB (  ˡ} ( x" ٟáǯ ˄ٮ"ág ˡF/  7. %%-  } ˡ' áˡ át á"  ڟáǞ eˡǢ WˡQ ٧˫áٮ &ˡ(ȡ.ڳAa .Íǟ < -ٟˡ á t ߮خ < ,5P(2ö7.ˡ(á!-á" á۟áǰ ˄ۮ&؟ ,0,,; FتP,,ȡ,ټ"ˡ /ˡ} ˡ -ˡl ȡaáWáMá&ǀ ȡ  Ǐ ( ˡ   á&&}  {ټ ne/_ټ"RټE@> .ACEIKLRSTVXZ&qod]ˡ /ˡ  ا/á ١ ا.á9%١á#" ˡ /ˡ} kا-á ١ZYNC,,NMTCRAˡ ˡt $á0!á 1؟ˡأ á أ  ١G 'ˡݕ١ܮܮá١} ˫áۮأ } } R8خ2خ"ɡٮ2خ˫5 'ޣ á ޣ ˡǐ áٟá~ "ٟ˄ڟˡ٣ áȡW-Ä  á ǘ  ٣ %٣ ǐ $٣ 2٣ ٣ Í٣ Ä٣ á" ٣ ٣ɡ šث ( ٚv 2خ CELICELI.2 ˡń lأأ áأ أ !أ á'أ  6;أ أ l٣ɡ ٣šث٫ l VAˡ ˡ} áqcNORMAL Я ILOCK áأ ;á'6أ أ 2أ أ Íأ Äأ á" أ أ <أ ˡǖ أЯ 2PURGE Я CRUNCH Я  !"ˡ çg  أ  :ˡń,, X; XXáǏ } <CELI C=7ˡ -ˡǏ   "#(K=95$" ˡǎ ګ+á ág á ˡǎ ǚ  ǎ ٟˡˡٟˡ~ ޣ áVޣálj Ȅ        욶 lj ˫ޣ ?ˡ Mޣ ޣ 4ޣ áBޣ %ޣ ;áNޣ ޣ áOޣ .ޣ ޣ ޣ ˄ޣ )á .BBB BBBNeqs{1T: "ˡ ˡ} á  ? Ю á l*< TT.ܣáܮ&ܣá ܮˡá/ˡ#á-ؓÄǏ } 3ˡ3ǯ ضÄ,~+أ áأ  . á- (  p á Q0 ˡát ݳ"o" ݹ&'+ˡáás ˡ ġ} /ˡ,ˡ LJ *1&#$%&d O TO&NM$~0Äخ/á.á} /ˡ/á.á} /ICVACELICELICELIS5.ICVACELICELICELIS6. dž "2À0'á  0 ܟ˄{eܧ//Ä0,ܧ..Ä >/  ˡ /ˡ}    dž 4,.2)/2"/2,2l,% "  ///Äڮ CXLICELI.  / VACVACELS2. VACVACELS3.VACVA7,..Äٮ ö خ dž R3 (` /! /áS7. CVACVATS8. VAICVAIS9. VACXLCELS10.*!"#$!VACVACELICELICELICELICELICELIS12.á dž (á\  / ܟ˄+33, .2 d .%%VACVACELICELICELICELICELICELICELIS13.XLICELI.VAS32.sVAS33.e;--ˡەˡǁ ؚ,4-)á -Íˡ ȡ  dA>%  ~K:)' }qޡ )o~ ~/á .- -Í ˡ ȡ ܟ˄á+á   ǁ  ǂ ˡ, 4/á ا.$,Äخ dž ".  آآá   P4  a ܧ.á ܧ,á  ǃ  DŽ  á <ç! &/ڧ. . (C Ä +&Pˡݕˡˡ Lj    Ȅ    áN     9š  ݟáޟá XL2"*;C.@Y؟ˡVٶ D٦INPUT Я ٦OUTPUT Я CONSOLE:Ю ٮ ? Ю  خ 5P˫ 5خ EG V< ٮ @ خ 6ˡW áN٦INPUT Я ٦OUTPUT Я (2٣ ? Ю ٦INPUT Я  El؟ˡLu  $  ˡ ǃ 6ǃ  #Dž  o2!,5859ٮخ @=á^  ;Ä   Ǜ ؟ˡŧ. Ǐ 411*0#7/ 3."+ǁ , /^xx,@خ3  AáWˡ>ˡǐ 0 ! ؟ˡç! Ǒ 3 ˡ ō á - ˡ ȡ ٟ˄/á.  .ޡJ-Ä ǀ@ˡsˡǐ e V ؟ˡç! 8߮  6š(6ˡ-  -˄Pˡǁ ٫٫ nS! S HBޡ*٣á40Ǒ 7 @ !65 á9߮ \ )(&(ǒ :\>K<"ǁ % f6lˡ l˶>á  7Bخˡ}áq ɡd lálۢۢۢ08lá'J V8#i8١9W8ȍٓǧ =lڤá  áۢۢš nj ˫65ڕ ٕ ?#ájlۢ آ\|75P˫ 8: B9ޤˡlޤߟˡ4 á%ǥ š  ǧ ġUD} ٮ 4 5 á 9خٮ 5خ ٮ ^: 9ٟˡ٧.Í ǐ P ˡݹG<ܣá ܮ6N9J7F:B;>=:<6>2?.     ٟˡj [ܟˡ#ȡáǜ  ܚ `>86060.H !& N3N ^5ڟáVEڧ/á$ڧ-áڧ.ߚ۟áښǓ ˫5Pڟˡ9˫ڧ,á!A LjAکѢٚѢ ػў(B؟ˡY٣ 0á9ڟˡ9  ݟˡ ݚܟá ,  Ä˄<٣ AB# ٣ Bġ٣ BCCfCš?KBġl! `  2H 6 f h~X8h  !("X"""#6$$L%%&%'(()*.ˡ1  09Ȅ á EáQ  -á   +á 09Ȅ +(,:--..N/n/".//00 11>2~2F*ˡ)( á   ͦ??ɡ áK ȡ2 䂾7ń  䂾0 #ث  ȡ  䂾0??????ЩFEll ˡ  D5P˫ Xl  ġ 䂾0ڕ$ ȡ 䂾0  á $ $$ˡK2 ؟ˡ+أ á$Yݟˡ  ؟áV!أ áA - áF   b>􂾹 }*á * /Dá ISWˡDWWW//أDأ أI/DˡǑ Ǒ á á D .á  =á  '((') 2ڣ 2ڣ á -á,áET dDl  ˡ# `mˡǨDlڟá lؚ8؞áe á ؞á٢ؚ٢ ؚآ آ<bFF   ġáأأKáI á á P P XBڢ١  ڢō  ; &&P?@@K@ ;ȡZ ˡ0Z;ȡ Bڢڢ ڢڢ􂾿'á'ˡڢڢ%ڢá ڢ B BZ Z*System*Z Z words code,Z Z words data.Z("  Z ids left. +ö-Í +ë á 'ˡǚ 􂾶ˡ *á W٢"٢ I٢$DWZ@ vF#   (CɡC؟ˡةأ ˡáˡ{ ؟áآ(WW&ؚثWW٧B٢&/"ˡ0.TEXT#/"ˡǓ D(ńU 2 6 0 *ˡ)( á   ͦ??  $áˡ۳aA,Í + ۹\+ë"}ڳ0??????ЩFEll ˡ  D5P˫ Xl f+ë_[-ë T+ë!M-ëF-ë!!!"*( bdeiqrsutoZUSNID ,ˡ  ˡK2 ؟ˡ+أ á$Yݟˡ  ؟áV!أ áA - áF áá)}Í /1.:<t6 ' 09ō.á;" á ڟˡá -Ä   h2 hG \P  ƄƄZƄƄ/Ɓ%R +`(" R  VX&b6Ph%á9á-$ ާ( ޢޢ ǁ񨀁 إ  (`á  áX 4á   <ˡ<Ä  L<ˡ; Kݣ &ˡ:ާ/á á(ާ.áá ᚹi J#áá /إ /$áá .إ J?<!< <=L<á< < <ݢݢ ݢ1ݢ ݢ;ݢKݢݢܚ <ánX j   ޚ T ۟ˡ áڟˡ áá۟ڟÍác\OƄƄCONSOLE:Ƅ?ƄZƄCONSOLE:ƄZ?ƄƄ/?Ƅ/ƄW?ƁƂ? tۧ+ڧ*Äڧ+ۧ*Ä]ۧ)ڧ)ÍP D;ZCompTypes case errorZkSH>ur1   / EDITOR G ġ ؿ  INITIALIFINISH ENVIRONMBLENDZAPEDITCORE $šۂٞقق؍-áˡǒ ٕo~Jġ@ؤ? J P?@@&> R؟ˡ}٣0j٣ ác٣     =>#) )=á    áǐ  { á\٣WuZZ*** Forward Procedure ZZ undefined ***ZZ#  "$&(*,.2468:<_K-.$moqsuwy{}# np<==$á l <<ˡ<á  <<\<BAM I"$,ٟˡإˡ؟؟ˡ<á   <ˡ<Ä  L<ˡ; Kݣ &  ġ=lڟˡ)áڣc 'g  'Dh 947(6J?<!< <=L<á< < <ݢݢ ݢ1ݢ ݢ;ݢKݢݢܚ <ánX854ښ á !ڧ-áˡ <\OƄƄCONSOLE:Ƅ?ƄZƄCONSOLE:ƄZ?ƄƄ/?Ƅ/ƄW?ƁƂ? #  Blend Go Marginize Set Typeset View Zap ?P65 B A @?>= <;65ȡ ٶšٶ.š $á  $$<%ERROR WHILE READING ABCDFGIJL M P Q R STVXZ,>.+-?/=<á(FILE$File too long to fit in editorX$%Reading D%٢7٢:٢ 9٢8   B@09ȡ cbc .l$ؓا . Please enter:   *format.codeë#46 ƓƓ?>Edit:PƓ*:system.syntax"á'  A file name or number. for ¦Dn' Ɠ'̓̓̓ʓʓʓ˄̓ʓáʓ̓ʓPʓ ʓ0̓ʓ̓ew file to exit.:DȡD؂D؂ .ʓˡ,' ʓ ʓ̓ʓá ʓ̓ʓáMʓ̓ʓ ˡ:̓ƓPƓ QƓPTEXTDD˥DȍDDP.TEXTUPD˲.DP is not present. bPʓʓ̓Ɠ Pd'|ɡ ؿ $ š f زȄڡ؂ڡ ؂0ړزōٶȄ WP٤_* ȡ2؂ á ٧Bá á :  R á PDPf DªPš DPPDH+     vB ɡ ! Files on volume  : ȡ.ؤ á <  $ڂ˄,ŶڂBÍق ūق=ۢ5ڂPۤڤȡ0.ۤPۤڤ H  ī , cɡ  * øڤ.šɡڮ ɡخ we{ ɡ..ȡ]ؤP.TEXTš ػٳ قػ0 ?ɞ(ǔń 3F"ˡx .?!! DISK READ ERROR - BLOCK NUMBER ## LOST !!?Щ. $ 0% 0. .%%ٗڪP"R)KEd: Adjust Copy Delete Find Insert Jump Page Quit Replace Xchng ?P)KEd: 0 ȡض 2Ų ø"ˡ؂8$ 4Error # . Type  . Type  áآآ4  . ɡu  YY ġ  . f\ !š ! +S?P% * š  ق ۂ0+)systerm:š%C+ :DšDSSPD*á *:P:PW9WP+"á Volume not found!+% Caution:7( The file overflowed the editor.%*  $.Edit:PWPړ˄Íڡc"& HȡػǀػThere were read errors on blocks ٥%]ڡ and %6٥%  thru $2#cd ȡ"eؤ Щؤ^   ٧$š of the file.mH #@ Tȡûȭ' %ˡ% cb (&)?*:system.eTD Quit: U8 Update D andnv.text"á&%P B$ ȡ0ȡe٤؂e٤؂ áTȡ leave. Exit without updating.+ Return to the editor without updating.+ Wû򥂯ȭ&ne ~'  WV#AZ#az#09# #BB#N((rite to a file and return to editing. E6 Save copy string to a file and return to editing.#$ cá' cˡ$Ǟˡ ǞB"  2) Format the file. x Name of output file ء-(  . Type  áآآn> for D )  : ءDP?.TEXT˲ȍ P% * š  ق ۂ0+)systerm:š%C+ P.TEXTUP V š  ق ۂ0ٶɡ& Í  " š*v|J6P< , ^ * : $ &  ٶɡ@PئPˡ( QP0 /R<  x  0Z^V +' cˡ$Ǟˡ ǞB"  2)11++P+[Q+ǡ+]Ǣ+"ضÚZš$1Yˡ% pvtJT J>vX `$ ۡx "DP2  characters, @C % full.*! ( ** File overflowed editor ** )W Error while writing filešk Bad file namefNot enough room for fileFNo Patterns:. find = 'Xǀ'W- , subst = 'Vǀ' such volume0Error while writing file s`BD6 (*:format.code,D^dšG2Markers:d  ȡ<eؤ+Z[ 8EnvironmenءTrueFalse.  ڳ@ T or Ft: { options } Quit to leave [ Edit 819.:0; ] >P  "  .ɡ8Y Y. R1ڳ@TÚTrue False  ݳ is   characters long. : Writing 󫂮Cɡ ݂0ݳȄܓM> Must be in range [ .. ]Y cYb1Yˡ t òD$Ą11 >ݧ7Íܡޚ  ا:á {ETX}F á {CR}5اBá {TAB}" ɡ^ @Do you want to: Exit from the editor Return to the editor  ؿFš rئؾɡ% ؾٿٮ  EÚ 8 خb11"áI alre\áؾC P Auto indent  Filling  Left margin ady exists. Overwrite it? Yáۡx "DP2   Right margin   Para margin   Delimit cha Error while writing filešk Bad file namefNot enough room for fileFNor  Seek tokens  Ignore cases  Go sequence \ such volume0Error while writing file s`BD6 (*:format.code,D^ȡ؂\D File is unnamed File is D, editing P`81Y?#=9 2 )%!EFRSUW1:,%71+ Cycle   Editing time <  hrs. <  min. & šVOɡJ  & " CESZ"*\RT Qá \D ضضčȍás2w  ŧ ȍV á    Eá Tr(T&@j  ɡ*  Tab Spacing:  Y |S ? š ȍȡȡ؎û PATabs: Set Clear Zap Evenly Quit P  á  ]|   Fȡ ȡ 1234567890!C   عN á   4<    -á   5! 򕀑š򕀕 RPšA'Zap: Delete more than 80 charac@ Ä Ä n v á E á        áters ?   YáVƂ3Ƃ[? Blend in file:P  .TEX\  ɡV ɡG     á        T   ȍ" ̂[Ƃ[ PƂ[.TEXTUƂ[PƂ3Ƃ3 ̂[Ƃ[ Can't find Ƃ[ [Ƃ[. Blend in filehtɡ 󕂫   "B ګ  򥂝򥂟򥂠򥂡򥂞 򥂤 ~+Go sequence: enter commands, type \ t: lƂ[P"á ġá BlendingƂ33ٞ"ˍړ@.o end    ., ADFGILPRSr|:< 3 ۂ ء3۞ۂ ؍١ Disk errorءBuffer overflowߕ܂ *ZZ@Oȡ# |. + > Oȡ| & Ƃ3d " *0|$   .TEX.ɡ* |ɡ*  Tab Spacing:T   ȍ" ̂[Ƃ[ PƂ[.TEXTUƂ[PƂ3Ƃ3 ̂[Ƃ[ Can't find Ƃ[ [Ƃ[. Blend in fileȡ؎û PATabs: Set Clear Zap Evenly Quit P : lƂ[P"á ġá BlendingƂ33ٞ"ˍړ@.ȡ ȡ 1234567890!C   عN šš ض؂ ؂ ضń*ؕض؂ ˡ'  t6Jump: Beginning End Marker to cancel  ع1  3 #ا7Bá(ť  F X !ˡBEM?/!ا7$ n; Setڡ"0اdɥeؤ  ġ á  b ?á H9 Íɡ ȡ7 : 'e٤'5All markers are in use. Which one to replace? (0..9)P 8 f! ġ ! 02 з  eؤؤddMeJ(8Set: Marker Z á9@B 98:7?+@B á ?98!Eǀ  Environment Tabs to cancel   "7ˡEMT#'7 " "     A T< šK 맀á 9)99á   \#؂ȡ  ! 8$ ɡX á  0 á& aANǀ뿶    š   ˡ# P%-   ٕاġ$ > á  󂾸0EXchange: text accepts -á-ؕ ؞ ق ٫ ګ  % U to cancel  á' á:7 ˄:77á(؂\& !  MInsert: text a char a line to accept to cګ "2} 󕕸ɡ!No room to insertancel  ˡCš,á " :78 06 ë ><.  ݂ Ą Invalid copy݂ġNo room h7˄'   |! ݂ȡ%Ʉ ݂݂   :Äˡ   7Í    ] Jump to١Wاdeؤ eؤ  Not thereؤ  Vȡ cڶġX />Editor almost full!!   ڶ š Editor Full!!( ? á&ȡ9 9!Bá $Ą&$Ä9˄ >Ą܄ 8Ʉ- ɡáĸ  š-ħ Í  +#x á %f8áOȡ% ˡ#ݡm   ?á  *f á:ń1 á  ġ  ø / :77á ث  0 ȡˡˡġ  ȡ  ەYs 5 6 7؂ɡ삾Ä؂ _š *dCX'  & 4X)ɄBuffer overflow8ˡ ؂  "ګ ڂ٥Ač<e |* ث 9  BAdjust: Left Right Center to accept ) ,š'&,š'X-š ˫  اȧf5 Vá9Lܹ397ڕ9)ڕ9;3#ġ,'R. ġ-. ) çÍ '9٧9٧ <9Bڕ91ڕ9 + ˄ m j+ 6ɡ- ۂ ۂؕە+9ɡ+.á'K@2:ˡ$O .0:á۫IB6^> 8ȡ3 |/اń   /L3ĥڷ D2 X:   `; 6&7"76 Z0اȄ0 ɡášĶ + *$" ( <2`4\0X1T5NšToo many5.:*(    1 ]ń> á  ɡ >NLZX(P^ Í á2áá 9 Dá2á A /j~2ث ɡɄ;  á   3m 1`;  ܕášĶ + * ~ 334 ٕ޶ضȡe؂ á2ضń ڂ)ɡ ؂ á!) &;4-&CILTV#<09@ Au7 BXBá2k>   TN Replace:# Yes No to can@ 9@E@ˡEEEEčآE آBy CcelN7á ضPٕšKš9BuffeL"ۂ Lۂ áۂLۂá۶E D ^D@B ár full. Quitting Replace  ɡ"ˡڂ ث |RVR򂧁Vá5o =˶ˍ š ɡń08ELǀ XLZLLaA1L šٮ'=  <    ADelete: Moving commmands to delete to cancel  ) 7x J2c4_0[1W5Q ëTHGT ġ: L ˡ    H`jIG ><$: ;=MKYWSa <7:˄ :7[ š8L ˡ  Hh rJJIÄ ٸ:ádT ۄ!ɡ    ث ۄ! F X  á ZLX@ B    7áث ݶ 7áث , "> >8;Ʉ XXöɄ  X @B .(A  =á%š9Ʉ áB M    áLMFz 9áCš9á9 97átǀ ġhPɡ6ŶÄfáLM   ELǀ XL š DáL á č SÄ,') Qáwr˄ȍ#á ȥ  Än?ɡ?4@@ @ A PYB XK۪(ڪ(  [All] [ ] ءPá  á ~á ڧ;á ǀ ġڧۡڧ˄Kڧá( bdȡ'ڤġڤڤ؂Ʉ ؂"DV ڂ 4ڧá#ڧáڧá j ڳ aA, ٦P ۧ7 ۧ9á3پš!9 9پ jۧ=á/پȡ9٦! قRš؂ LQPءQO ç çW ȧ<پˡ پعO٢T٢G٢8٢+٢?WLA4)K)   áO  #ńPattern not foundNo old pattern >"  تP ><mP / S̀̀̀̀̀ +Find:N,Replace :N 6*R< >m ٪P&>Error: $. Please press?ʀ ʀ J̀@ABÀʀXC áCšSx|  to continue.> áá!RۂB@9ۂáۂ ۂ@á UXء Typeset this paragraph?P Marginize this paragraph?P YáUU ܕTb٥ č'8  ápTȡ؂L ,:V) ?á) ?ˡ ۂ ۂáؓɍń  ٚáء  f݂ hF N -L All: r ɡ݂ەݕ 5 Lڂق؞ڂق؞+ F4PASCALSYFILER X٪Pw((R,`w( & w +XáY< ww" Type to continue: @ ٪ #  á 1 0 ء, ˡ    ߓ^(wPut ww : in unit w w ء  ߓ   ڪ٪ت(ww:w&š :٢٢ ٢"(٢*عI/O device errorPBww --> ww2~  ڪPš rPwR$"ad unit numberPBad I/O operationP Timeout errorPVolume went off-linePFile lost in directoryP Ba ثضÍ& *á.:áww::á wd file namePInsufficient room on volumePdNo such volume on-linePFFile not foundP0 Filer Error!!P w&Pġw -  عowåpT`8 `DعVolume already on-linePFile name too longP File foundPBlocked volume expectedPvsuwLj4R: ڡ&Pɡ w, 2P `쥇File name expectedP!File or unblocked-volume expectedPFile or blocked-volume expectedPFile or volume e á-á &"ˡ~džDžw`۪(#'ء (P 5 ġ&P QPپۿ پš Pۧ7Ú&V ڪPxpectedPOutput space fullPNo directory on volumePWildcard not allowedPWildcards mismatchedPIn Щ what marker? .)-. W-Wȡ-.--- |ƃƃ<valid file or volume nameP%Invalid change of volume to file namePBad destination for files foundPcBlocked volCONSOLE:ƃ?ƀƁ?ƀƀ?  " 5 0   -*umePMUnblocked volumeP53q sN3_K( dɄ&wUnknown I/O error #w63 áƃƀƀprI%t$H`$>d,"8 `n z> wF>uuRؾȡDق }Ȅ-ق ققaATM ,  t': Dڪ(=?*تP(: w/&Pɡ w - ww.'   ȡ 'š% R&=á ?RR۪P..á /ڪPڦP/X.XP./ȡ/P too long\(w&*٪(*Y*XYšYYWZZƀYƀZƀؾWWƀZ(آ* آw what filew what volume ? 00^$š ǀa#yBZYؾZ(-(-X-ZZƀXƀZB7Z-_Z(آ*--ōأ آآ-آ, rHƀƀPǠƀؕƀP$š ǁT  آ,د )ت(&ȡΥ)ȡ/#QP#:: *á *" :á Lv0 (Files on volume 2 (matching patter(Rš2؂\á(P.TEXTUPP"(7n '') $ on  --  ,,"(X|٪0,0#آ"= ǀ99آ 9:9@uFile name Size Last modء8 File name Size Last modz-آ"v۪ڪP뫇ťƥʥ@0~0뫇  of    files,   blocks used,   unused,  ť φت(پ پT*ت(??z* ڪ in largest area.. پ٣ ٢&Zer .٣ -(A?AA&A"|D!š"ɡ#ئ0ZerJa٢&-٣ /á,% ޏޏˡȡrޏݏނ#ނnFebMarAprMayJunJulAugSepOctNovDecBadBadBad(2J$ڂÄ- ȡ2ܮ/ނÄw ނ/ˡ '.{N 0'-w Writing to ȡ4  šɡ%ɡ%|iB % ww ȡw.خ/.'f1CONSOLE:0:y&'0"ˡt ǂ0 T ۿ# ۪ڪ !!ȡ   š"؂SYSTEM.٢ˍB٢ڢ ڢ"٢٢ڢ&$ڢ$٢ - ?>7/4 = :5('wȡڣ*wڢw is a bad name.wR.TEXT@(TrH~š.~~}}~ɡA>I?ow Transfer ww:ww to ww:wڢw ?  ڢ5ڢ(+P(++!<ww already exists. Remove it ?  w 42Directory listing of~yCONSOLE:(9.TEXT(.TEXT-(ǰx5 ?? ǀΥ52@ˡV šIdLjɄ7(w T:@yΦ&('CONSOLE:01.3Ɓ.?ء2ransfer w w blocks ?  ٓS(wHow many blocks ?  ȡ (wInvalid number.3Z +'á*wPut in ww:w&wInsert destination diskw zATransferTozΦHAΥ5@0PX4(r6٪(!Cww! already exists.. Overwrite it ?   *X9˄A š7(wDestr.TEXT-(wCopying ww to wwáoy ww: ?  R:1z#Ä맇ÄÍ6 'wڂɡá:^CInto what file:.TEXT(.TEXT-(9ء5-š:x8ڢ <32$3<2<šw5!@ww! already exists. Overwrite it ?  .D*Join what file? to t8;/#.4./-18;2323Ä00 22 -/.-.ˡ|erminate list: ڂA(P!ءP(wJoin 04 23 /./723 آ6٣ آ$آ8٢٢ö ńآ8 3wwwڂڂؓٓ.wNo files matching that pattern!wf(P!3&2:2& 4=9& ( NO.NAM(.w Can't find wwwču{%EƂƂ?Ƃ.E.TEXT(:0(:0( ǁTEXT('Eʂš3D̂ʂ̂ʂʂȡʂCʂ̂ʂš* fBSplit what file ? @@.TEXT@F DŽť 443233Ä//120>٪(ت(4\@(.TEXT-(UXfGInto what files ? ( for @F .A.TEXT ) : .  Using 494 blocks.wP'Zero directory ofuHŞ&áP}wDestroy volume wƯÄƯʦ zYChange Change toy ǁw: ?  ءE 'Ȅ3w w blocks ?  PءNew volume name ? 00:(ΦUΦY ǃ0͒6 Tȡ6ڣ 00:á 000:Du 0  ť Nw: > N\ƥremoved ,%ġ 'w : zeroed.w  xMPrefix titles byuLá ƪʪ(w Prefix is ww:R^(wRemove ww:ww? آ, أb_RemovewǀbQ'Krunchu@:  ȡؤ  ńwMoving ww S('ȡ?_^ Z]š(wReally remove tháwCopying to ww~ IRJšU~~ɸ~.KU}YSTEM.PASCALڕ#š4ڂڂقڕ#ۚ܂!w?+.A.TEXT(̀'GHKƀJʀ#ġKIJKIš: vFw : krunchedw˥ƶ) ȡˡ`ݤ ނ:.g)r`R٪(! 'wwVersion wBw - w 27-Aug-81wwwVolumes on-line:w ȡ ܤ8ww already exists, replace it ?  *PSڪPġ-- |2Wަw w ww:w ޾޶w System files.޶w Default files.w ٪(ت(Ck?kk(kPk(-kk(kPk(CC-ǐw-BSBIkFilew Characterw-structured volume.www Prefix is - ww:w6 k8 dkk& k&.TEXTWk$.CODEWk$C"V&('wȡA L٪ á)wPut in ww:w ˡCPOO0Oڣ/wڢw is an invalid name.wb??IwChange ww to wڢw ? w0NwNumber of blocks, choose:ww* 494 for Terak single density floppy disksww*1120 f ڢVڢVC X:( ǁXΥVor Terak double density floppy diskswwEnter a number:  ɡ=w(Bad number of blocks.  XU 0Z:DuáqZ Ť/ ><  CFJKLPQRSTVZYVTQOMJHHFDB@@ecebrP@CnAH EC  -ŃqH\ rR*f (Ş(DɄ?č'6g0?gabafQá *0l6@RB. x  "8l>`n2.X$"V,>p h#T"!##$8%%wNo user program linked inw0sP#YS:SYS.text>>|´o¢*RECOVERܯ¤|´%% &:&v''(D)*)&x&f***N++*-.-X-p--./H/`///033,4gc7'nTj+eBaR]+XQTR[NFJ4FLBM ?XT('EʂD.DATA ?TMP.AAR.DATA  ¼Jߺ SYSt wh SYS.TEX><  CFJKLPQRSTVZYVTQOMJHHFDB@@ecebTt8@(C*SYSTEM.COMPILERXfGInt0^ >߼X^ تPR*f (Ş(DɄ?č'6g0?gabafQá *0l6ww.w - ww.wwR@ؾȡ;ق ȡ&ڳ قaA@RB. x  "8l>`n2.X$"V,>p h#T"!##$8%%š nP.<<P<Ǡ`n2.X$"V,>p h#T"!##$8%%Change Transfer Split Join Quit ? d?áRNFiler: List Volumes Krunch Zero Prefix 84 tXPASCALSYUSERPROGPRINTERRREALIO INITIALIGETCMD  ? d_Hء&ؓ0w&( c7'nTj+eBaR]+XQTR[NFJ4FLBM 0 e+ e ܕڂȡ 0.ġ0ȡ:b'ww[@+tˍ"á   "vC˶C ˍ.  NCCC  C C?C  áo ˡá ˲PɄ7̂ƂPƂ QƂ C!!OOPS!!ЩD ^ á{ NIL } 2 * NOT SET *  ^ to PPP _\ )?(š1))ƀƀP).TEXTU)\  CR++ȡ ؂ǀ ɍ  8 %ńAšA''_RDP ȡ ؞&w˶Ä ٢:V -أأȡpInvalid value was أ ,outside range of [أ ..٢&P٢&?ƀƀP.PMDTPæSYSTEM.ō:w-w in System, tأ ]*Invalid value was C ySource string length was أ , exceedo exit+DT Ɓ-?wWrite PMD to file: Ɓ/PƁ/Ɓ/́XƁXƁ/Ps max length of أ  s)In source line: NN tX.TEXTUƁXPƁ/"áź.C?ʁ.ʁ.á́.wInfo writte :   Variables in áprogram module ȡ"C ˡn to wƁ/w)wCan't open file wƁ/w (+DD 'wwDC:C G C C ÍC  ˡ C?wڢ٣ ٣ ڢDŽ *SYSTEM.EDITOR.PNwDC?w0,wȡ.߳ ٦ =   Ȅ٦ Ord( )!BDETUW8H(.''wDump: P w ɍ Hǀ ġ#٦ ''٦ Chr( )a ] Iá  Up Top 0˦Down Bottom  ˦Edit   Write Quit$ B@ ɍŧ7ȡ5ˡ0٦True á٦False  w SA]٦ * NOT SET *- ᓄ ٦ ݊ Bġsá  ȡ%á.ˡ*ɡe    C޶%Ąiw Type to continue. +Xá!C C ÍC1 ɍ- $$؞$%ؑ$  ) ) ? ȡ  P P? <)DQá CƁo?C" C Fw-w. No PMD file. $؂ō$؂ġ؂$$$ȡ&ڂ0ي to exitw+D|تP-++P+ 'S+fl+'m+(<-hardwa$č^.ˡ>  Eɡ  -ؑ šڂ 0ڂ 0ڿlġ-re error(-illegal unit #(-illegal I/O request(-data-com timeout(-volume went off-line(-file lost i؂. ؕ ؂:ؕ0.ؑ0  ؕ؂ 邿ɡ,n dir( bad file nameno room on volumevolume not foundfile not found dup dir entry-file already á +-Í-زs 0 open(- file not open(-invalid input format(- read past EOF(u-write on read file([blocked file disallow.áCزs0۞$زs[eEÍɍ8 <ٓed>- unknown cause()kU;%qY IO error: -(VC  C-Value orɡ ۀ$ ۞$١ ڡ >áá  &jġ- case out of range(-No proc in seg-table(-Exit from uncalled procedure(-Integer overflow(-Division by ze؂. ؕ ؂:ؕ0.ؑ0  ؕ؂ 邿ɡ,ro(-NIL pointer reference(-Program interrupted by user(-System I/O error(-Unimplemented instruction[[ [d[['sآآآ^تٞ&"á  ٤(-Floating point error(-String overflow(-Programmed halt(-String too long(-String index out of rang  ȡ, ؤۦۢ0ۢ ؞& CONSOLE SYSTERM  e(e-Argument out of range(H-Unknown run-time error(*OzdN3cu T8 ' ٟá' PRINTERNULLREMIN REMOUTƁ-`?*V  > ^p  .Exit from uncalled procedure(-Integer overflow(-Division by zeSYSTEM.MISCINFO"á >آ>JآJ RƁ-?*SYSTEM.CHRSET"áhƁ3ǀ́2 ro(-NIL pointer reference(-Program interrupted by user(-System I/O error(-Unimplemented instruction3ʁ3 %ʁ3ǀ ġʁ2ʁ3 ʁ3́3 GRAPHICƁ3 :^f 2 *ʁ,'@Ɓ).TEXTƁ, ʁ, ʁ*ʁ)́+́+́+ʁ+ ́-Ɓ-.PƁ-.CODEUƁ- No workfile,.*wwCurrent workfile is wwwNew workfile name: ....TEXT..CODE.&.á إ.P.Pإ.P.ئؾ.ø//ؾP)Td ++f ff1/#&.00&0:00Pš Name too long00.P0.TEXTU000.P05,0#T +  +آ/ز1/5ȍ آ5آ5.fP. Bad title.CODEU0x7w.w.TEXT is available for editing.w7w.w.CODE is available for run تP.P. P.ww Execute: ...š .P/.++š..ƀ+ƀP= ning.w4 Not foundwNew, empty file assumed.w.Volume not found Bad name(,?w? WORKآآLë!:/A.CODE=+++=ˍ"=̀ƀ=Pƀ.CODEUƀP+.+ Ʉ. .= p -'w蓡%wSystem re-initialized.wnt^HbpSYSTEM.CHRSET"áhƁ3ǀ́2 w wDate is w w-w*w-w  wTjتPww.w - ww.wwR@ؾȡ;ق ȡ&ڳ قaAڳ Aa(قs ق0( 6'*$JanFebMarAprMayJunJCNPڪP.P."á̀̀ʀáʀ.ʀulAugSepOctNovDecP(Date set: 1..31 - Jan..Dec - 80..99)w New date: P---SP"áʀʀá^-̀-ʀȡJ-- č7ʀ`-̀.-̀ʀʀʀʀʀʀʀ--Obsolete code ġHSPSSSSS*~~š  ~n fileHas bad block #0Not a code file*"áInvalid file name Not found4Kc$@w  껶| }}á|  }|!PV ڪP:á̀ƀPƀ:QƀPV-ƀ.text"át*SYSTEM.COMPILERZ*SYSTEM.SWAPDISK(w Compiling ww#5Vƀ ̀VP ʀ̀ʀʀʀPwwVolume prefix is currently ww:ؚ$ww not found.woJتP wR٪P...PwwPrefix file ids by volume:..R.**9wNew volume prefix is ww: .Ǡ.؞"ÚزÚڲۤR ƁƁ)?.P.{`Ɓ*.CODEƁ, aˡNot foundTتPپš',,پá-,-P<ڪP-U?-"3  % M M O S % % Minnesota MicrocomputeD ˄!Dȡwb&&>:&ˡ;ˡ wwr % Operating System % % Version 1.0 Dȡwd'>ˡ=ˡ wwDȡw % %  Date is  w  \(تPw&(::ńw+:+ wT)Jɡšw-ww-w  w % %ɡšww w P&azȄaA:+4N *SYSTEM.INIT"á *SYSTEM.INIT8ˡ*á"'*ުP33ȡ7344 ȡ 34aħ4zȄ 34aA33š*á :.CODE F,? WWȡ   á33á132626ȡ2s3223š#3ȡ6363á3á á\ x~X&V,l P * 8 P N\T6 Date is  w š[33š3333ȡ3š6363á5x5]11á5^1šX533- PMRoot-level: Edit Run Workfile File Xecute Date ? )-+,,?á]LRoot-level: w-ww-w  w % % Compile Prefix Again ? )-+,,?ˡ':&* +*+ȡ **4N *SYSTEM.INIT"á *SYSTEM.INIT8ˡ*á"'*-,P*SYSTEM.EDITORh *SYSTEM.FILERU OJ D@< 84&-, ACDEFPRWX8?.p^.CODE F,? WWȡ   á0><Sˡ>VتPwtR&JanЩFebЩMarЩ!áD ** Memory Full ** to exitP  &f "w   AprЩMayЩJunЩJulЩAugЩ SepЩ OctЩ NovЩ DecЩwError # w w >Já2šwww  š  %% %  áMš1 ˡ ww w áw  ->ˡ ww4   쓡 ! 8 .  Ä{  , Ą:< c@B B Ä $ B B >쓡"á  8"ë á 쓡 $!Ä 1ÄP ǐɄ5ń آأ! Ꟛ  š s #  #å ńC 񂾲s 񂾂0 h2( ! 43P B?B 1BhCCBCń Ȅ"   ÍX Oˡ"  ,ȫ.:CB&CPB& çB&?Ä/BBCCPC[*]SCP  #2  á  넡-  . Í1 š˄  ` CB BB욧B BB CB:CB˄BB˥ń"á  B *   (  d˯7 H" ȡ  uš  gá /Ä+ DDD DDDDɡ$áB B!OB D 0 H$ ġ  *@%ٕš ګ۫ DC DCDDDDDEEEE BBBBBgB>B@ BLJC < 5 .'" id]XSNG@9&83삫Ú< š ^ "á50 / _wPlease put volume ww in #w wpá.ɚ j    ár |4!44##& >  F,ƀƀCONSOLE:wƀCONSOá Q š *š LE:,  F $ t\Tz\BB&P .VP.@ 4V j ɡ 逫-á-32768 Rġ?[00ńN fh4le^:U>LJC < 5 .'" id]XSNG@9&830ˡ [ɡa  Iȡ龫š 龕龫MMOS1  SEEK.TEXTbآ!SYSTEM.SWAPDISKT!- SYSTEM.SYNTAXb-jSYSTEM.COMPILERȡ낾  . `;š ɡ삾 j SYSTEM.FILERbSYSTEM.8510.QBbSYSTEM.8510.QXb SYSTEM.CHRSETb SYSTEM.EDITOR:b, R á.á2Block := Block + 1; 2Byte := Byte - fBlkSize 0end ,end; *N := DlastBlk - DfirstBlk; *if (Block > N) or ((Block = N [+-Í-ës 0 ?x ) and (Byte >= DlastByte)) then ,begin .Block := N; .Byte := DlastByte ,end; *if Block <> fNxtBlk *then ,begin . á3á-  if fBufChngd .then 0begin 2fBufChngd := False; 2fModified := True; 2UnitWrite(fUnit, fBuffer, fBlkSize, DfirstBlk + fN[ z꾂ȡ龞꾂(ń꾂Ȅ4š뾂á뾞xtBlk - 1, "0); 2if IoResult <> Ord(iNoError) then 4GOTO 1 0end; .if (Block <= fMaxBlk) and (Byte <> fBlkSize) then 6 Q {Unused}  ՕsՕxՕՕáuՕՕՕإՕšOՕՕ! Press for more files.Ֆ)3Ֆ8ՖH ՖOՖVՖ_ÍՖՖՖՖՖå  files iէ"ƔƔ+?ը Ɣը-̔,ըBʔ,šdը\ըgʔ,̔-ըʔ-ըΞ"˫ըʔ-n   blocks. ՗  free blocks,   in largest area.թ ʔ,ʔ-̔,թ-ʔ-թ>թD?թ[թe  blocks read.թƔթթƔ0begin 2UnitRead(fUnit, fBuffer, fBlkSize, DfirstBlk + Block - 1, 0); # 2if IoResult <> Ord(iNoError) then 4GOTO 1 0end ՗G՗R՗Y ~ ՙՙEnter RT-11 file Name:ՙ23P3ՙ=ՙNՙbՙ ,end; *if fNxtBlk > fMaxBlk *then ,begin .fMaxBlk := fNxtBlk; .fMaxByte := fNxtByte ,end *else ,if (fNxtBlk = f.ՙ{š-ՙ..ȡՙ Pՙ ..ȡ5ՙȡՙ ۛfMaxBlk) and (fNxtByte > fMaxByte) then .fMaxByte := fNxtByte; *fEOF := False; *fEOLn := False; *fReptCnt := 0; *fNxtB ՚  ՚&՚-FuX  ՚䥂 Output file:՚3P3՛ ՛h՛.՛4lk := Block; *fNxtByte := Byte (end; !1: "end { FSeek }; "    begin { Test program } #rewrite(f); --ȡ՛Oڛڛ՛m.text:Í ՛՛՛՛P՜^V ۩ ՜ ՝ՉyՉ`mՉޢ ՉՉՉՉޣÄՊH`mՊeɡQՊՊՊەġ9ՊՊەՊ՝՝ ՝-á ՝U ՝t ՝Í՝՝՝՝՝՝[x՟ܶš՟ՠ ՋšՋ,Ջ5ՋKՋ}š7ՋՋՋՋšՋՌՌՌDՌcߣ Ąՠՠ-xՠ<ՠEՠI2ՠcՠu˶ ˄ՠ áՠ)ՠʶáՠՠՌՌՌߣ Ռޣ `mՌՍޣ `mՍՍ(ޢ@Ս?ޢՍUޢBޣ Ս"ա աաա#ա6աBա~2 աաȡաաա á աբ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ šբ:22 ۂ#բnȡբ2 բ ˡբ2բȡ"բբ2գ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@գգգ+Xw գjգvգգ2գգդȧ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6դ<դG2݂դ"˫դդդԹդߥ  lines read.դ2ե~7 %ft 1կqáկ& ƃ3Ƅ_CONSOLE:ƃ3?Ƃƃ2CONSOLE:Ƃ?104:Undeclared identifier 6:Unexpected symbol (maybe missing ';' on the line above) 13:'END' expected 14:':' expected 400:Illegaկҥ կկկƃ3Ƃrx,,T6\ T0 X H,03խ0cխխl character in text 401:Unexpected end of input 402:Error in writing code file, not enough room 403:Can't read include file 410:խծ ծ<ծ0&That doesn't look like an RT-11 disk!!ծb$ծsInvalid unit #Must have quotes around file name 101:Identifier declared twice 175:No file name 'input' in program statement.  176:No file namծծկ2RT-11: Files Transfer NewDisk Quit կE3կQعկh 3կ{ ,կe 'output' in program statement.  1:Error in simple type 2:Identifier expected 3:'PROGRAM' expected 4:')' expected 5:':' expect%ft 1կqáկ& ƃ3Ƅ_CONSOLE:ƃ3?Ƃƃ2CONSOLE:Ƃ?ed 7:Error in parameter list 8:'OF' expected 9:'(' expected 10:Error in type 15:Integer expected 16:'=' expected 17:'BEGIN' expeO^cted 18:Error in declaration part 19:error in field-list 20:',' expected 21:'*' expected 50:Error in constant 51:':=' expected 5V(ժ1ժ31ժGժOժ^áժ/0ժ/0ժɥժϧ(ժ楂Transf<er Errors.ի ի RT-11 file 'ի' ի>  áիZիjȡի ի' transferred to UCSD file ''իիի znƂ2ƃ^?լ%1 լ;1HլMլZ/01լ1(լFile not found!!լլլƂ2 z խWխ`ENewDisk: Place RT-11 diskette in a drive, enter Unit number {4 or 5}:խ3 3խ0cխխխծ ծ<ծ0&That doesn't look like an RT-11 disk!!ծb$ծsInvalid unit #ծծկ2RT-11: Files Transfer NewDisk Quit կE3կQعկh 3կ{ ,կ8 ompatible with tagfield part 112:Index type must not be real 113:Index type must be a scalar or a subrange 114:Base type must no case statement 158:No such variant in this record 159:Real or string tagfields not allowed t be real 115:Base type must be a scalar or a subrange 117:Unsatisified forward reference 120:Function result type must be scala160:Previous declaration was not forward 161:Again forward declared 162:Parameter size must be constant 163:Missing variant in dr, subrange or pointer 121:File value parameter not allowed 126:Number of parameters does not agree with declaration 125:Error ieclaration 164:Substition of standard proc/func not allowed 165:Multidefined label 166:Multideclared label 167:Undeclared label n type of standard procedure parameter 116:Error in type of standard procedure parameter 127:Illegal parameter substitution 128:168:Undefined label 169:Error in base set 170:Value parameter expected 171:Standard file was re-declared 172:Undeclared externalResult type does not agree with declaration 130:Expression is not of set type 131:Tests on equality allowed only 132:Strict incl file 123:Missing result type in function declaration 124:F-format for reals only 122:A forward declared function's result type usion not allowed 133:File comparison not allowed 135:Type of operand must be boolean can't be re-specified 118:Forward reference type identifier in variable declaration 119:Re-specified params not OK for a forward136:Set element type must be scalar or subrange 137:Set element types must be compatible 138:Type of variable is not array 139:I declared procedure 174:Pascal function or procedure expected 201:Error in real number - digit expected 202:String constant mustndex type is not compatible with the declaration 140:Type of variable is not record 141:Type of variable must be file or pointer not exceed source line 203:Integer constant exceeds range 250:Too many scopes of nested identifiers 251:Too many nested procedu 142:Illegal parameter substitution 143:Illegal type of loop control variable 144:Illegal type of expression 145:Type conflict 1res or functions 252:Too many forward references of procedure entries 253:Procedure too long 2:'THEN' expected 53:'UNTIL' expected 54:'DO' expected 55:'TO' or 'DOWNTO' expected in for statement 56:'IF' expected 57:'FILE' 34:Illegal type of operand(s) 129:Type conflict of operands 146:Assignment of files not allowed 147:Label type incompatible withexpected 58:Error in factor (bad expression) 59:Error in variable 102:Low bound exceeds high bound  selecting expression 148:Subrange bounds must be scalar 149:Index type must be integer 150:Assignment to standard function is n103:Identifier is not of the appropriate class 105:Sign not allowed 106:Number expected 107:Incompatible subrange types 108:Fileot allowed 151:Assignment to formal function is not allowed 152:No such field in this record 153:Type error in read 154:Actual p not allowed here 109:Type must not be real 11:'[' expected 12:']' expected 110:tagfield type must be scalar or subrange 111:Incarameter must be a variable 155:Control variable cannot be formal or non-local 156:Multidefined case label 157:Too many cases in9 59:Expression too complicated 300:Division by zero 301:No case provided for this value 302:Index expression out of bounds 303:VawwPrefix file ids by volume:..R.**9wNew volume prefix is ww: lue to be assigned is out of bounds 304:Element expression out of range 398:Implementation restriction 399:Implementation restriNot foundTتPپš',,پá-,-P<ڪP-U?-"ction 901:Value out of range 902:No such procedure in segment-table 903:Exit from uncalled procedure 904:Stack overflow 905:Inte*wwCurrent workfile is wwwNew workfile name: ....TEXT..CODE.&.ger overflow 906:Division by zero 907:NIL pointer reference 908:Program interrupted by user 909:System IO error 910:I/O error 91/#&.00&0:00Pš Name too long00.P0.TEXTU000.P01:Unimplemented instruction 912:Floating point error 913:String overflow .CODEU0x7w.w.TEXT is available for editing.w7w.w.CODE is available for running.w4 Not foundwNew, empty file assumed.w.Volume not found Bad name(,- PMRoot-level: Edit Run Workfile File Xecute Date ? )-+,,?á]LRoot-level: w wDate is w w-w*w-w  wTj Compile Prefix Again ? )-+,,?ˡ':&* +*+ȡ **ڳ Aa(قs ق0( 6'*$JanFebMarAprMayJunJ*-,P*SYSTEM.EDITORh *SYSTEM.FILERU OJ D@< 84&-, ACDEFPRWX8?.p^ulAugSepOctNovDecP(Date set: 1..31 - Jan..Dec - 80..99)w New date: P---SP0><Sˡ>VتPwtR&JanЩFebЩMarЩ ġHSPSSSSS*~~š  ~nAprЩMayЩJunЩJulЩAugЩ SepЩ OctЩ NovЩ DecЩ  껶| }}á|  }|!PV ڪP:á̀ƀPƀ:QƀPV-ƀ  š  %% % 254:Too many long constants in this procedure 256:Too many external references 257:Too many externals 258:Too many local files 2#5Vƀ ̀VP ʀ̀ʀʀʀPwwVolume prefix is currently ww:: wError # w w >Já2šwww쓡"á  8"ë á 쓡 $! áMš1 ˡ ww w áw  ->ˡ wwꟚ  š s #  #å ńC 񂾲s 񂾂0  % M M O S % % Minnesota MicrocomputeD ˄!Dȡwb&&>:&ˡ;ˡ wwr % Operating System % % Version 1.0 Dȡwd'>ˡ=ˡ wwDȡw % %  Date is  w  \(تPw&(::ńw+:+ wT)Jɡšw-ww-w  w % %ɡšww w P&azȄaA:+4N *SYSTEM.INIT"á *SYSTEM.INIT8ˡ*á"'*ުP33ȡ7344 ȡ 34aħ4zȄ 34aA33š*á :.CODE F,? WWȡ   á33á132626ȡ2s3223š#3ȡ6363á3á á\ x~X&V,l P * 8 P N\T6 Date is  w š[33š3333ȡ3š6363á5x5]11á5^1šX533w-ww-w  w % %44s 4053331ç53ç1Ä3*á555ń366P.TEXT4N *SYSTEM.INIT"á *SYSTEM.INIT8ˡ*á"'.CODEz# áë ÄȄĄ.CODE F,? WWȡ   áMȄqfȡD ōɍ ō ȍ dč $쓡ë!áD ** Memory Full ** to exitP  &f "w     쓡 ! 8 .  Ä{  , Ą:; :á&šC ˡ3 && !á&á   -/18  12 ˡ  ū  < áš š ˡ.Ą ɡ 낫š땫ĚQ< c@B B Ä $ B B >삫Ú< š ^ "á50 Ä 1ÄP ǐɄ5ń آأ! ɚ j    áh2( ! 43P B?B 1BhCCBCá Q š *š ń Ȅ"   ÍX Oˡ"  ,ȫ.:CB&CPB& çB&?Ä/BBCCPC[*]SCP  #2  á  넡-  . Í1 š˄  ` CB BB욧B BB CB:CB˄BB˥ń"á  B *   (  d˯7 H" ȡ  uš  gá /Ä+ DDD DDDDɡ$áB B!OB D 0 H$ ġ  *@%ٕš ګ۫ DC DCDDDDDEEEE BBBBBgB>B@ B Ord(iNoError) then 4GOTO 1 0end; .if (Block <= fMaxBlk) and (Byte <> fBlkSize) then 뾂NPńȄ.ń0á š肂蕿0begin 2UnitRead(fUnit, fBuffer, fBlkSize, DfirstBlk + Block - 1, 0); # 2if IoResult <> Ord(iNoError) then 4GOTO 1 0end BšT뾕ȡ4 š킥뾞<X ha | ,end; *if fNxtBlk > fMaxBlk *then ,begin .fMaxBlk := fNxtBlk; .fMaxByte := fNxtByte ,end *else ,if (fNxtBlk = 6sle^:U>LJC < 5 .'" id]XSNG@9&83fMaxBlk) and (fNxtByte > fMaxByte) then .fMaxByte := fNxtByte; *fEOF := False; *fEOLn := False; *fReptCnt := 0; *fNxtB/ _wPlease put volume ww in #w wpá.lk := Block; *fNxtByte := Byte (end; !1: "end { FSeek }; "    begin { Test program } #rewrite(f); r |4!44##& >  F,ƀƀCONSOLE:wƀCONSOՉyՉ`mՉޢ ՉՉՉՉޣÄՊH`mՊeɡQՊՊՊەġ9ՊՊەՊLE:,  F $ t\Tz\BB&P .VP.@ՋšՋ,Ջ5ՋKՋ}š7ՋՋՋՋšՋՌՌՌDՌcߣ Ą 4V j ɡ 逫-á-32768 Rġ?[00ńN fh4le^:U>LJC < 5 .'" id]XSNG@9&830ˡ [ɡa  Iȡ龫š 龕龫MMOS1  SEEK.TEXTbآ!SYSTEM.SWAPDISKT!- SYSTEM.SYNTAXb-jSYSTEM.COMPILERȡ낾  . `;š ɡ삾 j SYSTEM.FILERbSYSTEM.8510.QBbSYSTEM.8510.QXb SYSTEM.CHRSETb SYSTEM.EDITOR:b, R á.á2Block := Block + 1; 2Byte := Byte - fBlkSize 0end ,end; *N := DlastBlk - DfirstBlk; *if (Block > N) or ((Block = N [+-Í-ës 0 ?x ) and (Byte >= DlastByte)) then ,begin .Block := N; .Byte := DlastByte ,end; *if Block <> fNxtBlk *then ,begin .= @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@գգգ+Xw գjգvգգ2գգդȧ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6դ<դG2݂դ"˫դդդԹդߥ  lines read.դ2ե~Q {Unused}  ՕsՕxՕՕáuՕՕՕإՕšOՕՕ! Press for more files.Ֆ)3Ֆ8ՖH ՖOՖVՖ_ÍՖՖՖՖՖå  files iէ"ƔƔ+?ը Ɣը-̔,ըBʔ,šdը\ըgʔ,̔-ըʔ-ըΞ"˫ըʔ-n   blocks. ՗  free blocks,   in largest area.թ ʔ,ʔ-̔,թ-ʔ-թ>թD?թ[թe  blocks read.թƔթթƔ՗G՗R՗Y ~ ՙՙEnter RT-11 file Name:ՙ23P3ՙ=ՙNՙbՙV(ժ1ժ31ժGժOժ^áժ/0ժ/0ժɥժϧ(ժ楂Transff.ՙ{š-ՙ..ȡՙ Pՙ ..ȡ5ՙȡՙ ۛer Errors.ի ի RT-11 file 'ի' ի>  áիZիjȡի ՚  ՚&՚-FuX  ՚䥂 Output file:՚3P3՛ ՛h՛.՛4 ի' transferred to UCSD file ''իիի znƂ--ȡ՛Oڛڛ՛m.text:Í ՛՛՛՛P՜^V ۩ ՜ ՝2ƃ^?լ%1 լ;1HլMլZ/01լ1(լFile not found!!լլլƂ2 z խW՝՝ ՝-á ՝U ՝t ՝Í՝՝՝՝՝՝[x՟ܶš՟ՠ խ`ENewDisk: Place RT-11 diskette in a drive, enter Unit number {4 or 5}:խ3 3խ0cխխՠՠ-xՠ<ՠEՠI2ՠcՠu˶ ˄ՠ áՠ)ՠʶáՠՠխծ ծ<ծ0&That doesn't look like an RT-11 disk!!ծb$ծsInvalid unit #ՌՌՌߣ Ռޣ `mՌՍޣ `mՍՍ(ޢ@Ս?ޢՍUޢBޣ Ս"ա աաա#ա6աBա~2 աաȡաաա á աբ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ šբ:22 ۂ#բnȡբ2 բ ˡբ2բȡ"բբ2գ> t be real 115:Base type must be a scalar or a subrange 117:Unsatisified forward reference 120:Function result type must be scalaծծկ2RT-11: Files Transfer NewDisk Quit կE3կQعկh 3կ{ ,կ%ft 1կqáկ& ƃ3Ƅ_CONSOLE:ƃ3?Ƃƃ2CONSOLE:Ƃ?104:Undeclared identifier 6:Unexpected symbol (maybe missing ';' on the line above) 13:'END' expected 14:':' expected 400:Illegaկҥ կկկƃ3Ƃrx,,T6\ T0 X H,03խ0cխխl character in text 401:Unexpected end of input 402:Error in writing code file, not enough room 403:Can't read include file 410:խծ ծ<ծ0&That doesn't look like an RT-11 disk!!ծb$ծsInvalid unit #Must have quotes around file name 101:Identifier declared twice 175:No file name 'input' in program statement.  176:No file namծծկ2RT-11: Files Transfer NewDisk Quit կE3կQعկh 3կ{ ,կe 'output' in program statement.  1:Error in simple type 2:Identifier expected 3:'PROGRAM' expected 4:')' expected 5:':' expect%ft 1կqáկ& ƃ3Ƅ_CONSOLE:ƃ3?Ƃƃ2CONSOLE:Ƃ?ed 7:Error in parameter list 8:'OF' expected 9:'(' expected 10:Error in type 15:Integer expected 16:'=' expected 17:'BEGIN' expeO^cted 18:Error in declaration part 19:error in field-list 20:',' expected 21:'*' expected 50:Error in constant 51:':=' expected 5<2:'THEN' expected 53:'UNTIL' expected 54:'DO' expected 55:'TO' or 'DOWNTO' expected in for statement 56:'IF' expected 57:'FILE' expected 58:Error in factor (bad expression) 59:Error in variable 102:Low bound exceeds high bound 103:Identifier is not of the appropriate class 105:Sign not allowed 106:Number expected 107:Incompatible subrange types 108:File not allowed here 109:Type must not be real 11:'[' expected 12:']' expected 110:tagfield type must be scalar or subrange 111:Incompatible with tagfield part 112:Index type must not be real 113:Index type must be a scalar or a subrange 114:Base type must no? ot allowed 151:Assignment to formal function is not allowed 152:No such field in this record 153:Type error in read 154:Actual plue to be assigned is out of bounds 304:Element expression out of range 398:Implementation restriction 399:Implementation restriarameter must be a variable 155:Control variable cannot be formal or non-local 156:Multidefined case label 157:Too many cases inction 901:Value out of range 902:No such procedure in segment-table 903:Exit from uncalled procedure 904:Stack overflow 905:Inte case statement 158:No such variant in this record 159:Real or string tagfields not allowed ger overflow 906:Division by zero 907:NIL pointer reference 908:Program interrupted by user 909:System IO error 910:I/O error 91160:Previous declaration was not forward 161:Again forward declared 162:Parameter size must be constant 163:Missing variant in d1:Unimplemented instruction 912:Floating point error 913:String overflow r, subrange or pointer 121:File value parameter not allowed 126:Number of parameters does not agree with declaration 125:Error ieclaration 164:Substition of standard proc/func not allowed 165:Multidefined label 166:Multideclared label 167:Undeclared label n type of standard procedure parameter 116:Error in type of standard procedure parameter 127:Illegal parameter substitution 128:168:Undefined label 169:Error in base set 170:Value parameter expected 171:Standard file was re-declared 172:Undeclared externalResult type does not agree with declaration 130:Expression is not of set type 131:Tests on equality allowed only 132:Strict incl file 123:Missing result type in function declaration 124:F-format for reals only 122:A forward declared function's result type usion not allowed 133:File comparison not allowed 135:Type of operand must be boolean can't be re-specified 118:Forward reference type identifier in variable declaration 119:Re-specified params not OK for a forward136:Set element type must be scalar or subrange 137:Set element types must be compatible 138:Type of variable is not array 139:I declared procedure 174:Pascal function or procedure expected 201:Error in real number - digit expected 202:String constant mustndex type is not compatible with the declaration 140:Type of variable is not record 141:Type of variable must be file or pointer not exceed source line 203:Integer constant exceeds range 250:Too many scopes of nested identifiers 251:Too many nested procedu 142:Illegal parameter substitution 143:Illegal type of loop control variable 144:Illegal type of expression 145:Type conflict 1res or functions 252:Too many forward references of procedure entries 253:Procedure too long 34:Illegal type of operand(s) 129:Type conflict of operands 146:Assignment of files not allowed 147:Label type incompatible with254:Too many long constants in this procedure 256:Too many external references 257:Too many externals 258:Too many local files 2 selecting expression 148:Subrange bounds must be scalar 149:Index type must be integer 150:Assignment to standard function is n59:Expression too complicated 300:Division by zero 301:No case provided for this value 302:Index expression out of bounds 303:Va@ A B C D E F G H I J @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@K L