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_