;
; SYSLIB Module Name:  S1FILE
; Author:  Richard Conn
; SYSLIB Version Number:  2.0
; Module Version Number:  1.0
; Module Entry Points:
;	F1$GET		F1$PUT		FI1$CLOSE	FI1$OPEN
;	FO1$CLOSE	FO1$OPEN
; Module External References:
;	ADRCPY		F$GET		F$PUT		FI$CLOSE
;	FI$OPEN		FO$CLOSE	FO$OPEN
;

;
;  EXTERNAL DECLARATIONS
;
	EXT	ADRCPY
	EXT	FI$OPEN
	EXT	FO$OPEN
	EXT	FI$CLOSE
	EXT	FO$CLOSE
	EXT	F$GET
	EXT	F$PUT

;
;  MAIN ROUTINES FOR F1
;
FI1$OPEN::
	CALL	F1$COPY	; COPY ADDRESSES
	JMP	FI$OPEN	; DO IT
FO1$OPEN::
	CALL	F1$COPY	; COPY ADDRESSES
	JMP	FO$OPEN
F1$GET::
	CALL	F1$COPY	; COPY ADDRESSES
	JMP	F$GET
F1$PUT::
	CALL	F1$COPY	; COPY ADDRESSES
	JMP	F$PUT
FI1$CLOSE::
	CALL	F1$COPY	; COPY ADDRESSES
	JMP	FI$CLOSE
FO1$CLOSE::
	CALL	F1$COPY	; COPY ADDRESSES
	JMP	FO$CLOSE

F1$COPY:
	PUSH	H
	PUSH	D
	PUSH	B
	PUSH	PSW
	LXI	D,F1$TAB	; COPY F1
	CALL	ADRCPY
	POP	PSW
	POP	B
	POP	D
	POP	H
	RET

;
;  INIT TABLE AND BUFFERS FOR F1 ROUTINES
;
I1$FLG:	DB	0	; INPUT FILE OPENED FLAG (0=NO)
O1$FLG:	DB	0	; OUTPUT FILE OPENED FLAG (0=NO)
I1$FCB:	DS	36	; INPUT FILE FCB
O1$FCB:	DS	36	; OUTPUT FILE FCB
I1$BUF:	DS	128	; INPUT BUFFER
O1$BUF:	DS	128	; OUTPUT BUFFER
I1$PTR:	DS	2	; INPUT CHAR PTR
O1$PTR:	DS	2	; OUTPUT CHAR PTR
I1$CNT:	DS	1	; INPUT CHAR COUNT
O1$CNT:	DS	1	; OUTPUT CHAR COUNT

F1$TAB:
	DW	I1$FLG
	DW	O1$FLG
	DW	I1$FCB
	DW	O1$FCB
	DW	I1$BUF
	DW	O1$BUF
	DW	I1$PTR
	DW	O1$PTR
	DW	I1$CNT
	DW	O1$CNT

	END
