diff 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
line wrap: on
line diff
--- a/io.h	Sat May 06 00:09:14 2017 -0700
+++ b/io.h	Mon May 08 22:31:28 2017 -0700
@@ -60,6 +60,7 @@
 	uint8_t  output;
 	uint8_t  control;
 	uint8_t  input[3];
+	uint32_t slow_rise_start[8];
 	uint8_t  serial_out;
 	uint8_t  serial_in;
 	uint8_t  serial_ctrl;
@@ -95,6 +96,7 @@
 void map_all_bindings(sega_io *io);
 void setup_io_devices(tern_node * config, rom_info *rom, sega_io *io);
 void io_adjust_cycles(io_port * pad, uint32_t current_cycle, uint32_t deduction);
+void io_control_write(io_port *port, uint8_t value, uint32_t current_cycle);
 void io_data_write(io_port * pad, uint8_t value, uint32_t current_cycle);
 uint8_t io_data_read(io_port * pad, uint32_t current_cycle);
 void handle_keydown(int keycode, uint8_t scancode);