Mercurial > repos > blastem
comparison io.h @ 1348:040c5600e2d9
Implemented slow rise time of IO pins set as inputs, but not driven by device. Fixes input in Decap Attack and possibly other games with buggy controller code
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 08 May 2017 22:31:28 -0700 |
parents | d966298442d4 |
children | 4e5797b3935a |
comparison
equal
deleted
inserted
replaced
1347:4c4beb22b042 | 1348:040c5600e2d9 |
---|---|
58 } keyboard; | 58 } keyboard; |
59 } device; | 59 } device; |
60 uint8_t output; | 60 uint8_t output; |
61 uint8_t control; | 61 uint8_t control; |
62 uint8_t input[3]; | 62 uint8_t input[3]; |
63 uint32_t slow_rise_start[8]; | |
63 uint8_t serial_out; | 64 uint8_t serial_out; |
64 uint8_t serial_in; | 65 uint8_t serial_in; |
65 uint8_t serial_ctrl; | 66 uint8_t serial_ctrl; |
66 uint8_t device_type; | 67 uint8_t device_type; |
67 } io_port; | 68 } io_port; |
93 | 94 |
94 void set_keybindings(sega_io *io); | 95 void set_keybindings(sega_io *io); |
95 void map_all_bindings(sega_io *io); | 96 void map_all_bindings(sega_io *io); |
96 void setup_io_devices(tern_node * config, rom_info *rom, sega_io *io); | 97 void setup_io_devices(tern_node * config, rom_info *rom, sega_io *io); |
97 void io_adjust_cycles(io_port * pad, uint32_t current_cycle, uint32_t deduction); | 98 void io_adjust_cycles(io_port * pad, uint32_t current_cycle, uint32_t deduction); |
99 void io_control_write(io_port *port, uint8_t value, uint32_t current_cycle); | |
98 void io_data_write(io_port * pad, uint8_t value, uint32_t current_cycle); | 100 void io_data_write(io_port * pad, uint8_t value, uint32_t current_cycle); |
99 uint8_t io_data_read(io_port * pad, uint32_t current_cycle); | 101 uint8_t io_data_read(io_port * pad, uint32_t current_cycle); |
100 void handle_keydown(int keycode, uint8_t scancode); | 102 void handle_keydown(int keycode, uint8_t scancode); |
101 void handle_keyup(int keycode, uint8_t scancode); | 103 void handle_keyup(int keycode, uint8_t scancode); |
102 void handle_joydown(int joystick, int button); | 104 void handle_joydown(int joystick, int button); |