summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/sensorboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/sensorboard.h')
-rw-r--r--src/devices/machine/sensorboard.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/devices/machine/sensorboard.h b/src/devices/machine/sensorboard.h
index c710d1cdfeb..77f43bfd26c 100644
--- a/src/devices/machine/sensorboard.h
+++ b/src/devices/machine/sensorboard.h
@@ -32,12 +32,12 @@ public:
sensorboard_device &set_ui_enable(bool b) { if (!b) m_maxspawn = 0; m_ui_enabled = (b) ? 3 : 0; return *this; } // enable UI inputs
sensorboard_device &set_mod_enable(bool b) { if (b) m_ui_enabled |= 1; else m_ui_enabled &= 2; return *this; } // enable modifier keys
- auto init_cb() { return m_custom_init_cb.bind(); }
+ auto init_cb() { return m_custom_init_cb.bind(); } // for setting pieces starting position
auto sensor_cb() { return m_custom_sensor_cb.bind(); } // x = offset & 0xf, y = offset >> 4 & 0xf
auto spawn_cb() { return m_custom_spawn_cb.bind(); } // spawnpoint/piece = offset, retval = new piece id
auto output_cb() { return m_custom_output_cb.bind(); } // pos = offset(A8 for ui/board, A9 for count), id = data
- int preset_chess(); // init_cb() preset for chessboards
+ void preset_chess(int state); // init_cb() preset for chessboards
// read sensors
u8 read_sensor(u8 x, u8 y);
@@ -47,8 +47,7 @@ public:
// handle board state
u8 read_piece(u8 x, u8 y) { return m_curstate[y * m_width + x]; }
void write_piece(u8 x, u8 y, u8 id) { m_curstate[y * m_width + x] = id; }
- u8 read_init(u8 x, u8 y) { return m_inistate[y * m_width + x]; }
- void write_init(u8 x, u8 y, u8 id) { m_inistate[y * m_width + x] = id; } // for setting initial board state
+ void clear_board() { memset(m_curstate, 0, ARRAY_LENGTH(m_curstate)); }
void refresh();
@@ -85,7 +84,7 @@ private:
required_ioport_array<10> m_inp_rank;
required_ioport m_inp_ui;
- devcb_read_line m_custom_init_cb;
+ devcb_write_line m_custom_init_cb;
devcb_read8 m_custom_sensor_cb;
devcb_read8 m_custom_spawn_cb;
devcb_write16 m_custom_output_cb;
@@ -105,7 +104,6 @@ private:
u8 m_ui_enabled;
u8 m_curstate[0x100];
- u8 m_inistate[0x100];
u8 m_history[1000][0x100];
u8 m_uselect;