|
|
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
36: #define MFP_FDCHDC_BIT 0x80
1.1.1.3 root 37: #define MFP_ACIA_BIT 0x40
38: #define MFP_TIMER_C_BIT 0x20
39: #define MFP_TIMER_D_BIT 0x10
1.1 root 40:
1.1.1.2 root 41: /* MFP Registers */
1.1.1.5 root 42: extern Uint8 MFP_GPIP;
43: extern Uint8 MFP_IERA,MFP_IERB;
44: extern Uint8 MFP_IPRA,MFP_IPRB;
45: extern Uint8 MFP_VR;
46: extern Uint8 MFP_TACR,MFP_TBCR,MFP_TCDCR;
1.1 root 47:
48: extern void MFP_Reset(void);
49: extern void MFP_MemorySnapShot_Capture(BOOL bSave);
50: extern void MFP_CheckPendingInterrupts(void);
1.1.1.5 root 51: extern void MFP_InputOnChannel(Uint8 Bit, Uint8 EnableBit, Uint8 *pPendingReg);
1.1 root 52: extern void MFP_TimerA_EventCount_Interrupt(void);
53: extern void MFP_TimerB_EventCount_Interrupt(void);
54: extern void MFP_InterruptHandler_TimerA(void);
55: extern void MFP_InterruptHandler_TimerB(void);
56: extern void MFP_InterruptHandler_TimerC(void);
57: extern void MFP_InterruptHandler_TimerD(void);
1.1.1.2 root 58:
1.1.1.4 root 59: extern void MFP_GPIP_ReadByte(void);
60: extern void MFP_ActiveEdge_ReadByte(void);
61: extern void MFP_DataDirection_ReadByte(void);
62: extern void MFP_EnableA_ReadByte(void);
63: extern void MFP_EnableB_ReadByte(void);
64: extern void MFP_PendingA_ReadByte(void);
65: extern void MFP_PendingB_ReadByte(void);
66: extern void MFP_InServiceA_ReadByte(void);
67: extern void MFP_InServiceB_ReadByte(void);
68: extern void MFP_MaskA_ReadByte(void);
69: extern void MFP_MaskB_ReadByte(void);
70: extern void MFP_VectorReg_ReadByte(void);
71: extern void MFP_TimerACtrl_ReadByte(void);
72: extern void MFP_TimerBCtrl_ReadByte(void);
73: extern void MFP_TimerCDCtrl_ReadByte(void);
74: extern void MFP_TimerAData_ReadByte(void);
75: extern void MFP_TimerBData_ReadByte(void);
76: extern void MFP_TimerCData_ReadByte(void);
77: extern void MFP_TimerDData_ReadByte(void);
78:
79: extern void MFP_GPIP_WriteByte(void);
80: extern void MFP_ActiveEdge_WriteByte(void);
81: extern void MFP_DataDirection_WriteByte(void);
82: extern void MFP_EnableA_WriteByte(void);
83: extern void MFP_EnableB_WriteByte(void);
84: extern void MFP_PendingA_WriteByte(void);
85: extern void MFP_PendingB_WriteByte(void);
86: extern void MFP_InServiceA_WriteByte(void);
87: extern void MFP_InServiceB_WriteByte(void);
88: extern void MFP_MaskA_WriteByte(void);
89: extern void MFP_MaskB_WriteByte(void);
90: extern void MFP_VectorReg_WriteByte(void);
91: extern void MFP_TimerACtrl_WriteByte(void);
92: extern void MFP_TimerBCtrl_WriteByte(void);
93: extern void MFP_TimerCDCtrl_WriteByte(void);
94: extern void MFP_TimerAData_WriteByte(void);
95: extern void MFP_TimerBData_WriteByte(void);
96: extern void MFP_TimerCData_WriteByte(void);
97: extern void MFP_TimerDData_WriteByte(void);
98:
1.1.1.2 root 99: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.