File: MULTSY.PA of Tape: OS8/OS8-V40/v40-10
(Source file text) 

/MULTI-8 BACKGROUND SYS HANDLER
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1980   BY DATAPLAN GMBH, LAUDA, BRD
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DATAPLAN GMBH.
/DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR
/IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DATAPLAN'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DATAPLAN.
/
/DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
/OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DATAPLAN.
/
/
/
/
/
/
/
/
/
/
/
/WVDM, DP, ZUERICH, 1-JAN-80
/MULTI-8 SYSTEM HANDLER FOR BUILD IN BACKGROUND
/MUST BE ASSEMBLED WITH CURRENT MS.PA
/LEIDER: THE BACKGROUND MUST BE DEFINED IN BGSY
/ALWAYS!! ANSWER N TO 'WRITE ZERO DIRECT?'

	BGSY=2
	*0
	-2
	DEVICE VMT8
	DEVICE SYS
	BGSY^10+4500
	2007
	0
	0		/SOME LENGTH?

	DEVICE VMT8
	DEVICE DSK0
	4500
	1012
	0
	0

	BOOTA-BOOTB

	MVERS="M&77
	RELOC 7400
BOOTA,
B7607,	7607
BOOT,	JMS I B7607	/READ BLOCK 0
	   200
	   7400
	   0000
	 HLT
BOOT1,	CDF 10
BOLOOP,	TAD 7446
	DCA I BOPNT
	ISZ BOLOOP
	ISZ BOPNT
	 JMP BOLOOP
	CDF 0
	JMP I .+1	/SLIP INTO 7600
	7605

BOPNT,	7646
IFDEF SYRK8E <
RK0020,	TAD RK0033
	TLS		/TYPE A WARNING MESSAGE IF BOOTED
	TSF		/ON A REAL MACHINE
	 JMP .-1
	ISZ RK0020	/SETUP FOR NEXT CHARACTER
	SZA CLA
	 JMP RK0020	/GO FOR NEXT CHARACTER
	HLT
RK0030,	6741		/WAIT TILL RK8E READY
	 JMP .-1
	JMP RK0020
RK0033,	207;"D;"A;"T;"A;" ;"D;"I;"S;"K;"!;0 / >
IFDEF SYRL01 <
RL0020,	TAD RL0034
	TLS		/TYPE A WARNING MESSAGE IF BOOTED
	TSF		/ON A REAL MACHINE
	 JMP .-1
	ISZ RL0020	/SETUP FOR NEXT CHARACTER
	SZA CLA
	 JMP RL0020	/GO FOR NEXT CHARACTER
	HLT
	JMP .-1		/CATCH RESTARTS
RL0031,	6661		/WAIT TILL RL01 READY
	 JMP .-1
	JMP RL0020
RL0034,	207;"D;"A;"T;"A;" ;"D;"I;"S;"K;0 / >
BOOTB,	RELOC
	*200
	RELOC 7600
	ZBLOCK 7

FSYS,	MVERS		/ENTRY SYSTEM HANDLER
	JMS FGENIO
	   00		/AC-CODE^10+UNIT BITS
	MVERS
	JMS FGENIO
	   01
	MVERS
	JMS FGENIO
	   02
	MVERS
	JMS FGENIO
	   03
FASSGN,	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
	MVERS
	JMS FGENIO
	   0
M8BITS,	IFNZRO .-7667 <XERROR> /SOME OPTION BITS THAT BG PROGRAMS MAY
				/WANT TO KNOW.
	O=0
IFDEF DKUSED <O=O+4000	/BIT 0 IS DKUSED >
IFDEF UBITS <O=UBITS&77+O /FREE BITS FOR USER APPLICATIONS:
			/EG. SPECIFY ONE OF SEVERAL INSTALLATIONS >
	O		/THERE WE ARE !
FGENIO,	0		/SETUP DTV,ISUE 6000
	ACM2
	TAD FGENIO	/AC POINTS TO ENTRY OF HANDLER
	TAD F1400	/FORM TAD FSYS, TAD FDTA0,...
	DCA FGTMP	/EXECUTE INLINE
FGTMP,	0		/INSTRUCTION OR POINTER
	DCA FGTMP	/FGTMP IS MOVED ENTRY NOW
	TAD I FGTMP	/GET FUNCTION
	ISZ FGTMP
	DCA FUNC	/FIRST WORD OF DTV
	TAD I FGTMP	/GET CORE ADDRESS
	ISZ FGTMP
	DCA FUNC+1
	TAD I FGTMP	/GET BLOCK
	ISZ FGTMP
	DCA FUNC+2
	RDF		/SET RETURN FIELD
	CDF 0
	TAD FCDIF
	DCA FEXIT
	TAD I FGENIO
	AND F0076	/
	SZA CLA		/SYS: OR DSK0: ?
	 KSF		/FLAG UP ?
	 JMP FGNOSYS	/NO, DON'T TEST
	KRS		/YES
	TAD FM203	/TYPED ^C ?
	SNA CLA
	 JMP 7600	/YES, NO TRANSFER
FGNOSYS,TAD I FGENIO	/GET UNIT+FUNCTION
	   6000		/THE REST IS NOT OUR BISNESS
	JMP .+4		/SKIP THE PARAMETER WORDS
FUNC,	   ZBLOCK 3	/THE 3 PARAMETERS
	SNA		/ERROR ?
	 ISZ FGTMP	/NORMAL RETURN
FEXIT,	CDF CIF		/CDF CIF RETURN
	JMP I FGTMP	/RETURN

FCDIF,	CIF CDF 0
F1400,	1400
FM203,	-203
F0076,	0076

IFNZRO 7743-.&4000 <FAKERR,XERROR>

	RELOC
	$$$$$