|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC850 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC850 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2816 (0xb00) Types: TextFile Names: »BINTPAG.MAC«
└─⟦9f46c4107⟧ Bits:30005988 Sources for TurboDOS ver. 1.30 device drivers └─⟦this⟧ »BINTPAG.MAC«
.Z80 TITLE INTERUPT PAGE AND INITIALIZE FOR BANKED SYSTEM SUBTTL TurboDOS OPERATING SYSTEM - RC 850, vers.: 6.1.84 ; 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 ; .PHASE 8 ;banked interupt page located in page 0 ; INTPAG:: CTC0V:: DW 0 ;baud rate gen. for line 1 CTC1V:: DW 0 ;baud rate gen. for line 2 DUMVEC:: ;dummy interupt vector DSPVEC::DW 0 ;interupt vector for display FDSVEC::DW 0 ;interupt vector for RC floppy controller ;also LAN controller vector 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 CTC5V:: DW 0 ;interupt vector for SASI Conntroller CTC6V:: DW 0 ;not used CTC7V:: DW 0 ;Master real time clock ; IPEND EQU $-INTPAG ;length of interupt page ; .DEPHASE ; ; rest of interupt page is unused ; 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 ; END «eof»