|
|
1.1 ! root 1: /* ! 2: Hatari ! 3: */ ! 4: ! 5: // Interrupt handlers in system ! 6: enum { ! 7: INTERRUPT_NULL, ! 8: INTERRUPT_VIDEO_VBL_PENDING, ! 9: ! 10: MAX_INTERRUPTS ! 11: }; ! 12: ! 13: // Event timer structure - keeps next timer to occur in structure so don't need to check all entries ! 14: typedef struct { ! 15: BOOL bUsed; // Is interrupt active? ! 16: int Cycles; ! 17: void *pFunction; ! 18: } INTERRUPTHANDLER; ! 19: ! 20: extern void *pIntHandlerFunctions[]; ! 21: extern int nCyclesOver; ! 22: ! 23: extern void Int_Reset(void); ! 24: extern int Int_HandlerFunctionToID(void *pHandlerFunction); ! 25: extern void *Int_IDToHandlerFunction(int ID); ! 26: extern void Int_SetNewInterrupt(void); ! 27: extern void Int_AcknowledgeInterrupt(void); ! 28: extern void Int_AddAbsoluteInterrupt(int CycleTime, int Handler); ! 29: extern void Int_AddRelativeInterrupt(int CycleTime, int Handler); ! 30: extern void Int_RemovePendingInterrupt(int Handler); ! 31: extern BOOL Int_InterruptActive(int Handler); ! 32: extern int Int_FindCyclesPassed(int Handler);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.