|
|
1.1 root 1: /* 1.1.1.2 ! root 2: Hatari - int.h ! 3: ! 4: This file is distributed under the GNU Public License, version 2 or at ! 5: your option any later version. Read the file gpl.txt for details. 1.1 root 6: */ 7: 1.1.1.2 ! root 8: #ifndef HATARI_INT_H ! 9: #define HATARI_INT_H ! 10: ! 11: /* Interrupt handlers in system */ ! 12: enum ! 13: { 1.1 root 14: INTERRUPT_NULL, 15: 16: #ifdef USE_DEBUGGER 17: INTERRUPT_DEBUGGER, 18: INTERRUPT_SINGLESTEP, 1.1.1.2 ! root 19: #endif /*USE_DEBUGGER*/ 1.1 root 20: 21: INTERRUPT_VIDEO_VBL, 22: INTERRUPT_VIDEO_HBL, 23: INTERRUPT_VIDEO_ENDLINE, 24: INTERRUPT_MFP_TIMERA, 25: INTERRUPT_MFP_TIMERB, 26: INTERRUPT_MFP_TIMERC, 27: INTERRUPT_MFP_TIMERD, 28: INTERRUPT_IKBD_RESETTIMER, 29: INTERRUPT_IKBD_ACIA, 30: 31: MAX_INTERRUPTS 32: }; 33: 1.1.1.2 ! root 34: /* Event timer structure - keeps next timer to occur in structure so don't need to check all entries */ ! 35: typedef struct ! 36: { ! 37: BOOL bUsed; /* Is interrupt active? */ 1.1 root 38: int Cycles; 39: void *pFunction; 40: } INTERRUPTHANDLER; 41: 42: extern void *pIntHandlerFunctions[]; 43: extern int nCyclesOver; 44: extern int nFrameCyclesOver; 45: 46: extern void Int_Reset(void); 47: extern void Int_MemorySnapShot_Capture(BOOL bSave); 48: extern int Int_HandlerFunctionToID(void *pHandlerFunction); 49: extern void *Int_IDToHandlerFunction(int ID); 50: extern int Int_FindFrameCycles(void); 51: extern void Int_SetNewInterrupt(void); 52: extern void Int_AcknowledgeInterrupt(void); 53: extern void Int_AddAbsoluteInterrupt(int CycleTime, int Handler); 54: extern void Int_AddRelativeInterrupt(int CycleTime, int Handler); 55: extern void Int_RemovePendingInterrupt(int Handler); 56: extern BOOL Int_InterruptActive(int Handler); 57: extern int Int_FindCyclesPassed(int Handler); 1.1.1.2 ! root 58: ! 59: #endif /* ifndef HATARI_INT_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.