[ PROGRAM BETH02 ADDS TO BETH01 [ TEST OF SXL LINES 1 TO 5 WHICH [ ARE STORED AS RESPONSE T JMP 20 [ MAJOR LOGIC FLOW FOR PROGRAM BETH01 [ OCT. 1975 BY R.H. NAGEL $20 JMP INITLT JMP READRD [ DISPLAY PARAMETERS #TOP JMP DISPPR [ DISPLAY AGAIN IF SS 0 UP SNSi0 JMP p-2 [ RANDOMISE IF SS 1 UP SNS 1 JMP p-3 [ RANDOMISE STIMULUS CONTROLL DATA JMP RANDBK JMP BACKON [ START EXPERIMENT IF SS 2 UP SNS 2 JMP p-1 [ WAIT FOR SUBJECT TO START SXLi0 JMP p-1 [ INITIALIZE SETi16 DATA4+P4 SET 15 CNTRL UMB 4 #FOP SXLi0 [ S REQUEST STIMULUS JMP p-1 JMP DEL300 [ GIVE THE STIMULUS JMP GIVEST [ WAIT FOR THE RESPONSE JMP WAITRE XSKi15 [ MORE STIM TO GO JMP FOP [ TURN OFF ALL LIGHTS JMP INITLT [ ACCUMULATE RESULTS IF SS 5 UP SNS 5 JMP INITFA [ COMPUTE FORMAT-A DATA JMP COMPFA [ PRINT UNTILL SS 4 UP JMP PRNTFA [ SAVE STATE OF RANDOM JMP WRITRD JMP TOP T [ LOAD RNQA FROM UNIT 1 [ BANK 3 FROM BLOCKS 404-407 #READRD UMB 3 RCGu 3404 [ 404 - 407 [ WIPE OUT ABOVE TWO LINES LDAi NOP STA READRD+1 STC READRD+2 JMP 0 [ [ STORE RNQA ONTO TAPE #WRITRD UMB 3 WCGu 3404 JMP 0 [ [ INITIALIZE LIGHTS #INITLT LDAi -0 ATR CLR ATR JMP 0 T [ THIS INITALIZES DATA BASE [ FOR ACCUMULATES RESPONSES [ IN TOP OF BANK 5 #INITFA CLR ADD 0 STC TFEX SETi6 RESP5-1 SETi7 -1000 [ LENGTH OF RESP5 [ UMB 5 STAi6 XSKi7 JMP p-2 #TFEX EXIT INITFA T [ THIS SECTION PRESENTS PARAMETERS [ FOR DISPLAY AND CHANGE #DISPPR CLR ADD 0 STC DSEX LDAi -3 STA A29H [ [ FIRST DISPLAY #DISP1 LMB 3 QNA QDISP1 ADISP1 SETi1 ADISP1-1 [ FIRST PARAM LDAi1 ADD M1 BCL P2 ADD L1 STH UNCHN [ NUM OF CHANNELS STA NCHN ADD P1 STA 1 [ SECOND PARAM LDAi1 ADD M1 BCL P2 ADD L1 STH UNDUR [ NUM DUR|CHAN STA NDUR ADD P1 STA 1 [ THIRD PARAM LDAi1 DTOB JMP DISP1 [ NOT BCD AZEi JMP DISP1 [ ZERO STC NRPT T [ [ COMPUTE TOTAL TRIALS SETi1 UNTRL+P4 ADD NDUR MUL NCHN STA NBLK [ [ MULTIPLY THE CORRECT WAY COM STC 2 CLR SET 3 NRPT LAM [ TO AVOID END-AROUND 3 XSKi2 JMP p-5 LZE JMP ETRL ROLi1 LZE JMP ETRL APO JMP ETRL ROR 1 [ [ TEST IF TRL .GT. MAX ADD MINTRL APOi JMP ETRL [ ANS .GT. 999 ADD MAXTRL STA NTRL BTOD [ INTO DISPLAY JMP DISP2 [ [ DISPLAY  FOR MAX TRIAL #ETRL LDAi1 LDAi 6060 STHi1 STHi1 STHi1 JMP DISP1 T [ SECOND DISPLAY #DISP2 LMB 3 QNA QDISP2 ADISP2 [ CONVERT AND STORE [ VALUES AS ENTERED SETi1 ADISP2+P4 [ DISPLAY VALUES SETi6 VCHN+P4 [ BCD VALUES SETi10 TCHN-1 [ BINARY VALUES SETi7 -10 [ [ LOOP FOR ABOVE TABLES #CHVAL LDHi1 LDHi1 BCL P2 STHi6 ROL 3 STAi10 LDHi1 BCL P2 STHi6 ADM 10 XSKi7 JMP CHVAL [ [ NEGATE AND PUT IN 4 SETi10 NDUR-1 SETi11 CONST4-1 [ IN BANK 4 SETi12 -5 [ LENGTH UMB 4 LDAi10 STAi11 COM STAi10 STAi11 XSKi12 JMP p-6 UMB 2 T [ THIRD DISPLAY [ INITIALIZE SEVERAL #SDISP3 SET 7 CNCHN [ LOOP COUNT SETi10 VCHN-1 [ BCD OF CHANNEL SETi11 ADI3P-1 [ LOC OF ANSWER BUFF [ [ DO DISPLAY #DISP3 LDAi10 STA UICHN LDAi11 STC ADS3 LMB 3 QNA QDISP3 #ADS3 ADISP3 XSKi7 JMP DISP3 T [ FOURTH DISPLAY #DISP4 LMB 3 QNA QDISP4 ADISP4 [ [ SAVE BACKGROUND CHANNELS SETi1 ADISP4+P4 SETi6 -5 [ LOOP COUNT = LENGTH +1 SETi7 BCHN-1 [ [ LOOP [ TWO BCD-OCTAL NUMBERS [ MUST GUARD AGANIST NON OCTAL #BKLP LDHi1 LDHi1 BCLi 7 AZE JMP BKLR [ NON OCTAL LDH 1 ROL 3 STAi7 LDHi1 BCLi 7 AZE JMP BKLS [ NON OCTAL LDH 1 ADM 7 XSKi6 JMP BKLP #DSEX 0 [ MAIN EXIT [ [ NON OCTAL #BKLR LDAi7 LDHi1 #BKLS CLR STA 7 JMP DSEX-2 T [ FORM BASIC BLOCK [ TO RANDOMIZE CHANNELS [ #RANDBK CLR ADD 0 STC RAEX SETi10 ADI3P-1 [ MSEC ANS BUFFERS SETi11 TCHN-1 [ CHANNEL BINARY VALUES SETi12 BLOCK4-1 [ OUTPUT BUFFER SET 14 CNCHN [ #CHANNELS LDAi -4 STC A29H [ BTOD THREE DIGITS [ [ LOOP FOR BLOCK #LP2 LDAi11 SET 13 CNDUR [ #DURATIONS LDAi10 STC 1 #LP1 DTOB [ NEXT MSEC DELAY CLR [ STORE ZERO ON ERROR COM UMB 3 STAi12 UMB 2 LDHi1 LDA 11 ROL 6 [ PUT CHAN IN LEFT HALF UMB 3 STAi12 UMB 2 XSKi13 JMP LP1 XSKi14 JMP LP2 [ [ GO TO RANDOMISE BLOCK [ NRPT TIMES IN DATA UMB 4 LMB 3 JMP RDDT UMB 2 NOP #RAEX 0 T [ [ TURN ON THE BACKGROUND LIGHTS #BACKON CLR ADD 0 STC BAEX SETi6 -5 [ ONE MORE TO ZERO RELAYS SETi7 BCHN-1 [ [ LOOP LDAi7 ATR [ ON XSKi6 JMP p-3 #BAEX 0 T [ [ GIVE STIMULUS #GIVEST CLR ADD 0 STC GIEX LDAi -1 [ 0 SEC STC 10 LDAi16 STC BMSEC [ BASE MILI-SEC LDHi16 ATR [ ON JMP TIMR [ [ ADJUST TIMEING HERE NOP NOP BCL 6 CLR ATR LDH 16 ATR [ OFF CLR ATR #GIEX EXIT GIVEST [ THE FOLLOWING FOR PATCH ROOM NOP NOP NOP NOP NOP NOP NOP T [ WAIT FOR S TO RESPOND [ SXL 1-5 STORED AS [ 0 TO 4 IN BANK 4 -IR 16 #WAITRE CLR ADD 0 STC TREX #TRTP [ SXLi1 JMP p+4 LDAi 0 JMP TREX-1 [ SXLi2 JMP p+4 LDAi 1 JMP TREX-1 [ SXLi3 JMP p+4 LDAi 2 JMP TREX-1 [ SXLi4 JMP p+4 LDAi 3 JMP TREX-1 [ SXLi5 JMP TRTP LDAi 4 [ STHi16 #TREX EXIT WAITRE [ DELAY 300 MSEC #DEL300 LDA 0 STC A24Y LDAi 7776 [0 SEC STC 10 LDAi -454 [ 300 MSEC STC BMSEC JMP TIMR #A24Y EXIT DEL300 T [ IR 10 HOLDS -SEC-1, -MSEC IN BMSEC [ IR 2, 3 USED #TIMR LDA 0 STC A21M ADD BMSEC AZE JMP p+2 JMP A21K STC A21F JMP A21A NOP #A21K LDAi -1747 STC A21F XSKi 10 JMP p+2 JMP A21M SETi 3 -70 XSKi 3 JMP p-1 JMP A21A #A21M [JMP OUT OF LOOP FROM HERE JMP A21K #A21A LDA 0 ADAi 1 STC A21E SETi 3 -171 XSKi 3 JMP p-1 SETi3 JMP p-1 SETi 2 #A21F [#MSEC XSKi 2 JMP A21C #A21E [JMP TO 1K OR 1M+1 #A21C LDA 0 ADAi -2 STC BMEX NOP SETi3 -202 XSKi3 JMP p-1 #BMEX 0 #BMSEC 0 T [ [ THIS COMPUTES THE FORMAT A SUMMARY #COMPFA CLR ADD 0 STC SSEX SETi7 TEMP LDAi RESP5-10 STC TADR [ TOTALS ADDRESS SETi12 BLOCK4-2 [ ODD WORDS SETi14 BLOCK4-1 [ EVEN WORDS SET 4 CNBLK #SSML SET 5 CNRPT LDAi12 LDAi14 LDAi12 LDAi14 LDAi 10 ADM TADR [ BUMP BASIC ADDRESS [ [ LOOK FOR A MATCH ON THE ODD WORD SETi13 DATA4-1 #SSMP UMB 3 LDA 12 [ ADD WORD UMB 4 SAEi13 JMP p-1 [ SHOULD NEVER FAIL [ [ LOOK FOR NEXT MATCH LDAi13 STA 7 [ RH = RESPONSE BCLi 77 UMB 3 SAE 14 JMP SSMP [ NO MATCH T [ [ MATCH FOUH [ [ MATCH FOUND, CONPUTE ADDRESS LDA 7 BCLi 7770 [ 8 FOR NOW ADD TADR STC 6 [ [ UPDATE RESPONSES LDAi 1 UMB 5 ADM 6 [ BUMP TOTAL RESPONSES [ [ ALL REPEATS TESTED XSKi5 JMP SSMP [ MORE TO GO [ [ ALL TRIALS TESTED  XSKi4 JMP SSML UMB 2 LMB 1 #SSEX 0 #TADR 0 T [ [ PRINT OUT RESULTS IN FORMAT A [ USES IR 1-7 #PRNTFA CLR ADD 0 STC TYEX STC TTCH SETi7 BLOCK4+P4 [ DESCRIPTION BUFFER SETi6 RESP5-1 [ TABULATED RESULTS SET 4 CNBLK [ OUTPUT LINES OF DATA [ [ RING A BELL FOR END OF RUN LDAi 1377 STA TTYB JMP PRTLN SNSi4 #TYEX 0 [ EXIT FROM PRNTFA JMP PRPLN JMP PRTLN XSKi4 JMP TYEX-1 [ [ END OF PRINT OUT SETi5 -4 [ # BLANK LINES CRLF XSKi5 JMP p-2 JMP TYEX [ [ PREPARE A LINE FOR OUTPUT #PRPLN CLR ADD 0 STC LNEX SETi1 TTYB+P4 [ OUTPUT BUFFER UMB 3 LDAi7 COM STC TEMP LDHi7 SAE TTCH JMP TYCH [ NEXT CHANNEL LDHi7 [ BUMP IT LDA TEMP [ MSEC BTOD T [ [ PUT IN THE DATA SETi5 -10 UMB 5 LDAi6 BTOD XSKi5 JMP p-3 LDAi -0 STHi1 #LNEX EXIT PRPLN [ [ PRINT THE LINE #PRTLN CLR ADD 0 STC TLEX UMB 2 SETi1 TTYB+P4 LDHi1 SHDi 7700 [ END TEST JMP p+3 [ END CHAR DETECTED TELT JMP p-5 CRLF #TLEX EXIT PRTLN [ [ THIS ROUTINE PRINTS CHANNEL NUMBER #TYCH CLR ADD 0 STC YCEX CRLF LDAi 1414 STAi1 LDAi "CH" STAi1 LDAi 14 STHi1 LDH 7 STA TTCH ROR 3 BCL P2 STHi1 LDH 7 BCL P2 STHi1 LDAi -0 STHi1 JMP PRTLN SETi1 TTYB+P4 UMB 3 #YCEX EXIT TYCH #TTCH 0 [ LAST CH # #TTYB 0 [ MUST SAVE 50-OCTAL LOCATIONS HERE T $1440 [ THESE CONSTANTS USED THROUGHOUT [ [ ALGEBRATIC RELATIONSHIPS ARE: [ NDUR X NCHN = N X NCHN = NBLK [ NBLK X NRPT = NTRL #NDUR 0 [ DURATIONS PER CHAN #CNDUR 0 #NCHN 0 [ NUMBER OF CHANNELS #CNCHN 0 #NBLK 0 [ TRIALS PER BLOCK #CNBLK 0 #NRPT 0 [ REPEATS PER BLOCK #CNRPT 0 #NTRL 0 [ TRIALS PER RUN #CNTRL 0 [ [ #MINTRL -764 [ MAX NUM OF TRIALS #MAXTRL 764 [ 500 #TEMP 0 [ [ [ LITERALS, MINUS, PATTERNS #L1 1 #M1 -1 #P1 7000 #P2 7770 P2 7770 P4=3777 EXIT=0 [ [ BANK 5 REFERENCES RESP5=3000 [ [ BANK 4 REFERENCES CONST4=2002 DATA4 =2020 [ [ BANK 3 REFERENCES RDDT=1000 BLOCK4=3300 QNA=JMP 245 QNF=JMP 760 QNU=JMP 765 [ T $1500 [PROG TYPDEC WITH BINDEC LABELS CHANGED FROM [9 TO 8. ALSO ENTRY ELIMINATED [MOD BY L. MATIN [ ****** BINDEC 1 ****** [BINDEC 1 [ DJN 7| 5|68 [SIGNED 12-BIT BINARY TO DECIMAL CONVERSION [ RIGHT JUSTIFIED [ ENTER WITH BINARY NUMBER IN ACCUMULATOR VIA A JMP 9J [ DECIMAL KBD CODES STORED VIA IR 1 [ LEADING ZEROES SUPPRESSED [ NON-INTERRUPTABLE [ ALSO USES IR 2,3 [ USES TAGS 9J-9Q [CHANGED BY L. MATIN [TO TAGS 8J-8Q [ [TIMING- CLASSIC LINC [ 1.4 TO 3.5 MSEC [ #A28J SCRi1 [SIGN TO LINK BIT ROLi1 APOi [MAKE NEGATIVE COM STC A28N [SAVE IT ADD 0 [SAVE RETURN STC A28P LDAi [LOAD POSSIBLE SIGNS #A28K "- " LZE [GET CORRECT SIGNS ROR 6 STHi1 [AND STORE IT SETi2 [SET ADDEND POINTER A28Q-1 JMP A28M [CONVERT A DIGIT AZE [IS IT A LEADING ZERO JMP A28L [NO ADD A28K [YES: MOVE THE SIGN RIGHT ONE PLACE STH 1 [STORE A SPACE OVER THE SIGN LZE [GET THE CORRECT SIGN ROR 6 STHi1 [AND STORE IT JMP p-10 [ THEN CONTINUE CONVERTING #A28L STHi1 [STORE A DIGIT JMP A28M [CONVERT NEXT DIGITI JMP A28L [AND STORE IT [LITTLE SUBROUTINE TO DO THE CONVERSION #A28M LDA [SAVE RETURN 0 STC A28P-2 SETi3 [SET DIGIT COUNTER 1777 XSKi2 [MOVE ADDEND POINTER ADD A28N [LOAD THE VALUE XSKi3 [BUMP COUNTER STAi [SAVE REMAINING PART #A28N ** ADA 2 [TRIAL ADD APO [STILL NEGATIVE JMP p-5 [YES: COUNT AND ADD AGAIN LDA [NO: GET THE COUNTER 3 SROi [LAST DIGIT 3567 JMP ** [NO: BACK TO THE SUBROUTINE STHi1 [YES: STORE IT #A28P JMP ** [ AND RETURN TO CALLING PGM [ADDEND TABLE #A28Q 1750 144 12 1 [END BINDEC 1 [ 7| 5|68 T [TECSUB [TELETYPE SUB [FOR DEC INT- [ERFACE---- [TAGS 4T 5T [6T 7T AND [INDEX REG. [16 AND 17 #A27T SET 17 0 [FORM RETURN ROL 4 [CODE TEST APO JMP A26T-1 [TELETYPE CODE ROR 4 [LINC CODE SAE i 12 [EOL TEST JMP p+4 [NOT EOL LDA i 5215 [MAKE CR LF JMP A26T [OUTPUT ADA i -11 [NUMBER TEST APO i JMP p+4 [NOT A NUMBER ADA i [CONVERT NUMBER 271 JMP A26T [OUTPUT ADA i -12 [1ST SPECIAL [CHARACTER TEST APO i JMP p+6 [NOT SPECIAL [CHAR. TYPE 1 ADA i A25T+10 STC 16 [CONVRT SPECIAL [CHARACTERS ADA 16 JMP A26T [OUTPUT ADA i -32 [LETTER TEST APO i JMP A27T+27 [CONVRT SPECIAL [CHAR. TYPE II ADA i [CONVRT LETTER 332 JMP A26T [OUTPUT ROR 4 #A26T APO i [CR LF--HUH JMPp+4 514 LDA i 212 514 [ PRNT CHAR. JMP 17 [RETURN #A24T SET 17 0 LDA i 5215 JMP A26T+2 #A25T 207 [BELL FOR DEL 240 [SPACE 246 [AMPERSAND FOR [ i 247 [APOSTROPHE [FOR p 255 [- 253 [+ 257 [SLASH 243 [ TAG SYMBOL 0 [NO OUTPUT FOR [CASE 275 [= 300 [AT SIGN FOR u 254 [COMMA 256 [PERIOD 244 [DOLLAR SIGN [FOR ORIGN SIGN 333 [COMMENT SYMBOL T [DECBIN 1 [ DJN 9|20|68 [ [DECIMAL-TO-SINGLE PRECISION BINARY [ CONVERTS FROM -4095 TO +4095 [ [CALLING SEQUENCE [ JMP 9A [ ERROR RETURN [ NORMAL RETURN [ [IR1 MUST BE SET JUST BEFORE THE FIRST CH [ DECBIN 1 LOOKS AT 5 CHARACTERS [ USES IR1-4 [ TAGS 9A-9G [ INTERRUPTABLE [ [TIMING- CLASSIC LINC [ 0.7 - 2.1 MSEC [ #A29A SET 3 [SAVE RETURN 0 SETi4 [CH COUNTER #A29H -4 [MOD L. MATIN SETi2 [MINUS FLAG 1777 CLR #A29B STC A29C [SAVE RESULT XSKi4 [ENOUGH CHS DONE JMP A29D [NO LDAi3 [YES: INDEX RETURN LDAi [LOAD RESULT #A29C ** XSK 2 [MINUS COM [YES JMP 3 [RETURN #A29D LDHi1 [LOAD NEXT CH SHDi [SPACE " " JMP A29B+1 [ IGNORE SHDi [PLUS "+ " JMP A29B+1 [ IGNORE SHDi [MINUS "- " JMP A29G [ SET FLAG COM [NONE OF THOSE ADD A29F APO [IS IT A LEGAL DIGIT JMP 3 [NO: ERROR RETURN LDH 1 [YES: SAVE IT STC A29E ADD A29C MUL [ X # BASE 4|A29F SCR 1 AZE [OVERFLOW JMP 3 [YES: ERROR RETURN ZTA [NO: RETRIEVE IT ROL 1 ZZZ ADD A29F+1 [+1 LAMi #A29E ** LZE [OVERFLOW JMP 3 [YES: ERROR RETURN JMP A29B [NO: CONTINUE #A29F 12 [NUMBER BASE 1 #A29G XSKi2 [SET MINUS FLAG JMP A29B+1 [END DECBIN 1 T [ [ USE META-PM [ FOR THE FOLLOWING $2000 HLT [ DISPLAY 1 #QDISP1 " ENTER NUMBER FOR THE FOLLOWING " 1214 ""1" " CHANNELS - 1 TO 8 " ""1" " DURATION - 1 TO 8 " ""2" " REPEATS - 1 TO 99 " #UNTRL " 000 TRIALS- 1 TO 500:" T [ [ DISPLAY 2 #QDISP2 " SELECT WHICH " #UNCHN "0 CHANNELS TO USE " 1201 ""2" 1202 ""2" 1203 ""2" 1204 ""2" 1205 ""2" 1206 ""2" 1207 ""2" 1210 ""2" 7676 T [ [ DISPLAY 3 #QDISP3 " CHANNEL " #UICHN "00 SELECT VALUES OF " #UNDUR "0 RANDOM VARIABLES IN MSEC " 1201 7003 1202 7003 1203 7003 1204 7003 1205 7003 1206 7003 1207 7003 1210 7003 7676 T [ [ DISPLAY 4 #QDISP4 " LIGHTS ON" 1214 7002 1214 7002 1214 7002 1214 7002 7676 [ [ ANSWER BUFFERS #ADISP1 7067 7067 7067 6776 0 #ADISP2 7067 6770 6767 7067 6770 6767 7067 6770 6767 7067 6770 6767 7676 0 #ADISP4 7067 6770 6767 7067 6770 6767 7676 0 T #ADISP3 [ FIRST CHANNEL 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ SECOND CHANNEL #DIS1 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ THIRD CHANNEL #DIS2 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ FOURTH CHANNEL #DIS3 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ FIFTH CHANNEL #DIS4 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ SIXTH CHANNEL #DIS5 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ SEVENTH CHANNEL #DIS6 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 [ [ EIGHTH CHANNEL #DIS7 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7067 6767 7676 T [ [ DEFINED CONSTANTS BTOD=JMP A28J DTOB=JMP A29A TELT=JMP A27T CRLF=JMP A24T [ [ TABLE TO DISPLAY [ THREE ANSWERS #ADI3P ADISP3 DIS1 DIS2 DIS3 DIS4 DIS5 DIS6 DIS7 T $2600 [ [ TABLES #TCHN 0 [ BINARY CHN NO $=p+7 #VCHN 0 [ BCD CHN NO $=p+7 #BCHN 0 [ BACKGROUND LIGHTS $=p+7