sram bugfix + savestate refactoring
[picodrive.git] / platform / common / plat.h
... / ...
CommitLineData
1#ifdef __cplusplus
2extern "C" {
3#endif
4
5/* stuff to be implemented by platform code */
6extern char cpu_clk_name[];
7
8void pemu_prep_defconfig(void);
9void pemu_loop_prep(void);
10void pemu_loop_end(void);
11void pemu_forced_frame(int opts);
12void pemu_video_mode_change(int is_32col, int is_240_lines);
13void pemu_update_display(const char *fps, const char *notice_msg);
14
15void pemu_sound_start(void);
16void pemu_sound_stop(void);
17void pemu_sound_wait(void);
18
19void menu_romload_prepare(const char *rom_name);
20void menu_romload_end(void);
21
22void plat_early_init(void);
23void plat_init(void);
24void plat_finish(void);
25
26/* return the dir/ where configs, saves, bios, etc. are found */
27int plat_get_root_dir(char *dst, int len);
28
29/* used before things blocking for a while (these funcs redraw on return) */
30void plat_status_msg_busy_first(const char *msg);
31void plat_status_msg_busy_next(const char *msg);
32void plat_status_msg_clear(void);
33
34/* menu: enter (switch bpp, etc), begin/end drawing */
35void plat_video_menu_enter(int is_rom_loaded);
36void plat_video_menu_begin(void);
37void plat_video_menu_end(void);
38
39void plat_video_wait_vsync(void);
40void plat_video_toggle_renderer(int is_next, int is_menu);
41void plat_validate_config(void);
42void plat_update_volume(int has_changed, int is_up);
43
44int plat_is_dir(const char *path);
45int plat_wait_event(int *fds_hnds, int count, int timeout_ms);
46void plat_sleep_ms(int ms);
47
48/* timers, to be used for time diff and must refet to the same clock */
49unsigned int plat_get_ticks_ms(void);
50unsigned int plat_get_ticks_us(void);
51void plat_wait_till_us(unsigned int us);
52
53const char *plat_get_credits(void);
54void plat_debug_cat(char *str);
55
56#ifdef __cplusplus
57} // extern "C"
58#endif
59