*20 PMODE *20 SH1, 0 SH2, 0 SH3, 0 SHUFEL, SHUFL RNX, RN IRX, IR K7, 7 TEMP, 0 R1, 0 R2, 0 R3, 0 INDEX6, 0 RNDM3, 0 RNDM2, 0 RNDM1, RNDM RMNDR, RMNDRX C3, 3 M6, -6 ADTRMX, 1737 C20, 20 X0, 0 Y0, 0 TCOUNT, 0 TIME1, 0 TIME2, 0 M200, -200 COUNT, 0 RITEX0, 0 LEFTX0, 0 TRTYPE, 0 C777, 777 IMASK, MASK M20, -20 M40, -40 TIME, 0 X, 0 KEYBUF, 0 KEY1, 0 KEYSET, 0 M4, -4 ADSETS, SETS M10, -10 KEY2, 0 IPOINT, POINT PWTABL, PATRN-2 PAUSET, -372 /-MSECS DELAY TIPE, TYPE SHOW, DISPLAY FCLOCK, 2100 C212, 212 C215, 215 C240, 240 C40, 40 DX, 2 /DOTS TWEEN LETS CX, 10 /DOTS FROM CENTR C300, 300 C400, 400 C260, 260 M144, -144 TIMER, 0 CLOCK, 0 CLA CLLR TAD FCLOCK /100KHZ CLOCK CLLR CLA JMP I CLOCK DELAY, 0 CLCA TAD M144 SPA CLA JMP .-3 CLLR JMP I DELAY /PROGRAM STARTS HERE START, CLA TAD ADTRMX DCA 10 TAD M40 DCA 7 DCA 1 TAD 1 DCA I 10 ISZ 7 SKP JMP .+3 ISZ 1 JMP START+6 TAD ADTRMX TAD C40 DCA 11 /AD-1 DATA STORE WARMUP, LAS SNA JMP .-2 ISZ 1 NOP LAS SZA JMP .-4 JMS I IRX JMS I RNX ISZ 1 JMP .-2 /NOW ADJUST THE DISPLAY CENTER: /X0=KNOB 0, Y0=KNOB 4. MUST SET SW 0 OFF /TO BEGIN ADJUSTMENT AND THEN ON WHEN /ADJUSTMENT COMPLETED LINC LMODE CLR ESF SNS I 0 JMP .-1 L1, SAM 0 STC X0 SAM 4 STC Y0 PDP PMODE JMS CLOCK JMS I IPOINT JMS DELAY LINC LMODE SNS 0 JMP L1 PDP PMODE CLA /DEFINE DISPLAY ORIGINS ON LEFT AND /RIGHT OF CENTER FIXATION DOT TAD X0 AND C777 DCA X0 CLL IAC RTL TAD X0 TAD CX DCA RITEX0 STA CLL RAL TAD CX TAD C40 TAD DX TAD DX TAD DX CIA TAD X0 DCA LEFTX0 /WHEN ADJUSTMENT COMPLETED, PROG. HALTS /TO READ TOTAL TIME/4 IN MSECS FROM R SW HLT LAS DCA TIME /NOW DO A SINGLE 32-TRIAL WARMUP BLOCK JMS I TRIALS /32-TRIAL BLOCK TAD C40 TAD ADTRMX /DONT SAVE FIRST DCA 11 /WARMUP BLOCK /NOW DO 6 SCORED 32-TRIAL BLOCKS=192 TRL TAD M6 DCA COUNT /DO 6 BLOCKS JMS I TRIALS ISZ COUNT JMP .-2 HLT /DONE WITH SESS. JMP I RECORD /SAVE DATA RECORD, SAVE TRIALS, BLOCK PAGE /SUBR EXECUTES 32-TRIAL BLOCK BLOCK, 0 TAD M20 DCA 7 TAD ADTRMX DCA SH1 /SHUFFLE TR TYPE TAD C40 /ARRAY 16 TIMES DCA SH2 STA DCA SH3 JMS I SHUFEL ISZ 7 JMP BLOCK+3 TAD ADTRMX DCA 10 TAD M40 DCA TCOUNT TAD C212 JMS I TIPE TAD C215 JMS I TIPE TAD C212 JMS I TIPE /EACH TRIAL BEGINS HERE TRIAL, TAD I 10 /NEXT TRIAL TYPE DCA TRTYPE TAD TRTYPE AND C3 DCA KEYSET /BITS 10-11 TAD C3 TAD KEYSET DCA KEYBUF /SHUFFLE SET ORDER 16 TIMES TAD M20 DCA 1 SHUFCH, STA TAD ADSETS DCA SH1 TAD C20 DCA SH2 STA DCA SH3 JMS I SHUFEL ISZ 1 JMP SHUFCH /TAKE 5 CHARACTERS OFF TOP OF ARRAY AND /STORE IN 3,4,5,6&KEY2 TAD M4 DCA 1 STL RTL DCA 12 STA TAD ADSETS DCA 13 TAD I 13 DCA I 12 ISZ 1 JMP .-3 TAD I KEYBUF DCA KEY1 TAD I 13 DCA KEY2 /NOW STORE 3 WORDS/TRIAL: 1ST WORD= /TRTYPE*32 + ASCII CODE POSN 0 (LEFTMOST /2ND WORD=ASCII CODE POSN 1*32 + ASCII /CODE POSN 2; 3RD WORD=ASCII POSN 3*32 /+ASCII CODE 2ND KEY CHAR TAD TRTYPE CLL RTL RTL RTL TAD 3 DCA I 11 /IST WORD TAD 4 CLL RTL RTL RTL TAD 5 DCA I 11 /2ND WORD TAD 6 CLL RTL RTL RTL TAD KEY2 DCA I 11 /3RD WORD /NOW DECODE TIME CONDITIONS FOR TRIAL /AND SETUP TIME1 AND TIME2: BITS 8&9 OF /TRTYPE=TIME COND.:0=1-3,1=2-2,2=3-1, /3=4-0(CONTROL-NO CHANGE) TAD TRTYPE RTR AND C3 CMA DCA 1 TAD TIME ISZ 1 JMP .-2 DCA TIME1 TAD TIME CLL RTL DCA 1 TAD TIME1 CIA TAD 1 DCA TIME2 /NOW SET LEFT (BIT 7 OF TRTYPE=0) OR /RIGHT (BIT 7=1) DISPLAY TAD C20 AND TRTYPE SNA CLA JMP .+3 TAD RITEX0 SKP TAD LEFTX0 DCA X 6314 /DISPLAY CENTER FIXATION DOT UNTIL S /GIVES READY SIGNAL, AND THEN FOR /ANOTHER -PAUSET MSECS BEFORE ONSET JMS CLOCK JMS I IPOINT /JMS POINT JMS DELAY 6312 SNA CLA JMP .-5 TAD PAUSET DCA TIMER JMS CLOCK JMS I IPOINT JMS DELAY ISZ TIMER JMP .-4 TAD TIME1 CIA DCA TIMER JMS CLOCK JMS I SHOW /JMS DISPLA JMS DELAY ISZ TIMER JMP .-4 /NOW PUT 2ND (KEY2) CHAR INTO KEY POSN TAD KEY2 DCA I KEYBUF TAD TIME2 SNA JMP I IMASK /JMP MASK CIA DCA TIMER JMS CLOCK JMS I SHOW JMS DELAY ISZ TIMER JMP .-4 MASK, 6304 /DISPLAY DONE. MASK OUT CHARS WHILE S /RECORDS RESPS. WHEN DONE, S SO SIGNALS /BY PRESSING A BUTTON. THEN TRIAL DATA /TYPED OUT. JMS CLOCK JMS I IPOINT TAD M4 DCA 15 TAD X DCA 1 TAD Y0 LINC LMODE DSC I 0 7777 DSC I 0 7777 CLR PDP PMODE TAD 1 TAD DX ISZ 15 JMP MASK+6 JMS DELAY 6302 SNA CLA JMP MASK+1 TAD C212 JMS I TIPE TAD C215 JMS I TIPE TAD KEY1 TAD C300 JMS I TIPE TAD C20 AND TRTYPE SZA CLA IAC TAD C260 JMS I TIPE TAD TRTYPE RTR AND C3 TAD C260 JMS I TIPE TAD KEYSET TAD C260 JMS I TIPE TAD C240 JMS I TIPE STL RTL DCA 12 TAD M4 DCA 1 TAD I 12 TAD C300 JMS I TIPE ISZ 1 JMP .-4 ISZ TCOUNT /ANOTHER TRIAL? JMP I ITRIAL /BLOCK OVER. DISPLAY "REST" FOR 25 SECS. TAD ADREST DCA 13 TAD M4 DCA 1 STL RTL DCA 12 TAD I 13 DCA I 12 ISZ 1 JMP .-3 TAD PAUSET DCA 15 TAD M144 DCA TIMER JMS CLOCK JMS I SHOW JMS DELAY ISZ TIMER JMP .-4 ISZ 15 JMP .-10 TAD I IBLOCK DCA .+2 JMP I .+1 0 /HOLDS AD RETURN ITRIAL, TRIAL IBLOCK, BLOCK ADREST, . 22 /R 5 /E 23 /S 24 /T /SECTION SAVES RECORDED TRIAL DATA ON /TAPE UNIT 1 AT TBLK COUNT=L SW ON UP SAVE, LAS DCA COUNT STL RAR /4000 TAD COUNT DCA MAG TAD C5001 TAD COUNT DCA MAG+2 TAD C6002 TAD COUNT DCA MAG+4 TAD C7003 TAD COUNT DCA MAG+6 LINC LMODE LDF 1 WRC U MAG, 0 WRC U 0 WRC U 0 WRC U 0 HLT JMP .-1 PMODE C5001, 5001 C6002, 6002 C7003, 7003 PAGE TYPE, 0 TLS TSF JMP .-1 CLA JMP I TYPE /SUBR DISPLAYS FIXATION POINT POINT, 0 CLA TAD X0 DCA 1 TAD Y0 LINC LMODE DSC I 0 POINT2, 1000 PDP PMODE CLA JMP I POINT /SUBR DISPLAYS 4 CHARS STARTING AT X /PLUS FIXATION DOT DISPLA, 0 CLA STL RTL DCA 12 TAD M4 DCA 7 TAD X DCA 1 TAD I 12 CLL RAL TAD PWTABL DCA 2 TAD Y0 LINC LMODE DSC 2 DSC I 2 CLR PDP PMODE TAD 1 TAD DX ISZ 7 JMP DISPLA+6 JMS I IPOINT JMP I DISPLA /ARRAY OF ASCII CODES FOR THE SIXTEEN /DISPLAY CHARACTERS /CNXL KFDZ HGPR JBST SETS, 3 /SET 1:C,N,X,L 16 30 14 13 /SET 2:K,F,D,Z 6 4 32 10 /SET 3:H,G,P,R 7 20 22 12 /SET 4:J,B,S,T 2 23 24 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 / 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 /? /USELESS COMMENT