*INCLUDE V6NETENT.S
*INCLUDE V6NETEQU.S
*INCLUDE V6NET1GBL.S
*INCLUDE V6NETEXT.S
*INCLUDE V6NET0EXT.S
*EJECT
;
;
;			MODE TRANSPARENT
;			----------------
;
;
TTYCNT	EQU	0DFH
TTY	EQU	0DEH
;
;
TRANS	EQU	$
;
	DI
	LD	A,0		; RAZ INDIC TRAIT EN COURS
	LD	(ITE),A
	LD	(ITC),A
	LD	HL,ECRAN	; MAJ ADR DE RETOUR
	LD	(AREC),HL
	LD	HL,LSTAT
	LD	(ARET),HL
	LD	HL,0		; RAZ POINTEUR LECT ET ECRIT
	LD	(PTEBUF),HL
	LD	(PTLBUF),HL
	LD	A,CR
	CALL	EMCAR		; POUR PRESENCE PROMPT VAX
;
;
;	ECOUTE LIGNE VAX
;
TR0:	IN	A,(STLPDP)	; LECT STATUS LIGNE VAX
	AND	RECU		; CAR RECU
	JP	Z,TR1		; NON
	IN	A,(DALPDP)	; LECT. CAR RECU
	LD	DE,(PTEBUF)	; RANGE CAR DANS BUFFER
	LD	HL,BUFR
	ADD	HL,DE
	LD	(HL),A
	LD	A,(PTEBUF)	; PE+1
	ADD	A,1
	CP	0FFH		; BUFFER PLEIN
	JP	NZ,TR01		; NON
	LD	A,0
TR01:	LD	(PTEBUF),A
TR1:	LD	A,(ITE)		; E/S ECRAN EN COURS
	AND	A
	JP	NZ,TR2		; OUI
	LD	A,(ITC)		; E/S CLAVIER EN COURS
	AND	A
	JP	NZ,TR3		; OUI
	LD	A,(PTEBUF)	; BUUFER VIDE?
	LD	HL,PTLBUF
	CP	(HL)
	JP	Z,TR3		; OUI
TR2:	LD	HL,(AREC)	; TRAIT. ECRAN
	JP	(HL)
TR3:	LD	HL,(ARET)	; TRAIT.CLAVIER
	JP	(HL)
;
;
;	AFFICHAGE ECRAN
;
ECRAN	EQU	$
	LD	HL,ITE		; INDIQUE TRAIT. ECRAN EN COURS
	INC	(HL)
	LD	HL,BUFR
	LD	DE,(PTLBUF)
	ADD	HL,DE
	LD	A,(HL)		; CAR A AFFICHER
	LD	(BECRAN),A
	LD	HL,TR20
	LD	(AREC),HL	; MAJ ADR RETOUR
	JP	TR0		; RETOUR ECOUTE LIGNE VAX
TR20:	IN	A,(TTYCNT)	; LECT STATUS USART CONSOLE
	AND	PRET		; PRET A EMETTRE
	JP	Z,TR0		; NON
	LD	A,(BECRAN)	; CAR A AFFICHER
	OUT	(TTY),A
	LD	A,(PTLBUF)	; +1 ->POINTEUR LECTURE
	ADD	A,1
	CP	0FFH		; FIN DU BUFFER
	JP	NZ,TR21
	LD	A,0
TR21:	LD	(PTLBUF),A
	LD	A,0
	LD	(ITE),A		; TRAIT ECRAN TERMINE
	LD	HL,ECRAN	; MAJ ADR DE RETOUR
	LD	(AREC),HL
	JP	TR0
;
;
;
;
;	LECTURE STATUS E/S CLAVIER
;
LSTAT	EQU	$
	IN	A,(TTYCNT)
	AND	RECU		; CAR RECU
	JP	Z,TR0		; NON
	LD	HL,ITC		; INDIQUE E/S CLAVIER EN COURS
	INC	(HL)
	LD	HL,LCLA		; MAJ ADR RETOUR
	LD	(ARET),HL
	JP	TR0
;
;
;	TRAITEMENT CAR CLAVIER
;
LCLA	EQU	$
	IN	A,(TTY)		; LECT CAR RECU
	LD	(CCLAV),A	; SAVE
	CP	CTRLX
	JR	NZ,LC0
	EI
	JP	CONTRO
LC0:	LD	HL,LC1
	LD	(ARET),HL
LC1:	IN	A,(STLPDP)	; LECT STATUS LIGNE VAX
	AND	PRET		; PRET A EMETRE
	JP	Z,TR0		; NON
	LD	A,(CCLAV)	; LECT CAR A EMETTRE
	OUT	(DALPDP),A	; EMISSION CAR
	LD	A,0
	LD	(ITC),A		; INDIQUE FIN TRAIT. CLAVIER
	LD	HL,LSTAT
	LD	(ARET),HL
	JP	TR0
;
;
;
ITE:	DEFS	1
ITC:	DEFS	1
AREC:	DEFS	2
ARET:	DEFS	2
PTEBUF:	DEFS	2
PTLBUF:	DEFS	2
BUFR:	DEFS	256
;
;
BECRAN:	DEFS	1
CCLAV:	DEFS	1
;
;
;
;
;
	END
