Mercurial > repos > blastem
comparison system.h @ 1692:5dacaef602a7 segacd
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 05 Jan 2019 00:58:08 -0800 |
parents | d2d637dbacfb 6909c5d0bbb5 |
children | 3414a4423de1 |
comparison
equal
deleted
inserted
replaced
1504:95b3a1a8b26c | 1692:5dacaef602a7 |
---|---|
20 | 20 |
21 typedef void (*system_fun)(system_header *); | 21 typedef void (*system_fun)(system_header *); |
22 typedef uint16_t (*system_fun_r16)(system_header *); | 22 typedef uint16_t (*system_fun_r16)(system_header *); |
23 typedef void (*system_str_fun)(system_header *, char *); | 23 typedef void (*system_str_fun)(system_header *, char *); |
24 typedef uint8_t (*system_str_fun_r8)(system_header *, char *); | 24 typedef uint8_t (*system_str_fun_r8)(system_header *, char *); |
25 typedef void (*speed_system_fun)(system_header *, uint32_t); | 25 typedef void (*system_u32_fun)(system_header *, uint32_t); |
26 typedef void (*system_u8_fun)(system_header *, uint8_t); | |
26 typedef uint8_t (*system_u8_fun_r8)(system_header *, uint8_t); | 27 typedef uint8_t (*system_u8_fun_r8)(system_header *, uint8_t); |
28 typedef void (*system_u8_u8_fun)(system_header *, uint8_t, uint8_t); | |
29 typedef void (*system_mabs_fun)(system_header *, uint8_t, uint16_t, uint16_t); | |
30 typedef void (*system_mrel_fun)(system_header *, uint8_t, int32_t, int32_t); | |
27 | 31 |
28 #include "arena.h" | 32 #include "arena.h" |
29 #include "romdb.h" | 33 #include "romdb.h" |
30 | 34 |
31 struct system_header { | 35 struct system_header { |
37 system_u8_fun_r8 load_state; | 41 system_u8_fun_r8 load_state; |
38 system_fun request_exit; | 42 system_fun request_exit; |
39 system_fun soft_reset; | 43 system_fun soft_reset; |
40 system_fun free_context; | 44 system_fun free_context; |
41 system_fun_r16 get_open_bus_value; | 45 system_fun_r16 get_open_bus_value; |
42 speed_system_fun set_speed_percent; | 46 system_u32_fun set_speed_percent; |
43 system_fun inc_debug_mode; | 47 system_fun inc_debug_mode; |
44 system_fun inc_debug_pal; | 48 system_u8_u8_fun gamepad_down; |
49 system_u8_u8_fun gamepad_up; | |
50 system_u8_u8_fun mouse_down; | |
51 system_u8_u8_fun mouse_up; | |
52 system_mabs_fun mouse_motion_absolute; | |
53 system_mrel_fun mouse_motion_relative; | |
54 system_u8_fun keyboard_down; | |
55 system_u8_fun keyboard_up; | |
56 system_fun config_updated; | |
57 rom_info info; | |
45 arena *arena; | 58 arena *arena; |
46 char *next_rom; | 59 char *next_rom; |
47 char *save_dir; | 60 char *save_dir; |
48 uint8_t enter_debugger; | 61 uint8_t enter_debugger; |
49 uint8_t should_exit; | 62 uint8_t should_exit; |
50 uint8_t save_state; | 63 uint8_t save_state; |
64 uint8_t delayed_load_slot; | |
65 uint8_t has_keyboard; | |
51 debugger_type debugger_type; | 66 debugger_type debugger_type; |
52 system_type type; | 67 system_type type; |
53 }; | 68 }; |
54 | 69 |
55 typedef enum { | 70 typedef enum { |
68 }; | 83 }; |
69 | 84 |
70 #define OPT_ADDRESS_LOG (1U << 31U) | 85 #define OPT_ADDRESS_LOG (1U << 31U) |
71 | 86 |
72 system_type detect_system_type(system_media *media); | 87 system_type detect_system_type(system_media *media); |
73 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region, rom_info *info_out); | 88 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region); |
74 | 89 |
75 #endif //SYSTEM_H_ | 90 #endif //SYSTEM_H_ |