File TACH3

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

ESSAG
	JMP GET
	STC TF
	SET I 1
	LAB2-4000
	JMP MESSAG
	JMP GET
	STC TI
	SET I 1
	LAB3-4000
	JMP MESSAG
	JMP GET
	STC TD
	SET I 1
	LAB4-4000
	JMP MESSAG
	JMP GET
	STC TM
	SET I 1
	LAB5-4000
	JMP GET
	BSE I
	3000		/SET MBLK=3
	STC TBLK
/INITIALIZE TAPE FILE
	ADD TBLK
	STC .+2
	RDC U
	0
	SET I 4
	5377
/VERIFY FILE: STARTS WITH "*20,CR"
	LDA I 4
	SAE I
	5262
	JMP ERR1
	LDA I 4
	SAE I
	6043
	JMP ERR1
/EACH TRIAL STARTS HERE
/ENCODE NEXT TWO LINES OF FILE: DISPLAY
/AND MASK STRINGS INTO BUFFER&UP
/HALTS IF SW 5 UP
/
TRIAL,	SNS I 5
	HLT
	SET I 7
	BUFFER-4000
	JMP NXCHAR
	SAE I
	57		/LINE BEGINS "/"
	JMP ERR2
	JMP NXCHAR
	STH I 7
	SAE I
	43		/ENDS WITH CR
	JMP .-4
	LDA
	7
	STC ADMASK	/AD-1/2 MASK
	JMP NXCHAR
	SAE I
	57
	JMP ERR2
	JMP NXCHAR
	STH I 7
	SAE I
	43
	JMP .-4
/STRINGS IN BUFFER. DISPLAY FIX DOTS
/FOR "TF" CYCLES
	LDA I
TF,	0
	COM
	STC 5
	JMP SYNC0	/START CLOCK
	JMP SYNC
	JMP SHOFIX
	XSK I 5
	JMP .-3
/PAUSE "TI" CYCLES
	LDA I
TI,	0
	COM
	STC 5
	JMP SYNC
	XSK I 5
	JMP .-2
/DISPLAY STRING ON "TD" CYCLES
	LDA I
TD,	0
	COM
	STC 5
	ADD ADBUFR
	STC STRING
	JMP SYNC
	JMP DISPLA
	XSK I 5
	JMP .-3
/MASK STRING ON "TM" CYCLES
	LDA I
TM,	0
	COM
	STC 5
	LDA I
ADMASK,	0
	STC STRING
	JMP SYNC
	JMP DISPLA
	XSK I 5
	JMP .-3
/WAIT FOR RESPONSE ON 4-BUTTON PANEL
	IOB
	6304
	IOB
	6301
	JMP .-2
	JMP TRIAL	/END OF TRIAL!
/
ERR1,	SET I 1
	ELAB1-4000
	JMP MESSAG
	JMP PARAM	/RESTART
ERR2,	SET I 1
	ELAB2-4000
	JMP ERR1+2
ELAB1,	TEXT "NOT A FILE!"
ELAB2,	TEXT "FILE ERROR!"
ELAB3,	TEXT "TIMING ERROR!"
/
LAB1,	TEXT "TF CYCLES"
LAB2,	TEXT "TI CYCLES"
LAB3,	TEXT "TD CYCLES"
LAB4,	TEXT "TM CYCLES"
LAB5,	TEXT "TAPE FILE"
/
/SUBR TYPES OUT CR+ PACKED ASCII MESSAGE
/POINTED BY 1.
/
MESSAG,	LDA
	0
	STC MESRET
	LDA I
C212,	212
	JMP TYPE
	LDA I
C215,	215
	JMP TYPE
	LDH I 1
	AZE I
MESRET,	HLT		/RETURN
	ADA I
	-37		/ADD 100 OR 200
	APO		/FOR 8-BIT CODE
	ADD C100
	ADA I
	237
	JMP TYPE
	JMP MESRET-2
C100,	100
/
TYPE,	PDP PMODE
	TSF
	JMP .-1
	TLS
	LINC LMODE
	JMP
/
/SUBR ACCEPTS UNSIGNED 4-DIGIT OCTAL
/NUMBER FROM TTY - RUBOUT RESTARTS IT
/
GET,	LDA
	0
	STC GETRET
ENTRY,	STC NUM
	LDA I
	275
	JMP TYPE	/INITIAL "="
	SET I 2
	-4
NEXDIG,	KST
	JMP .-1
	IOB
	6036
	SAE I
	377
	JMP .+3
	CLR
	JMP ENTRY	/RESTART
	JMP TYPE
	ADA I
	-260
	STC
	LDA I
NUM,	0
	ROL 3
	ADD
	STC NUM
	XSK I 2
	JMP NEXDIG
	ADD NUM
GETRET,	HLT		/RETURN
/
/SUBR NXCHAR: PULLS NEXT 6-BIT ASCII CH
/OFF BUFFERED TAPE FILE, UNIT 1
/BUFFER LIF 1400-1777=5400-5477
/
NXCHAR,	DJR
	LDA
	4
	SAE I
	5777		/END OF BUFFER?
	JMP ROOM
	LDA I
	1
	ADM I
TBLK,	0		/NEXT FILE TBLK
	STC .+2
	RDC U
	0
	SET I 4
	5377		/RESET POINTER
	JMP ROOM	/USE UP DJR
ROOM,	LDH I 4
	AZE
	JMP		/RETURN
	HLT		/***END OF FILE!
/
/SUBR DISPLA: DISPLAYS STRING OF ASCII
/PACKED AS HALF-WORDS STARTING AT 
/"STRING" & PROCEEDING UNTIL CR (=43)
/
DISPLA,	LDA
	0
	STC DISRJ
	SET I 7
STRING,	0		/AD-1/2 CH STR
	SET I 1
X0,	340
	LDH I 7
	SHD I
	4300		/43=END STRING
DISRJ,	HLT		/RETURN
	ROL 1
	ADA I
	PATRN-2
	STC 2		/ASCII-PATTERN
	LDA I
Y0,	0
	DSC 2
	DSC I 2
	LDA I
DX,	4
	ADM
	1
	JMP X0+1
/
/SUBR SYNC: WAITS FOR NEXT CLOCK TICK -
/ERROR IF OCCURRED PRIOR TO ENTRY
/
SYNC,	PDP PMODE
	CLA
	CLSA
	SPA CLA
	JMP E3		/ERROR
	CLSA
	SMA CLA
	JMP .-2
	LINC LMODE
	JMP
	PMODE
E3,	LINC LMODE
	JMP ERR3
/
/SUBR SYNC0: STARTS CLOCK "TICKING" AT
/PRESCRIBED RATE (=5 MSECS)
/
SYNC0,	PDP PMODE
	CLA
	CLEN
	CLLR
	TAD RATE
	CLLR
	CLA
	TAD MCYCLE
	CLAB
	CLSA
	CLA
	CLSA
	SMA CLA
	JMP .-2		/WAIT 1ST TICK
	LINC LMODE
	JMP
	PMODE
RATE,	4100
MCYCLE,	-5
	LMODE
/
/SUBR DISPLAYS FIXATION DOT (2 PWS)
/
SHOFIX,	LDA I
	200
	ESF		/1/2-SIZE
	SET I 1
XFIX,	340
	LDA I
YFIX,	0
	DSC I
	7777
	DSC I
	7777
	JMP
/



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