	public .ovbgn, ovexit_
	ext ovmain_,prctyp
	dseg
ovstkpt: ds	2
saveret: ds	2
	cseg
.ovbgn:
	pop	h
	pop	h
	pop	h
	pop	h
	sphl
	pop	b
;	call	prctyp	;8080 or z80 processor?
;	jnc	ovbgn10	;jump if 8080
	db	253,225,221,225	;pop ix, pop iy for z80 processor
ovbgn10:
	pop	h
	shld	saveret
	pop	d
	lxi	h,ovret
	push	h
	lxi	h,0
	dad	sp
	shld	ovstkpt		;save stack pointer for ovexit
	jmp	ovmain_

ovret:	xchg			;save return value
	lhld	saveret		;get return addr
	push	h		;place dummy overlay name ptr on stack
	push	h		;place return addr on stack
	xchg			;restore return value to hl
	ret			;return to caller
;
ovexit_:
	lxi	h,2			;get return value
	dad	sp
	mov	e,m
	inx	h
	mov	d,m
	lhld	ovstkpt		;get original stack pointer
	sphl				;and restore it
	xchg
	ret					;return back to root
	end

