|
|
1.1 root 1: /* NeXT system registers emulation */
2:
1.1.1.2 ! root 3: /* Interrupts */
1.1 root 4: #define INT_SOFT1 0x00000001 // level 1
5: #define INT_SOFT2 0x00000002 // level 2
6: #define INT_POWER 0x00000004 // level 3
7: #define INT_KEYMOUSE 0x00000008
8: #define INT_MONITOR 0x00000010
9: #define INT_VIDEO 0x00000020
10: #define INT_DSP_L3 0x00000040
11: #define INT_PHONE 0x00000080 // Floppy?
12: #define INT_SOUND_OVRUN 0x00000100
13: #define INT_EN_RX 0x00000200
14: #define INT_EN_TX 0x00000400
15: #define INT_PRINTER 0x00000800
16: #define INT_SCSI 0x00001000
17: #define INT_DISK 0x00002000 // in color systems this is INT_C16VIDEO
18: #define INT_DSP_L4 0x00004000 // level 4
19: #define INT_BUS 0x00008000 // level 5
20: #define INT_REMOTE 0x00010000
21: #define INT_SCC 0x00020000
22: #define INT_R2M_DMA 0x00040000 // level 6
23: #define INT_M2R_DMA 0x00080000
24: #define INT_DSP_DMA 0x00100000
25: #define INT_SCC_DMA 0x00200000
26: #define INT_SND_IN_DMA 0x00400000
27: #define INT_SND_OUT_DMA 0x00800000
28: #define INT_PRINTER_DMA 0x01000000
29: #define INT_DISK_DMA 0x02000000
30: #define INT_SCSI_DMA 0x04000000
31: #define INT_EN_RX_DMA 0x08000000
32: #define INT_EN_TX_DMA 0x10000000
33: #define INT_TIMER 0x20000000
34: #define INT_PFAIL 0x40000000 // level 7
35: #define INT_NMI 0x80000000
36:
1.1.1.2 ! root 37: /* Interrupt Level Masks */
! 38: #define INT_L7_MASK 0xC0000000
! 39: #define INT_L6_MASK 0x3FFC0000
! 40: #define INT_L5_MASK 0x00038000
! 41: #define INT_L4_MASK 0x00004000
! 42: #define INT_L3_MASK 0x00003FFC
! 43: #define INT_L2_MASK 0x00000002
! 44: #define INT_L1_MASK 0x00000001
! 45:
! 46: #define SET_INT 1
! 47: #define RELEASE_INT 0
1.1 root 48:
1.1.1.2 ! root 49: void set_interrupt(Uint32 intr, Uint8 state);
! 50: int get_interrupt_level(void);
! 51:
! 52: void set_dsp_interrupt(Uint8 state);
1.1 root 53:
54: void SID_Read(void);
55:
56: void SCR_Reset(void);
57: void SCR1_Read0(void);
58: void SCR1_Read1(void);
59: void SCR1_Read2(void);
60: void SCR1_Read3(void);
61:
62: void SCR2_Read0(void);
63: void SCR2_Write0(void);
64: void SCR2_Read1(void);
65: void SCR2_Write1(void);
66: void SCR2_Read2(void);
67: void SCR2_Write2(void);
68: void SCR2_Read3(void);
69: void SCR2_Write3(void);
70:
71: void IntRegStatRead(void);
72: void IntRegStatWrite(void);
73: void IntRegMaskRead(void);
74: void IntRegMaskWrite(void);
75:
1.1.1.2 ! root 76: void Hardclock_InterruptHandler(void);
1.1 root 77: void HardclockRead0(void);
78: void HardclockRead1(void);
79:
80: void HardclockWrite0(void);
81: void HardclockWrite1(void);
82:
83: void HardclockWriteCSR(void);
84: void HardclockReadCSR(void);
85:
1.1.1.2 ! root 86: void System_Timer_Read(void);
1.1 root 87:
1.1.1.2 ! root 88: void ColorVideo_CMD_Write(void);
! 89: void color_video_interrupt(void);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.