File PSYCHIBI

Directory of image this file is from
This file as a plain text file

*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



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search