bugfixes, new scaling, double ym upd at 940
[libpicofe.git] / gp2x / emu.h
CommitLineData
720ee7f6 1// (c) Copyright 2006 notaz, All rights reserved.\r
2// Free for non-commercial use.\r
3\r
4// For commercial use, separate licencing terms must be obtained.\r
5\r
6\r
7\r
8// engine states\r
9enum TPicoGameState {\r
10 PGS_Paused = 1,\r
11 PGS_Running,\r
12 PGS_Quit,\r
13 PGS_KeyConfig,\r
14 PGS_ReloadRom,\r
15 PGS_Menu,\r
16};\r
17\r
18typedef struct {\r
19 char lastRomFile[512];\r
20 int EmuOpt; // LSb->MSb: use_sram, show_fps, enable_sound, gzip_saves,\r
79cad122 21 // squidgehack, no_save_cfg_on_exit, <unused>, 16_bit_mode\r
49fe50f0 22 // craigix_ram, confirm_save, show_cd_leds\r
23 //\r
720ee7f6 24 int PicoOpt; // used for config saving only, see Pico.h\r
25 int PsndRate; // ditto\r
26 int PicoRegion; // ditto\r
27 int Frameskip;\r
28 int CPUclock;\r
29 int KeyBinds[32];\r
30 int volume;\r
31 int gamma;\r
32 int JoyBinds[4][32];\r
979ba09f 33 int PicoAutoRgnOrder;\r
5f9922e6 34 int PicoCDBuffers;\r
79cad122 35 int scaling; // 0=center, 1=hscale, 2=hvscale, 3=hsoftscale\r
720ee7f6 36} currentConfig_t;\r
37\r
38extern char romFileName[];\r
39extern int engineState;\r
40extern currentConfig_t currentConfig;\r
41\r
42\r
43int emu_ReloadRom(void);\r
44void emu_Init(void);\r
45void emu_Deinit(void);\r
46int emu_SaveLoadGame(int load, int sram);\r
47void emu_Loop(void);\r
48void emu_ResetGame(void);\r
49int emu_ReadConfig(int game);\r
50int emu_WriteConfig(int game);\r
4ffd2858 51char *emu_GetSaveFName(int load, int is_sram, int slot);\r
52int emu_check_save_file(int slot);\r
53void emu_set_save_cbs(int gz);\r
54void emu_forced_frame(void);\r
daf91588 55int find_bios(int region, char **bios_file);\r
79cad122 56void scaling_update(void);\r
daf91588 57\r