File CHANGLET

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
C3,	3
M6,	-6
ADTRMX,	1737
C20,	20
X0,	0
Y0,	0
TCOUNT,	0
TIME1,	0
TIME2,	0
M200,	-200
COUNT,	0
RITEX0,	0
LEFTX0, 0
TRTYPE,	0
C777,	777
IMASK,	MASK
M20,	-20
M40,	-40
TIME,	0
X,	0
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
M144,	-144
TIMER,	0
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
/PROGRAM STARTS HERE
START,	CLA
	TAD ADTRMX
	DCA 10
	TAD M40
	DCA 7
	DCA 1
	TAD 1
	DCA I 10
	ISZ 7
	SKP
	JMP .+3
	ISZ 1
	JMP START+6
	TAD ADTRMX
	TAD C40
	DCA 11		/AD-1 DATA STORE
WARMUP,	LAS
	SNA
	JMP .-2
	ISZ 1
	NOP
	LAS
	SZA
	JMP .-4
	JMS I IRX
	JMS I RNX
	ISZ 1
	JMP .-2
/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
	CLR
	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
	PDP
	PMODE
	CLA
/DEFINE DISPLAY ORIGINS ON LEFT AND
/RIGHT OF CENTER FIXATION DOT
	TAD X0
	AND C777
	DCA X0
	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
/WHEN ADJUSTMENT COMPLETED, PROG. HALTS 
/TO READ TOTAL TIME/4 IN MSECS FROM R SW
	HLT
	LAS
	DCA TIME
/NOW DO A SINGLE 32-TRIAL WARMUP BLOCK
	JMS I TRIALS	/32-TRIAL BLOCK
	TAD C40
	TAD ADTRMX	/DONT SAVE FIRST
	DCA 11		/WARMUP BLOCK
/NOW DO 6 SCORED 32-TRIAL BLOCKS=192 TRL
	TAD M6
	DCA COUNT	/DO 6 BLOCKS
	JMS I TRIALS
	ISZ COUNT
	JMP .-2
	HLT		/DONE WITH SESS.
	JMP I RECORD	/SAVE DATA
RECORD,	SAVE
TRIALS,	BLOCK
	PAGE
/SUBR EXECUTES 32-TRIAL BLOCK
BLOCK,	0
	TAD M20
	DCA 7
	TAD ADTRMX
	DCA SH1		/SHUFFLE TR TYPE
	TAD C40		/ARRAY 16 TIMES
	DCA SH2
	STA
	DCA SH3
	JMS I SHUFEL
	ISZ 7
	JMP BLOCK+3
	TAD ADTRMX
	DCA 10
	TAD M40
	DCA TCOUNT
	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 16 TIMES
	TAD M20
	DCA 1
SHUFCH,	STA
	TAD ADSETS
	DCA SH1
	TAD C20
	DCA SH2
	STA
	DCA SH3
	JMS I SHUFEL
	ISZ 1
	JMP SHUFCH
/TAKE 5 CHARACTERS OFF TOP OF ARRAY AND
/STORE IN 3,4,5,6&KEY2
	TAD M4
	DCA 1
	STL RTL
	DCA 12
	STA
	TAD ADSETS
	DCA 13
	TAD I 13
	DCA I 12
	ISZ 1
	JMP .-3
	TAD I KEYBUF
	DCA KEY1
	TAD I 13
	DCA KEY2
/NOW STORE 3 WORDS/TRIAL: 1ST WORD=
/TRTYPE*32 + ASCII CODE POSN 0 (LEFTMOST
/2ND WORD=ASCII CODE POSN 1*32 + ASCII
/CODE POSN 2; 3RD WORD=ASCII POSN 3*32
/+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
/NOW DECODE TIME CONDITIONS FOR TRIAL
/AND SETUP TIME1 AND TIME2: BITS 8&9 OF
/TRTYPE=TIME COND.:0=1-3,1=2-2,2=3-1,
/3=4-0(CONTROL-NO CHANGE)
	TAD TRTYPE
	RTR
	AND C3
	CMA
	DCA 1
	TAD TIME
	ISZ 1
	JMP .-2
	DCA TIME1
	TAD TIME
	CLL RTL
	DCA 1
	TAD TIME1
	CIA
	TAD 1
	DCA TIME2
/NOW SET LEFT (BIT 7 OF TRTYPE=0) OR
/RIGHT (BIT 7=1) DISPLAY
	TAD C20
	AND TRTYPE
	SNA CLA
	JMP .+3
	TAD RITEX0
	SKP
	TAD LEFTX0
	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 I IMASK	/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 15
	TAD X
	DCA 1
	TAD Y0
	LINC
	LMODE
	DSC I 0
	7777
	DSC I 0
	7777
	CLR
	PDP
	PMODE
	TAD 1
	TAD DX
	ISZ 15
	JMP MASK+6
	JMS DELAY
	6302
	SNA CLA
	JMP MASK+1
	TAD C212
	JMS I TIPE
	TAD C215
	JMS I TIPE
	TAD KEY1
	TAD C300
	JMS I TIPE
	TAD C20
	AND TRTYPE
	SZA CLA
	IAC
	TAD C260
	JMS I TIPE
	TAD TRTYPE
	RTR
	AND C3
	TAD C260
	JMS I TIPE
	TAD KEYSET
	TAD C260
	JMS I TIPE
	TAD C240
	JMS I TIPE
	STL RTL
	DCA 12
	TAD M4
	DCA 1
	TAD I 12
	TAD C300
	JMS I TIPE
	ISZ 1
	JMP .-4
	ISZ TCOUNT	/ANOTHER TRIAL?
	JMP I ITRIAL
/BLOCK OVER. DISPLAY "REST" FOR 25 SECS.
	TAD ADREST
	DCA 13
	TAD M4
	DCA 1
	STL RTL
	DCA 12
	TAD I 13
	DCA I 12
	ISZ 1
	JMP .-3
	TAD PAUSET
	DCA 15
	TAD M144
	DCA TIMER
	JMS CLOCK
	JMS I SHOW
	JMS DELAY
	ISZ TIMER
	JMP .-4
	ISZ 15
	JMP .-10
	TAD I IBLOCK
	DCA .+2
	JMP I .+1
	0		/HOLDS AD RETURN
ITRIAL,	TRIAL
IBLOCK,	BLOCK
ADREST,	.
	22		/R
	5		/E
	23		/S
	24		/T
/SECTION SAVES RECORDED TRIAL DATA ON 
/TAPE UNIT 1 AT TBLK COUNT=L SW ON UP
SAVE,	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
	PAGE
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		/?
/USELESS COMMENT



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