File PERCUNIT

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
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
TIPE,	TYPE
MASKIT,	MASK
M6,	-6
C10,	10
M200,	-200
WSIZE,	0
POINTR,	0
NFRAME,	0
ISETUP,	SETUP
SHOWIT,	WINDOW
C400,	400
/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
ILAB,	GO+3
IGO,	GO
C40,	40
D300,	454
C3777,	3777
ILL,	LL
C300,	300
C1000,	1000
ADCOND,	PATRN-14	/AD+1 TOP ARRAY
MD60,	-74		/60 TRIALS/BLK
TBLK,	0
BNTR,	0
MBLK,	0
LDF2,	0642		/LDF 2
ISTLDF,	SETLDF
CONFID,	0
FCLOCK,	2100		/100KHZ CLOCK
RFRESH,	0		/-REFR. RATE
C1777,	1777
RNX,	RN
IRX,	IR
K1000,	1000
/DISPLAY PARAMETERS
WINDSP,	1		/CHAR SPACING
VERCO,	340		/VERT DISP COOR
IHORCO,	240
LMHC,	0
RMHC,	0
HCWIND,	0
MASKSP,	2
MOVE,	11
LSIZE,	-20
RSIZE,	-6
SLSIZE,	-20		/FIRST FRAME L M
SRSIZE,	-6		/LAST FRAME R M
ONCE,	0
DOT,	30		/DUMMY CHAR="X"
TIMER,	0
/TIME PARAMETERS
AEXPOS,	PATRN		/AD+1 COND EXPS
TIME,	0		/-CURRENT EXPOSE
PAUSET,	-144		/NO FRAMES PAUSE
STRNG0,	STRING-1	/AD-1 DISP STRIN
NTIME,	0
WIDE,	0
M7,	-7
/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 CLEARS AND RESTARTS MSEC CLOCK
CLOCK,	0
	CLA
	CLLR
	TAD FCLOCK
	CLLR
	CLA
	JMP I CLOCK
DELAY,	0
	CLCA
	TAD RFRESH
	SPA CLA
	JMP .-3
	CLLR
	JMP I DELAY
/SUBR SETS HCS RELATIVE TO LMHC
SETUP,	0
	CLA
	TAD LSIZE
	CIA
	CLL RTL
	TAD MASKSP
	JMS DOUBLE
	TAD LMHC
	DCA HCWIND
	TAD WSIZE
	DCA TEMP
	SKP
	TAD WINDSP
	TAD C10
	ISZ TEMP
	JMP .-3
	TAD MASKSP
	JMS DOUBLE
	TAD HCWIND
	DCA RMHC
	JMP I SETUP
/SUBR DISPLAYS MASK FRAME
MASK,	0
	CLA
	DCA ONCE
	TAD LSIZE
	SMA
	JMP RIGHT
	DCA NTIME
	TAD LMHC
	DCA 1
	TAD VERCO
MASKON,	LINC
	LMODE
	DSC I 0
	7777
	PDP
	PMODE
	ISZ NTIME
	JMP MASKON
	CLA
	TAD ONCE
	SZA
	JMP I MASK
RIGHT,	ISZ ONCE
	TAD RSIZE
	SMA
	JMP I MASK
	DCA NTIME
	TAD RMHC
	JMP MASKON-2
/WINDOW DISPLAY ROUTINE
WINDOW,	0
	CLA
	TAD WSIZE
	DCA NTIME
	TAD HCWIND
	DCA 1
	TAD LOCHAR
	DCA 10
WNEXT,	TAD I 10
	CLL RAL
	TAD PWTABL
	DCA 2
	TAD VERCO
	LINC
	LMODE
	DSC 2
	DSC I 2
	PDP
	PMODE
	ISZ NTIME
	SKP
	JMP I WINDOW
	CLA
	TAD WINDSP
	JMS DOUBLE
	TAD 1
	DCA 1
	JMP WNEXT
/PROGRAM STARTS HERE: READ IN 300 6-LETT
/ER WORDS INTO 4000-7407
	PAGE
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
	SZA 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 POINTR	/AD-1 1ST 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 WSIZE	/TRIAL COND.
/GET FRAMETIME FOR WSIZE AND (USUALLY
/CONSTANT) REFRESH RATE
	TAD WSIZE
	TAD AEXPOS
	DCA 1
	TAD I 1
	DCA TIME
	TAD M6
	TAD 1
	DCA 1
	TAD I 1
	DCA RFRESH
/ENCODES NEXT TEXT STRING WHICH CONSISTS
/OF (W-1)LEADING X"S, 1 LEADING BLANK,
/THE SIX INTERVENING LETTERS=STIMULUS
/1 TRAILING BLANK, AND (W-1) TRALING X"S
	TAD WSIZE
	DCA WIDE
	TAD STRNG0	/AD-1 STRING
	DCA 10
	ISZ WIDE
	SKP
	JMP .+4
	TAD DOT
	DCA I 10
	JMP .-5
	TAD C40
	DCA I 10
	TAD M6
	DCA WIDE
	TAD POINTR
	DCA 11
	TAD I 11
	DCA I 10
	ISZ WIDE
	JMP .-3
	TAD C40
	DCA I 10
	TAD WSIZE
	DCA WIDE
	ISZ WIDE
	SKP
	JMP .+4
	TAD DOT
	DCA I 10
	JMP .-5
	TAD STRNG0
	DCA LOCHAR	/AD-1 IST CHAR
/ALIGN RIGHT MASKS=BALANCED FIXATION
	TAD WSIZE
	DCA WIDE
	ISZ WIDE
	SKP
	JMP .+4
	TAD C10
	TAD WINDSP
	JMP .-5
	JMS DOUBLE
	CIA
	TAD IHORCO
	DCA LMHC
	JMS I ISETUP	/SET H.C.S
/FOR FIRST FRAME HAVE SPECIAL LEFT MASK
/LENGTH IN CASE NO PRIOR WIDTH INFO.
	TAD LSIZE
	DCA 16		/SAVE LSIZE
	TAD SLSIZE
	DCA LSIZE
/SHOW FIRST FRAME UNTIL S SIGNALS READY
/AND THEN FOR -PAUSET MSECS
	6314		/CLR RESP PANEL
LL,	JMS CLOCK
	JMS I MASKIT	/JMS WINDOW
	JMS I SHOWIT
	JMS DELAY
	6312		/READY YET?
	SNA CLA		/RESP YET?
	JMP I ILL	/JMP .-6=LL
	TAD PAUSET
	DCA TIMER
	JMS CLOCK
	JMS I MASKIT
	JMS I SHOWIT
	JMS DELAY
	ISZ TIMER
	JMP .-5
	TAD M7
	TAD WSIZE
	DCA NFRAME	/7+COND FRAMES
	TAD 16
	DCA LSIZE	/RESTORE LSIZE
/EACH FRAME BEGINS HERE
GO,	JMS I ISETUP	/LOOP THRU FRAME
	TAD TIME
	DCA TIMER
	JMS CLOCK	/RESTART CLOCK
	JMS I MASKIT
	JMS I SHOWIT	/DISPLAY FRAME
	JMS DELAY
	ISZ TIMER
	JMP I ILAB	/JMP .-5
	ISZ NFRAME	/ANOTHER FRAME?
	SKP
	JMP DONE
	TAD MOVE	/SLIDE FRAME
	JMS DOUBLE
	TAD LMHC
	DCA LMHC	/NEW H.C.S
	ISZ LOCHAR	/SLIDE STRING
	JMP I IGO	/JMP GO
/DISPLAY DONE: SHOW LAST FRAME UNTIL RES
/USE SPECIAL-SIZED RIGHT MASK
DONE,	TAD RSIZE
	DCA 16
	TAD SRSIZE
	DCA RSIZE
	TAD PAUSET
	TAD PAUSET
	DCA TIMER
	JMS CLOCK
	JMS I MASKIT	
	JMS I SHOWIT
	JMS DELAY
	ISZ TIMER
	JMP .-5	
	TAD 16
	DCA RSIZE	/REPLACE RSIZE
	TAD M6
	DCA WIDE
	TAD WSIZE
	CIA
	TAD C260
	JMS I TIPE	/TYPE COND.
	TAD C240
	JMS I TIPE
/READ CONFIDENCE RATING
	KCC
	KSF
	JMP .-1
	KRB
	DCA CONFID
	TAD CONFID
	JMS I TIPE
	TAD POINTR
	DCA 10
	TAD C240
	JMS I TIPE	/" "
	TAD I 10
	TAD C300
	JMS I TIPE	/TYPE WORD
	ISZ WIDE
	JMP .-4
	TAD C240
	JMS I TIPE
	KSF
	JMP .-1
	KRB		/READ CORR RESP
	DCA RESP
	TAD RESP
	JMS I TIPE
	TAD C212
	JMS I TIPE
	TAD C215
	JMS I TIPE	/CR,LF
SAVE,	TAD  POINTR
	DCA 12		/SAVE TRIAL DATA
	TAD WSIZE
	CIA
	DCA I 12	/FIRST WD=COND
	TAD RESP	/2ND=RESP=Y/N
	DCA I 12
	TAD CONFID
	DCA I 12	/3RD=CONF. RATE
	STL IAC RTL
	TAD POINTR	/POINTR+6=AD-1
	DCA POINTR	/NEXT WORD
	ISZ BNTR	/END BLOCK?
	JMP I ITRIAL
	TAD C212	/EXTRA LF
	JMS I TIPE	/AT END BLOCK
	HLT		/THEN PAUSE
	JMP I IBLOCK	/ANOTHER
ITRIAL,	TRIAL
IBLOCK,	BLOCK
	PAGE
/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-TRIAL CONDS FOR "REAL"
/BLOCKS: CURRENTLY SET FOR 1/6 OF EACH
/WIDTH CONDITION: 1-6
WPCOND,	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
	-1
	-2
	-3
	-4
	-5
	-6
/STANDARD SET OF EXPOSURES=32 MSEC/CHAR
/PATTERN WORDS FOR CHAR DISPL.
/  REFRESH RATES
	-413		/R.R.6
	-500		/R.R.5
	-413		/R.R.4
	-413		/R.R.3
	-413		/R.R.2
	-413		/R.R.1
/   NO. REFRESHES
	-2		/F.T.6
	-2		/F.T.5
	-3		/F.T.4
	-4		/F.T.3
	-6		/F.T.2
	-14		/F.T.1
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		/
/STRING STORAGE ARRAY FOLLOWS
STRING,	0



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