Compucolor.org – Virtual Media

Listing of file='SETVEC.MAC;02' on disk='vmedia/forutil_1-sector.ccvf'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;	SETVEC - SET UP CORRECT JUMP VECTORS FOR FCS
;		 ROUTINES OSTR AND FCS, REGARDLESS OF
;		 THE VERSION OF FCS (V6.78 OR 8.79).
;
	ENTRY	SETVEC

	PUBLIC	OSTR,FCS

;
;	NOTE:	THESE FCS ROUTINES MUST BE DECLARED EXTERNAL
;		IN PROGRAMS THAT WISH TO USE THEM, AND THIS
;		ROUTINE MUST BE CALLED BEFORE ANY ATTEMPT TO
;		CALL THE FCS ROUTINES.
;

SETVEC:	LDA	0001H	;GET A BYTE FROM ROM
	CPI	0BAH	;CHECK IF V8.79 ...
	RZ		;... AND RETURN IF TRUE
	LXI	H,JMPTBL	;OTHERWISE, COPY V6.78 JUMP
	LXI	D,OVRLAY	;TABLE OVER THE V8.79 TABLE
	MVI	B,TBLLEN
V678:	LDAX	D
	MOV	M,A
	INX	D
	INX	H
	DCR	B
	JNZ	V678
	RET		;FINISHED - USER CAN NOW CALL THE
			;FCS ROUTINES IN COMFORT

;
;	ADDRESSES FOR V8.79
;

JMPTBL:
OSTR:	JMP	182AH	;OUTPUT A STRING ENDING IN 239
FCS:	JMP	0A95H	;FCS ROUTINE

TBLLEN	EQU	$-JMPTBL

;
;	ADDRESSES FOR V6.78
;

OVRLAY:	JMP	33F4H	;OSTR
	JMP	25ECH	;FCS

	END