comparison system.h @ 1583:430dd12e4010

Refactor to split device bindings from IO emulation code
author Michael Pavone <pavone@retrodev.com>
date Sat, 05 May 2018 23:30:40 -0700
parents a568dca999b2
children 360d5bab199f
comparison
equal deleted inserted replaced
1582:a74db49fa6b1 1583:430dd12e4010
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_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;
44 arena *arena; 56 arena *arena;
45 char *next_rom; 57 char *next_rom;
46 char *save_dir; 58 char *save_dir;
47 uint8_t enter_debugger; 59 uint8_t enter_debugger;
48 uint8_t should_exit; 60 uint8_t should_exit;
49 uint8_t save_state; 61 uint8_t save_state;
50 uint8_t delayed_load_slot; 62 uint8_t delayed_load_slot;
63 uint8_t has_keyboard;
51 debugger_type debugger_type; 64 debugger_type debugger_type;
52 system_type type; 65 system_type type;
53 }; 66 };
54 67
55 struct system_media { 68 struct system_media {