-typedef struct {
- char lastRomFile[512];
- int EmuOpt; // LSb->MSb: use_sram, show_fps, enable_sound, gzip_saves,
- // squidgehack, no_save_cfg_on_exit, <unused>, 16_bit_mode
- // craigix_ram, confirm_save, show_cd_leds, confirm_load
- // A_SNs_gamma, perfect_vsync, giz_scanlines, giz_dblbuff
- // vsync_mode, show_clock
- int PicoOpt; // used for config saving only, see Pico.h
- int PsndRate; // ditto
- int PicoRegion; // ditto
+#include "port_config.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void *g_screen_ptr;
+
+#if SCREEN_SIZE_FIXED
+#define g_screen_width SCREEN_WIDTH
+#define g_screen_height SCREEN_HEIGHT
+#else
+extern int g_screen_width;
+extern int g_screen_height;
+#endif
+
+
+#define EOPT_EN_SRAM (1<<0)
+#define EOPT_SHOW_FPS (1<<1)
+#define EOPT_EN_SOUND (1<<2)
+#define EOPT_GZIP_SAVES (1<<3)
+#define EOPT_MMUHACK (1<<4)
+#define EOPT_NO_AUTOSVCFG (1<<5)
+#define EOPT_16BPP (1<<7)
+#define EOPT_RAM_TIMINGS (1<<8)
+#define EOPT_CONFIRM_SAVE (1<<9)
+#define EOPT_EN_CD_LEDS (1<<10)
+#define EOPT_CONFIRM_LOAD (1<<11)
+#define EOPT_A_SN_GAMMA (1<<12)
+#define EOPT_VSYNC (1<<13)
+#define EOPT_GIZ_SCANLN (1<<14)
+#define EOPT_GIZ_DBLBUF (1<<15)
+#define EOPT_VSYNC_MODE (1<<16)
+#define EOPT_SHOW_RTC (1<<17)
+#define EOPT_NO_FRMLIMIT (1<<18)
+#define EOPT_WIZ_TEAR_FIX (1<<19)
+
+enum {
+ EOPT_SCALE_NONE = 0,
+ EOPT_SCALE_SW_H,
+ EOPT_SCALE_HW_H,
+ EOPT_SCALE_HW_HV,
+};
+
+typedef struct _currentConfig_t {
+ int EmuOpt;
+ int s_PicoOpt;
+ int s_PsndRate;
+ int s_PicoRegion;
+ int s_PicoAutoRgnOrder;
+ int s_PicoCDBuffers;