*20 PMODE *20 AFTER, 764 /NOW=1/2 SEC. BEFORE, 374 /NOW=1/4 SEC. K7, 7 C7=K7 C30, 30 D64, 100 CORESP, 0 ERASE, 0 TEMP, 0 R1, 0 R2, 0 R3, 0 INDEX6, 0 RNDM3, 0 RNDM2, 0 ADTIMS, TIME1 /AD TIME CONDS. ADLETS, LETTR1 /AD LETTER CODES TRIALS, TRIAL1-1 /AD-1 TRIAL TYPE RNDM1, RNDM SH1, 0 SH2, 0 SH3, 0 SHUFEL, SHUFL RMNDR, RMNDRX TIMER, 0 ADRESP, RESP1 /AD RESP CODES DIGITS, DIGIT1-1 /AD-1 POSTMASKS DIGIT, DIGIT1 BELL, 207 D18, 22 M5, -5 CHAR, 0 IRX, IR RNX, RN NTRIAL, 0 TIMEON, 12 /MSECS DISPLAY DISPLA, SHOW M10, -10 LETTER, 0 TRTYPE, 0 C40, 40 /SUBR TYPES OUT AC (LESS THAN 100) /AS 2 DIGIT DECIMAL NUMBER PLUS SPACE DECPUT, 0 DCA 0 TAD C260 DCA TIMER TAD 0 TAD MD10 SPA JMP .+3 ISZ TIMER JMP .-4 TAD C272 DCA 0 TAD TIMER JMS TYPE TAD 0 JMS TYPE TAD C240 JMS TYPE JMP I DECPUT C240, 240 MD10, -12 C260, 260 C272, 272 /SUBR TYPES CHAR FROM AC TYPE, 0 TLS TSF JMP .-1 CLA JMP I TYPE C212, 212 C215, 215 /SUBR STARTS CLOCK AT 1OO KHZ RATE CLOCK, 0 CLA CLLR TAD C2100 CLLR CLA JMP I CLOCK C2100, 2100 /SUBR PAUSES UNTIL RFRESH SECS*10^-5 DELAY, 0 CLCA TAD RFRESH SPA CLA JMP .-3 JMP I DELAY /DONE WAITING RFRESH, -144 /REFRESH RATE /SUBR DISPLA SHOWS FIXATION POINTS /AND CHARACTER SPECIFIED BY ASCII=CHAR SHOW, 0 JMS CLOCK LINC LMODE SET I 1 HORCO, 272 LDA I 20 /LINE ABOVE CHAR ADA I VERCO, 320 DSC I /SHOW DOTS ABOVE 400 DSC I 4 SET 1 HORCO ADA I -40 /SHOW DOTS BELOW DSC I 1000 DSC I 10 LDA CHAR ROL 1 ADA I PATRN-2 /FORM ADDR PWS STC 2 SET 1 HORCO ADD VERCO /SHOW CHAR DSC 2 DSC I 2 PDP PMODE JMS DELAY /REFRESH TIMING JMP I SHOW /END OF DISPLAY ROUTINE /PROGRAM STARTS HERE: INITIALIZE RANDOM START, ISZ NOP LAS SZA JMP START JMS I IRX JMS I RNX ISZ JMP .-2 /EACH BLOCK BEGINS HERE BLOCK, HLT CLA TAD D64 /64 TRIALS/BLOCK CIA DCA NTRIAL /SHUFFLE TRIAL TYPES TAD C40 CIA DCA 1 TSHUF, TAD TRIALS DCA SH1 TAD D64 DCA SH2 STA DCA SH3 JMS I SHUFEL ISZ 1 JMP TSHUF TAD TRIALS DCA 12 /NOW ZERO BANK OF 64 DATA CELLS STARTING /AT 4000; CELL FOR TRTYPE=TRTYPE+4000 STA CLL RAR /3777=AD-1 CELLS DCA 10 TAD NTRIAL /=-64 DCA 1 DCA I 10 /ZERO CELL ISZ 1 JMP .-2 /EACH TRIAL BEGINS HERE /TRIAL TYPE DECODING: BITS 9,10,11= /LETTER SELECTION (8 OF THEM). BITS 7,8: /1 OF 4 ERASURE MASK DURATIONS. BIT 6: /0=NO POSTMASK CHARACTER AFTER ERASURE /MASK, 1=POSTMASK CHAR FOLLOWS ERASURE TRIAL, TAD I 12 /NEXT COND. DCA TRTYPE TAD C7 AND TRTYPE DCA LETTER /1 OF 8 LETTERS TAD C30 AND TRTYPE CLL RTR RAR TAD ADTIMS DCA 1 /AD OF ERASURE TAD I 1 /DURATION MSECS CIA DCA ERASE TAD LETTER TAD ADRESP /AD OF CORRECT DCA 1 /RESP KEY CODE TAD I 1 CIA DCA CORESP /GET (POSSIBLE) POSTMASK CHAR BY /SHUFFLING SET OF 18 0F THEM TAD M5 DCA 1 DSHUF, TAD DIGITS DCA SH1 TAD D18 DCA SH2 STA DCA SH3 JMS I SHUFEL ISZ 1 JMP DSHUF /READY TO BEGIN TRIAL. DISPLAY FIXATION /DOTS UNTIL S SIGNALS READY AND THEN FOR /ANOTHER "BEFORE" MSECS READY, 6304 TAD C40 /CHAR=BLANK=40 DCA CHAR JMS I DISPLA 6302 /READY=ANY KEY SNA CLA /ON 4-KEY BOX JMP .-3 TAD BEFORE CIA DCA TIMER JMS I DISPLA ISZ TIMER JMP .-2 TAD LETTER TAD ADLETS /AD LETTER CODE DCA 1 TAD I 1 DCA CHAR /DISPLAY LETTER /SHOW SELECTED LETTER FOR "TIMEON" MSECS TAD TIMEON CIA DCA TIMER JMS I DISPLA ISZ TIMER JMP .-2 /SHOW ERASURE MASK FOR "ERASE" MSECS DCA CHAR /ERASE CODE=0 JMS I DISPLA ISZ ERASE JMP .-2 6314 /CLEAR RESP PANL /SHOW EITHER RANDOM POSTMASK CHAR (BIT 6 /OF TRTYPE=1) OR BLANK (BIT 6=0) FOR /"AFTER" MSECS TAD C40 AND TRTYPE SZA CLA JMP .+3 TAD C40 /BLANK=40 SKP TAD I DIGIT /POSTMASK CHAR DCA CHAR TAD AFTER CIA DCA TIMER JMS I DISPLA ISZ TIMER JMP .-2 6312 /RESP YET? SNA JMP .-2 TAD CORESP /=CORRECT KEY? SNA CLA IAC DCA 1 /CORRECT=1 TAD 1 SNA CLA JMP ETRIAL /RESPONSE WAS CORRECT: RING TTY BELL /AND INCREMENT DATA CELL AT 4000+TRTYPE TAD BELL /RING BELL JMS TYPE STL RAR TAD TRTYPE /AD DATA CELL DCA 1 ISZ I 1 /INCREMENT IT ETRIAL, ISZ NTRIAL /ANOTHER TRIAL? JMP I ITRIAL /AT END OF BLOCK: CR,LF, AND TYPE OUT /NO. CORRECT FOR EACH OF 8 CONDITIONS. TAD C212 JMS TYPE TAD C215 JMS TYPE TAD M10 /8 COND. ENTRIES DCA 2 STA CLL RAR /3777=AD-1 CELLS DCA 10 ENTRY, TAD M10 /8 CELLS/COND. DCA 1 TAD I 10 /SUM NEXT 8 CELL ISZ 1 JMP .-2 JMS DECPUT /TYPE SUM,SPACE ISZ 2 /ANOTHER ENTRY? JMP ENTRY TAD C212 /ANOTHER CR,LF JMS TYPE TAD C215 JMS TYPE HLT /PRESS CONTINUE JMP I IBLOCK /FOR NEXT BLOCK IBLOCK, BLOCK ITRIAL, TRIAL /ARRAY 0F 8 DISPLAY LETTERS. EACH USED /ONCE PER CONDITION PER BLOCK LETTR1, 2 /B 3 /C 4 /D 6 /F 7 /G 10 /H 12 /J 16 /N /ARRAY OF 8 RESPONSE KEY CODES RESP1, 1000 /LEFTMOST KEY 400 200 100 40 20 10 4 /ARRAY OF 4 ERASURE DURATIONS (MSECS) TIME1, 5 17 31 43 /ARRAY OF 18 POSTMASK CHARACTERS /DISJOINT FROM DISPLAY CHARACTERS DIGIT1, 61 62 63 64 65 66 67 70 71 61 62 63 64 65 66 67 70 71 /ARRAY OF 64 TRIAL TYPES: 0-77 TRIAL1, 0 40 1 41 2 42 3 43 4 44 5 45 6 46 7 47 10 50 11 51 12 52 13 53 14 54 15 55 16 56 17 57 20 60 21 61 22 62 23 63 24 64 25 65 26 66 27 67 30 70 31 71 32 72 33 73 34 74 35 75 36 76 37 77 /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 / /PATTERN WORDS FOR ERASURE MASK 7777 7777 /PATTERN WORDS FOR CHAR DISPLAY 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