DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦3acc5baa1⟧

    Length: 7808 (0x1e80)
    Notes: pts_type(SC)
    Names: »TCAPP.SC«

Derivation

└─⟦71472ef1e⟧ Bits:30009661 Philips computer tape "600103"
    └─⟦this⟧ »BDKAPP/TCAPP.SC« 

PTS(SC)

	IDENT TCAPP 	CONPAC REL=1.0 DATE= 83.03.08 
			DK2, 83.03.08, VDU D4 ON CENTRAL 2 
			DK1, 81.09.23, LP D3 ON CENTRAL 1
			RELEASE 80.04.29 

****************************************
* 
*   T C A P P 
* 
*   READS TRANSACTIONS FROM TC:S AND
*   WRITES THEM TO FRED. THE REPLIES
*   FROM FRED ARE SENT BACK TO THE TC 
* 
****************************************
	EJECT


	ENTRY	TCAPP
	ENTRY	ECBTB1,ECBTB2

	EXTRN	K:LR,K:LW,K:CCQ,K:RBCC 
	EXTRN	K:LINB,CCBUF 
	EXTRN	K:SIMP 
* 
* 
	EJECT
* 
* 
		ECBTB1 AND ECBTB2 BUILT AS FOLLOWS: 
		I:ST LINE TCA,DEV ADR.(BOTH 41-4F ACC.TO KONC)
		2:ND LINE SIM.DEV.IN ASCII,FILE CODE (GROUPING AS IN CD:TAB)
* 
* 
ECBTB1	DATA	ECBEN1-*
	DATA	/4141 
	DATA	/207A	40

	DATA	/4142 
	DATA	/4179	C1

	DATA	/4143 
	DATA	/4278	C2

	DATA	/4144 
	DATA	/4A77	D1

	DATA	/4145 
	DATA	/4C76	D3  LINE PRINTER	DK1

	DATA	/4641 
	DATA	/3C75	4C

	DATA	/4642 
	DATA	/4D74	D4	DK2
ECBEN1	EQU	*
* 
* 
* 
ECBTB2	DATA	ECBEN2-*
	DATA	/4241 
	DATA	/4373	C3

	DATA	/4242 
	DATA	/4472	C4

	DATA	/4341 
	DATA	/4571	C5

	DATA	/4342 
	DATA	/4670	C6

	DATA	/4441 
	DATA	/476F	C7

	DATA	/4442 
	DATA	/486E	C8

	DATA	/4541 
	DATA	/236D	4A

	DATA	/4741 
	DATA	/286C	4D

	DATA	/4841 
	DATA	/2B6B	4E

	DATA	/4941 
	DATA	/216A	4F

	DATA	/4A41 
	DATA	/2669	50

	DATA	/4B41 
	DATA	/4B68	D2

	DATA	/4C41 
	DATA	/4967	C9

	DATA	/4D41 
	DATA	/2E66	4B

ECBEN2	EQU	*
	EJECT

* 
*	READ MESSAGE FROM TC
* 

TCAPP	CF	A14,K:LR 


* 
*	WRITE MESSAGE TO FRED 
*	AND READ REPLY
* 

	LDKL	A1,K:LINB	GET TC READ BUFFER
	ADR	A1,A13 
	LD	A6,-2,A1	GET TCA LINE NO
	ANK	A6,/FF	LINE NO 
	LDK	A4,/4	PRESET RETURNCODE 4=NO ECB FOUND 
	LDKL	A5,ECBTB1 
	ST	A5,ECBTST 
	AD	A5,ECBTB1 
	CWK	A6,1	LINE 1
	RF(E)	CCQ001 
	CWK	A6,2	LINE 2
	RB(NE)	TCAPP 
	LDKL	A5,ECBTB2	YES 
	ST	A5,ECBTST 
	AD	A5,ECBTB2 
CCQ001	EQU	*
	LD	A6,-2,A1	GET TCA,LINE NO
	ANKL	A6,/FF00
	LD	A2,0,A1	DEV,AID 
	SRL	A2,8 
	ANKL	A2,/FF
	ORR	A6,A2	TCA AND DEV. 
CCQ002	EQU	*
	SUK	A5,4	POINTER TO TCA AND DEV.ADR
	CWK	A5,ECBTST	END OF TABEL 
ECBTST	EQU	*-2	ECBTB1 OR 2
	RB(NP)	TCAPP 
	LDR*	A2,A5 
	CWR	A2,A6	OK ? 
	RB(NE)	CCQ002	NO 
	LD	A8,2,A5	YES 
	ANKL	A8,/FF	GET FILE CODE
* 
*		GET ECB ADDRESS
* 
	LDKL	A2,K:SIMP	GET ADR.OF FIRST SIM.TERM.
	ADK	A2,4 
CCQ003	EQU	*
	CWR	A2,0	END OF CHAIN
	RB(E)	TCAPP	NEW LINE READ
	ADK	A2,2	POINTER TO LFILECODE
	LDR*	A5,A2	GET FILE CODE 
	ANK	A5,/FF 
	CWR	A8,A5
	RF(E)	CCQ004	FOUND 
	SUK	A2,2 
	LDR*	A2,A2	NEXT DEV. 
	LDR	A2,A2
	LDR	A2,A2
	RB	CCQ003
CCQ004	EQU	*
	LDR	A8,A2	ECB FOUND
*     TEST IF ECB IS FREE OR USED		DK 
	LDR*	A7,A8	A7=STATUS+FC	DK 
	ANKL	A7,/2000	TEST USED-BIT	DK 
	RF(Z)	CCQ005	IF FREE	DK
	RB	TCAPP	SKIP IF USED	DK 
CCQ005	EQU	*	SET USED-BIT	DK
	LDR*	A7,A8	A7=STATUS+FC	DK 
	ORKL	A7,/2000	SET USED-BIT	DK
	STR	A7,A8	RESTORE IN ECB	DK
*     END TEST FOR USED-BIT		DK 
	LD	A2,-4,A1	AND LENGTH 
	ADK	A2,1 
	LDKL	A3,CCBUF+4	AND FRED WRITE BUFFER
	ADR	A3,A13 
	ST	A2,-4,A3	STORE LENGTH 
	LDR	A4,A3
	ADK	A4,2	ADJUST FOR DRIVER INTERFACE 
	ADK	A1,1 

TCAP10	LCR	A5,A1	MOVE MESSAGE 
	SCR	A5,A4
	ADK	A1,1 
	ADK	A4,1 
	SUK	A2,1 
	RB(NZ)	TCAP10

	CF	A14,K:CCQ	EXCHANGE WITH FRED
	RF(NZ)	CCQ006	BAD REPLY
	EJECT

* 
*	WRITE REPLY TO TC 
* 

	LDKL	A2,K:LINB	GET TC WRITE BUFFER 
	ADR	A2,A13 
	LD	A3,-4,A1	GET LENGTH 
	ADK	A3,1 
	ST	A3,-4,A2	AND STORE
	LDR	A4,A2
	ADK	A4,1	ADJUST FOR STA
	LDR	A6,A1	BUFFER ADR.

TCAP20	LCR	A5,A6	MOVE REPLY 
	SCR	A5,A4
	ADK	A6,1 
	ADK	A4,1 
	SUK	A3,1 
	RB(NZ)	TCAP20

	LDR	A7,A8	SET A7=A8=ECB ADDRESS	DK 
	CF	A14,K:RBCC	RELEASE BUFFER 

*     SET ECB FREE		DK
	LDR*	A8,A7	A8=STATUS+FC	DK 
	ANKL	A8,/DFFF	CLEAR USED-BIT	DK
	STR	A8,A7	RESTORE IN ECB	DK
*     END OF SET ECB FREE		DK 
	CF	A14,K:LW	WRITE REPLY

	RB	TCAPP 

CCQ006	EQU	*
*     SET ECB FREE		DK
	LDR*	A7,A8	A7=STATUS+FC	DK 
	ANKL	A7,/DFFF	CLEAR USED-BIT	DK
	STR	A7,A8	RESTORE IN ECB	DK
*     END OF SET ECB FREE		DK 
	RB	TCAPP 
	END

Full view