Annotation of hatari/src/cpu/events.h, revision 1.1

1.1     ! root        1:  /*
        !             2:   * UAE - The Un*x Amiga Emulator
        !             3:   *
        !             4:   * Events
        !             5:   * These are best for low-frequency events. Having too many of them,
        !             6:   * or using them for events that occur too frequently, can cause massive
        !             7:   * slowdown.
        !             8:   *
        !             9:   * Copyright 1995-1998 Bernd Schmidt
        !            10:   */
        !            11: 
        !            12: #ifndef HATARI_EVENT_H
        !            13: #define HATARI_EVENT_H
        !            14: 
        !            15: #undef EVENT_DEBUG
        !            16: 
        !            17: #define do_cycles do_cycles_slow
        !            18: 
        !            19: //#include "machdep/rpt.h"
        !            20: #include "rpt.h"
        !            21: 
        !            22: extern volatile frame_time_t vsynctime, vsyncmintime;
        !            23: extern void reset_frame_rate_hack (void);
        !            24: extern int rpt_available;
        !            25: extern frame_time_t syncbase;
        !            26: 
        !            27: extern void compute_vsynctime (void);
        !            28: extern void init_eventtab (void);
        !            29: extern void do_cycles_ce (long cycles);
        !            30: extern void do_cycles_ce020 (int clocks);
        !            31: extern void do_cycles_ce020_mem (int clocks);
        !            32: extern void do_cycles_ce000 (int clocks);
        !            33: extern int is_cycle_ce (void);
        !            34: extern int current_hpos (void);
        !            35: 
        !            36: static void events_schedule (void);
        !            37: 
        !            38: extern unsigned long currcycle, nextevent, is_lastline;
        !            39: typedef void (*evfunc)(void);
        !            40: typedef void (*evfunc2)(uae_u32);
        !            41: 
        !            42: typedef unsigned long int evt;
        !            43: 
        !            44: struct ev
        !            45: {
        !            46:     int active;
        !            47:     evt evtime, oldcycles;
        !            48:     evfunc handler;
        !            49: };
        !            50: 
        !            51: struct ev2
        !            52: {
        !            53:     int active;
        !            54:     evt evtime;
        !            55:     uae_u32 data;
        !            56:     evfunc2 handler;
        !            57: };
        !            58: 
        !            59: enum {
        !            60:     ev_hsync, ev_audio, ev_cia, ev_misc,
        !            61:     ev_max
        !            62: };
        !            63: 
        !            64: enum {
        !            65:     ev2_blitter, ev2_disk, ev2_misc,
        !            66:     ev2_max = 12
        !            67: };
        !            68: 
        !            69: extern struct ev eventtab[ev_max];
        !            70: extern struct ev2 eventtab2[ev2_max];
        !            71: 
        !            72: extern void event2_newevent (int, evt, uae_u32);
        !            73: extern void event2_newevent2 (evt, uae_u32, evfunc2);
        !            74: extern void event2_remevent (int);
        !            75: 
        !            76: /*#if 0
        !            77: #ifdef JIT
        !            78: #include "events_jit.h"
        !            79: #else
        !            80: #include "events_normal.h"
        !            81: #endif
        !            82: #else
        !            83: #include "events_jit.h"
        !            84: #endif
        !            85: */
        !            86: 
        !            87: #include "events_normal.h"
        !            88: 
        !            89: 
        !            90: STATIC_INLINE bool cycles_in_range (unsigned long endcycles)
        !            91: {
        !            92:        signed long c = get_cycles ();
        !            93:        return (signed long)endcycles - c > 0;
        !            94: }
        !            95: 
        !            96: #endif //HATARI_EVENT_H

unix.superglobalmegacorp.com

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