Mercurial > repos > blastem
comparison system.h @ 1983:a7b753e260a2 mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 09 May 2020 23:39:44 -0700 |
parents | 81df9aa2de9b |
children | 3414a4423de1 |
comparison
equal
deleted
inserted
replaced
1937:cafde1255ad3 | 1983:a7b753e260a2 |
---|---|
7 typedef struct system_media system_media; | 7 typedef struct system_media system_media; |
8 | 8 |
9 typedef enum { | 9 typedef enum { |
10 SYSTEM_UNKNOWN, | 10 SYSTEM_UNKNOWN, |
11 SYSTEM_GENESIS, | 11 SYSTEM_GENESIS, |
12 SYSTEM_GENESIS_PLAYER, | |
12 SYSTEM_SMS, | 13 SYSTEM_SMS, |
13 SYSTEM_JAGUAR | 14 SYSTEM_SMS_PLAYER, |
15 SYSTEM_JAGUAR, | |
14 } system_type; | 16 } system_type; |
15 | 17 |
16 typedef enum { | 18 typedef enum { |
17 DEBUGGER_NATIVE, | 19 DEBUGGER_NATIVE, |
18 DEBUGGER_GDB | 20 DEBUGGER_GDB |
31 typedef uint8_t *(*system_ptrszt_fun_rptr8)(system_header *, size_t *); | 33 typedef uint8_t *(*system_ptrszt_fun_rptr8)(system_header *, size_t *); |
32 typedef void (*system_ptr8_sizet_fun)(system_header *, uint8_t *, size_t); | 34 typedef void (*system_ptr8_sizet_fun)(system_header *, uint8_t *, size_t); |
33 | 35 |
34 #include "arena.h" | 36 #include "arena.h" |
35 #include "romdb.h" | 37 #include "romdb.h" |
38 #include "event_log.h" | |
36 | 39 |
37 struct system_header { | 40 struct system_header { |
38 system_header *next_context; | 41 system_header *next_context; |
39 system_str_fun start_context; | 42 system_str_fun start_context; |
40 system_fun resume_context; | 43 system_fun resume_context; |
68 uint8_t should_exit; | 71 uint8_t should_exit; |
69 uint8_t save_state; | 72 uint8_t save_state; |
70 uint8_t delayed_load_slot; | 73 uint8_t delayed_load_slot; |
71 uint8_t has_keyboard; | 74 uint8_t has_keyboard; |
72 uint8_t vgm_logging; | 75 uint8_t vgm_logging; |
76 uint8_t force_release; | |
73 debugger_type debugger_type; | 77 debugger_type debugger_type; |
74 system_type type; | 78 system_type type; |
75 }; | 79 }; |
76 | 80 |
77 struct system_media { | 81 struct system_media { |
85 | 89 |
86 #define OPT_ADDRESS_LOG (1U << 31U) | 90 #define OPT_ADDRESS_LOG (1U << 31U) |
87 | 91 |
88 system_type detect_system_type(system_media *media); | 92 system_type detect_system_type(system_media *media); |
89 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region); | 93 system_header *alloc_config_system(system_type stype, system_media *media, uint32_t opts, uint8_t force_region); |
94 system_header *alloc_config_player(system_type stype, event_reader *reader); | |
95 void system_request_exit(system_header *system, uint8_t force_release); | |
90 | 96 |
91 #endif //SYSTEM_H_ | 97 #endif //SYSTEM_H_ |