Annotation of previous_trunk/src/includes/cycInt.h, revision 1.1

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