Mercurial > repos > blastem
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 { |