DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC850

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC850

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦101256776⟧ TextFile

    Length: 2816 (0xb00)
    Types: TextFile
    Names: »INTPAG.MAC«

Derivation

└─⟦9f46c4107⟧ Bits:30005988 Sources for TurboDOS ver. 1.30 device drivers
    └─⟦this⟧ »INTPAG.MAC« 

TextFile

.Z80
TITLE	INTERUPT PAGE INITIALIZE
SUBTTL	TurboDOS OPERATING SYSTEM - RC 850, vers.: 23.11.83
;
	NAME	('INTPAG')	;INTERUPT PAGE
;
	INCLUDE	RCEQUATE.MAC
;
	COMMON	/?INIT?/
;
INTNIT::DI
	LD	HL,INTPAG	;POINT TO INTERRUPT PAGE
	LD	A,H		;SET INTERRUPT BASE PAGE ADDRESS
	LD	I,A
	IM	2		;SET INTERRUPT MODE TWO
;
;	RESET ALL INTERUPT DEPENDED DEVICES
;
	LD	A,03H		;RESET CTC CHANNELS
	OUT	(CTC0),A
	OUT	(CTC1),A
	OUT	(CTC2),A
	OUT	(CTC3),A
	OUT	(CTC4),A
	OUT	(CTC5),A
	OUT	(CTC6),A
	OUT	(CTC7),A
;
	LD	A,018H		;RESET SIO CHANNELS
	OUT	(SIO0C),A
	OUT	(SIO1C),A
	OUT	(SIO2C),A
	OUT	(SIO3C),A
;
;	INITIALIZE DEVICE INTERUPT REGISTERS
;
	LD	HL,CTC0V	;SET INT. LOWER BYTE FOR
	LD	A,L		;CTC CHANALS 0-3
	OUT	(CTC0),A	;
;
	LD	HL,CTC4V	;SET INT. LOWER BYTE FOR
	LD	A,L		;CTC CHANALS 4-7
	OUT	(CTC4),A	;
;
	LD	HL,SIO1V	;SET INT LOWER BYTE FOR
	LD	A,2		;SIO CHANALS 0-1
	OUT	(SIO1C),A	;
	LD	A,L		;
	OUT	(SIO1C),A	;
	LD	A,1		;SET INT-STATUS
	OUT	(SIO1C),A	;
	LD	A,00000100B	;STATUS AFFECTS VECTOR
	OUT	(SIO1C),A	;
;
	LD	HL,SIO3V	;SET INT LOWER BYTE FOR
	LD	A,2		;SIO CHANALS 2-3
	OUT	(SIO3C),A	;
	LD	A,L		;
	OUT	(SIO3C),A	;
	LD	A,1		;SET INT-STATUS
	OUT	(SIO3C),A	;
	LD	A,00000100B	;STATUS AFFECTS VECTOR
	OUT	(SIO3C),A	;
;
;	INITIALIZE DUMMY INTERUPTS
;
	LD	HL,BADINT	;BADINTERUPT VECTOR
	LD	(INTPAG),HL	;
	LD	DE,INTPAG+2	;
	LD	HL,INTPAG	;
	LD	BC,IPEND	;
	LDIR			;
	RET			;
;
	PAGE
;
	CSEG  
;
BADINT: DI			;BAD INTERRUPT VECTOR TAKEN
	LD	A,3FH		;signal bad interupt has occured
	OUT	(KBDATA),A	;
	LD	A,7FH		;
	OUT	(KBDATA),A	;
	XOR	A		;set status lights
	OUT	(0),A		;
	OUT	(1),A		;
	OUT	(2),A		;
	OUT	(3),A		;
	OUT	(4),A		;
	OUT	(5),A		;
	OUT	(6),A		;
	OUT	(7),A		;
	HALT
	JR	BADINT
;
	PAGE
;
	COMMON	/?PAGE?/
;
INTPAG::
CTC0V::
	DW	0		;baud rate gen. for line 1
CTC1V::	DW	0		;baud rate gen. for line 2
TIMVEC::			;timer uses the same CTC after
				;CRT initialization
DSPVEC::DW	0		;interupt vector for display
FDSVEC::DW	0		;interupt vector for floppy
	DW	0		;not used
	DW	0		;not used
DUMVEC::DW	0		;dummy interupt vector
	DW	0		;not used
SIO1V::
	DW	0		;line 2 interupt vectors
	DW	0		;
	DW	0		;
	DW	0		;
SIO0V::
	DW	0		;line 1 interupt vectors
	DW	0		;
	DW	0		;
	DW	0		;
SIO3V::
	DW	0		;keyboard / real time clock
	DW	0		;interupt vectors
	DW	0		;
	DW	0		;
SIO2V::
	DW	0		;circuit interupt vectors
	DW	0		;
	DW	0		;
	DW	0		;
CTC4V::
	DW	0		;interupt vector for Floppy Controller
	DW	0		;interupt vector for SASI Conntroller
	DW	0		;interupt vector for LAN Controller
	DW	0		;not used
;
IPEND	EQU	$-INTPAG	;length of interupt page
;
;	rest of interupt page is unused
;
	END
«eof»