File NEISS

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

*20
	PMODE
	*200
START,	CLA CLL
	TAD K1000
	CLLR
	LAS
	AND K7
	SNA
	JMP .-3
	CLCA
	DCA RNDMNO
	CLLR
	CLAB
	TAD K5100
	CLLR
	CLA
	CLLR
	JMS I INIT
	JMP I CHG
CHG,	CHDSPL
K5100,	5100
/MASKING SUBROUTINE
	*400
MASK,	0		/HOLDS RET ADR
	CLA
	TAD LMASK
	DCA NTIME	/SET UP ISZ LOOP
	TAD I MSPOT	/MASK H.C. INTO
	DCA 1		/LINC BETA-1 REG
	TAD VERCO	/VERT. COOR.
MASKON,	LINC
	LMODE
	DSC I 0		/DISP MASK PW
	7777		/FOUND HERE
	PDP
	PMODE
	ISZ NTIME	/MORE MASK AREA?
	JMP MASKON	/MORE MASK 
	JMP I MASK	/RETURN
LMASK,	-6		/-NO. MASK WORDS
NTIME,	0
MSPOT,	HCMASK		/ADR OF MASK HC
/WINDOW DISPLAY SUBROUTINE
WINDOW,	0		/HOLDS RET AD
	CLA
	TAD WSIZE
	DCA NTIME	/SET UP ISZ LOOP
	TAD I WSPOT	/PUT WINDOW HC
	DCA 1		/INTO LINC B-2 
	TAD I TEXTSP	/ADR-1 OF FIRST
	DCA 10		/INTO AUTO IND
WNEXT,	TAD I 10	/GET NEXT CHAR
	DCA CHAR
	TAD CHAR
	TAD M56		/END OF STRING?
	SZA CLA
	JMP .+2
	JMP I WINDOW	/RETURN
	TAD CHAR
	CLL RAL		/DOUBLE CODE
	TAD PWTABL	/AD PW TABLE
	DCA 2		/INTO LINC B-2
	TAD VERCO	/VERT. CO.
	LINC 
	LMODE
	DSC 2		/DISPLAY PWS
	DSC I 2
	PDP
	PMODE
	ISZ NTIME	/DONE?
	JMP .+2
	JMP I WINDOW	/RETURN
	CLA
	TAD 1
	TAD HORSP
	DCA 1		/INCR H.C.
	JMP WNEXT	/DO NEXT CHAR
HORSP,	2		/H. INC. -8
WSIZE,	-1		/-WINDOW SIZE
WSPOT,	HCWIND		/AD OF WINDOW HC
TEXTSP,	LOCHAR		/AD OF 1ST CHAR
VERCO,	0		/VERT. COOR.
PWTABL,	PATRN-2		/AD-2 OF PW TAB
CHAR,	0
M56,	-56		/-STOP CODE
/DISPLAY SEGMENT
	*600
CHDSPL,	CLA
	TAD C1777	/FIRST TEXT LOC
	DCA LOCHAR
	TAD C1777
	DCA SH1
	TAD C50
	DCA SH2
	STA
	DCA SH3
	JMS I SHUFEL
	TAD C36
	DCA RNDM3
	JMS I RNDM1
	CLA IAC
	TAD C1777
	TAD RNDM2
	DCA LOC
	TAD I LOC
	DCA LOC1
	TAD COND
	DCA RNDM3
	JMS I RNDM1
	TAD RNDM2
	TAD COND1
	DCA COND2
	TAD I COND2
	DCA KEY
	TAD K100
	DCA RNDM3	/RAN NO 0-99
	DCA RSLT	/BINARY VAR
	JMS I RNDM1
	TAD RNDM2	/GET R NO
	TAD M74
	SMA CLA 
	JMP .+4		/NO TARGET
	ISZ RSLT
	TAD KEY
	DCA I LOC
	TAD I C2036
	DCA LOC2
	TAD C56
	DCA I C2036
WAIT,	LINC
	LMODE
	SNS 1		/STOP IF SS 1=1
	HLT
	SNS 0		/SKIP FOR FULL
	ESF		/HERE FOR HALF
	PDP
	PMODE
	TAD IHCMSK	/INIT MASK HC
	DCA HCMASK
	TAD IHORCO	/INIT WINDOW HC
	DCA HCWIND
	CLLR		/CLEAR CLOCK
	TAD KLOCKP	/
	CLLR		/LOAD CLOCK
	JMS I MASKIT	/MASK THRU PAUSE
	CLCA		/CLOCK READING
	TAD PAUSET
	SPA CLA		/DONE PAUSING?
	JMP .-4		/CONT PAUSE
GO,	CLLR		/CLEAR CLOCK
	TAD KLOCK
	CLLR		/LOAD CLOCK
	JMS I MASKIT	/DO LEADING MASK
	JMS I SHOWIT	/WINDOW DISP
	CLCA		/CLOCK READING
	TAD DISPON
	SPA CLA		/LONG ENOUGH?
	JMP .-5
	CLLR		/CLEAR CLOCK
	TAD KLOCK
	CLLR		/LOAD CLOCK
	JMS I MASKIT	/MASK DURING OFF
	CLCA		/CLOCK READING
	TAD DISPOF
	SPA CLA		/OFF TIME
	JMP .-4		/CONT OFF
	TAD MOVE
	TAD HCMASK	/INCR MASK HC
	DCA HCMASK
	TAD MOVE
	TAD HCWIND
	DCA HCWIND	/INCR WINDOW HC
/CHECK FOR SLIDE PAST END-STRING
	TAD SLIDE
	DCA SKIP	/ISZ LOOP
SLIP,	ISZ LOCHAR	/SLIDE ONE SPOT
	TAD I LOCHAR
	TAD MM56	/CHECK FOR E-STR
	SZA CLA
	JMP .+2
	JMP I RESULT
	ISZ SKIP	/ANOTHER SLIDE?
	JMP SLIP	/SLIDE AGAIN
	JMP GO		/DONE SLIDING
QUIT,	TAD LOC2
	DCA I C2036
	TAD LOC1
	DCA I LOC
	JMP CHDSPL
	*130
C2036,	2036
LOC,	0
RSLT,	0
TIPE,	TIPEX
RESULT,	TYPE
LOC1,	0
K100,	144
M74,	-112
LOC2,	0
KEY,	13		/K
COND,	1
COND1,	2060
COND2,	0
C36,	36
C50,	50
SLIDE,	-1		/-WINDOW SLIDE
C56,	56
LOCHAR,	0
SKIP,	0
IHCMSK,	40		/INIT MASK HC
HCMASK,	0
IHORCO,	74		/INIT WINDOW HC
HCWIND,	0
MM56,	-56		/-STOP CODE
MASKIT,	MASK
SHOWIT,	WINDOW
DISPON,	-50		/WINDOW ON TIME
DISPOF,	-50		/WINDOW OFF TIME
MOVE,	0		/INCR HCS
PAUSET,	-310		/PAUSE TIME
KLOCK,	4100		/COUNT MSEC
KLOCKP,	5100		/COUNT HSEC
C1777,	1777		/2000=TEXT
	*3000
TYPE,	CLA
	TAD KCR
	JMS I TIPE
	TAD KLF
	JMS I TIPE
	TAD C260
	TAD RSLT
	JMS I TIPE
	TAD KSP
	JMS I TIPE
	TAD LOC
	AND C70
	CLL RTR
	RAR
	TAD C260
	JMS I TIPE
	TAD LOC
	AND K7
	TAD C260
	JMS I TIPE
	TAD KSP
	JMS I TIPE
	TAD KEY
	TAD C300
	JMS I TIPE
	JMP I QUIT1
QUIT1,	QUIT
C70,	70
C300,	300
C260,	260
KSP,	240
KLF,	212
KCR,	215
TIPEX,	0		/OUTPUT SUBR
	TLS
	TSF
	JMP .-1
	CLA
	JMP I TIPEX
	*1002
/PATTERN WORDS FOR CHAR DISPL.
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
	*1400
K777,	777
INITX,	0
	JMS I IRX
	CLA
	TAD RNDMNO
	AND K777	/
	CIA		/
	DCA INDEX	/
	JMS I RNX	/
	ISZ INDEX	/
	JMP .-2		/
	JMP I INITX	/DONE
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		/
	PAGE 0
	*20
K7,	7		/
K1000,	1000
RNDMNO,	0		/
SH1,	0		/
SH2,	0		/
SH3,	0		/
INDEX1,	0		/
INDEX,	0		/
R1,	0		/
R2,	0		/
R3,	0		/
RNDM3,	0		/
TEMP,	0		/
RNDM2,	0		/
INIT,	INITX		/
SHUFEL,	SHUFL		/
RNDM1,	RNDM		/
RMNDR,	RMNDRX		/
RNX,	RN		/
IRX,	IR		/
INDEX6,	0		/
	*2000
	2
	2
	3
	3
	7
	7
	11
	11
	12
	12
	16
	16
	17
	17
	21
	21
	22
	22
	23
	23
	25
	25
	26
	26
	27
	27
	30
	30
	31
	31
	61
	61
	63
	63
	65
	65
	66
	66
	67
	67
	*2060
	1
	6
	13
	24
	71
	10
	15
	20
	32
	64



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