bugfixes, new scaling, double ym upd at 940
[picodrive.git] / platform / gp2x / emu.h
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
9 enum 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
18 typedef struct {\r
19         char lastRomFile[512];\r
20         int EmuOpt;             // LSb->MSb: use_sram, show_fps, enable_sound, gzip_saves,\r
21                                         // squidgehack, no_save_cfg_on_exit, <unused>, 16_bit_mode\r
22                                         // craigix_ram, confirm_save, show_cd_leds\r
23                                         //\r
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
33         int PicoAutoRgnOrder;\r
34         int PicoCDBuffers;\r
35         int scaling; // 0=center, 1=hscale, 2=hvscale, 3=hsoftscale\r
36 } currentConfig_t;\r
37 \r
38 extern char romFileName[];\r
39 extern int engineState;\r
40 extern currentConfig_t currentConfig;\r
41 \r
42 \r
43 int  emu_ReloadRom(void);\r
44 void emu_Init(void);\r
45 void emu_Deinit(void);\r
46 int  emu_SaveLoadGame(int load, int sram);\r
47 void emu_Loop(void);\r
48 void emu_ResetGame(void);\r
49 int  emu_ReadConfig(int game);\r
50 int  emu_WriteConfig(int game);\r
51 char *emu_GetSaveFName(int load, int is_sram, int slot);\r
52 int  emu_check_save_file(int slot);\r
53 void emu_set_save_cbs(int gz);\r
54 void emu_forced_frame(void);\r
55 int  find_bios(int region, char **bios_file);\r
56 void scaling_update(void);\r
57 \r