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

⟦35518ac6c⟧

    Length: 20412 (0x4fbc)
    Notes: pts_type(SC)
    Names: »DRDCL1.SC«

Derivation

└─⟦fce1dcf99⟧ Bits:30009704 Philips computer tape "KMD15"
    └─⟦this⟧ »LINSPY/DRDCL1.SC« 

PTS(SC)

	IDENT DRDCL1	REL 1.1 78-04-21 870150140110 
****************************************************************
* 
*	DRIVER FOR LOG TOOL 
* 
*	FOLLOWING FUNCTIONS ARE HANDLED BY THE DRIVER 
* 
*	   - READ FROM CIRCULAR RECEIVEBUFFER 
*	   - OPERATOR COMMAND HANDLING
*	   - INTERRUPT HANDLER FOR RECEIVER 1 AND 2 
*	   - POWER ON FUNCTION
* 
* 
*	                     OESTEN HANSSON  1976-01-21 
* 
******************************************************************
	EJECT
* 
* 
*	ENTRIES 
* 
* 
	ENTRY	DRLGOP	ACTIVATION OF CONTROL 
	ENTRY	DCL1ON	POWER ON RECOVERY 
	ENTRY	DRLGIN	ACTIVATION OF INPUT 
	ENTRY	IHLGI1	INPUT INTERRUPT RECEIVER 1
	ENTRY	IHLGI2	INPUT INTERRUPT RECEIVER 2
	ENTRY	DWL101	CONTROL DWT1
	ENTRY	DWL102	INPUT DWT1
* 
* 
*	EXTERNAL REFERENCES 
* 
* 
	EXTRN	DWTECB	ECBADDRESS
	EXTRN	TENDIO	END OF EVENT
	EXTRN	TDISP	DISPATCHER 
	EXTRN	DISIOE 
	EXTRN	SAVE8	SAVE 8 REGS ON A15 STACK 
	EXTRN	SETIME	SET TIMER 
	EXTRN	DWTST	DWT STATUS 
	EXTRN	DWTOR	DWT ORDER
	EJECT
* 
*	DEVICE ADRESSES 
* 
* 
DALGI1	EQU	/02	INPUT DEVICE ADDRESS 1 
DALGI2	EQU	/22	INPUT DEVICE ADDRESS 2 
* 
* 
*	RELATIVE ECB EQUATES
* 
* 
ECBBA	EQU	2 
ECBRL	EQU	4 
ECBEL	EQU	6 
ECBRC	EQU	8 
ECBCW	EQU	/A
* 
* 
* 
*	DEVICE WORK AREA EQUATES
* 
* 
DWTSAV	EQU	/20	REGISTER SAVE AREA 
DWTA4	EQU	DWTSAV+2	A4 SAVE AREA 
DWTA5	EQU	DWTSAV+4	A5,SAVE AREA 
STB	EQU	/1E	RELATIVE STACK BASE 
	EJECT
* 
* 
*	WORK AREAS
* 
* 
TESTX	DATA	0	ASCII=1,EBCDIC=0 
PCOUNT	DATA	0	IDLE POLL COUNTER 
SYNCO1	DATA	0	SYNCOUNTER 1
SYNCO2	DATA	0	SYNCOUNTER 2
IPATT1	DATA	0	PATTERN AREA
	RES	5
IPATT2	DATA	0 
	RES	5
PATTX	DATA	0	INDICATOR FOR PATTERN LOADED 
PATTON	DATA	0	SWITCH FOR PATTERN RECOGNIZED 
PATCON	DATA	0	PATTERN COUNTER 
PATSTA	DATA	BSTART	PATTERN POINTER
SYNPAT	DATA	0	CURRENT SYNC-PATTERN
PROCIX	DATA	0	PROCEDURE TYPE , 0 = BSC
BFULL	DATA	0
	RES	7
STACKB	RES	1
SBUF1	DATA	BSTART 
SBUF2	DATA	BSTART 
PBUFIN	DATA	BSTART
PBUFUT	DATA	BSTART
SBUFIN	DATA	BSTART
BSTART	EQU	*
	RES	6000 
BEND	EQU	*-2
	EJECT
* 
* 
*DRIVER ACTIVATION* 
* 
*INPUT REQUEST
* 
* 
DRLGIN	DATA	LGINAC	DWT REFERENCE
* 
* 
LGINAC	SUK	A7,1 
	RF(Z)	ENDR	ORDER 01: READ GENERAL
LIA100	ABL	DISIOE	ILLEGAL ORDER 
* 
	EJECT
* 
* 
* END READ REQUEST? 
* 
* 
ENDR	EQU	*
	INH
	LDKL	A5,STACKB 
	LDKL	A6,DWL102 
	LD	A8,DWTECB,A6
	LD	A1,PBUFUT 
ENDR10	CW	A1,PBUFIN 
	RF(E)	ENDR20	NO NEW CHARACTEIN BUFFER
	ADK	A1,2 
	CWK	A1,BEND
	RF(NE)	ENDR15	NOT END OF BUFFER
	LDKL	A1,BSTART 
ENDR15	EQU	*
	LDR*	A2,A1 
	ANKL	A2,/FF00
	RF(NZ)	ENDR30	POLL- ,SYNCOUNTER OR COMMENT 
	LD	A2,BFULL
	SUK	A2,1 
	RF(Z)	ENDR50	BUFFER FULL 
	EJECT
* 
* 
*ORDINARY CHARACTER 
* 
	ST	A1,PBUFUT 
	LDR*	A2,A1	FETCH CHARACTER 
	CF	A5,STORA	STORE IN REQUEST BUFFER
	SUK	A2,/FF 
	RF(E)	ENDR17	COMPLETE REQUEST ON MARK HOLD 
	LD	A2,ECBEL,A8 
	CW	A2,ECBRL,A8 
	RB(NE)	ENDR10	NOT END OF REQUESTED LINE
ENDR17	LDK	A1,0 
ENDEND	CF	A15,TENDIO
	ABL	TDISP
* 
* NO ENDING OF REQUEST
* 
ENDR20	EQU	*
	CM	BFULL 
	CF	A15,SETIME
	DATA	ENDR,5
	ABL	TDISP
	EJECT
* 
* 
ENDR30	EQU	*
	LD	A3,ECBEL,A8 
	RB(NZ)	ENDR17	COMPLETE PREVIOUS REQUEST
	ST	A1,PBUFUT	POLL/COMMENT
	LDR*	A2,A1 
	RF(NN)	ENDR40	COMMENT
* 
* POLL OR SYN COUNTER 
* 
	LCR	A2,A1
	CF	A5,STORA
	LC	A2,1,A1 
* 
* COMMENT 
* 
ENDR40	EQU	*
	CWK	A2,/2FF
	RF(NE)	ENDR46
	ADK	A1,2 
	CWK	A1,BEND
	RF(NE)	ENDR45
	LDKL	A1,BSTART 
ENDR45	ST	A1,PBUFUT 
	RB	ENDR
ENDR46	EQU	*
	CF	A5,STORA
	LDKL	A1,/2000	RETURN CODE
	RB	ENDEND
* 
* BUFFER FULL 
ENDR50	EQU	*
	LD	A3,ECBEL,A8 
	RB(NZ)	ENDR17
	IM	BFULL 
	LDKL	A2,/240 
	RB	ENDR40
	EJECT
* 
* 
* STORE CHATACTER IN A2 IN REQUEST BUFFER 
* 
* 
STORA	LD	A3,ECBBA,A8
	AD	A3,ECBEL,A8 
	SCR	A2,A3
	IM	ECBEL,A8
	RTN	A5 
	EJECT
* 
* 
*	CONTROL COMMANDS
* 
* 
DRLGOP	DATA	LGOPAC	DWT REFERENCE
* 
* 
LGOPAC	LDK	A5,STB 
	ADKL	A5,DWL101	LOAD STACKBASE
	INH
	SUK	A7,1 
	RF(Z)	OPEN	OPEN RECEIVERS
	SUK	A7,1 
	RF(Z)	CLOSE	CLOSE RECEIVERS
	SUK	A7,1 
	RF(Z)	RESET	RESET BUFFER 
	SUK	A7,1 
	RF(Z)	PATTS	DEFINE IDLE POLL PATTERN 
	SUK	A7,1 
	RF(Z)	DEFSYN	DEFINE SYNC-PATTERN 
	ABL	DISIOE	ILLEGAL ORDER 
	EJECT
* 
* 
*	OPEN RECEIVER 
* 
* 
OPEN	EQU	*
	LDK	A5,STB	LOAD STACK POINTER
	ADKL	A5,DWL102 
	CF	A5,DISCON	HALT COMMUNICATION
	CF	A5,STINP1	START CHLC RECEIVER 1 
	CM	PCOUNT	RESET COUNTERS 
	CM	PATTON
	CM	SYNCO1
	CM	SYNCO2
	LDKL	A1,BSTART 
	ST	A1,PBUFIN	RESET BUFFER
	ST	A1,PBUFUT 
	ST	A1,SBUFIN 
	EJECT
OP250	LDK	A1,0
	CF	A15,TENDIO
* 
* 
*	OPEN RECEIVER 2 WHEN RECEIVER 1 IS READY
* 
* 
OP300	EQU	* 
	CF	A5,STINP2	START CHLC RECEIVER 2 
	LDKL	A7,DWLGI2 
	LDKL	A2,RECEV2 
	ST	A2,STB,A7 
	LDK	A2,STB-4 
	ADR	A2,A7
	ST	A2,DWTA5,A7 
	LDKL	A6,DWL102 
	ABL	RECEV1 
	EJECT
* 
* 
*HALT COMMUNICATION AND DISCONECT MODEM 
* 
* 
DISCON	EQU	*
* 
	CIO	A2,0,DALGI1
	CIO	A2,0,DALGI2
	SST	A2,DALGI1
	RF(NA)	CLO050
	SST	A2,DALGI2
	RF(A)	CLO060 
CLO050	RTN	A5 
CLO060	EQU	*
	RTN	A5 
* 
	EJECT
* 
* 
*	CLOSE RECEIVER 1 AND 2
* 
* 
CLOSE	EQU	* 
	CF	A5,DISCON	DISCONNECT MODEM
	LDKL	A1,/FFFC
	ANS	A1,DWL102+2	INDICATE CLOSED
	ANS	A1,DWLGI2+2
	CM	PATTX 
	RF	RESET 
	EJECT
* 
* 
*RESET BUFFER 
* 
* 
RESET	EQU	* 
	LDKL	A1,BSTART 
	ST	A1,PBUFIN 
	ST	A1,PBUFUT 
	ST	A1,SBUFIN 
	LDKL	A2,/241	COMMENT: BUFFER RESET 
	CF	A5,STORE1 
	LDK	A1,/0
	ST	A1,BFULL	RESET,BFULL
	ST	A1,PCOUNT	RESET COUNTERS
	ST	A1,SYNCO1 
	ST	A1,SYNCO2 
	LD	A1,SBUFIN 
	ST	A1,PBUFIN 
RESE10	EQU	*
	LDK	A1,0 
	CF	A15,TENDIO
	ABL	TDISP
	EJECT
* 
* 
*	DEFINE IDLE POLL PATTERN
* 
* 
PATTS	EQU	* 
	LD	A8,DWTECB,A6	GET ECB ADDRESS
	LD	A4,ECBBA,A8	GET BUFFER ADDRESS
	LDK	A1,0 
PATT10	EQU	*
	LDR*	A2,A4	GET ONE WORD
	ST	A2,IPATT1,A1	STORE ONE WORD 
	ADK	A4,2 
	ADK	A1,2 
	CWK	A1,24
	RB(NE)	PATT10
	IM	PATTX	TRANSFER COMPLETED, INDICATE EVENT
	RB	RESE10
	EJECT
* 
* 
*	DEFINE SYNC-PATTERN 
* 
* 
DEFSYN	EQU	*
	LD	A8,DWTECB,A6	GET ECB ADDRESS
	LD	A4,ECBCW,A8	GET CONTROL WORD
	ANK	A4,/FF 
* 
*  ASCII OR EBCDIC  FLAG
* 
	CM	TESTX	=1 IF ASCII 
	CWK	A4,/32 
	RF(E)	CHEBC
	IM	TESTX	ASCII 
CHEBC	EQU	* 
	ST	A4,SYNPAT	STORE SYNC-PATTERN
	LD	A4,ECBCW,A8 
	ANKL	A4,/FF00
	ST	A4,PROCIX 
	RB	RESE10
	EJECT
* 
* 
*	POWER ON RECOVERY 
* 
* 
DCL1ON	EQU	*
	LDK	A1,0 
	ST	A1,BFULL
	LDKL	A1,BSTART 
	ST	A1,PBUFIN 
	ST	A1,PBUFUT 
	ST	A1,SBUFIN 
	RTN	A15
	EJECT
* 
* 
*	RECEIVE MODULE 1
* 
* 
RECEV1	EQU	*
	LDK	A5,STB 
	ADR	A5,A6	LOAD STACKBASE 
	CM	SYNCO1
	LDKL	A1,-3 
	ST	A1,PATCON	RESET PATTERN COUNTER 
	LDK	A7,0	RESET PATTERN INDEX 
	RF	REC100
REC050	CIO	A2,0,DALGI1
	SST	A2,DALGI1
	CF	A5,STINP1	RESYNC
REC100	EQU	*
	CF	A5,READ1	GET ONE CHARACTER
	CWK	A2,/FF 
	RB(E)	REC050	MARK HOLD 
REC110	EQU	*
	LDR	A3,A2
	LD	A1,PATTON 
	RF(Z)	REC115 
	CF	A5,POLLCO 
	CM	PATTON
	LD	A1,SBUFIN 
	ST	A1,PBUFIN 
	RF	REC116
REC115	EQU	*
	LD	A1,SBUFIN 
	ST	A1,SBUF1	SAVE CURRENT BUFFER ADDRESS
	IM	PATCON
	LD	A1,PATCON 
	RF(NZ)	REC116
	CF	A5,POLLCO 
	LDKL	A1,-1 
	ST	A1,PATCON 
	LD	A1,SBUF2
	ST	A1,PBUFIN 
REC116	EQU	*
	LD	A1,PROCIX 
	RF(Z)	REC117	BSC 
	LD	A1,SBUFIN 
	RF	REC118
REC117	EQU	*
	LD	A1,PBUFIN 
REC118	EQU	*
	ADK	A1,2 
	ST	A1,PATSTA 
	LDKL	A2,/2FF 
	CF	A5,STORE1	RESERVE AREA FOR POLLCOUNTER
	LDK	A2,0 
	CF	A5,STORE1 
	LDKL	A2,/200 
	CF	A5,STORE1	STORE COMMENT 'C1:' 
	LDR	A2,A3
	LD	A1,SYNPAT 
	CWR	A2,A1
	RF(NE)	REC130	NOT SYNC-PATTERN 
REC120	EQU	*
	IM	SYNCO1	INCREASE SYNCOUNTER
	CF	A5,READ1	GET NEXT CHARACTER 
	LD	A1,SYNPAT 
	CWR	A2,A1
	RB(E)	REC120 
	LDR	A3,A2
	LDKL	A2,/202 
	CF	A5,STORE1	STORE COMMENT '*S*' 
	LD	A2,SYNCO1 
	ORKL	A2,/8000
	CF	A5,STORE1	STORE COUNTER 
	CM	SYNCO1
	LDR	A2,A3
REC130	EQU	*
	CF	A5,STORE1	STORE CHARACTER 
	LD	A1,PATTX
	RF(NZ)	REC150
REC140	EQU	*
	CF	A5,READ1	READ NEXT
	CWK	A2,/FF 
	RF(E)	REC141 
* 
*ASCII OR EBCDIC
* 
	LD	A1,TESTX
	RF(Z)	REC145	EBCDIC (G-POLL ??)
	CWK	A2,/7F 
	RF(NE)	REC145
* 
REC141	EQU	*
	CF	A5,STORE1 
	LD	A1,SBUF1
	ST	A1,SBUF2
	RB	REC050
REC145	EQU	*
	LD	A1,SYNPAT 
	CWR	A2,A1
	RB(E)	REC110	SYNC-PATTERN
	RB	REC130
REC150	EQU	*
	CC	A2,IPATT1+2,A7
	RF(E)	REC160	EQUAL TO PATTERN
	LDK	A7,0 
	RB	REC140
REC160	EQU	*
	ADK	A7,1 
	CW	A7,IPATT1 
	RB(NE)	REC140
	IM	PATTON	FIRST PATTERN RECOGNIZED 
	LDK	A7,0 
	RB	REC140
* 
*	STORE POLLCOUNTER IF NOT ZERO 
* 
POLLCO	EQU	*
	LD	A1,PCOUNT	GET COUNTER 
	RF(Z)	POLL10	ZERO
	LD	A2,PATSTA 
	LDKL	A1,/203 
	STR	A1,A2
	ADK	A2,2 
	LD	A1,PCOUNT 
	ORKL	A1,/8000
	STR	A1,A2
	ST	A2,PBUFIN 
	CM	PCOUNT
POLL10	EQU	*
	RTN	A5 
	EJECT
* 
* 
*	RECEIVE MODULE 2
* 
* 
RECEV2	EQU	*
	LDK	A5,STB 
	ADR	A5,A6	LOAD STACKBASE 
	CM	SYNCO2
	LDK	A7,0	RESET PATTERN INDEX 
	RF	REC200
REC195	CIO	A2,0,DALGI2
	SST	A2,DALGI2
	CF	A5,STINP2	RESYNC
REC200	EQU	*
	CF	A5,READ2	GET ONE CHARACTER
	CWK	A2,/FF 
	RB(E)	REC195	MARK HOLD 
REC210	EQU	*
	LDR	A3,A2
	LD	A1,PATTON 
	RF(NZ)	REC215
	CF	A5,POLLCO 
REC214	EQU	*
	LD	A1,SBUFIN 
	ST	A1,PBUFIN 
REC215	EQU	*
	LDKL	A2,/201 
	CF	A5,STORE2	STORE COMMENT 'C2:' 
	LDR	A2,A3
	LD	A1,SYNPAT 
	CWR	A2,A1
	RF(NE)	REC230	NOT SYNC-PATTERN 
REC220	EQU	*
	IM	SYNCO2	INCREASE SYN COUNTER 
	CF	A5,READ2	GET NEXT 
	LD	A1,SYNPAT 
	CWR	A2,A1
	RB(E)	REC220 
	LDR	A3,A2
	LDKL	A2,/202 
	CF	A5,STORE2	STORE COMMENT '*S*' 
	LD	A2,SYNCO2 
	ORKL	A2,/8000
	CF	A5,STORE2	STORE COUNTER 
	CM	SYNCO2
	LDR	A2,A3
REC230	EQU	*
	CF	A5,STORE2	STORE CHARACTER 
	CWK	A2,/FF 
	RF(E)	REC242 
	LD	A1,PATTX
	RF(NZ)	REC250
REC240	EQU	*
	CF	A5,READ2	GET NEXT 
	CWK	A2,/FF 
	RF(NE)	REC245
	CF	A5,STORE2 
REC242	EQU	*
	LD	A1,PATTON 
	RF(Z)	REC241 
	CF	A5,POLLCO 
REC241	EQU	*
	LD	A1,SBUFIN 
	ST	A1,PBUFIN 
	LD	A1,PROCIX 
	RF(Z)	REC243	BSC 
	LDKL	A1,-2 
	RF	REC244
REC243	EQU	*
	LDKL	A1,-3 
REC244	EQU	*
	ST	A1,PATCON 
	RB	REC195
REC245	EQU	*
	LD	A1,SYNPAT 
	CWR	A2,A1
	RB(E)	REC210	SYNC-PATTERN
	RB	REC230
REC250	EQU	*
	LD	A1,PATTON 
	RB(Z)	REC240	NO PATTERN SPECIFIED
	CC	A2,IPATT2+2,A7
	RF(E)	REC260	EQUAL TO PATTERN
	LDK	A7,0 
	RB	REC240
REC260	EQU	*
	ADK	A7,1 
	CW	A7,IPATT2 
	RB(NE)	REC240
	LDK	A7,0	PATTERN RECOGNIZED
	IM	PCOUNT
	CM	PATTON
	LD	A1,PATSTA 
	SUK	A1,2 
	ST	A1,SBUFIN 
	RB	REC241
	EJECT
* 
* 
*	STORE ONE CHARACTER , RECEIVER 1
* 
* 
STORE1	EQU	*
	STR	A1,A15 
	STR	A2,A15 
	LD	A1,BFULL
	RF(NZ)	STOR20
	LD	A1,SBUFIN 
	ADK	A1,2 
	CWK	A1,BEND
	RF(NE)	STOR10	NOT END OF RING BUFFER 
	LDKL	A1,BSTART 
STOR10	CW	A1,PBUFUT 
	RF(E)	STOR30	BUFFER FULL 
STOR15	STR	A2,A1	STORE CHAR.
	ST	A1,SBUFIN 
STOR20	LDR*	A2,A15
	LDR*	A1,A15
	RTN	A5 
* 
*BUFFER FULL
* 
STOR30	EQU	*
	IM	BFULL 
	RB	STOR20
	EJECT
* 
* 
*	STORE ONE CHARACTER , RECEIVER 2
* 
* 
STORE2	EQU	*
	STR	A1,A15 
	STR	A2,A15 
	LD	A1,BFULL
	RF(NZ)	STO20 
	LD	A1,SBUFIN 
	ADK	A1,2 
	CWK	A1,BEND
	RF(NE)	STO10	NOT END OF RINGBUFFER 
	LDKL	A1,BSTART 
STO10	CW	A1,PBUFUT
	RF(E)	STO30	BUFFER FULL
STO15	STR	A2,A1	STORE ONE CHARACTER 
	ST	A1,SBUFIN 
STO20	LDR*	A2,A15 
	LDR*	A1,A15
	RTN	A5 
* 
*	BUFFER FULL 
* 
STO30	EQU	* 
	IM	BFULL 
	RB	STO20 
	EJECT
* 
* 
*	READ ONE CHARACTER , RECEIVER 1 
* 
* 
READ1	EQU	* 
	LDKL	A1,DWL102 
READ10	EQU	*
	ST	A3,DWTSAV,A1
	ST	A4,DWTSAV+2,A1
	ST	A5,DWTSAV+4,A1
	ST	A6,DWTSAV+6,A1
	ST	A7,DWTSAV+8,A1
	ST	A8,DWTSAV+10,A1 
	ABL	TDISP
* 
* 
*	READ ONE CHARACTER , RECEIVER 2 
* 
* 
READ2	EQU	* 
	LDKL	A1,DWLGI2 
	RB	READ10
	EJECT
* 
* 
*	START RECEIVER 1
* 
* 
STINP1	EQU	*
	LD	A2,SYNPAT	GET SYNC-PATTERN
	ADKL	A2,/100 
	CIO	A2,1,DALGI1
	RF(NA)	STIN10
	RTN	A5 
STIN10	EQU	*
	RTN	A5 
* 
* 
*	START RECEIVER 2
* 
* 
STINP2	EQU	*
	LD	A2,SYNPAT	GET SYNC-PATTERN
	ADKL	A2,/100 
	CIO	A2,1,DALGI2
	RF(NA)	STIN20
	RTN	A5 
STIN20	EQU	*
	RTN	A5 
	EJECT
* 
* 
*	INTERRUPT HANDLER RECEIVER 1
* 
* 
IHLGI1	EQU	*
	CF	A15,SAVE8 
	CF	A15,LDREG1	RESTORE A3-A8
	INR	A2,0,DALGI1	GET CHARACTER
	RF(NA)	INSST1
	RTN	A5 
* 
* 
*	INTERRUPT HANDLER RECEIVER 2
* 
* 
IHLGI2	EQU	*
	CF	A15,SAVE8 
	CF	A15,LDREG2	RESTORE A3-A8
	INR	A2,0,DALGI2	GET CHARACTER
	RF(NA)	INSST2
	RTN	A5 
	EJECT
* 
* 
*	STATUS INTERRUPT RECEIVER 1 
* 
* 
INSST1	EQU	*
	SST	A2,DALGI1
	RF(A)	INS10
	RTN	A5 
INS10	LDR	A2,A2 
	RF(Z)	INS15
	LDK	A2,/FF 
	RF	INS16 
INS15	CF	A5,STINP1
	LD	A2,SYNPAT 
INS16	RTN	A5
	EJECT
* 
* 
*	STATUS INTERRUPT RECEIVER 2 
* 
* 
INSST2	EQU	*
	SST	A2,DALGI2
	RF(A)	INS20
	RTN	A5 
INS20	LDR	A2,A2 
	RF(Z)	INS25
	CF	A5,STINP2 
	LDK	A2,/FF 
	RF	INS26 
INS25	CF	A5,STINP2
	LD	A2,SYNPAT 
INS26	RTN	A5
	EJECT
* 
* 
*	RESTORE REGISTERS A3-A8,RECEIVER 1
* 
* 
LDREG1	EQU	*
	LDKL	A1,DWL102 
LDR10	EQU	* 
	LD	A3,DWTSAV,A1
	LD	A4,DWTSAV+2,A1
	LD	A5,DWTSAV+4,A1
	LD	A6,DWTSAV+6,A1
	LD	A7,DWTSAV+8,A1
	LD	A8,DWTSAV+10,A1 
	ADKL	A15,4 
	ABR*	A15 
* 
* 
*	RESTORE REGISTERS A3-A8 , RECEIVER 2
* 
* 
LDREG2	EQU	*
	LDKL	A1,DWLGI2 
	RB	LDR10 
* 
*	LOG INPUT CHLC 2
* 
* 
DWLGI2	DATA	/22	DEVICE ADDRESS
	DATA	/8000	STATUS
	DATA	0	ECB ADDRESS 
	DATA	0	ORDER 
	DATA	DRLGIN	DRIVER ADDRESS BLOCK 
	DATA	0	TASK TABLE ADDRESS
	DATA	0	WAIT/ACTIVATE INDICATOR 
	DATA	0	TASK QUEUE FOR THIS DEVICE
	RES	8	SUBROUTINE STACK 
	RES	3	SAVE AREA FOR A3-A5
	DATA	DWLGI2	THIS DWT ADDRESS FOR A6
	DATA	DWL102	CORRESPONDING INPUT DWT IN A7
	RES	1	SAVE AREA FOR A8 
	DATA	0,0,0,0	WORK AREA 
* 
	EJECT
* 
* 
*	LOG INPUT CHLC 1
* 
* 
DWL102	DATA	/02	DEVICE ADDRESS
	DATA	/8000	STATUS
	DATA	0	ECB ADDRESS 
	DATA	0	ORDER 
	DATA	DRLGIN	DRIVER ADDRESS BLOCK 
	DATA	0	TASK TABLE ADDRESS
	DATA	0	WAIT/ACTIVATE INDICATOR 
	DATA	0	TASK QUEUE FOR THIS DEVICE
	RES	8	SUBROUTINE STACK 
	RES	3	SAVE AREA FOR A3-A5
	DATA	DWL102	CORRESPONDING INPUT DWT IN A7
	DATA	DWLGI2	THIS DWT ADDRESS FOR A6
	RES	1	SAVE AREA FOR A8 
	DATA	0,0,0,0	WORK AREA 
* 
	EJECT
* 
* 
*	LOG CONTROL IO
* 
* 
DWL101	DATA	/02	DEVICE ADDRESS
	DATA	/8000	STATUS
	DATA	0	ECB ADDRESS 
	DATA	0	ORDER 
	DATA	DRLGOP	DRIVER ADDRESS BLOCK 
	DATA	0	TASK TABLE ADDRESS
	DATA	0	WAIT/ACTIVATE INDICATOR 
	DATA	0	TASK QUEUE FOR THIS DEVICE
	RES	8	SUBROUTINE STACK 
	RES	3	SAVE AREA FOR A1 - A5
	DATA	DWL102	INPUT DWT
	RES	1	SAVE A5
	DATA	DWL101	THIS DWT ADDRESS FOR A6
	DATA	DWLGI2	CORRESPONDING DWT IN A7
	RES	1	SAVE AREA FOR A8 
	DATA	0,0,0,0	WORK AREA 
* 
* 
* 
* 
	END

Full view