Mercurial > repos > blastem
comparison system.h @ 1648:b7ecd0d6a77b mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 25 Dec 2018 11:12:26 -0800 |
parents | 6909c5d0bbb5 |
children | 319d90025d50 5dacaef602a7 |
comparison
equal
deleted
inserted
replaced
1509:36732f5c2281 | 1648:b7ecd0d6a77b |
---|---|
19 | 19 |
20 typedef void (*system_fun)(system_header *); | 20 typedef void (*system_fun)(system_header *); |
21 typedef uint16_t (*system_fun_r16)(system_header *); | 21 typedef uint16_t (*system_fun_r16)(system_header *); |
22 typedef void (*system_str_fun)(system_header *, char *); | 22 typedef void (*system_str_fun)(system_header *, char *); |
23 typedef uint8_t (*system_str_fun_r8)(system_header *, char *); | 23 typedef uint8_t (*system_str_fun_r8)(system_header *, char *); |
24 typedef void (*speed_system_fun)(system_header *, uint32_t); | 24 typedef void (*system_u32_fun)(system_header *, uint32_t); |
25 typedef void (*system_u8_fun)(system_header *, uint8_t); | |
25 typedef uint8_t (*system_u8_fun_r8)(system_header *, uint8_t); | 26 typedef uint8_t (*system_u8_fun_r8)(system_header *, uint8_t); |
27 typedef void (*system_u8_u8_fun)(system_header *, uint8_t, uint8_t); | |
28 typedef void (*system_mabs_fun)(system_header *, uint8_t, uint16_t, uint16_t); | |
29 typedef void (*system_mrel_fun)(system_header *, uint8_t, int32_t, int32_t); | |
26 | 30 |
27 #include "arena.h" | 31 #include "arena.h" |
28 #include "romdb.h" | 32 #include "romdb.h" |
29 | 33 |
30 struct system_header { | 34 struct system_header { |
36 system_u8_fun_r8 load_state; | 40 system_u8_fun_r8 load_state; |
37 system_fun request_exit; | 41 system_fun request_exit; |
38 system_fun soft_reset; | 42 system_fun soft_reset; |
39 system_fun free_context; | 43 system_fun free_context; |
40 system_fun_r16 get_open_bus_value; | 44 system_fun_r16 get_open_bus_value; |
41 speed_system_fun set_speed_percent; | 45 system_u32_fun set_speed_percent; |
42 system_fun inc_debug_mode; | 46 system_fun inc_debug_mode; |
43 system_fun inc_debug_pal; | 47 system_u8_u8_fun gamepad_down; |
48 system_u8_u8_fun gamepad_up; | |
49 system_u8_u8_fun mouse_down; | |
50 system_u8_u8_fun mouse_up; | |
51 system_mabs_fun mouse_motion_absolute; | |
52 system_mrel_fun mouse_motion_relative; | |
53 system_u8_fun keyboard_down; | |
54 system_u8_fun keyboard_up; | |
55 system_fun config_updated; | |
56 rom_info info; | |
44 arena *arena; | 57 arena *arena; |
45 char *next_rom; | 58 char *next_rom; |
46 char *save_dir; | 59 char *save_dir; |
47 uint8_t enter_debugger; | 60 uint8_t enter_debugger; |
48 uint8_t should_exit; | 61 uint8_t should_exit; |
49 uint8_t save_state; | 62 uint8_t save_state; |
63 uint8_t delayed_load_slot; | |
64 uint8_t has_keyboard; | |
50 debugger_type debugger_type; | 65 debugger_type debugger_type; |
51 system_type type; | 66 system_type type; |
52 }; | 67 }; |
53 | 68 |
54 struct system_media { | 69 struct system_media { |
61 }; | 76 }; |
62 | 77 |
63 #define OPT_ADDRESS_LOG (1U << 31U) | 78 #define OPT_ADDRESS_LOG (1U << 31U) |
64 | 79 |
65 system_type detect_system_type(system_media *media); | 80 system_type detect_system_type(system_media *media); |
66 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region, rom_info *info_out); | 81 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region); |
67 | 82 |
68 #endif //SYSTEM_H_ | 83 #endif //SYSTEM_H_ |