[net.micro] cpm plus versions of bios and biosh functions for bds-c

KEVINW@SU-SIERRA.ARPA (04/18/84)

From:  Kevin W. Rudd <KEVINW@SU-SIERRA.ARPA>

Attached is the source for some cpm plus specific versions of these standard
bds-c routines.  i believe they work (they did in some simple cases -- i don't
have lots of fancy bios routines...)

enjoy!!!
  -- Kevin

-------------------------------
;
;	(c) 1984 Kevin W. Rudd
;	All Commercial Rights Reserved
;	This set of routines is presented into the public
;	domain for any non-commercial use provided this
;	message is included.
;
;	cpm plus (vers 3.0) versions of BDS-C bios and biosh functions
;

	INCLUDE "bds.lib"

	FUNCTION	bios
	call	arghak	
	push	b
	lda	arg1	;get function number (1-85)
	sta	bios3x+0	;store in FUNC byte
	lhld	arg2	;get value to be put in BCREG
	shld	bios3x+2	;store it in BCREG word
	mvi	c,50	;cpm3 bdos call for dir bios call
	lxi	d,bios3x	;get addr of block
	call	bdos	;execute it
	pop	b	;restore b register
	ret		;and return to caller
	ENDFUNC

	FUNCTION	biosh
	call	arghak	
	push	b
	lda	arg1	;get function number (1-85)
	sta	bios3x+0	;store in FUNC byte
	lda	arg2	;get value to be put in AREG
	sta	bios3x+1	;store in BCREG word
	lhld	arg3	;get value to be put in BCREG
	shld	bios3x+2	;store it in BCREG word
	lhld	arg4	;get value to be put in DEREG
	shld	bios3x+4	;store it in DEREG word
	lhld	arg5	;get value to be put in HLREG 
	shld	bios3x+6	;store it in HLREG word
	mvi	c,50	;cpm3 bdos call for dir bios call
	lxi	d,bios3x	;get addr of block
	call	bdos	;execute it
	pop	b	;all done. Leave return value in HL
	ret		;and return to caller
	ENDFUNC
-------