Annotation of previous/src/includes/cycInt.h, revision 1.1.1.4

1.1       root        1: /*
                      2:   Hatari - cycInt.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.1.4 ! root        6:  
        !             7:  (SC) Simon Schubiger - removed all MFP related code. NeXT does not have an MFP
1.1       root        8: */
                      9: 
                     10: #ifndef HATARI_CYCINT_H
                     11: #define HATARI_CYCINT_H
                     12: 
                     13: /* Interrupt handlers in system */
                     14: typedef enum
                     15: {
                     16:   INTERRUPT_NULL,
                     17:   INTERRUPT_VIDEO_VBL,
1.1.1.2   root       18:   INTERRUPT_HARDCLOCK,
1.1.1.3   root       19:   INTERRUPT_MOUSE,
                     20:   INTERRUPT_ESP,
                     21:   INTERRUPT_ESP_IO,
1.1.1.4 ! root       22:   INTERRUPT_M2M_IO,
1.1.1.3   root       23:   INTERRUPT_MO,
                     24:   INTERRUPT_MO_IO,
                     25:   INTERRUPT_ECC_IO,
                     26:   INTERRUPT_ENET_IO,
                     27:   INTERRUPT_FLP_IO,
1.1.1.4 ! root       28:   INTERRUPT_SND_OUT,
        !            29:   INTERRUPT_SND_IN,
1.1.1.3   root       30:   INTERRUPT_LP_IO,
1.1.1.4 ! root       31:   INTERRUPT_EVENT_LOOP,
        !            32:   INTERRUPT_ND_VBL,
        !            33:   INTERRUPT_ND_VIDEO_VBL,
1.1       root       34:   MAX_INTERRUPTS
                     35: } interrupt_id;
                     36: 
1.1.1.4 ! root       37: /* Event timer structure - keeps next timer to occur in structure so don't need
        !            38:  * to check all entries */
1.1       root       39: 
1.1.1.4 ! root       40: enum {
        !            41:     CYC_INT_NONE,
        !            42:     CYC_INT_CPU,
        !            43:     CYC_INT_US,
        !            44: };
1.1       root       45: 
1.1.1.4 ! root       46: typedef struct
        !            47: {
        !            48:     int     type;   /* Type of time (CPU Cycles, microseconds) or NONE for inactive */
        !            49:     int64_t time;   /* number of CPU cycles to go until interupt or absolute microsecond timeout until interrupt */
        !            50:     void (*pFunction)(void);
        !            51: } INTERRUPTHANDLER;
        !            52: 
        !            53: INTERRUPTHANDLER PendingInterrupt;
        !            54: 
        !            55: extern int64_t nCyclesMainCounter;
        !            56: extern int64_t nCyclesOver;
        !            57: 
        !            58: extern int usCheckCycles;
        !            59: 
        !            60: void CycInt_Reset(void);
        !            61: void CycInt_MemorySnapShot_Capture(bool bSave);
        !            62: void CycInt_AcknowledgeInterrupt(void);
        !            63: void CycInt_AddRelativeInterruptCycles(int64_t CycleTime, interrupt_id Handler);
        !            64: void CycInt_AddRelativeInterruptUs(int64_t us, int64_t usreal, interrupt_id Handler);
        !            65: void CycInt_AddRelativeInterruptUsCycles(int64_t us, int64_t usreal, interrupt_id Handler);
        !            66: void CycInt_RemovePendingInterrupt(interrupt_id Handler);
        !            67: bool CycInt_InterruptActive(interrupt_id Handler);
        !            68: bool CycInt_SetNewInterruptUs(void);
1.1       root       69: 
                     70: #endif /* ifndef HATARI_CYCINT_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.