|
|
1.1 ! root 1: /* ! 2: Hatari - mfp.h ! 3: ! 4: This file is distributed under the GNU Public License, version 2 or at your ! 5: option any later version. Read the file gpl.txt for details. ! 6: */ ! 7: ! 8: #ifndef HATARI_MFP_H ! 9: #define HATARI_MFP_H ! 10: ! 11: /* List of MFP interrupts (GPIP is General Purpose I/O Interrupt Port) */ ! 12: #define MFP_EXCEPT_GPIP7 15 /* Highest Priority */ ! 13: #define MFP_EXCEPT_GPIP6 14 ! 14: #define MFP_EXCEPT_TIMERA 13 ! 15: #define MFP_EXCEPT_RECBUFFULL 12 ! 16: #define MFP_EXCEPT_RECERR 11 ! 17: #define MFP_EXCEPT_TRANSBUFFEMPTY 10 ! 18: #define MFP_EXCEPT_TRANSERR 9 ! 19: #define MFP_EXCEPT_TIMERB 8 ! 20: ! 21: #define MFP_EXCEPT_GPIP5 7 ! 22: #define MFP_EXCEPT_ACIA 6 ! 23: #define MFP_EXCEPT_TIMERC 5 ! 24: #define MFP_EXCEPT_TIMERD 4 ! 25: #define MFP_EXCEPT_GPIP3 3 ! 26: #define MFP_EXCEPT_GPIP2 2 ! 27: #define MFP_EXCEPT_GPIP1 1 ! 28: #define MFP_EXCEPT_GPIP0 0 /* Lowest Priority */ ! 29: ! 30: /* MFP register defines */ ! 31: #define MFP_TIMER_GPIP7_BIT 0x80 ! 32: #define MFP_TIMER_A_BIT 0x20 ! 33: #define MFP_RCVBUFFULL_BIT 0x10 ! 34: #define MFP_TRNBUFEMPTY_BIT 0x04 ! 35: #define MFP_TIMER_B_BIT 0x01 ! 36: ! 37: #define MFP_FDCHDC_BIT 0x80 ! 38: #define MFP_ACIA_BIT 0x40 ! 39: #define MFP_TIMER_C_BIT 0x20 ! 40: #define MFP_TIMER_D_BIT 0x10 ! 41: #define MFP_GPU_DONE_BIT 0x08 ! 42: #define MFP_GPIP_1_BIT 0x02 ! 43: #define MFP_GPIP_0_BIT 0x01 ! 44: ! 45: /* MFP Registers */ ! 46: extern Uint8 MFP_GPIP; ! 47: extern Uint8 MFP_IERA,MFP_IERB; ! 48: extern Uint8 MFP_IPRA,MFP_IPRB; ! 49: extern Uint8 MFP_TACR,MFP_TBCR; ! 50: extern Uint8 MFP_VR; ! 51: ! 52: extern void MFP_Reset(void); ! 53: extern void MFP_MemorySnapShot_Capture(bool bSave); ! 54: extern bool MFP_CheckPendingInterrupts(void); ! 55: extern void MFP_InputOnChannel(Uint8 Bit, Uint8 EnableBit, Uint8 *pPendingReg); ! 56: extern void MFP_TimerA_EventCount_Interrupt(void); ! 57: extern void MFP_TimerB_EventCount_Interrupt(void); ! 58: extern void MFP_InterruptHandler_TimerA(void); ! 59: extern void MFP_InterruptHandler_TimerB(void); ! 60: extern void MFP_InterruptHandler_TimerC(void); ! 61: extern void MFP_InterruptHandler_TimerD(void); ! 62: ! 63: extern void MFP_GPIP_ReadByte(void); ! 64: extern void MFP_ActiveEdge_ReadByte(void); ! 65: extern void MFP_DataDirection_ReadByte(void); ! 66: extern void MFP_EnableA_ReadByte(void); ! 67: extern void MFP_EnableB_ReadByte(void); ! 68: extern void MFP_PendingA_ReadByte(void); ! 69: extern void MFP_PendingB_ReadByte(void); ! 70: extern void MFP_InServiceA_ReadByte(void); ! 71: extern void MFP_InServiceB_ReadByte(void); ! 72: extern void MFP_MaskA_ReadByte(void); ! 73: extern void MFP_MaskB_ReadByte(void); ! 74: extern void MFP_VectorReg_ReadByte(void); ! 75: extern void MFP_TimerACtrl_ReadByte(void); ! 76: extern void MFP_TimerBCtrl_ReadByte(void); ! 77: extern void MFP_TimerCDCtrl_ReadByte(void); ! 78: extern void MFP_TimerAData_ReadByte(void); ! 79: extern void MFP_TimerBData_ReadByte(void); ! 80: extern void MFP_TimerCData_ReadByte(void); ! 81: extern void MFP_TimerDData_ReadByte(void); ! 82: ! 83: extern void MFP_GPIP_WriteByte(void); ! 84: extern void MFP_ActiveEdge_WriteByte(void); ! 85: extern void MFP_DataDirection_WriteByte(void); ! 86: extern void MFP_EnableA_WriteByte(void); ! 87: extern void MFP_EnableB_WriteByte(void); ! 88: extern void MFP_PendingA_WriteByte(void); ! 89: extern void MFP_PendingB_WriteByte(void); ! 90: extern void MFP_InServiceA_WriteByte(void); ! 91: extern void MFP_InServiceB_WriteByte(void); ! 92: extern void MFP_MaskA_WriteByte(void); ! 93: extern void MFP_MaskB_WriteByte(void); ! 94: extern void MFP_VectorReg_WriteByte(void); ! 95: extern void MFP_TimerACtrl_WriteByte(void); ! 96: extern void MFP_TimerBCtrl_WriteByte(void); ! 97: extern void MFP_TimerCDCtrl_WriteByte(void); ! 98: extern void MFP_TimerAData_WriteByte(void); ! 99: extern void MFP_TimerBData_WriteByte(void); ! 100: extern void MFP_TimerCData_WriteByte(void); ! 101: extern void MFP_TimerDData_WriteByte(void); ! 102: ! 103: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.