more unification; replace some magic bits to defines
[libpicofe.git] / common / plat.h
1 #ifdef __cplusplus
2 extern "C" {
3 #endif
4
5 /* stuff to be implemented by platform code */
6 extern char cpu_clk_name[];
7 /* TODO rename all these */
8 extern const char * const keyNames[]; // TODO rm
9 void  emu_prepareDefaultConfig(void);
10 void  emu_platformDebugCat(char *str);
11 void  emu_forcedFrame(int opts);
12 void  emu_startSound(void);
13 void  emu_endSound(void);
14 void  emu_waitSound(void);
15 void  emu_ResetGame(void); // TODO mv rm?
16 void  emu_Init(void);
17 void  emu_Deinit(void);
18 void  emu_Loop(void);
19
20 int  emu_getMainDir(char *dst, int len);
21 void menu_romload_prepare(const char *rom_name);
22 void menu_romload_end(void);
23
24 void plat_early_init(void);
25 void plat_init(void);
26 void plat_finish(void);
27
28 /* to be used while emulation is starting or running */
29 void plat_status_msg(const char *format, ...);
30
31 /* used before things blocking for a while (these funcs redraw on return) */
32 void plat_status_msg_busy_first(const char *msg);
33 void plat_status_msg_busy_next(const char *msg);
34
35 /* menu: enter (switch bpp, etc), begin/end drawing */
36 void plat_video_menu_enter(int is_rom_loaded);
37 void plat_video_menu_begin(void);
38 void plat_video_menu_end(void);
39
40 void plat_video_toggle_renderer(void);
41 void plat_validate_config(void);
42 void plat_update_volume(int has_changed, int is_up);
43
44 int  plat_is_dir(const char *path);
45 int  plat_wait_event(int *fds_hnds, int count, int timeout_ms);
46 void plat_sleep_ms(int ms);
47
48 /* ms counter, to be used for time diff */
49 unsigned int  plat_get_ticks_ms(void);
50
51 const char   *plat_get_credits(void);
52
53 #ifdef __cplusplus
54 } // extern "C"
55 #endif
56