comparison io.h @ 1111:2eb54e24914e

Mostly working changes to allow support for multiple emulated system types in main blastem program
author Michael Pavone <pavone@retrodev.com>
date Mon, 19 Dec 2016 13:28:18 -0800
parents 56b1748a8473
children fe8c79f82c22
comparison
equal deleted inserted replaced
1110:d1eed3b1121c 1111:2eb54e24914e
57 uint8_t control; 57 uint8_t control;
58 uint8_t input[3]; 58 uint8_t input[3];
59 uint8_t device_type; 59 uint8_t device_type;
60 } io_port; 60 } io_port;
61 61
62 typedef struct {
63 io_port ports[3];
64 uint8_t mouse_mode;
65 uint8_t mouse_captured;
66 } sega_io;
67
62 #define GAMEPAD_TH0 0 68 #define GAMEPAD_TH0 0
63 #define GAMEPAD_TH1 1 69 #define GAMEPAD_TH1 1
64 #define GAMEPAD_EXTRA 2 70 #define GAMEPAD_EXTRA 2
65 #define GAMEPAD_NONE 0xF 71 #define GAMEPAD_NONE 0xF
66 72
75 IO_READ 81 IO_READ
76 }; 82 };
77 83
78 typedef struct genesis_context genesis_context; 84 typedef struct genesis_context genesis_context;
79 85
80 void set_keybindings(io_port *ports); 86 void set_keybindings(sega_io *io);
81 void map_all_bindings(io_port *ports); 87 void map_all_bindings(sega_io *io);
82 void setup_io_devices(tern_node * config, rom_info *rom, genesis_context * gen); 88 void setup_io_devices(tern_node * config, rom_info *rom, genesis_context * gen);
83 void io_adjust_cycles(io_port * pad, uint32_t current_cycle, uint32_t deduction); 89 void io_adjust_cycles(io_port * pad, uint32_t current_cycle, uint32_t deduction);
84 void io_data_write(io_port * pad, uint8_t value, uint32_t current_cycle); 90 void io_data_write(io_port * pad, uint8_t value, uint32_t current_cycle);
85 uint8_t io_data_read(io_port * pad, uint32_t current_cycle); 91 uint8_t io_data_read(io_port * pad, uint32_t current_cycle);
86 void handle_keydown(int keycode, uint8_t scancode); 92 void handle_keydown(int keycode, uint8_t scancode);