File: TDBLKP.PA of Tape: Various/System-Tapes/s5
(Source file text) 

/TD8E BLOCK PATCH

	/OVERLAY FOR TD8E FORMATTER PROGRAM
	/VERSION DEC-8E-EUZC-D
	/RESULTING PROGRAM REWRITES BLOCK NUMBERS
	/AND INTERBLOCK GAP IN A TC08 COMPATIBLE WAY.
	/!!WITHOUT DESTROYING ANY EXISTING DATA!!

	/W.V.D. MARK, ETH, ZUERICH, 10/1/76
	/REVISED 16/11/77

	IFNDEF DRIVE <DRIVE=0>
	UNITNO=DRIVE^10

/THE IOT'S ARE:

	SDSS=6771-UNITNO/SKIP ON SINGLE LINE FLAG
	SDST=6772-UNITNO/SKIP ON TIME ERROR
	SDSQ=6773-UNITNO/SKIP ON QUAD LINE FLAG
	SDLC=6774-UNITNO/LOAD TAPE COMMAND REGISTER
	SDLD=6775-UNITNO/LOAD DATA REGISTER
	SDRC=6776-UNITNO/READ COMMAND REGISTER
	SDRD=6777-UNITNO/READ DATA REGISTER

	/DEFINITIONS FROM FORMATTER

	W5=	24
	W6=	25
	DTA=	27
	PHASE=	30
	TOTAL=	31
	VAR2=	33
	C0007=	37
	M6=	62
	MESS=	77
	STX=	100
	MTR=	106
	M25=	112
	M26=	113
	M73=	117
	M144=	65
	M55=	111
	M306=	126
	M51=	120
	M22=	122
	M31=	125
	CNT=	127
	MSK77=	135
	BLK=	137
	REVBLK=	140
	DT1400=	161
	DT3000=	164
	DT1000=	165
	SELTIM=	167
	MARKER=	170
	WLO=	2157
	RDBLKS=	2442
	RDFA=	2600
	SSDSQT=	132
	SCEXPC=	134

	/PATCHES TO FORMATTER

	*1354
		WRTBLK
	*2515
	JMP I	.+1
		RDFA
	*2676
	JMP I	STX
	*4000

MORE,	JMS I	(W4L	/FORWARD EXPAND CODE
EXPBLK,	JMS I	(W4L	/EXPAND AND BLOCK
	TAD	BLK
	JMS I	(W4L	/FORWARD BLOCK
	TAD	MTR
	TAD	M25
	SZA	CLA
	JMS I	MARKER
	TAD	(7741
	JMS I	(W4L	/REVERSE GUARD
	TAD	MTR
	TAD	M26
	SZA CLA
	JMS I	MARKER
	TAD	(1477	/REV. GUARD + LOCK MARK
	JMS I	(W4L
	STA
	JMS I	(W4L	/LOCK MARK
	STA
	SDSQ
	JMP	.-1
	SDLD
	STA
	JMS I	(W1L	/2 LINES OF CHECKSUM
	SDSS
	JMP	.-1	/SYNC
	SDLD
	CLA
	TAD	DT1000	/WRITE OFF AT REVERSE CHECKSUM
	TAD	DTA
	SDLC
	JMS I	(R4L	/CHECKSUM
	TAD	TOTAL
	CIA		/DATA
	DCA	W5
	JMS I	(R4L
	ISZ	W5
	JMP	.-2
	JMS I	(R1L
	JMS I	(R1L
	JMS I	(R1L
	TAD	MTR
	TAD	M37
	SZA CLA
	JMS I	MARKER
	STA
	SDSS
	JMP	.-1	/READ IN CHECKSUM
	SDLD
	CLA
	TAD	DT1400	/WRITE ON
	TAD	DTA
	SDLC
	STA
	JMS I	(W1L
	STA
	JMS I	(W1L
	TAD	MTR
	TAD	M73
	SZA	CLA
	JMS I	MARKER	/SYNC WITH END OF CHECKSUM
	CLA CMA		/7777
	JMS I	(W4L	/REVERSE LOCK AND GUARD
	CLA CMA		/7777
	JMS I	(W4L	/END OF GUARD
	TAD	REVBLK
	JMS I	(W4L	/REVERSE BLOCK
	TAD	MTR
	TAD	M51
	SZA CLA
	JMS I	MARKER
	CLA CMA
	JMS I	(W4L	/REV BLK AND REV EXPAND
	TAD	MTR
	TAD	M31
	SZA CLA
	JMS I	MARKER
	CLA CMA
	JMS I	(W4L	/END OF REVERSE EXPAND CODE
	ISZ	BLK
	TAD	BLK
	JMS I	MESS
	DCA	REVBLK
	SDST
	SKP
	JMS I	SELTIM
	ISZ	W6
	JMP	MORE
	JMS I	(W4L
	TAD 	DT1000
	TAD	DTA
	SDLC
	JMS I	(R1L
	TAD	MTR
	TAD	M22
	SZA CLA
	JMP	.-4
	JMP I	.+1
		RDBLKS
M37,	-37
	PAGE
R4L,	0
	TAD	BLK	/FOR AC LAMPS
	SDSQ
	JMP	.-1
	SDRD		/IGNORE DATA
	SDRC
	AND	MSK77
	DCA	MTR
	SDST
	JMP I	R4L
	JMS I	SELTIM

R1L,	0
	TAD	BLK	/FOR AC LAMPS
	SDSS
	JMP	.-1
	SDRD		/IGNORE DATA
	SDRC
	AND	MSK77
	DCA	MTR
	SDST
	JMP I	R1L
	JMS I	SELTIM

W4L,	0
	SDSQ
	JMP	.-1
	SDLD
	SDRC
	AND	MSK77
	DCA	MTR
	SDST
	JMP I	W4L
	JMS I	SELTIM

W1L,	0
	SDSS
	JMP	.-1
	SDLD
	SDRC
	AND	MSK77
	DCA	MTR
	SDST
	JMP I	W1L
	JMS I	SELTIM
WRTBLK,	TAD	C0007
	DCA	PHASE
	TAD	VAR2
	DCA	W6
	DCA	BLK
	TAD	BLK
	JMS I	MESS
	DCA	REVBLK
	DCA	CNT	/4096 * 6-LINES OF END-ZONE
	SDLD
	TAD	DT3000	/REVERSE GO
	TAD	DTA
	SDLC
	SDSS
	JMP	.-1
	SDRC
	AND	MSK77
	TAD	M22
	SZA CLA
	JMP	.-6
	ISZ	CNT
	JMP	.-10
	JMP I	(SYNC

	PAGE

SYNC,	TAD	DT1400	/FORWARD , GO , WRITE
	TAD	DTA
	SDLC
	SDRC
	RTL
	RAL
	SMA CLA
	JMS I	(WLO	/WRITE LOCK-OUT
	TAD	DT1000
	TAD	DTA	/WRITE OFF
	SDLC
	TAD	M144	/100(10) QUADS
	DCA	CNT
	SDSQ
	JMP	.-1
	SDRC
	ISZ	CNT
	JMP	.-4	/FOR UP-TO-SPEED
	SDSQ
	SKP
	JMP	.+3
	SDSS
	JMP	.-1
	SDRC
	SDST
	SKP
	JMS I	SELTIM
	AND	MSK77
	TAD	M55	/END ZONE MARK?
	SZA	CLA
	JMP	.-11
	JMS I	SSDSQT	/YES
	TAD	M55
	SNA CLA		/READ TILL NOT
	JMP	.-3
	TAD	MTR
	TAD	M25	/IN PHASE?
	SZA	CLA
	JMS I	SCEXPC	/NO: TEST FOR 52 AND READ 3 MORE
	CLA		/WE HAVE READ ONE EXPAND CODE
	TAD	M306	/AND READ 198 MORE
	DCA	CNT
	JMS I	SSDSQT
	TAD	M25
	SZA CLA
	JMS I	MARKER	/MUST STAY EXPAND CODE
	ISZ	CNT
	JMP	.-5
	TAD	DT1400	/WRITE ON
	TAD	DTA
	SDLC
	SDLD
	JMP I	(EXPBLK	/GO TO EXPAND CODE

	$$$