*20 PMODE /PROGRAM CONSTANTS, PAGE ZERO *20 C212, 212 C240, 240 C215, 215 C260, 260 DIG, 0 COUNT, 0 M40, -40 RESP, 0 M20, -20 MD300, -454 CHSIZE, 0 FULL, 200 PWTABL, PATRN-2 /AD-2 OF PW TABL LOCHAR, 0 /DISPLAY POINTER MD100, -144 D100, 144 MD10, -12 D10, 12 TIPE, TYPE MASKIT, MASK M6, -6 C10, 10 M200, -200 WSIZE, 0 POINTR, 0 NFRAME, 0 ISETUP, SETUP SHOWIT, WINDOW C400, 400 /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 HOLD, 0 D300, 454 C3777, 3777 MCLOCK, 4100 /COUNT SEC/1000 C300, 300 C1000, 1000 ISLOWR, SLOWER ADCOND, EXTIME-5 /AD+1 TOP OF CND IREFIL, REFILL MD60, -74 /60 TRIALS/BLK TBLK, 0 BNTR, 0 MBLK, 0 LDF2, 0642 /LDF 2 ISTLDF, SETLDF DCPTX2, DCPUT2 DCPTX3, DCPUT3 C1777, 1777 RNX, RN IRX, IR K1000, 1000 /DISPLAY PARAMETERS WINDSP, 1 /CHAR SPACING VERCO, 0 /VERT DISP COOR IHORCO, 240 LMHC, 0 RMHC, 0 HCWIND, 0 MASKSP, 2 MOVE, 0 LSIZE, -6 RSIZE, -6 ONCE, 0 DOT, 56 /TIME PARAMETERS AEXPOS, EXTIME+1 /AD COND EXP ARR EXPOSE, 0 /-CURRENT EXPOSE EXSPOT, 0 /AD CURRENT EXP. PAUSET, -3000 /-MSEC PAUSE TIM DISPOF, -10 /-MSEC TWEEN FRM STRNG0, STRING-1 /AD-1 DISP STRIN NTIME, 0 WIDE, 0 M7, -7 /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 TYPE, 0 TLS TSF JMP .-1 CLA JMP I TYPE /SUBR CLEARS AND RESTARTS MSEC CLOCK CLOCK, 0 CLA CLLR TAD MCLOCK CLLR CLA JMP I CLOCK /SUBR READS 2-WAY ANALOG RESP BOX: /RETURN AC=0 IF NEITHER DOWN; AC=1 IF /RIGHT DOWN; AC=-1 IF LEFT DOWN RESPNS, 0 LINC LMODE SAM 16 PDP PMODE TAD M200 SMA JMP .+6 TAD C400 SMA CLA /NEITHER:AC=0 JMP I RESPNS STA /AC--1 JMP I RESPNS CLA IAC /AC-1 JMP I RESPNS /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 /SUBR DISPLAYS MASK FRAME MASK, 0 CLA DCA ONCE TAD LSIZE SMA JMP RIGHT DCA NTIME TAD LMHC DCA 1 TAD VERCO MASKON, LINC LMODE DSC I 0 7777 PDP PMODE ISZ NTIME JMP MASKON CLA TAD ONCE SZA JMP I MASK RIGHT, ISZ ONCE TAD RSIZE SMA JMP I MASK DCA NTIME TAD RMHC JMP MASKON-2 /WINDOW DISPLAY ROUTINE WINDOW, 0 CLA TAD WSIZE DCA NTIME TAD HCWIND DCA 1 TAD LOCHAR DCA 10 WNEXT, TAD I 10 CLL RAL TAD PWTABL DCA 2 TAD VERCO LINC LMODE DSC 2 DSC I 2 PDP PMODE ISZ NTIME SKP JMP I WINDOW CLA TAD WINDSP JMS DOUBLE TAD 1 DCA 1 JMP WNEXT /PROGRAM STARTS HERE: READ IN 300 6-LETT /ER WORDS INTO 4000-7407 START, HLT CLA LINC LMODE SNS I 0 ADD FULL ESF STC CHSIZE LDF 2 RDC U 4760 RDC U 5761 RDC U 6762 RDC U 7763 LDF 3 RDC U 4764 RDC U 5765 RDC U 6766 RDC U 7767 HLT PDP PMODE /INIT R.N. GENERATOR BY SETTING BIT 0 ISZ COUNT NOP LAS SZA CLA JMP .-4 JMS I IRX JMS I RNX ISZ COUNT JMP .-2 CLA /SHUFFLE 1800 TAD M6 /CHARS IN 6-UNIT DCA SH3 /GROUPS,STARTING TAD D300 DCA SH2 TAD C3777 DCA SH1 JMS I SHUFEL TAD C3777 DCA POINTR /AD-1 1ST WORD HLT /STOP WHEN READY /EACH 60-TRIAL BLOCK STARTS HERE BLOCK, TAD MD60 DCA BNTR STA TAD MD60 /FORM AD-1 OF TAD ADCOND /ARRAY OF CONDS. DCA SH1 TAD MD60 CIA DCA SH2 STA DCA SH3 JMS I SHUFEL /SHUFFLE CONDS. /EACH TRIAL BEGINS HERE TRIAL, TAD ADCOND /AD CONDS.ARRAY TAD BNTR /TRL NO IN BLOCK DCA 1 /AD CURR. COND. TAD I 1 DCA WSIZE /TRIAL COND. TAD WSIZE TAD AEXPOS /FORM ADDR OF DCA EXSPOT /AD OF CURR EXP TAD I EXSPOT DCA EXPOSE /ENCODES NEXT TEXT STRING WHICH CONSISTS /OF -COND LEADING & TRAILING DOTS WITH /THE SIX INTERVENING LETTERS=STIMULUS TAD WSIZE DCA WIDE TAD STRNG0 /AD-1 STRING DCA 10 TAD DOT DCA I 10 ISZ WIDE JMP .-3 TAD M6 DCA WIDE TAD POINTR DCA 11 TAD I 11 DCA I 10 ISZ WIDE JMP .-3 TAD WSIZE DCA WIDE TAD DOT DCA I 10 ISZ WIDE JMP .-3 TAD STRNG0 DCA LOCHAR /AD-1 IST CHAR WAITIN, TAD IHORCO DCA LMHC TAD LMHC DCA 1 TAD VERCO LINC LMODE DSC I 0 /READY DOTS 7777 PDP PMODE JMS RESPNS /WAIT FOR READY SNA CLA JMP WAITIN+2 TAD M7 TAD WSIZE DCA NFRAME /7+COND FRAMES JMS I ISETUP /SET NEW HCS JMS CLOCK /START MSEC CLOC JMS I MASKIT /WARNING MASK CLCA TAD PAUSET SPA CLA JMP .-4 GO, JMS I ISETUP /LOOP THRU FRAME JMS CLOCK /RESTART CLOCK JMS I MASKIT JMS I SHOWIT /DISPLAY FRAME CLCA TAD EXPOSE /ON-TIME SPA CLA JMP .-5 JMS CLOCK JMS I MASKIT CLCA TAD DISPOF SPA CLA JMP .-4 TAD MOVE /SLIDE FRAME JMS DOUBLE TAD LMHC DCA LMHC /NEW H.C.S ISZ LOCHAR /SLIDE STRING ISZ NFRAME /ANOTHER FRAME? JMP GO /DO IT! CLLR /DONE: STOP CLOC JMS I MASKIT /MASK TILL RSP. JMS RESPNS SNA JMP .-3 /WAIT FOR RESP SPA CLA DCA RESP /0 OR 1 RESP TAD M6 DCA WIDE TAD POINTR DCA 10 TAD WSIZE CIA TAD C260 JMS I TIPE /TYPE COND TAD C240 JMS I TIPE /" " TAD I 10 TAD C300 JMS I TIPE /TYPE WORD ISZ WIDE JMP .-4 TAD C240 JMS I TIPE TAD RESP TAD C260 JMS I TIPE /TYPE 0/1 RESP TAD EXPOSE CIA DCA EXPOSE TAD DISPOF CIA TAD EXPOSE JMS I DCPTX3 /FORMAT(1X,I3) /IF RESP=1 ("YES"), TYPE "!",THEN /TAKE KEYBOARD FEEDBACK: " " /IF CORRECT, ANY KEY IF INCORRECT; /NO CHANGE IN EXPOSURE CONDITION IF /"YES" WAS INCORRECT. IF RESP=0, TYPES /TWO BLANKS (NOTHING FURTHER ENTERED). TAD C240 JMS I TIPE /BLANK TAD RESP TAD C240 JMS I TIPE /" " OR "!" TAD RESP SNA CLA JMP NORESP KCC KSF JMP .-1 KRB /READ CHAR DCA 6 TAD 6 JMS I TIPE TAD 6 CIA TAD C240 /=" "? SNA CLA JMP NORESP STA DCA RESP /WRONG:RESP=-1 NORESP, TAD C212 JMS I TIPE TAD C215 JMS I TIPE /CR,LF SAVE, TAD POINTR DCA 12 /SAVE TRIAL DATA TAD WSIZE CIA DCA I 12 /FIRST WD=COND TAD DISPOF CIA TAD EXPOSE /2ND=EXPOSURE DCA I 12 TAD RESP DCA I 12 /3RD=-1,0,1 RESP TAD RESP SNA JMP I ISLOWR /RESP=0:INCREASE SMA CLA /COND. EXP JMP FASTER /RESP=1:DECREASE /SW 3 -ON:INCORRECT IDENT.(RESP=-1) /INCREASES STAIRCASE EXPOSURE -OFF: /DOESNT EFFECT STAIRCASE LINC LMODE SNS 3 JMP REFILL-1 /NO CHANGE PDP PMODE SLOWER, LAS /STEP SIZE=L SWS JMP REFILL FASTER, LAS CIA /STEP SIZE=-L SW JMP REFILL LMODE PDP PMODE REFILL, TAD EXPOSE CIA DCA I EXSPOT /SAVE -MSEC EXP STL IAC RTL TAD POINTR /POINTR+6=AD-1 DCA POINTR /NEXT WORD ISZ BNTR /END BLOCK? JMP I ITRIAL TAD C212 /EXTRA LF JMS I TIPE /AT END BLOCK HLT /THEN PAUSE JMP I IBLOCK /ANOTHER ITRIAL, TRIAL IBLOCK, BLOCK /DONE WITH SESSION: GET TBLK FROM R SWS /AND RECORD SAVED TRIAL DATA ON UNIT 1 RECORD, LAS DCA TBLK DCA I 12 /NOTE END FILE TAD LDF2 /PREPARE LDF N DCA I ISTLDF /DCA SETLDF STA CLL RAL /2 GROUPS OF DCA COUNT /4 BLKS EACH STL RAR DCA MBLK /MBLK=4000 LINC LMODE SETLDF, 0 /LDF N ADD TBLK ADD MBLK STC .+2 WRC U 0 /2ND LTAPE INSTR PDP PMODE ISZ TBLK CLA TAD C1000 TAD MBLK SZA /END OF LDF? JMP SETLDF-2 ISZ COUNT /YES: FIELD? JMP .+3 HLT /FINISHED JMP .-1 /END TRAP ISZ I ISTLDF /ISZ SETLDF JMP I STLDF3 STLDF3, SETLDF-3 /PROGRAM ENDS HERE. NOTE THAT MUST /RELOAD PROGRAM TO RERUN /ARRAY OF 60-TRIAL CONDS FOR "REAL" /BLOCKS: CURRENTLY SET FOR 1/6 OF EACH /WIDTH CONDITION: 1-6 WPCOND, -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 -1 -2 -3 -4 -5 -6 /ARRAY OF COND. EXPOSURE DURATIONS -24 /6 -24 /5 -24 /4 -24 /3 -24 /2 EXTIME, -24 /COND 1 EXP /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 / /TELETYPE OUTPUT: UNSIGNED DECIMAL /INTEGER IN FORMAT(1X,I2) N, 0 DCPUT2, 0 AND K177 DCA N TAD C240 JMS I TIPE TAD C260 DCA DIG TAD N TAD MD10 SPA JMP .+3 ISZ DIG JMP .-4 TAD D10 DCA N TAD DIG JMS I TIPE TAD N TAD C260 JMS I TIPE JMP I DCPUT2 /SUBR TELETYPE OUTPUT: UNSIGNED DECIMAL /INTEGER, FORMAT(1X,I3) DCPUT3, 0 AND C1777 DCA N TAD C240 JMS I TIPE TAD C260 DCA DIG TAD N TAD MD100 SPA JMP .+3 ISZ DIG JMP .-4 TAD D100 DCA N TAD DCPUT3 DCA DCPUT2 TAD DIG JMS I TIPE JMP DCPUT2+4 /STRING STORAGE ARRAY FOLLOWS STRING, 0