Compucolor.org – Virtual Media

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

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

	PUBLIC	CO,OSTR,SAVE

;
;	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.
;

JMPVEC:	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:
CO:	JMP	17C8H	;OUTPUT A SINGLE CHR TO THE SCREEN
OSTR:	JMP	182AH	;OUTPUT A STRING ENDING IN 239
SAVE:	JMP	0A2EH	;SAVE ALL REGISTERS (RESTORES ON RET)

TBLLEN	EQU	$-JMPTBL

;
;	ADDRESSES FOR V6.78
;

OVRLAY:	JMP	3392H	;CO
	JMP	33F4H	;OSTR
	JMP	3FD0H	;SAVE

	END