*20 PMODE /PROGRAM CONSTANTS, PAGE ZERO *20 C257, 257 C212, 212 C240, 240 C215, 215 C255, 255 C275, 275 C253, 253 C260, 260 DIG, 0 SCELLS, SARRAY-1 /AD-1 SUMM CELLS BCELLS, BARRAY-1 /AD-1 BLK CELLS ATRIAL, TRIALS-1 /AD-1 TRIAL TYPE STRNG4, STRING+4 /AD-1 1ST CHAR ASTRNG, STRING-1 /AD-1 LEAD BLANK NBLOCK, 0 COUNT, 0 SBLOCK, 0 M40, -40 TRTYPE, 0 LAG, 0 WIDTH, 0 SPOT, 0 REPEAT, 0 HOLDIT, 0 M32, -32 FRAMES, 0 RESP, 0 M20, -20 CHSIZE, 0 FULL, 200 PWTABL, PATRN-2 /AD-2 OF PW TABL CHAR, 0 LOCHAR, 0 /DISPLAY POINTER MD1000, -1750 D1000, 1750 MD100, -144 D100, 144 MD10, -12 D10, 12 DECPUT, DECOUT LINE, LINES SPACES, SPACE TIPE, TYPE LMHC, 0 /HC OF L MASK HCWIND, 0 /HC OF WINDOW RMHC, 0 /HC OF R MASK MASKIT, MASK M6, -6 M4, -4 C24, 24 C10, 10 ONCE, 0 C7, 7 SHOW, WINDOW NTIME, 0 HOLD, 0 KLOCK, 4100 /MSEC CLOCK KLOCKP, 5100 /HSEC CLOCK IDISPL, DISPLA IBLOCK, BLOCK MYES, -200 /"YES" KEY=3RD MNO, -1000 /"NO" KEY=1ST ITRIAL, TRIAL /PROGRAM CONSTANTS FOR RANDOM&SHUFFLE K7, 7 TEMP, 0 R1, 0 R2, 0 R3, 0 INDEX6, 0 RNDM3, 0 RNDM2, 0 RNDM1, RNDM SH1, 0 SH2, 0 SH3, 0 SHUFEL, SHUFL RMNDR, RMNDRX RNX, RN IRX, IR K1000, 1000 /DISPLAY PARAMETERS WINDSP, 1 /CHAR SPACING MASKSP, 2 /MASK-CHAR " IHORCO, 200 /LEFTMOST HC VERCO, 0 /VERT DISP COOR LSIZE, -6 /-SIZE OF L MASK RSIZE, -6 /-SIZE OF R MASK MOVE, 0 /DELTA HC/FRAME WSIZE, 0 /HOLDS CURR WSIZ /TIME PARAMETERS DISPON, 0 /CURRENT ON-TIME DISPOF, -24 /-CONST OFF-TIME PAUSET, -144 /1 SEC PAUSE /SUBR DOUBLES AC IF FULL-SIZE CHAR DOUBLE, 0 DCA HOLD /SAVE AC TAD CHSIZE SZA CLA /RETURN IF ZERO JMP .+3 TAD HOLD JMP I DOUBLE TAD HOLD CLL RAL /DOUBLE JMP I DOUBLE /SUBR SETS HCS RELATIVE TO LMHC SETUP, 0 CLA TAD LSIZE CIA CLL RTL TAD MASKSP JMS DOUBLE TAD LMHC DCA HCWIND TAD WSIZE DCA TEMP SKP TAD WINDSP TAD C10 ISZ TEMP JMP .-3 TAD MASKSP JMS DOUBLE TAD HCWIND DCA RMHC JMP I SETUP /SUBROUTINE GIVES AC+1 SPACES OUTPUT SPACE, 0 CMA DCA NTIME TAD C240 JMS TYPE ISZ NTIME JMP .-3 JMP I SPACE TYPE, 0 TLS TSF JMP .-1 CLA JMP I TYPE /SUBR TO OUPUT AC+1 LINES LINES, 0 CMA DCA NTIME TAD C212 JMS TYPE ISZ NTIME JMP .-3 TAD C215 JMS TYPE JMP I LINES /SUBR TYPES AC AS SIGNED DECIMAL INTEGER DECOUT, 0 DCA HOLD DCA DIG TAD HOLD SMA JMP DIG0 CIA DCA HOLD TAD C255 JMS TYPE TAD HOLD DIG0, TAD MD1000 SMA JMP .+10 TAD D1000 DCA HOLD TAD DIG TAD C260 JMS TYPE DCA DIG JMP .+3 ISZ DIG JMP DIG0 TAD HOLD DIG1, TAD MD100 SMA JMP .+10 TAD D100 DCA HOLD TAD DIG TAD C260 JMS TYPE DCA DIG JMP .+3 ISZ DIG JMP DIG1 TAD HOLD DIG2, TAD MD10 SMA JMP IDIG2-2 TAD D10 DCA HOLD TAD DIG TAD C260 JMS I TIPE TAD HOLD TAD C260 JMS I TIPE TAD I DECPUT /RET AD=DECOUT DCA HOLD JMP I HOLD /JMP I DECOUT ISZ DIG JMP I IDIG2 /JMP DIG2 IDIG2, DIG2 /MASKING SUBROUTINE MASK, 0 /HOLDS RET ADR CLA DCA ONCE /LEFT FIRST TAD LSIZE /-LEFT M SIZE SMA /ANY L M AT ALL? JMP RIGHT DCA NTIME /SET UP ISZ LOOP TAD LMHC /HC OF L MASK DCA 1 /LINC BETA-1 REG TAD VERCO /VERT. COOR. MASKON, LINC LMODE DSC I 0 /DISP MASK PW 7777 /FOUND HERE PDP PMODE ISZ NTIME /MORE MASK AREA? JMP MASKON /MORE MASK CLA TAD ONCE /DONE RIGHT YET? SZA JMP I MASK /RETURN RIGHT, ISZ ONCE TAD RSIZE /-R MASK SIZE SMA JMP I MASK /NO R MASK DCA NTIME TAD RMHC JMP MASKON-2 PAGE /WINDOW DISPLAY SUBROUTINE WINDOW, 0 /HOLDS RET AD CLA TAD WSIZE DCA NTIME /SET UP ISZ LOOP TAD HCWIND /PUT WINDOW HC DCA 1 /INTO LINC B-2 TAD LOCHAR /AD-1 OF FIRST DCA 10 /INTO AUTO IND WNEXT, TAD I 10 /GET NEXT CHAR CLL RAL /DOUBLE CODE TAD PWTABL /AD PW TABLE DCA 2 /INTO LINC B-2 TAD VERCO /VERT. CO. LINC LMODE DSC 2 /DISPLAY PWS DSC I 2 PDP PMODE ISZ NTIME /DONE? JMP .+2 JMP I WINDOW /RETURN CLA TAD WINDSP JMS DOUBLE TAD 1 DCA 1 /INCR H.C. JMP WNEXT /PROGRAM STARTS HERE START, ISZ COUNT NOP LAS SMA CLA /SET R SWS<0 TO JMP START /GET INIT FOR JMS I IRX /R.N. GENER. JMS I RNX ISZ COUNT JMP .-2 /EACH 32-TRIAL BLOCK BEGINS HERE BLOCK, ISZ NBLOCK CLA STL IAC RTL JMS I LINE TAD NBLOCK JMS I DECPUT /ON NEW LINE: TAD C275 /PRINT NBLOCK= JMS I TIPE HLT /STOP:LOAD NEW LAS /ON-TIME JMS I DECPUT LAS CIA /PRINT IT DCA DISPON TAD C253 /PRINT "+" JMS I TIPE TAD DISPOF CIA JMS I DECPUT /+ON-TIME LINC LMODE SNS I 0 /SW 0=FULL-SIZE ADD FULL /SIZE CHARS ESF STC CHSIZE SNS 1 /SW 1=CLEAR JMP ACCUML /RUNNING SUMMARY PDP /DATA CELLS PMODE TAD SCELLS /AD-1 SUMM CELLS DCA 13 TAD M40 /32 OF THEM DCA COUNT DCA I 13 ISZ COUNT JMP .-2 DCA SBLOCK /ZERO N0 S BLOKS SKP LMODE ACCUML, PDP PMODE ISZ SBLOCK TAD BCELLS /AD-1 BLK CELLS DCA 13 TAD M40 DCA COUNT DCA I 13 ISZ COUNT JMP .-2 TAD M40 DCA COUNT /ISZ ON TRIALS STA DCA SH3 TAD M40 /SHUFFLE ARRAY CIA /OF 32 TRIAL-TYP DCA SH2 /ELEMENTS TAD ATRIAL /AD-1 T-T ELEMS DCA SH1 JMS I SHUFEL TAD ATRIAL DCA 13 /EACH TRIAL BEGINS HERE TRIAL, STA DCA SH3 /SHUFFLE 20-CHAR TAD C24 /DISPLAY STRING DCA SH2 TAD STRNG4 DCA SH1 /AD-1 1ST CHAR JMS I SHUFEL /AFTER 5 BLNKS TAD I 13 DCA TRTYPE /NEXT TR TYPE TAD TRTYPE AND C7 DCA LAG TAD TRTYPE CLL RTR CLL RAR AND C7 DCA WIDTH IAC TAD WIDTH CMA /WSIZE= DCA WSIZE /-(WIDTH+2) TAD LAG SNA CLA /LAG=0:NO REPEAT JMP I IDISPL /JMP DISPLA TAD C7 DCA RNDM3 /R.N. IN (0,6) JMS I RNDM1 CLA TAD RNDM2 /PICKS RANDOM TAD STRNG4 /(6,12)TH CHAR TAD C7 /OF STRING=SPOT DCA SPOT TAD I SPOT DCA REPEAT /=REPEATED CHAR TAD SPOT TAD LAG /REPEATED SPOT= DCA SPOT /SPOT+LAG TAD I SPOT /SAVE REPLACED DCA HOLDIT /CHAR TAD REPEAT DCA I SPOT /READY FOR TRIAL ONSET DISPLA, TAD IHORCO DCA LMHC JMS SETUP /INIT H.C.S 6314 /CLEAR RESP PAN JMS I MASKIT /WARNING MASK CLA 6312 TAD M40 /"START" HIT YET SZA CLA /WAIT FOR READY JMP .-5 /SIGNAL FROM S CLLR TAD KLOCKP CLLR /START CLOCK JMS I MASKIT /MASK THRU PAUSE CLCA TAD PAUSET SPA CLA JMP .-4 TAD ASTRNG /AD-1 DISP STRNG DCA LOCHAR TAD M32 /SHOW 26 FRAMES DCA FRAMES GO, CLLR TAD KLOCK CLLR JMS I MASKIT JMS I SHOW CLCA TAD DISPON SPA CLA JMP .-5 CLLR TAD KLOCK CLLR JMS I MASKIT CLCA TAD DISPOF SPA CLA JMP .-4 ISZ FRAMES /ANOTHER FRAME? SKP JMP RESPND TAD MOVE JMS DOUBLE /DOUBLE IF FULL TAD LMHC DCA LMHC /INCR LMHC JMS SETUP /NEW HCS ISZ LOCHAR /SLIDE STRING JMP GO RESPND, CLLR /STOP CLOCK 6314 6312 /READ RESP PANEL SNA JMP .-2 /WAIT FOR RESP DCA RESP TAD LAG /LAG=0:CORRECT= SZA CLA / "NO" JMP YES TAD RESP TAD MNO SNA CLA /ONLY CORR RESP JMP RECORD /RECORDED JMP ENDTR YES, TAD HOLDIT /RESTORE REPLACD DCA I SPOT /CHAR IN STRING TAD RESP TAD MYES SZA CLA JMP ENDTR /ONLY CORR RECOR RECORD, ISZ TRTYPE TAD TRTYPE TAD BCELLS /INCR APPROP DCA SPOT /BLOCK CELL ISZ I SPOT TAD TRTYPE TAD SCELLS DCA SPOT ISZ I SPOT /AND SUMMARY CEL ENDTR, ISZ COUNT /ANOTHER TRIAL? JMP I ITRIAL /JMP TRIAL JMS I LINE DCA REPEAT /COUNT CORR "NO" DCA TRTYPE /AND "YES" TAD BCELLS DCA 13 /ISZ BLOCK CELLS TAD M4 /OUTPUT BY 4 DCA COUNT /WIDTH CONDS WIDE, IAC JMS I SPACES TAD I 13 DCA HOLDIT TAD HOLDIT /INCR CORR "NO" TAD REPEAT DCA REPEAT TAD HOLDIT TAD C260 JMS I TIPE JMS I SPACES TAD M6 DCA SPOT /6 LAG CONDS TAD I 13 SZA ISZ TRTYPE /INCR CORR "YES" TAD C260 JMS I TIPE ISZ SPOT /MORE LAGS/WIDT? JMP .-6 ISZ 13 /SKIP LAG 7 ISZ COUNT /ANOTHER WIDTH? JMP WIDE TAD C275 /"=":BLK TOTALS JMS I TIPE TAD REPEAT JMS I DECPUT /NO CORR "NO"/BL TAD C253 /"+" JMS I TIPE TAD TRTYPE JMS I DECPUT /NO CORR "YES"/B JMS I LINE HLT /PAUSE END BLOCK LINC LMODE SNS I 2 /SW 2=TYPE SUMMR JMP SUMARY PDP PMODE JMP I IBLOCK LMODE SUMARY, PDP PMODE TAD C7 JMS I LINE TAD SBLOCK JMS I DECPUT TAD M4 /OUTPUT BY WIDTH DCA COUNT TAD SCELLS DCA 13 IAC WIDER, JMS I LINE STL IAC RTL TAD COUNT TAD C260 JMS I TIPE STA CLL RTL /-3 + TAD C275 /=":" JMS I TIPE TAD C260 DCA LAG TAD C7 CIA DCA SPOT /7 LAGS/WIDTH LAGS, IAC JMS I SPACES TAD LAG JMS I TIPE TAD C275 JMS I TIPE TAD I 13 JMS I DECPUT ISZ LAG ISZ SPOT /ANOTHER LAG? JMP I ILAGS /JMP LAGS ISZ 13 /SKIP LAG 7 ISZ COUNT /ANOTHER WIDTH? JMP I IWIDER /JMP WIDER TAD C7 JMS I LINE JMP I IIBLK ILAGS, LAGS IWIDER, WIDER IIBLK, BLOCK /PATTERN WORDS FOR CHAR DISPL. PATRN, 4477 /A 7744 5177 /B 2651 4136 /C 2241 4177 /D 3641 4577 /E 4145 4477 /F 4044 4136 /G 2645 1077 /H 7710 7741 /I 0041 4142 /J 4076 1077 /K 4324 177 /L 301 3077 /M 7730 3077 /N 7706 4177 /O 7741 4477 /P 3044 4276 /Q 376 4477 /R 3146 5121 /S 4651 4040 /T 4077 177 /U 7701 176 /V 7402 677 /W 7701 1463 /X 6314 770 /Y 7007 4543 /Z 6151 4177 /[ 0000 2040 /\ 0410 0 /] 7741 2000 /^ 2077 3410 /BACK ARROW 1010 0 /SPACE 0 7500 /! 0 6006 /" 60 3614 /NUMBER SIGN 1436 7721 /DOLLAR SIGN 4677 1446 /% 6130 5166 /& 0523 500 /APOSTROPHY 6 4163 /( 0 0 /) 6341 2050 /* 50 404 /+ 437 605 /, 0 404 /- 404 1 /. 0 601 // 4030 4136 /0 3641 2101 /1 177 4523 /2 2151 4122 /3 2651 2414 /4 477 5172 /5 651 1506 /6 4225 4443 /7 6050 5126 /8 2651 5120 /9 3651 4200 /: 0 2601 /; 0 2410 /< 0042 1212 /= 1212 4200 /> 1024 4020 /? 2055 /RANDOM PACKAGE BEGINS HERE PAGE RNDM, 0 /RN IN 0,RNDM3 JMS I RNX /36 BIT RN JMS I RMNDR /REMAINDR RNDM3 CLA JMP I RNDM /DONE M36, -44 / IDX1, 0 / R1X, 0 / R2X, 0 / R3X, 0 / RMNDRX, 0 /GET RMNDR CLA / DCA RNDM2 / TAD R1 / DCA R1X / TAD R2 / DCA R2X / TAD R3 / DCA R3X / TAD M36 / DCA IDX1 /FOR 36 BITS RMN1, CLA / TAD RNDM2 / CLL / RAL / DCA RNDM2 /SHIFT LEFT 1 TAD R1X / CLL / RAL / DCA R1X /SHIFT LEFT 1 RAL /GET LINK TAD RNDM2 / DCA RNDM2 / TAD R2X / CLL / RAL / DCA R2X / RAL /GET LINK TAD R1X / DCA R1X / TAD R3X / CLL / RAL / DCA R3X / RAL /GET LINK TAD R2X / DCA R2X /SHIFTS DONE TAD RNDM3 /NUMBER MOD CIA / TAD RNDM2 / SPA / JMP .+2 / DCA RNDM2 /SUB,REPLACE ISZ IDX1 /CHECK INDEX JMP RMN1 /CONTINUE JMP I RMNDRX /RMNDR IN RNDM2 SHUFL, 0 /SHUFFLES SHUFL1, CLA / TAD SH2 /LENGTH DCA RNDM3 / JMS I RNDM1 /GET RN CLA / TAD SH3 /BLOCK SIZE DCA INDEX6 / TAD SH1 /ARRY-1 SHUF1, TAD RNDM2 /ADD TO ARRY ISZ INDEX6 /N X M DONE? JMP SHUF1 /CONTINUE DCA TEMP /DONE,IN TEMP TAD TEMP / DCA 14 / TAD TEMP / DCA 15 / TAD SH1 / DCA 16 / TAD SH1 / DCA 17 / TAD SH3 / DCA INDEX6 /-BLOCK SIZE SHUF2, TAD I 14 / DCA TEMP / TAD I 16 / DCA I 15 / TAD TEMP / DCA I 17 / ISZ INDEX6 / JMP SHUF2 / CLA CMA /AC=-1 TAD SH2 /LENGTH-1 SZA / JMP .+2 / JMP I SHUFL /DONE DCA SH2 /NEW LENGTH TAD SH3 /BLOCK SIZE,- CIA /+BLOCK SIZE TAD SH1 /ADD ARRAY DCA SH1 /NEW START JMP SHUFL1 /CONTINUE PAGE IR, 0 / JMP IR1 / RN, 0 / CLA / TAD R3 / RAL / AND K7400 / DCA T3 / TAD R2 / AND K177 / TAD T3 / RTL / RTL / RAL / DCA T1 / TAD R3 / AND K177 / RTL / RTL / RAL / TAD R2 / DCA T2 / SZL / ISZ T1 / NOP / TAD R3 / CLL RAL / SZL / ISZ T2 / SKP / ISZ T1 / NOP / CLL / TAD R3 / DCA R3 / TAD R2 / RAL / SZL / ISZ T1 / NOP / CLL / TAD T2 / DCA R2 / TAD R1 / RAL / TAD R1 / TAD T1 / DCA R1 / TAD R1 / JMP I RN / HLT /NOT USED IR1, CLA IAC / DCA R3 / DCA R2 / DCA R1 / JMP I IR / K177, 177 / K7400, 7400 / T1, 0 / T2, 0 / T3, 0 / /TRIAL TYPES ARRAY STARTS HERE: /OCTAL 00MN DENOTES WSIZE=M+2 AND /LAG OF N BETWEEN REPEATED CHARS; /LAG=0 MEANS NO REPEAT TRIALS, 0 0 1 2 3 4 5 6 10 10 11 12 13 14 15 16 20 20 21 22 23 24 25 26 30 30 31 32 33 34 35 36 /ARRAY OF 32 BLOCK DATA CELLS BEGINS /HERE: CORRECT RESP ON TRIAL TYPE / (0CTAL) X INCREMENTS LOC BARRAY+X BARRAY, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 /ARRAY 0F 32 SUMMARY DATA CELLS: /SCORED AS IN THE BLOCK DATA CELLS SARRAY, 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 /ARRAY OF DISPLAY STRING CHARS /BEGINS HERE: 5 LEADING BLANKS+ /20 DISTINCT CHARS+5 TRAILING BLANKS STRING, 40 40 40 40 40 2 /B 3 /C 4 /D 6 /F 7 /G 10 /H 12 /J 13 /K 14 /L 15 /M 16 /N 20 /P 22 /R 23 /S 24 /T 26 /V 27 /W 30 /X 31 /Y 32 /Z 40 40 40 40 40