|
|
1.1 root 1: /*
2: Hatari
3: */
4:
5: // List of MFP interrupts (GPIP is General Purpose I/O Interrupt Port)
6: #define MFP_EXCEPT_GPIP7 15 // Highest Priority
7: #define MFP_EXCEPT_GPIP6 14
8: #define MFP_EXCEPT_TIMERA 13
9: #define MFP_EXCEPT_RECBUFFULL 12
10: #define MFP_EXCEPT_RECERR 11
11: #define MFP_EXCEPT_TRANSBUFFEMPTY 10
12: #define MFP_EXCEPT_TRANSERR 9
13: #define MFP_EXCEPT_TIMERB 8
14:
15: #define MFP_EXCEPT_GPIP5 7
16: #define MFP_EXCEPT_KEYBOARD 6
17: #define MFP_EXCEPT_TIMERC 5
18: #define MFP_EXCEPT_TIMERD 4
19: #define MFP_EXCEPT_GPIP3 3
20: #define MFP_EXCEPT_GPIP2 2
21: #define MFP_EXCEPT_GPIP1 1
22: #define MFP_EXCEPT_GPIP0 0 // Lowest Priority
23:
24: // MFP register defines
25: #define MFP_TIMER_GPIP7_BIT 0x80
26: #define MFP_TIMER_A_BIT 0x20
27: #define MFP_TIMER_B_BIT 0x01
28: #define MFP_FDCHDC_BIT 0x80
29: #define MFP_KEYBOARD_BIT 0x40
30: #define MFP_TIMER_C_BIT 0x20
31: #define MFP_TIMER_D_BIT 0x10
32:
33: // MFP Registers
34: extern unsigned char MFP_GPIP;
35: extern unsigned char MFP_AER,MFP_DDR;
36: extern unsigned char MFP_IERA,MFP_IERB;
37: extern unsigned char MFP_IPRA,MFP_IPRB;
38: extern unsigned char MFP_ISRA,MFP_ISRB;
39: extern unsigned char MFP_IMRA,MFP_IMRB;
40: extern unsigned char MFP_VR;
41: extern unsigned char MFP_TACR,MFP_TBCR,MFP_TCDCR;
42: extern unsigned char MFP_TADR,MFP_TBDR;
43: extern unsigned char MFP_TCDR,MFP_TDDR;
44: extern unsigned char MFP_TA_MAINCOUNTER;
45: extern unsigned char MFP_TB_MAINCOUNTER;
46: extern unsigned char MFP_TC_MAINCOUNTER;
47: extern unsigned char MFP_TD_MAINCOUNTER;
48:
49: extern void MFP_Reset(void);
50: extern void MFP_MemorySnapShot_Capture(BOOL bSave);
51: extern void MFP_CheckPendingInterrupts(void);
52: extern void MFP_UpdateFlags(void);
53: extern void MFP_InputOnChannel(unsigned char Bit,unsigned char EnableBit,unsigned char *pPendingReg);
54: extern void MFP_TimerA_EventCount_Interrupt(void);
55: extern void MFP_TimerB_EventCount_Interrupt(void);
56: extern void MFP_StartTimerA(void);
57: extern void MFP_ReadTimerA(void);
58: extern void MFP_StartTimerB(void);
59: extern void MFP_ReadTimerB(void);
60: extern void MFP_StartTimerC(void);
61: extern void MFP_ReadTimerC(void);
62: extern void MFP_StartTimerD(void);
63: extern void MFP_ReadTimerD(void);
64: extern void MFP_InterruptHandler_TimerA(void);
65: extern void MFP_InterruptHandler_TimerB(void);
66: extern void MFP_InterruptHandler_TimerC(void);
67: extern void MFP_InterruptHandler_TimerD(void);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.