Directory of image this file is from
This file as a plain text file
*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
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
SIGNL2, PHASE2
BEAT2, 0
BEAT3, 0
GOT3, 0
TIME, 0
D240, 360
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
C16, 16
COND, 0
KLOCK, CLOCK
STEP, 0
TBLK, 0
MBLK, 0
LDF2, 0642 /LDF 2
ISTLDF, SETLDF
C40, 40
IWAIT, WAIT
IWORDN, WORDON
ICON78, COND78
DCPTX2, DCPUT2
DCPTX3, DCPUT3
C1777, 1777
N, 0
MD300, -454
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, EXPOSE
-74 /COND 3 EXPOSURE
-74 /COND 2 "
-74 /COND 1 "
EXPOSE, 0 /-CURRENT EXPOSE
EXSPOT, 0 /AD CURRENT 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
STA CLL RTL
DCA COND /INIT COND=-3
TAD MD300 /300 TRIALS
DCA COUNT
HLT /STOP WHEN READY
/COND=-1:1/16 IBI; =-2:1/2 IBI;
/=-3: 7/8 IBI
/EACH TRIAL BEGINS HERE
TRIAL, TAD AEXPOS /AD+1 COND. EXP.
TAD COND /ARRAY
DCA EXSPOT /AD CURRENT EXPS
TAD I EXSPOT
DCA EXPOSE /-CUR EXP TIME
6314 /CLEAR RESP PAN
6312 /WAIT FOR READY
SNA CLA /SIGNAL FROM S
JMP .-2
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
CLA CLL IAC RAL /ADD 2+COND FOR
TAD COND /THREE-WAY SW
SNA
JMP HALF /COND=-2:1/2 IBI
SPA CLA
JMP I ICON78 /COND=-3:7/8 IBI
TAD C10 /COND=-1:1/16
TAD IBI1 /+8 FOR DIV/16
CLL RAR
CLL RAR
CLL RAR
CLL RAR
WAIT, CIA
DCA TIME /-FRACT.INTERVAL
DCA BEAT2 /IBI2 FALG OFF
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+3
JMP I SIGNL2 /JMP PHASE2
HALF, TAD IBI1
CLL IAC RAR /+1 FOR DIV/2
JMP I IWAIT /JMP WAIT
COND78, CLL IAC RTL /+4 FOR DIV/8
TAD IBI1
CLL RAR
CLL RAR
CLL RAR /IBI1/8
CIA
TAD IBI1 /7/8 IBI1
JMP I IWAIT
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 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 C240
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 EXPOSE /OVER LETTERS
DCA I 12 /JUST DISPLAYED
TAD RESP
DCA I 12
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
TAD BEAT2 /MISTRIAL IF
TAD BEAT3 /EITHER FLAG SET
SZA CLA /ON MISTRIAL USE
JMP REFILL /SAME COND EXP.
TAD RESP /NOR ANY CHANGE
SPA CLA /IF RESP=-1
JMP REFILL
/STEP SIZE OF STAIRCASE IS 4 MSEC FOR
/FIRST 20 TRIALS OF EACH CONDITION;
/THEREAFTER ITS 1 MSEC
TAD COUNT /TRIAL NO.
TAD D240 /STEP=1 IFF <240
SPA CLA
STL IAC RAL
IAC
DCA STEP
TAD RESP
SZA CLA
JMP .+3
TAD STEP /"NO":SLOWER
JMP REFILL /NEXT TIME
TAD STEP
CIA /"YES":FASTER
REFILL, TAD EXPOSE
CIA
DCA I EXSPOT /SAVE -MSEC EXP
ISZ COND /NEXT CONDITION
JMP .+7
TAD C212 /END OF GROUP
JMS I TIPE /CR,LF
TAD C215
JMS I TIPE
STA CLL RTL /RESET COND=-3
DCA COND
TAD 12
DCA LOCHAR /NEXT WORD-1
ISZ COUNT /ANOTHER TRIAL?
JMP I ITRIAL
SKP
ITRIAL, TRIAL
HLT
/DONE WITH SESSION: GET TBLK FROM R SWS
/AND RECORD SAVED TRIAL DATA ON UNIT 1
LAS
DCA TBLK
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?
SKP
HLT /FINISHED
ISZ I ISTLDF /ISZ SETLDF
JMP I STLDF3
STLDF3, SETLDF-3
/PROGRAM ENDS HERE. NOTE THAT MUST
/RESTART IT AT START TO RERUN IT
/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