File DISPHALF

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

*20
	PMODE
	*20
SH1,	0
SH2,	0
SH3,	0
SHUFEL,	SHUFL
RNX,	RN
IRX,	IR
K7,	7
TEMP,	0
R1,	0
R2,	0
R3,	0
INDEX6,	0
RNDM3,	0
RNDM2,	0
RNDM1,	RNDM
RMNDR,	RMNDRX
IDISP1,	DSHALF
IBLANK,	BLANK
IDISP6,	DISP6
TIPE,	TYPE
MOVE,	1
MD60,	-74
BNTR,	0
M6,	-6
M4,	-4
IHORCO,	240
PAUSET,	-310
VERCO,	340
M7,	-7
C215,	215
C212,	212
IWHOLE,	WHOLE
C240,	240
C261,	261
C300,	300
D300,	454
LOCHAR,	0
K,	0
ILAB4,	LAB4
WSIZE,	0
TIMER,	0
TIME,	-14		/-NO. REFRESHES
PWTABL,	PATRN-2
ADTRL1,	TRIALS-1
/SUBR STARTS 100 KHZ CLOCK
CLOCK,	0
	CLA
	CLLR
	TAD FCLOCK
	CLLR
	CLA
	JMP I CLOCK
FCLOCK,	2100
/SUBR PAUSES UNTIL CLOCK TIMES OUT AT
DELAY,	0
	CLCA
	TAD RFRESH
	SPA CLA
	JMP .-3
	CLLR
	JMP I DELAY
RFRESH,	-413		/REFRESH RATE
/OUTPUT SUBR
TYPE,	0
	TLS
	TSF
	JMP .-1
	CLA
	JMP I TYPE
/SUBR DISPLAYS EITHER LEFT HALVES OF
/6 CHARS IN STRING (K=1) OR RIGHT
/HALVES (K=-1), MASKING OTHER HALVES
DSHALF,	0
	CLA
	TAD M6
	DCA 4
	TAD LOCHAR
	DCA 10
	TAD IHORCO
SETHC,	DCA 1
	TAD I 10
	CLL RAL
	TAD PWTABL
	DCA 2
	TAD K
	SMA CLA
	JMP LEFT
/DISPLAY RIGHT HALF AND MASK LEFT HALF
	TAD VERCO
	LINC
	LMODE
	DSC I 0
MASK,	7777
	DSC I 2
	JMP CHECK
/DISPLAY LEFT HALF AND MASK RIGHT HALF
	PMODE
LEFT,	TAD VERCO
	LINC
	LMODE
	DSC 2
	DSC I 0
	7777
CHECK,	PDP
	PMODE
	CLA
	ISZ 4
	SKP
	JMP I DSHALF
	TAD 1
	TAD MOVE
	JMP SETHC
/SUBR DISPLAYS ALL SIX LETTERS OF WORD
DISP6,	0
	CLA
	TAD LOCHAR
	DCA 10
	TAD M6
	DCA 4
	TAD IHORCO
NEXT,	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
	JMP I DISP6
	TAD 1
	TAD MOVE
	JMP NEXT
/SUBR MASKS ALL SIX CHAR POSITIONS
BLANK,	0
	CLA
	TAD M6
	DCA 4
	TAD IHORCO
	DCA 1
	TAD VERCO
	LINC
	LMODE
	DSC I 0
	7777
	DSC I 0
	7777
	PDP
	PMODE
	CLA
	ISZ 4
	SKP
	JMP I BLANK
	TAD MOVE 
	TAD 1
	JMP BLANK+5
/PROGRAM STARTS HERE. INITIALIZE RN BY
/CLEARING R SWS
START,	ISZ 1
	NOP
	LAS
	SZA CLA
	JMP START
	JMS I IRX
	JMS I RNX
	ISZ 1
	JMP .-2
	CLA
/READ IN LIST OF 300 6-LETTER WORDS OFF
/TAPE UNIT 1. THEN SHUFFLE THE LIST 42
/TIMES. THEN HALT WHEN READY
	LINC
	LMODE
	ESF
	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
	PDP
	PMODE
	CLA
	TAD MD60
	DCA 1
	TAD M6
	DCA SH3
	TAD D300
	DCA SH2
	STA CLL RAR	/3777=AD-1
	DCA SH1
	JMS I SHUFEL
	ISZ 1
	JMP .-10
	STA CLL RAR
	DCA LOCHAR	/AD-1 WORD LIST
	HLT
/EACH 60 TRIAL BLOCK STARTS HERE.
/SHUFFLE 60 TYPES AND GO TO IT!
BLOCK,	TAD MD60
	DCA BNTR
	TAD M6
	DCA 1
	STA
	DCA SH3
	TAD MD60
	CIA
	DCA SH2
	TAD ADTRL1
	DCA SH1
	JMS I SHUFEL
	ISZ 1
	JMP BLOCK+4
	TAD ADTRL1
	DCA 12
/EACH TRIAL STARTS HERE
/W=0: SHOW ENTIRE WORD AT ONCE
/W=1:SHOW LEFT HALVES OF LETTERS FIRST,
/THEN RIGHT HALVES. W=-1: VICE-VERSA
TRIAL,	TAD I 12	/NEXT WSIZE
	DCA WSIZE
/SHOW ALL MASKS UNTIL READY SIGNAL, THEN
/FOR ADDITIONAL -PAUSET FRAMES
	6314
	JMS CLOCK
	JMS I IBLANK	/JMS BLANK
	JMS DELAY
	6312
	SNA CLA
	JMP .-5
	TAD PAUSET
	DCA TIMER
	JMS CLOCK
	JMS I IBLANK
	JMS DELAY
	ISZ TIMER
	JMP .-4
	TAD WSIZE
	SNA
	JMP I IWHOLE	/JMP WHOLE=SIMUL
	DCA K		/CONTROLS HALF
	TAD TIME
	DCA TIMER	/NO. CYCLES/FRAM
	JMS CLOCK
	JMS I IDISP1	/JMS DSHALF
	JMS DELAY
	ISZ TIMER
	JMP .-4
	TAD K
	CIA
	DCA K		/DO OTHER HALF
	TAD TIME
	DCA TIMER
LAB4,	JMS CLOCK
	JMS I IDISP1
	JMS DELAY
	ISZ TIMER
	JMP I ILAB4	/JMP LAB4
	JMP DONE
/SIMULTANEOUSLY
WHOLE,	TAD TIME
	DCA TIMER
	JMS CLOCK
	JMS I IDISP6
	JMS DELAY
	ISZ TIMER
	JMP .-4
/DONE WITH DISPLAY: MASK DISPLAY FOR
/-2*PAUSET FRAMES
DONE,	TAD PAUSET
	TAD PAUSET
	DCA TIMER
	JMS CLOCK
	JMS I IBLANK
	JMS DELAY
	ISZ TIMER
	JMP .-4
/TYPE OUT COND: 0=RL, 1=WHOLE, 2=LR
/AND THEN SPACE, WORD
	TAD M6
	DCA 1
	TAD LOCHAR
	DCA 10
	TAD WSIZE
	TAD C261
	JMS I TIPE
	TAD C240
	JMS I TIPE
	TAD I 10
	TAD C300
	JMS I TIPE
	ISZ 1
	JMP .-4
	TAD 10
	DCA LOCHAR	/AD-1 NEXT WORD
	TAD C240
	JMS I TIPE
/ACCEPT SINGLE INPUT CHAR FROM TTY
	KCC
	KSF
	JMP .-1
	KRB
	JMS I TIPE
	TAD C212
	JMS I TIPE
	TAD C215
	JMS I TIPE
	ISZ BNTR
	JMP I ITRIAL	/JMP TRIAL
/BLOCK OVER: EXTRA CR,LF, THEN HALT
	TAD C215
	JMS I TIPE
	TAD C212
	JMS I TIPE
	HLT
	JMP I IBLOCK
ITRIAL,	TRIAL
IBLOCK,	BLOCK
/ARRAY OF 60 TRIAL TYPES/BLOCK FOLLOWS
TRIALS,	-1
	0
	1
	-1
	0
	1
	-1



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