|
|
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 root 42: extern unsigned char MFP_GPIP;
43: extern unsigned char MFP_AER,MFP_DDR;
44: extern unsigned char MFP_IERA,MFP_IERB;
45: extern unsigned char MFP_IPRA,MFP_IPRB;
46: extern unsigned char MFP_ISRA,MFP_ISRB;
47: extern unsigned char MFP_IMRA,MFP_IMRB;
48: extern unsigned char MFP_VR;
49: extern unsigned char MFP_TACR,MFP_TBCR,MFP_TCDCR;
50: extern unsigned char MFP_TADR,MFP_TBDR;
51: extern unsigned char MFP_TCDR,MFP_TDDR;
52: extern unsigned char MFP_TA_MAINCOUNTER;
53: extern unsigned char MFP_TB_MAINCOUNTER;
54: extern unsigned char MFP_TC_MAINCOUNTER;
55: extern unsigned char MFP_TD_MAINCOUNTER;
1.1.1.3 ! root 56: extern BOOL bAppliedTimerDPatch;
1.1 root 57:
58: extern void MFP_Reset(void);
59: extern void MFP_MemorySnapShot_Capture(BOOL bSave);
60: extern void MFP_CheckPendingInterrupts(void);
61: extern void MFP_UpdateFlags(void);
62: extern void MFP_InputOnChannel(unsigned char Bit,unsigned char EnableBit,unsigned char *pPendingReg);
63: extern void MFP_TimerA_EventCount_Interrupt(void);
64: extern void MFP_TimerB_EventCount_Interrupt(void);
65: extern void MFP_StartTimerA(void);
66: extern void MFP_ReadTimerA(void);
67: extern void MFP_StartTimerB(void);
68: extern void MFP_ReadTimerB(void);
69: extern void MFP_StartTimerC(void);
70: extern void MFP_ReadTimerC(void);
71: extern void MFP_StartTimerD(void);
72: extern void MFP_ReadTimerD(void);
73: extern void MFP_InterruptHandler_TimerA(void);
74: extern void MFP_InterruptHandler_TimerB(void);
75: extern void MFP_InterruptHandler_TimerC(void);
76: extern void MFP_InterruptHandler_TimerD(void);
1.1.1.2 root 77:
78: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.