File PARLLEL2

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

*20
	PMODE
	*20
C3,	3
M6,	-6
ADTRMX,	1737
C20,	20
X0,	0
Y0,	0
TIME1,	0
TIME2,	0
M200,	-200
COUNT,	0
RITEX0,	0
LEFTX0, 0
TRTYPE,	0
C777,	777
IBLOCK,	SHUF-2
X,	0
K7,	7
TEMP,	0
RNX,	RN
IRX,	IR
R1,	0
R2,	0
R3,	0
INDEX6,	0
RNDM3,	0
RNDM2,	0
RNDM1,	RNDM
SH1,	0
SH2,	0
SH3,	0
SHUFEL,	SHUFL
RMNDR,	RMNDRX
KEYBUF,	0
KEY1,	0
KEYSET,	0
M4,	-4
ADSETS,	SETS
M10,	-10
KEY2,	0
IPOINT,	POINT
PWTABL,	PATRN-2
PAUSET,	-372		/-MSECS DELAY
TIPE,	TYPE
SHOW,	DISPLAY
FCLOCK,	2100
C212,	212
C215,	215
C240,	240
C40,	40
DX,	2		/DOTS TWEEN LETS
CX,	10		/DOTS FROM CENTR
C300,	300
C400,	400
C260,	260
ITRIAL,	TRIAL
M144,	-144
TIMER,	0
C261,	261
CLOCK,	0
	CLA
	CLLR
	TAD FCLOCK	/100KHZ CLOCK
	CLLR
	CLA
	JMP I CLOCK
DELAY,	0
	CLCA
	TAD M144
	SPA CLA
	JMP .-3
	CLLR
	JMP I DELAY
START,	CLA
	TAD ADTRMX	/AD-1 TRIAL-TYPE
	DCA 10		/ARRAY
	TAD M4		/EACH BLOCK HAS
	DCA 7		/4 OF EACH OF 8
	TAD M10		/TRIAL TYPES=32
	DCA COUNT
	DCA 1
	TAD 1
	DCA I 10
	ISZ 1
	ISZ COUNT
	JMP .-4
	ISZ 7
	JMP START+5
	TAD ADTRMX
	TAD C40
	DCA 11		/AD-1 DATA STORE
/EACH 128-TRIAL BLOCK BEGINS HERE
/MUST SET R SWS NON-ZERO AND THEN ZERO
/AGAIN TO GET INITIAL R.N.
BLOCK,	LAS
	SNA
	JMP .-2
	ISZ 1
	NOP
	LAS
	SZA
	JMP .-4
	JMS I IRX
	JMS I RNX
	ISZ 1
	JMP .-2
/SHUFFLE TRIAL-TYPE ARRAY 6 TIMES
	TAD M6
	DCA 1
SHUF,	TAD ADTRMX
	DCA SH1
	TAD C40
	DCA SH2
	STA
	DCA SH3
	JMS I SHUFEL
	CLA
	ISZ 1
	JMP SHUF
/NOW ADJUST THE DISPLAY CENTER:
/X0=KNOB 0, Y0=KNOB 4. MUST SET SW 0 OFF
/TO BEGIN ADJUSTMENT AND THEN ON WHEN
/ADJUSTMENT COMPLETED
	LINC
	LMODE
	ESF
	SNS I 0
	JMP .-1
L1,	SAM 0
	STC X0
	SAM 4
	STC Y0
	PDP
	PMODE
	JMS CLOCK
	JMS I IPOINT
	JMS DELAY
	LINC
	LMODE
	SNS 0
	JMP L1
	CLR
/WHEN ADJUSTMENT COMPLETED, PROG. HALTS 
/TO READ TIME1 (1ST HALF DISPLAY TIME)
/IN MSECS FROM L SWS AND TIME2 (2ND HALF
/FROM R SWS
	HLT
	LSW
	PDP
	PMODE
	DCA TIME1
	LAS
	DCA TIME2
	TAD X0
	AND C777
	DCA X0
	TAD ADTRMX
	DCA 10
	TAD C40
	CIA
	DCA COUNT
	TAD TIME1
	DCA I 11	/SAVE TIME1 AND
	TAD TIME2	/TIME2 AS FIRST
	DCA I 11	/WORDS/BLOCK
/DEFINE DISPLAY ORIGINS ON LEFT AND
/RIGHT OF CENTER FIXATION DOT
	CLL IAC RTL
	TAD X0
	TAD CX
	DCA RITEX0
	STA CLL RAL
	TAD CX
	TAD C40
	TAD DX
	TAD DX
	TAD DX
	CIA
	TAD X0
	DCA LEFTX0
	TAD C212
	JMS I TIPE
	TAD C215
	JMS I TIPE
	TAD C212
	JMS I TIPE
/EACH TRIAL BEGINS HERE
TRIAL,	TAD I 10	/NEXT TRIAL TYPE
	DCA TRTYPE
	TAD TRTYPE
	AND C3
	DCA KEYSET	/BITS 10-11 
	TAD C3
	TAD KEYSET
	DCA KEYBUF
/SHUFFLE SET ORDER 6 TIMES
	TAD M6
	DCA 1
SHUFCH,	STA
	TAD ADSETS
	DCA SH1
	CLL IAC RTL
	DCA SH2
	TAD M4
	DCA SH3
	JMS I SHUFEL
	ISZ 1
	JMP SHUFCH
	CLA
	TAD M4
	DCA 1
/FILL 3,4,5,6 WITH RANDOM CHARS FROM THE
/FOUR SETS: EACH IS CHOSEN AS A R.N. IN
/(0,3)
/TRTYPE DECODING: BITS 10&11: 0-3 KEY
/POSITION SET NO; BIT 9: SIDE OF DISPLAY
/0=LEFT OF CENTER DOT, 1=RIGHT
	STL RTL
	DCA 12
FILL,	TAD C400
	DCA RNDM3
	JMS I RNDM1	/RNDM2=R.N.(0,3)
	TAD RNDM2
	RTR
	RTR
	RTR
	AND C3
	DCA RNDM2
	CLL IAC RTL
	TAD 1
	CLL RTL
	TAD RNDM2
	TAD ADSETS
	DCA 7		/ADSETS+0-15=
	TAD I 7		/AD CHAR SHOWN
	DCA I 12
	ISZ 1
	JMP FILL
	TAD I KEYBUF	/AD KEY POSN
	DCA KEY1	/FIRST KEY CHAR
	TAD C400
	DCA RNDM3
	JMS I RNDM1
	TAD RNDM2
	RTR
	RTR
	RTR
	AND C3
	DCA RNDM2
	TAD KEYSET
	CLL RTL
	TAD ADSETS
	TAD RNDM2
	DCA 7
	TAD I 7
	DCA KEY2	/2ND KEY CHAR
/NOW STORE 3 WORDS/TRIAL: 1ST WORD=
/TRTYPE*8 + ASCII CODE POSN 0 (LEFTMOST)
/2ND WORD=ASCII CODE POSN 1*8 + ASCII
/CODE POSN 2; 3RD WORD=ASCII POSN 3*8
/+ASCII CODE 2ND KEY CHAR
	TAD TRTYPE
	CLL RTL
	RTL
	RTL
	TAD 3
	DCA I 11	/IST WORD
	TAD 4
	CLL RTL
	RTL
	RTL
	TAD 5
	DCA I 11	/2ND WORD
	TAD 6
	CLL RTL
	RTL
	RTL
	TAD KEY2
	DCA I 11	/3RD WORD
	CLL IAC RTL
	AND TRTYPE
	SNA CLA
	JMP .+3
	TAD RITEX0	/DISPLAY RIGHT
	SKP
	TAD LEFTX0	/DISPLAY LEFT
	DCA X
	6314
/DISPLAY CENTER FIXATION DOT UNTIL S
/GIVES READY SIGNAL, AND THEN FOR
/ANOTHER -PAUSET MSECS BEFORE ONSET
	JMS CLOCK
	JMS I IPOINT	/JMS POINT
	JMS DELAY
	6312
	SNA CLA
	JMP .-5
	TAD PAUSET
	DCA TIMER
	JMS CLOCK
	JMS I IPOINT
	JMS DELAY
	ISZ TIMER
	JMP .-4
	TAD TIME1
	CIA
	DCA TIMER
	JMS CLOCK
	JMS I SHOW	/JMS DISPLA
	JMS DELAY
	ISZ TIMER
	JMP .-4
/NOW PUT 2ND (KEY2) CHAR INTO KEY POSN
	TAD KEY2
	DCA I KEYBUF
	TAD TIME2
	SNA
	JMP MASK
	CIA
	DCA TIMER
	JMS CLOCK
	JMS I SHOW
	JMS DELAY
	ISZ TIMER
	JMP .-4
MASK,	6304
/DISPLAY DONE. MASK OUT CHARS WHILE S
/RECORDS RESPS. WHEN DONE, S SO SIGNALS 
/BY PRESSING A BUTTON. THEN TRIAL DATA
/TYPED OUT.
	JMS CLOCK
	JMS I IPOINT
	TAD M4
	DCA 7
	TAD X
	DCA 1
	TAD Y0
	LINC
	LMODE
	DSC I 0
	7777
	DSC I 0
	7777
	CLR
	PDP
	PMODE
	TAD 1
	TAD DX
	ISZ 7
	JMP MASK+6
	JMS DELAY
	6302
	SNA CLA
	JMP MASK+1
	TAD C212
	JMS I TIPE
	TAD C215
	JMS I TIPE
	CLL IAC RTL
	AND TRTYPE
	SZA CLA
	IAC
	TAD C260
	JMS I TIPE
	TAD C240
	JMS I TIPE
	TAD KEYSET
	TAD C261
	JMS I TIPE
	TAD C240
	JMS I TIPE
	STL RTL
	DCA 12
	TAD M4
	DCA 7
	TAD KEYSET
	CMA
	DCA 1
WRITE,	ISZ 1
	JMP .+4
	TAD KEY1
	TAD C300
	JMS I TIPE
	TAD I 12
	TAD C300
	JMS I TIPE
	TAD C240
	JMS I TIPE
	ISZ 7
	JMP WRITE
	ISZ COUNT
	JMP I ITRIAL	/NEXT TRIAL
/BLOCK DONE: SW 1 OFF=DO ANOTHER BLOCK;
/SW 1 ON=SAVE TRIAL DATA FROM PRECEDING
/BLOCKS ON 4 CONTIGUOUS TBLKS, FIRST
/ONE READ FROM R SWS AFTER PAUSE
	HLT
	LINC
	LMODE
	SNS I 1
	JMP SAVE
	PDP
	PMODE
	JMP I IBLOCK	/ANOTHER BLOCK
	PAGE
	LMODE
SAVE,	PDP
	PMODE
	HLT
	LAS
	DCA COUNT
	STL RAR		/4000
	TAD COUNT
	DCA MAG
	TAD C5001
	TAD COUNT
	DCA MAG+2
	TAD C6002
	TAD COUNT
	DCA MAG+4
	TAD C7003
	TAD COUNT
	DCA MAG+6
	LINC
	LMODE
	LDF 1
	WRC U
MAG,	0
	WRC U
	0
	WRC U
	0
	WRC U
	0
	HLT
	JMP .-1
	PMODE
C5001,	5001
C6002,	6002
C7003,	7003
TYPE,	0
	TLS
	TSF
	JMP .-1
	CLA
	JMP I TYPE
/SUBR DISPLAYS FIXATION POINT
POINT,	0
	CLA
	TAD X0
	DCA 1
	TAD Y0
	LINC
	LMODE
	DSC I 0
POINT2,	1000
	PDP
	PMODE
	CLA
	JMP I POINT
/SUBR DISPLAYS 4 CHARS STARTING AT X
/PLUS FIXATION DOT
DISPLA,	0
	CLA STL RTL
	DCA 12
	TAD M4
	DCA 7
	TAD X
	DCA 1
	TAD I 12
	CLL RAL
	TAD PWTABL
	DCA 2
	TAD Y0
	LINC
	LMODE
	DSC 2
	DSC I 2
	CLR
	PDP
	PMODE
	TAD 1
	TAD DX
	ISZ 7
	JMP DISPLA+6
	JMS I IPOINT
	JMP I DISPLA
/ARRAY OF ASCII CODES FOR THE SIXTEEN
/DISPLAY CHARACTERS
/CNXL KFDZ HGPR JBST
SETS,	3		/SET 1:C,N,X,L
	16
	30
	14
	13		/SET 2:K,F,D,Z
	6
	4
	32
	10		/SET 3:H,G,P,R
	7
	20
	22
	12		/SET 4:J,B,S,T
	2
	23
	24
	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		/
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		/?



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