|
|
1.1 root 1: /*
1.1.1.2 root 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.
1.1 root 6: */
7:
1.1.1.2 root 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 */
1.1 root 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
1.1.1.3 root 22: #define MFP_EXCEPT_ACIA 6
1.1 root 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
1.1.1.2 root 28: #define MFP_EXCEPT_GPIP0 0 /* Lowest Priority */
1.1 root 29:
1.1.1.2 root 30: /* MFP register defines */
1.1 root 31: #define MFP_TIMER_GPIP7_BIT 0x80
32: #define MFP_TIMER_A_BIT 0x20
1.1.1.3 root 33: #define MFP_RCVBUFFULL_BIT 0x10
34: #define MFP_TRNBUFEMPTY_BIT 0x04
1.1 root 35: #define MFP_TIMER_B_BIT 0x01
1.1.1.8 ! root 36:
1.1 root 37: #define MFP_FDCHDC_BIT 0x80
1.1.1.3 root 38: #define MFP_ACIA_BIT 0x40
39: #define MFP_TIMER_C_BIT 0x20
40: #define MFP_TIMER_D_BIT 0x10
1.1.1.8 ! root 41: #define MFP_GPU_DONE_BIT 0x08
! 42: #define MFP_GPIP_1_BIT 0x02
! 43: #define MFP_GPIP_0_BIT 0x01
1.1 root 44:
1.1.1.2 root 45: /* MFP Registers */
1.1.1.5 root 46: extern Uint8 MFP_GPIP;
47: extern Uint8 MFP_IERA,MFP_IERB;
48: extern Uint8 MFP_IPRA,MFP_IPRB;
1.1.1.7 root 49: extern Uint8 MFP_TACR,MFP_TBCR;
1.1.1.5 root 50: extern Uint8 MFP_VR;
1.1 root 51:
52: extern void MFP_Reset(void);
1.1.1.8 ! root 53: extern void MFP_MemorySnapShot_Capture(bool bSave);
1.1 root 54: extern void MFP_CheckPendingInterrupts(void);
1.1.1.5 root 55: extern void MFP_InputOnChannel(Uint8 Bit, Uint8 EnableBit, Uint8 *pPendingReg);
1.1 root 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);
1.1.1.2 root 62:
1.1.1.4 root 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:
1.1.1.2 root 103: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.