File 2NOISES

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

*20
	PMODE
	*20
AFTER,	764		/NOW=1/2 SEC.
BEFORE, 374		/NOW=1/4 SEC.
K7,	7
	C7=K7
C30,	30
D64,	100
CORESP,	0
ERASE,	0
TEMP,	0
R1,	0
R2,	0
R3,	0
INDEX6,	0
RNDM3,	0
RNDM2,	0
ADTIMS,	TIME1		/AD TIME CONDS.
ADLETS,	LETTR1		/AD LETTER CODES
TRIALS,	TRIAL1-1	/AD-1 TRIAL TYPE
RNDM1,	RNDM
SH1,	0
SH2,	0
SH3,	0
SHUFEL,	SHUFL
RMNDR,	RMNDRX
TIMER,	0
ADRESP,	RESP1		/AD RESP CODES
DIGITS,	DIGIT1-1	/AD-1 POSTMASKS
DIGIT,	DIGIT1
BELL,	207
D18,	22
M5,	-5
CHAR,	0
IRX,	IR
RNX,	RN
NTRIAL,	0
TIMEON,	12		/MSECS DISPLAY
DISPLA,	SHOW
M10,	-10
LETTER,	0
TRTYPE,	0
C40,	40
/SUBR TYPES OUT AC (LESS THAN 100)
/AS 2 DIGIT DECIMAL NUMBER PLUS SPACE
DECPUT,	0
	DCA 0
	TAD C260
	DCA TIMER
	TAD 0
	TAD MD10
	SPA
	JMP .+3
	ISZ TIMER
	JMP .-4
	TAD C272
	DCA 0
	TAD TIMER
	JMS TYPE
	TAD 0
	JMS TYPE
	TAD C240
	JMS TYPE
	JMP I DECPUT
C240,	240
MD10,	-12
C260,	260
C272,	272
/SUBR TYPES CHAR FROM AC
TYPE,	0
	TLS
	TSF
	JMP .-1
	CLA
	JMP I TYPE
C212,	212
C215,	215
/SUBR STARTS CLOCK AT 1OO KHZ RATE
CLOCK,	0
	CLA
	CLLR
	TAD C2100
	CLLR
	CLA
	JMP I CLOCK
C2100,	2100
/SUBR PAUSES UNTIL RFRESH SECS*10^-5
DELAY,	0
	CLCA
	TAD RFRESH
	SPA CLA
	JMP .-3
	JMP I DELAY	/DONE WAITING
RFRESH,	-144		/REFRESH RATE
/SUBR DISPLA SHOWS FIXATION POINTS
/AND CHARACTER SPECIFIED BY ASCII=CHAR
SHOW,	0
	JMS CLOCK
	LINC
	LMODE
	SET I 1
HORCO,	272
	LDA I
	20		/LINE ABOVE CHAR
	ADA I
VERCO,	320
	DSC I		/SHOW DOTS ABOVE
	400
	DSC I
	4
	SET 1
	HORCO
	ADA I
	-40		/SHOW DOTS BELOW
	DSC I
	1000
	DSC I
	10
	LDA
	CHAR
	ROL 1
	ADA I
	PATRN-2		/FORM ADDR PWS
	STC 2
	SET 1
	HORCO
	ADD VERCO	/SHOW CHAR
	DSC 2
	DSC I 2
	PDP
	PMODE
	JMS DELAY	/REFRESH TIMING
	JMP I SHOW
/END OF DISPLAY ROUTINE
/PROGRAM STARTS HERE: INITIALIZE RANDOM
START,	ISZ
	NOP
	LAS
	SZA
	JMP START
	JMS I IRX
	JMS I RNX
	ISZ
	JMP .-2
/EACH BLOCK BEGINS HERE
BLOCK,	HLT CLA
	TAD D64		/64 TRIALS/BLOCK
	CIA
	DCA NTRIAL
/SHUFFLE TRIAL TYPES
	TAD C40
	CIA
	DCA 1
TSHUF,	TAD TRIALS
	DCA SH1
	TAD D64
	DCA SH2
	STA
	DCA SH3
	JMS I SHUFEL
	ISZ 1
	JMP TSHUF
	TAD TRIALS
	DCA 12
/NOW ZERO BANK OF 64 DATA CELLS STARTING
/AT 4000; CELL FOR TRTYPE=TRTYPE+4000
	STA CLL RAR	/3777=AD-1 CELLS
	DCA 10
	TAD NTRIAL	/=-64
	DCA 1
	DCA I 10	/ZERO CELL
	ISZ 1
	JMP .-2
/EACH TRIAL BEGINS HERE
/TRIAL TYPE DECODING: BITS 9,10,11=
/LETTER SELECTION (8 OF THEM). BITS 7,8:
/1 OF 4 ERASURE MASK DURATIONS. BIT 6:
/0=NO POSTMASK CHARACTER AFTER ERASURE
/MASK, 1=POSTMASK CHAR FOLLOWS ERASURE
TRIAL,	TAD I 12	/NEXT COND.
	DCA TRTYPE
	TAD C7
	AND TRTYPE
	DCA LETTER	/1 OF 8 LETTERS
	TAD C30
	AND TRTYPE
	CLL RTR
	RAR
	TAD ADTIMS
	DCA 1		/AD OF ERASURE
	TAD I 1		/DURATION MSECS
	CIA
	DCA ERASE
	TAD LETTER
	TAD ADRESP	/AD OF CORRECT
	DCA 1		/RESP KEY CODE
	TAD I 1
	CIA
	DCA CORESP
/GET (POSSIBLE) POSTMASK CHAR BY
/SHUFFLING SET OF 18 0F THEM
	TAD M5
	DCA 1
DSHUF,	TAD DIGITS
	DCA SH1
	TAD D18
	DCA SH2
	STA
	DCA SH3
	JMS I SHUFEL
	ISZ 1
	JMP DSHUF
/READY TO BEGIN TRIAL. DISPLAY FIXATION
/DOTS UNTIL S SIGNALS READY AND THEN FOR
/ANOTHER "BEFORE" MSECS
READY,	6304
	TAD C40		/CHAR=BLANK=40
	DCA CHAR
	JMS I DISPLA
	6302		/READY=ANY KEY
	SNA CLA		/ON 4-KEY BOX
	JMP .-3
	TAD BEFORE
	CIA
	DCA TIMER
	JMS I DISPLA
	ISZ TIMER
	JMP .-2
	TAD LETTER
	TAD ADLETS	/AD LETTER CODE
	DCA 1
	TAD I 1
	DCA CHAR	/DISPLAY LETTER
/SHOW SELECTED LETTER FOR "TIMEON" MSECS
	TAD TIMEON
	CIA
	DCA TIMER
	JMS I DISPLA
	ISZ TIMER
	JMP .-2
/SHOW ERASURE MASK FOR "ERASE" MSECS
	DCA CHAR	/ERASE CODE=0
	JMS I DISPLA
	ISZ ERASE
	JMP .-2
	6314		/CLEAR RESP PANL
/SHOW EITHER RANDOM POSTMASK CHAR (BIT 6
/OF TRTYPE=1) OR BLANK (BIT 6=0) FOR
/"AFTER" MSECS
	TAD C40
	AND TRTYPE
	SZA CLA
	JMP .+3
	TAD C40		/BLANK=40
	SKP
	TAD I DIGIT	/POSTMASK CHAR
	DCA CHAR
	TAD AFTER
	CIA
	DCA TIMER
	JMS I DISPLA
	ISZ TIMER
	JMP .-2
	6312		/RESP YET?
	SNA
	JMP .-2
	TAD CORESP	/=CORRECT KEY?
	SNA CLA
	IAC
	DCA 1		/CORRECT=1
	TAD 1
	SNA CLA
	JMP ETRIAL
/RESPONSE WAS CORRECT: RING TTY BELL
/AND INCREMENT DATA CELL AT 4000+TRTYPE
	TAD BELL	/RING BELL
	JMS TYPE
	STL RAR
	TAD TRTYPE	/AD DATA CELL
	DCA 1
	ISZ I 1		/INCREMENT IT
ETRIAL,	ISZ NTRIAL	/ANOTHER TRIAL?
	JMP I ITRIAL
/AT END OF BLOCK: CR,LF, AND TYPE OUT
/NO. CORRECT FOR EACH OF 8 CONDITIONS.
	TAD C212
	JMS TYPE
	TAD C215
	JMS TYPE
	TAD M10		/8 COND. ENTRIES
	DCA 2
	STA CLL RAR	/3777=AD-1 CELLS
	DCA 10
ENTRY,	TAD M10		/8 CELLS/COND.
	DCA 1
	TAD I 10	/SUM NEXT 8 CELL
	ISZ 1
	JMP .-2
	JMS DECPUT	/TYPE SUM,SPACE
	ISZ 2		/ANOTHER ENTRY?
	JMP ENTRY
	TAD C212	/ANOTHER CR,LF
	JMS TYPE
	TAD C215
	JMS TYPE
	HLT		/PRESS CONTINUE
	JMP I IBLOCK	/FOR NEXT BLOCK
IBLOCK,	BLOCK
ITRIAL,	TRIAL
/ARRAY 0F 8 DISPLAY LETTERS. EACH USED
/ONCE PER CONDITION PER BLOCK
LETTR1,	2		/B
	3		/C
	4		/D
	6		/F
	7		/G
	10		/H
	12		/J
	16		/N
/ARRAY OF 8 RESPONSE KEY CODES
RESP1,	1000		/LEFTMOST KEY
	400
	200
	100
	40
	20
	10
	4
/ARRAY OF 4 ERASURE DURATIONS (MSECS)
TIME1,	5
	17
	31
	43
/ARRAY OF 18 POSTMASK CHARACTERS
/DISJOINT FROM DISPLAY CHARACTERS
DIGIT1,	61
	62
	63
	64
	65
	66
	67
	70
	71
	61
	62
	63
	64
	65
	66
	67
	70
	71
/ARRAY OF 64 TRIAL TYPES: 0-77
TRIAL1,	0
	40
	1
	41
	2
	42
	3
	43
	4
	44
	5
	45
	6
	46
	7
	47
	10
	50
	11
	51
	12
	52
	13
	53
	14
	54
	15
	55
	16
	56
	17
	57
	20
	60
	21
	61
	22
	62
	23
	63
	24
	64
	25
	65
	26
	66
	27
	67
	30
	70
	31
	71
	32
	72
	33
	73
	34
	74
	35
	75
	36
	76
	37
	77
/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		/
/PATTERN WORDS FOR ERASURE MASK
	7777
	7777
/PATTERN WORDS FOR CHAR DISPLAY
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



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