Annotation of previous/src/cpu/events.h, revision 1.1.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.