;
; SYSLIB Module Name:  S2FILE
; Author:  Richard Conn
; SYSLIB Version Number:  2.0
; Module Version Number:  1.0
; Module Entry Points:
;	F2$GET		F2$PUT		FI2$CLOSE	FI2$OPEN
;	FO2$CLOSE	FO2$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 F2
;
FI2$OPEN::
	CALL	F2$COPY	; COPY ADDRESSES
	JMP	FI$OPEN	; DO IT
FO2$OPEN::
	CALL	F2$COPY	; COPY ADDRESSES
	JMP	FO$OPEN
F2$GET::
	CALL	F2$COPY	; COPY ADDRESSES
	JMP	F$GET
F2$PUT::
	CALL	F2$COPY	; COPY ADDRESSES
	JMP	F$PUT
FI2$CLOSE::
	CALL	F2$COPY	; COPY ADDRESSES
	JMP	FI$CLOSE
FO2$CLOSE::
	CALL	F2$COPY	; COPY ADDRESSES
	JMP	FO$CLOSE

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

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

F2$TAB:
	DW	I2$FLG
	DW	O2$FLG
	DW	I2$FCB
	DW	O2$FCB
	DW	I2$BUF
	DW	O2$BUF
	DW	I2$PTR
	DW	O2$PTR
	DW	I2$CNT
	DW	O2$CNT

	END
