|
|
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.