|
|
1.1 root 1: /*
1.1.1.6 root 2: Hatari - main.h
3:
1.1.1.24 root 4: This file is distributed under the GNU General Public License, version 2
5: or at your option any later version. Read the file gpl.txt for details.
1.1 root 6: */
7:
1.1.1.6 root 8: #ifndef HATARI_MAIN_H
9: #define HATARI_MAIN_H
1.1 root 10:
1.1.1.17 root 11: #include "config.h"
1.1 root 12:
13: #include <stdio.h>
14: #include <stdlib.h>
15: #include <string.h>
16: #include <math.h>
17: #include <time.h>
18:
1.1.1.8 root 19: #include <SDL_types.h>
1.1.1.15 root 20: #include <stdbool.h>
1.1.1.13 root 21:
1.1.1.17 root 22: #if __GNUC__ >= 3
23: # define likely(x) __builtin_expect (!!(x), 1)
24: # define unlikely(x) __builtin_expect (!!(x), 0)
25: #else
26: # define likely(x) (x)
27: # define unlikely(x) (x)
1.1 root 28: #endif
29:
1.1.1.26! root 30: /* avoid warnings with variables used only in asserts */
! 31: #ifdef NDEBUG
! 32: # define ASSERT_VARIABLE(x) (void)(x)
! 33: #else
! 34: # define ASSERT_VARIABLE(x) assert(x)
! 35: #endif
! 36:
1.1.1.12 root 37: #ifdef WIN32
38: #define PATHSEP '\\'
39: #else
40: #define PATHSEP '/'
41: #endif
42:
1.1 root 43: #define CALL_VAR(func) { ((void(*)(void))func)(); }
44:
1.1.1.25 root 45: #ifndef ARRAYSIZE
1.1.1.17 root 46: #define ARRAYSIZE(x) (int)(sizeof(x)/sizeof(x[0]))
1.1.1.25 root 47: #endif
1.1 root 48:
1.1.1.4 root 49: /* 68000 operand sizes */
1.1 root 50: #define SIZE_BYTE 1
51: #define SIZE_WORD 2
52: #define SIZE_LONG 4
53:
1.1.1.19 root 54: /* The 8 MHz CPU frequency */
55: #define CPU_FREQ 8012800
1.1.1.15 root 56:
57: extern bool bQuitProgram;
58:
59: extern bool Main_PauseEmulation(bool visualize);
60: extern bool Main_UnPauseEmulation(void);
1.1.1.25 root 61: extern void Main_RequestQuit(int exitval);
1.1.1.20 root 62: extern void Main_SetRunVBLs(Uint32 vbls);
1.1.1.25 root 63: extern bool Main_SetVBLSlowdown(int factor);
1.1.1.12 root 64: extern void Main_WaitOnVbl(void);
1.1.1.26! root 65: extern void Main_WarpMouse(int x, int y, bool restore);
1.1.1.9 root 66: extern void Main_EventHandler(void);
1.1.1.20 root 67: extern void Main_SetTitle(const char *title);
1.1 root 68:
1.1.1.6 root 69: #endif /* ifndef HATARI_MAIN_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.