*20 PMODE /PROGRAM CONSTANTS, PAGE ZERO *7 334 *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 C31, 31 M6, -6 C10, 10 MYES, -200 /"YES" KEY=3RD DISPLA, STIMON FIXATE, DOTSON /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 SIGNL3, PHASE3 BEAT2, 0 BEAT3, 0 GOT3, 0 TIME, 0 C20, 20 MCLOCK, 4100 /COUNT SEC/1000 IBI1, 0 IBI2, 0 IBI3, 0 IBI4, 0 C300, 300 C1000, 1000 C177, 177 RELAY, 1 THERE, HERE WARMUP, 1 /WARMUP STAGE ISLOWR, SLOWER ADCOND, WPCOND /AD WARMUP CONDS IWORDN, WORDON IREFIL, REFILL RCOND, RSCOND /AD "REAL" CONDS MD60, -74 /60 TRIALS/BLK C16, 16 COND, 0 KLOCK, CLOCK STEP, 0 TBLK, 0 BNTR, 0 MBLK, 0 LDF2, 0642 /LDF 2 ISTLDF, SETLDF C40, 40 DCPTX2, DCPUT2 DCPTX3, DCPUT3 C1777, 1777 N, 0 RNX, RN IRX, IR K1000, 1000 /DISPLAY PARAMETERS WINDSP, 1 /CHAR SPACING VERCO, 0 /VERT DISP COOR LWHC, 300 /INIT H.C. /TIME PARAMETERS AEXPOS, EXTIME+1 /AD COND EXP ARR EXPOSE, 0 /-CURRENT EXPOSE EXSPOT, 0 /AD CURRENT EXP. WEXPOS, WPEXP /AD WARMUP EXP WPEXP, -74 /-WARMUP EXP /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 MAKES SURE APPARENT IBI IS REAL: /CLOCK READING MUST EXCEED 300 MSEC /IF REAL, FLIPS(FLOPS) RELAY 0 EXIT CHECK, 0 CLCA TAD MD300 SPA CLA JMP I CHECK-1 /JMP EXIT ISZ CHECK /RETURN ENTRY+2 TAD RELAY LINC LMODE ATR /RELAY PDP PMODE TAD RELAY SNA CLA /REVERSE STATUS IAC DCA RELAY EXIT, CLCA JMP I CHECK /SUBR CLEARS AND RESTARTS MSEC CLOCK CLOCK, 0 CLA CLLR TAD MCLOCK CLLR CLA JMP I CLOCK /SUBR DISPLAYS 6-LETTER WORD STIMON, 0 CLA TAD LOCHAR DCA 10 TAD M6 DCA 4 TAD LWHC LETTER, DCA 1 TAD I 10 CLL RAL TAD PWTABL DCA 2 TAD VERCO LINC LMODE DSC 2 DSC I 2 PDP PMODE CLA ISZ 4 SKP CLA JMP I STIMON TAD WINDSP JMS DOUBLE TAD 1 JMP LETTER /SUBR MASKS OUT PREVIOUSLY EXPOSED WORD MASK, 0 CLA TAD M20 DCA 4 TAD LWHC DCA 1 TAD VERCO MASKON, LINC LMODE DSC I 0 7777 PDP PMODE ISZ 4 JMP MASKON CLA JMP I MASK /SUBR DISPLAYS FIXATION DOTS DOTSON, 0 CLA TAD C31 TAD WINDSP TAD WINDSP TAD WINDSP JMS DOUBLE TAD LWHC DCA 1 /H.C OF DOTS TAD C16 JMS DOUBLE TAD VERCO /V.C. UPPER DOT LINC LMODE DIS 1 PDP PMODE STA CLL RTL JMS DOUBLE TAD VERCO LINC LMODE DIS 1 PDP PMODE CLA JMP I DOTSON /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 SMA 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 LOCHAR /AD-1 FIRST 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 COND TAD WARMUP /WARMUP BLOCK? SZA CLA JMP .+4 TAD COND /FORM ADDR OF TAD AEXPOS /COND. EXPOS. SKP TAD WEXPOS /AD WARMUP EXP. DCA EXSPOT /AD OF CURR EXP TAD I EXSPOT DCA EXPOSE 6314 /CLR RESP PAN READY, TAD 7 DCA 1 TAD VERCO LINC LMODE DSC I 0 /DISPLAY READY 1000 PDP PMODE CLA 6312 /WAIT FOR READY SNA CLA /SIGNAL FROM S JMP READY TAD C20 CLEN /ENABLE TRIGGER1 CLSA /CLEAR EVENT FLS JMS I KLOCK /CLR,START CLOCK CLSA /WAIT FOR BEAT AND C40 SNA CLA JMP .-3 JMS CHECK /GENUINE IBI? JMP .-3 /N0:RETURNS HERE JMS I KLOCK /YES:START CLOCK CLA CLSA /WAIT FOR IBI1 AND C40 SNA CLA JMP .-3 JMS CHECK /GENUINE BEAT? JMP .-6 DCA IBI1 JMS I KLOCK /RESTART CLOCK TAD COND DCA 1 CLL IAC RTL TAD IBI1 CLL RAR CLL RAR CLL RAR DCA 2 TAD 2 ISZ 1 JMP .-2 /-COND*(IBI1+4) CIA / /8 = DCA TIME /-FRACT.INTERVAL DCA BEAT2 /IBI2 FLAG OFF WAIT, CLSA AND C40 SNA CLA JMP .+5 JMS CHECK /PREMATURE IBI2 JMP .+4 /SENSED:GENUINE? ISZ BEAT2 /YES:FLAG IBI2 JMP I SIGNL3 CLCA /"TIME" YET? TAD TIME SPA CLA JMP WAIT PHASE2, JMS I FIXATE /FIXATION DOTS CLSA AND C40 SNA CLA JMP PHASE2 /WAIT FOR IBI2 JMS CHECK /GENUINE IBI? JMP PHASE2 PHASE3, DCA IBI2 DCA BEAT3 /CLR IBI3 FLAG JMS I KLOCK /RESTART CLOCK JMS I FIXATE CLSA AND C40 SNA CLA /ANOTHER BEAT? JMP WORDON-4 JMS CHECK /GENUINE? JMP WORDON-3 DCA 6 /PREMATURE IBI3: DCA TIME /START EXPOSURE JMS I KLOCK /NOW TAD 6 JMP WORDON+7 /FLAG IBI3,STIM CLCA TAD TIME SPA CLA /READY FOR STIM? JMP PHASE3+3 WORDON, JMS I DISPLA /DISPLAY WORD CLSA AND C40 /WATCH FOR EARLY SNA CLA /BEAT DURING JMP .+6 /EXPOSURE JMS CHECK /GENUINE? JMP .+5 DCA IBI3 /PREMATURE IBI3 ISZ BEAT3 /FLAG IBI3 JMP WORDON /CONTINUE DISPLA CLCA TAD TIME TAD EXPOSE SPA CLA /DURATION UP? JMP I IWORDN /JMP WORDON 6314 /CLR RESP PANEL DCA GOT3 /=0:WAIT FOR FOLLOW, JMS I MASKIT /IBI3;=1,IBI4 CLSA /POST-STIM MASK AND C40 SNA CLA JMP FOLLOW JMS CHECK /IBI GENUINE JMP FOLLOW DCA 6 TAD BEAT3 /EITHER=1 MEANS TAD GOT3 /ITS IBI4; SNA CLA /NEITHER IBI3 JMP I THERE /JMP .+4 TAD 6 /SET IBI4 DCA IBI4 JMP RESPND HERE, TAD 6 /SET IBI3 DCA IBI3 ISZ GOT3 /REPEAT FOR IBI4 JMS I KLOCK /RESTART CLOCK JMP I IFOLLW /JMP FOLLOW IFOLLW, FOLLOW RESPND, JMS I MASKIT 6312 /RESPONSE YET? SNA JMP RESPND TAD MYES /RESP="YES"? SNA CLA /"YES"=1;"NO"=0 IAC DCA RESP CLLR /STOP CLOCK TAD COND CIA /TYPE COND: 1-7 TAD C260 JMS I TIPE TAD C240 /" " JMS I TIPE TAD C260 TAD RESP JMS I TIPE /0-1 RESP TAD C240 /TYPE SPECIAL TAD BEAT2 /CHARS IF FLAGS TAD BEAT3 JMS I TIPE /" " IF NO FLAGS TAD EXPOSE CIA DCA EXPOSE TAD LOCHAR /TYPE 6 LETTERS DCA 12 /OF DISPLAY WORD TAD M6 DCA 5 TAD I 12 TAD C300 JMS I TIPE ISZ 5 JMP .-4 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 SAVE STA DCA RESP /WRONG:RESP=-1 JMP SAVE NORESP, TAD C240 JMS I TIPE SAVE, TAD LOCHAR DCA 12 /SAVE TRIAL DATA TAD COND /6 DATA WORDS/TR CIA /SAVED OVER SIX CLL RTR /DISPLAY LETTERS RTR /PER TRIAL:1ST TAD EXPOSE /WD=-COND*1000 DCA I 12 /+EXPOSURE TAD RESP DCA I 12 /2ND=RESP=-1,0,1 TAD IBI1 DCA I 12 TAD BEAT2 SZA CLA /STORE-IBI2 IF JMP .+4 /FLAG ON IBI2 TAD IBI2 DCA I 12 JMP .+4 TAD IBI2 CIA DCA I 12 TAD BEAT3 /SAME FOR IBI3 SZA CLA JMP .+4 TAD IBI3 DCA I 12 JMP .+4 TAD IBI3 CIA DCA I 12 TAD IBI4 DCA I 12 /SW 2-ON:MISTRIAL EFFECTS STAIRCASE AS /ANY OTHER TRAIL - OFF:MISTRIAL DOESNT /EFFECT STAIRCASE LINC LMODE SNS 2 JMP NOMIST /FORGET STAIRCAS PDP PMODE TAD BEAT2 /MISTRIAL IF TAD BEAT3 /BEAT2 OR BEAT3 SZA CLA /SET=1;ON MISTRL JMP I IREFIL /NO CHANGE C.EXP SKP LMODE NOMIST, PDP PMODE 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 TAD C212 JMS I TIPE /CR,LF TAD C215 JMS I TIPE TAD 12 DCA LOCHAR /NEXT WORD-1 ISZ BNTR /END BLOCK? JMP I ITRIAL TAD C212 /EXTRA LF JMS I TIPE /AT END BLOCK HLT /THEN PAUSE TAD WARMUP /WARMUP BLOCK? SNA CLA /IF NOT,DO JMP I IBLOCK /ANOTHER /IST BLOCK OF SESSION IS ALWAYS A WARMUP /BLOCK REGARDLESS OF SW 1;AT END OF EACH /BLOCK,SW=0 WILL SET NEXT BLOCK TO "REAL /STATUS", IN WHICH CASE THE COMMON /WARMUP EXPOSURE TIME WILL BE TRANSFERED /TO EACH OF THE CONDITIONS EXPOSURE FOR /FURTHER STAIRCASE ELABORATION. ONCE THE /"REAL STATUS" HAS BEEN ESTABLISHED, ALL /FURTHER BLOCKS ARE DONE THAT WAY. UP TO /5 60-TRIAL BLOCKS/SESSION. TO SAVE DATA /AT END, EFFECT CONSOLE BRANCH TO RECORD LINC LMODE SNS 1 /LOOK FOR CHANGE JMP NOWARM /TO "REAL STATUS PDP PMODE JMP I IBLOCK /ANOTHER WARMUP ITRIAL, TRIAL IBLOCK, BLOCK LMODE NOWARM, PDP PMODE DCA WARMUP /CHANGE TO REAL TAD MD60 DCA 1 TAD RCOND /NEW ARRAY OF DCA ADCOND /TRL CONDS. TAD C10 CIA DCA 1 TAD C10 CIA TAD AEXPOS DCA 10 TAD WPEXP /SET ALL COND EX DCA I 10 /TO FINAL WARMUP ISZ 1 /EXPOSURE JMP .-3 JMP I IBLOCK /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 CONDITION TYPES STARTS HERE /THIS ARRAY IS FOR THE WARMUP BLOCKS AND /CONTAINS ALL IBI CONDS.:1/8-7/8 AVG=4/8 -1 -2 -3 -4 -5 -6 -7 -1 -2 -3 -4 -4 -5 -6 -7 -1 -2 -3 -4 -5 -6 -7 -1 -2 -3 -4 -4 -5 -6 -7 -1 -2 -3 -4 -5 -6 -7 -1 -2 -3 -4 -4 -5 -6 -7 -1 -2 -3 -4 -5 -6 -7 -1 -2 -3 -4 -4 -5 -6 -7 /ARRAY OF 60-TRIAL CONDS FOR "REAL" /BLOCKS: CURRENTLY SET FOR 50% 1/8 AND /50% 5/8 IBIS WPCOND, -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 -1 -5 RSCOND, 0 /ARRAY OF COND. EXPOSURE DURATIONS 0 /COND 7 EXP 0 /6 0 /5 0 /4 0 /3 0 /2 EXTIME, 0 /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) DCPUT2, 0 AND C177 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