File TU58

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

*20
///TU58
/
/SUBROUTINES TO HANDLE THE TU58 TAPE
/
/	JMP TUINIT
/
/	JMP TUREAD
/	 UNIT \ BLOCK
/	 BANK
/	 LOC
/	ERROR RETURN
/	NORMAL RETURN
/
/	JMP TUWRIT
/	 UNIT \ BLOCK
/	 BANK
/	 LOC
/	ERROR RETURN
/	NORMAL RETURN
/
/
/ THESE ROUTINES USE CHANNELS 40,41
/ OF THE SLIM MULTIPLEXOR. 
/ ALSO, THE SPECIAL EXEC "EXEC38U"
/ MUST BE USED IN ORDER TO ACHIEVE
/ FULL 8 BIT DATA TRANSFER TO/FROM
/ 12 BIT WORDS.
/
/ A SINGLE BLOCK IS READ OR WRITTEN
/ AT A TIME. THE LOW 8 BITS OF 512.
/ 12 BIT WORDS ARE TRANSFERRED.
	EJECT
/
/SEND INIT (4) TO THE TU58 AND
/WAIT FOR A CONTINUE (20).
/
TUINIT,	LDA
	0
	STC TUINIX
	LDA I
	4
	JMP TUOUT
/
	JMP TUIN
	SAE I
	20
	JMP .-3
TUINIX,	JMP
/
	EJECT
/READ/WRITE ONE BLOCK
/
/	JMP TUREAD/TUWRIT
/ARG1	UNIT\BLOCK
/ARG2	BANK
/ARG3	LOC
/	ERR
/	SUC
/
TUWRIT,	LDA I
	1
	SKP
TUREAD,	CLR
	ADA I
	2
	STC TUCMD
/
TURW,	ADD 3
	STC SV3
	ADD 4
	STC SV4
	ADD 5
	STC SV5
	ADD 6
	STC SV6
	ADD 0
	BCL I
	6000
	STC 3
/
	LDA I
	5252
	STC TUSWP
	LDA 3
	SCR 11
	STC TUNIT	/UNIT
	LDA 3
	BCL I
	7400
	STC TUBK0
	LDA 3
	BCL I
	7377
	SCR 10
	STC TUBK1	/BLOCK NUM
	LDA I 3
	BSE I
	LDF
	STC RF
	LDA I 3
	ADA I
	-1
	BSE I
	2000
	STC 4		/USER POINTER
	XSK I 3		/FIRST EXIT
/
	JMP DOTU	/ISSUE THE COMMAND
/
	SET I 5
	-4		/4 SETS OF 128
RF,	LDF
/
	LDA
	TUCMD
	SAE I
	2
	JMP TUWT	/WRITING
/
/READING
NR,	JMP TUIN
	SAE I
	1
	JMP TUERR	/ERROR
	JMP TUIN
/
	SET I 6
	-200
	JMP TUIN
	STA I 4
	XSK I 6
	JMP .-3
/
	JMP TUIN
	JMP TUIN	/CKSUM
	XSK I 5
	JMP NR
/
/END PACKET NEXT
EPKT,	SET I 6
	-4
	JMP TUIN
	XSK I 6
	JMP .-2
	AZE		/FLAG BYTE
	JMP TUERR
	SET I 6
	-12
	JMP TUIN
	XSK I 6
	JMP .-2
	JMP TUGUD
	EJECT
/WRITNG
TUWT,	JMP TUIN
	SAE I
	20
	JMP TUERR
/
NW,	CLR
	STC CS1
	STC CS2
	LDA I
	1
	JMP TUDAT
	LDA I
	200
	JMP TUDAT
	SET I 6
	-200
/
	LDA I 4
	JMP TUDAT
	XSK I 6
	JMP .-3
/
	LDA I
CS1,	0
	JMP TUOUT
	LDA I
CS2,	0
	JMP TUOUT
	XSK I 5
	JMP TUWT
	JMP EPKT
/
TUERR,	SAE I
	4
	JMP TUX
	JMP TUINIT
	JMP TUX
/
TUGUD,	XSK I 3
TUX,	LDA
	3
	BSE I
	JMP
	STC TUGX
	LDA I
SV3,	0
	STC 3
	LDA I
SV4,	0
	STC 4
	LDA I
SV5,	0
	STC 5
	LDA I
SV6,	0
	STC 6
TUGX,	JMP
	EJECT
/INPUT A CHARACTER FROM TU58
/
TUIN,	LDA
	0
	STC TUINX
/
	OPR 11
	40
	-1
	5		/THIS FIELD
	TUICHR
	JMP .-5
/
	OPR 1
	40
	NTUIN
	JMP .-3
/
	OPR 5
/
NTUIN,	LDA I
TUICHR, 0
TUINX,	JMP
/
/
/SEND A CHAR TO TU58
/
TUOUT,	BCL I
	7400
	STC TUOCHR
	ADD 0
	STC TUOUX
/
	OPR 11
	41
	-1
	5		/THIS FIELD
	TUOCHR
	JMP .-5
/
TUOUX,	JMP
TUOCHR,	0
/
/
/SEND COMMAND PACKET TO TU58
/
DOTU,	LDA
	0
	STC DOTUX
/
	SET I 5
	CB-1
	SET I 6
	-14
	STC CS1
	STC CS2
/
	LDA I 5
	JMP TUDAT
	XSK I 6
	JMP .-3
/
	LDA
	CS1
	JMP TUOUT
	LDA
	CS2
	JMP TUOUT
/
DOTUX,	JMP
	EJECT
/COMPUTE CKSUM AND SEND THE CHAR
/
TUDAT,	BCL I
	7400
	STC DCHR
	ADD 0
	STC TUDAX
/
	SRO I
TUSWP,	5252
	JMP SWP2
/FIRST
	LDA I
DCHR,	0
SWP3,   ADD CS1
	STA I
FC,	0
	BCL I
	7400
	STC CS1
	ADD FC
	SCR 10
	BCL I
	7776
	ADM
	CS2
	LDA
	DCHR
	JMP TUOUT	/SEND CHAR
TUDAX,	JMP
/
SWP2,	LDA
	DCHR
	ADD CS2
	STA
	FC
	BCL I
	7400
	STC CS2
	ADD FC
	SCR 10
	BCL I
	7776
	JMP SWP3
	EJECT
/
/COMMAND BUFFER
/
CB,	2
	12
TUCMD,	0
	0
TUNIT,	0
	0
	0
	0
	0
	2		/COUNT=1000
TUBK0,	0
TUBK1,	0
	



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