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