summaryrefslogtreecommitdiff
path: root/io.h
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2016-12-19 13:28:18 -0800
committerMichael Pavone <pavone@retrodev.com>2016-12-19 13:28:18 -0800
commit7b8127d36a9c6a824da4f1709bdee12c40c631a5 (patch)
tree33d0e6914620deaee1296f1672091c5b79793778 /io.h
parent11861fca5815015b2afb712f328195c5f7bc231e (diff)
Mostly working changes to allow support for multiple emulated system types in main blastem program
Diffstat (limited to 'io.h')
-rw-r--r--io.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/io.h b/io.h
index ead06ba..b0de148 100644
--- a/io.h
+++ b/io.h
@@ -59,6 +59,12 @@ typedef struct {
uint8_t device_type;
} io_port;
+typedef struct {
+ io_port ports[3];
+ uint8_t mouse_mode;
+ uint8_t mouse_captured;
+} sega_io;
+
#define GAMEPAD_TH0 0
#define GAMEPAD_TH1 1
#define GAMEPAD_EXTRA 2
@@ -77,8 +83,8 @@ enum {
typedef struct genesis_context genesis_context;
-void set_keybindings(io_port *ports);
-void map_all_bindings(io_port *ports);
+void set_keybindings(sega_io *io);
+void map_all_bindings(sega_io *io);
void setup_io_devices(tern_node * config, rom_info *rom, genesis_context * gen);
void io_adjust_cycles(io_port * pad, uint32_t current_cycle, uint32_t deduction);
void io_data_write(io_port * pad, uint8_t value, uint32_t current_cycle);