| 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, 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 | } currentConfig_t;\r |
| 36 | \r |
| 37 | extern char romFileName[];\r |
| 38 | extern int engineState;\r |
| 39 | extern currentConfig_t currentConfig;\r |
| 40 | \r |
| 41 | \r |
| 42 | int emu_ReloadRom(void);\r |
| 43 | void emu_Init(void);\r |
| 44 | void emu_Deinit(void);\r |
| 45 | int emu_SaveLoadGame(int load, int sram);\r |
| 46 | void emu_Loop(void);\r |
| 47 | void emu_ResetGame(void);\r |
| 48 | int emu_ReadConfig(int game);\r |
| 49 | int emu_WriteConfig(int game);\r |
| 50 | char *emu_GetSaveFName(int load, int is_sram, int slot);\r |
| 51 | int emu_check_save_file(int slot);\r |
| 52 | void emu_set_save_cbs(int gz);\r |
| 53 | void emu_forced_frame(void);\r |
| 54 | int find_bios(int region, char **bios_file);\r |
| 55 | \r |