Mercurial > repos > blastem
comparison system.h @ 1696:956c1cce05e2 mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 24 Jan 2019 19:15:59 -0800 |
parents | 319d90025d50 |
children | 508522f08e4d |
comparison
equal
deleted
inserted
replaced
1648:b7ecd0d6a77b | 1696:956c1cce05e2 |
---|---|
1 #ifndef SYSTEM_H_ | 1 #ifndef SYSTEM_H_ |
2 #define SYSTEM_H_ | 2 #define SYSTEM_H_ |
3 #include <stddef.h> | |
3 #include <stdint.h> | 4 #include <stdint.h> |
4 | 5 |
5 typedef struct system_header system_header; | 6 typedef struct system_header system_header; |
6 typedef struct system_media system_media; | 7 typedef struct system_media system_media; |
7 | 8 |
25 typedef void (*system_u8_fun)(system_header *, uint8_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); |
27 typedef void (*system_u8_u8_fun)(system_header *, uint8_t, uint8_t); | 28 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_mabs_fun)(system_header *, uint8_t, uint16_t, uint16_t); |
29 typedef void (*system_mrel_fun)(system_header *, uint8_t, int32_t, int32_t); | 30 typedef void (*system_mrel_fun)(system_header *, uint8_t, int32_t, int32_t); |
31 typedef uint8_t *(*system_ptrszt_fun_rptr8)(system_header *, size_t *); | |
32 typedef void (*system_ptr8_sizet_fun)(system_header *, uint8_t *, size_t); | |
30 | 33 |
31 #include "arena.h" | 34 #include "arena.h" |
32 #include "romdb.h" | 35 #include "romdb.h" |
33 | 36 |
34 struct system_header { | 37 struct system_header { |
35 system_header *next_context; | 38 system_header *next_context; |
36 system_str_fun start_context; | 39 system_str_fun start_context; |
37 system_fun resume_context; | 40 system_fun resume_context; |
38 system_fun load_save; | 41 system_fun load_save; |
39 system_fun persist_save; | 42 system_fun persist_save; |
40 system_u8_fun_r8 load_state; | 43 system_u8_fun_r8 load_state; |
41 system_fun request_exit; | 44 system_fun request_exit; |
42 system_fun soft_reset; | 45 system_fun soft_reset; |
43 system_fun free_context; | 46 system_fun free_context; |
44 system_fun_r16 get_open_bus_value; | 47 system_fun_r16 get_open_bus_value; |
45 system_u32_fun set_speed_percent; | 48 system_u32_fun set_speed_percent; |
46 system_fun inc_debug_mode; | 49 system_fun inc_debug_mode; |
47 system_u8_u8_fun gamepad_down; | 50 system_u8_u8_fun gamepad_down; |
48 system_u8_u8_fun gamepad_up; | 51 system_u8_u8_fun gamepad_up; |
49 system_u8_u8_fun mouse_down; | 52 system_u8_u8_fun mouse_down; |
50 system_u8_u8_fun mouse_up; | 53 system_u8_u8_fun mouse_up; |
51 system_mabs_fun mouse_motion_absolute; | 54 system_mabs_fun mouse_motion_absolute; |
52 system_mrel_fun mouse_motion_relative; | 55 system_mrel_fun mouse_motion_relative; |
53 system_u8_fun keyboard_down; | 56 system_u8_fun keyboard_down; |
54 system_u8_fun keyboard_up; | 57 system_u8_fun keyboard_up; |
55 system_fun config_updated; | 58 system_fun config_updated; |
56 rom_info info; | 59 system_ptrszt_fun_rptr8 serialize; |
57 arena *arena; | 60 system_ptr8_sizet_fun deserialize; |
58 char *next_rom; | 61 rom_info info; |
59 char *save_dir; | 62 arena *arena; |
60 uint8_t enter_debugger; | 63 char *next_rom; |
61 uint8_t should_exit; | 64 char *save_dir; |
62 uint8_t save_state; | 65 uint8_t enter_debugger; |
63 uint8_t delayed_load_slot; | 66 uint8_t should_exit; |
64 uint8_t has_keyboard; | 67 uint8_t save_state; |
65 debugger_type debugger_type; | 68 uint8_t delayed_load_slot; |
66 system_type type; | 69 uint8_t has_keyboard; |
70 debugger_type debugger_type; | |
71 system_type type; | |
67 }; | 72 }; |
68 | 73 |
69 struct system_media { | 74 struct system_media { |
70 void *buffer; | 75 void *buffer; |
71 char *dir; | 76 char *dir; |