diff options
author | 2019-06-23 16:20:41 +0200 | |
---|---|---|
committer | 2019-06-23 16:20:55 +0200 | |
commit | 60d5aea439853dc9c30f27f8d450fa2e6147adda (patch) | |
tree | 8164065116d8a899bf4cfd92bda0da28f3155ce5 /src | |
parent | 9ca15bb54bdf25f89f5770f45fd4c70198ec99f9 (diff) |
cp2000: use sensorboard_device (nw)
Diffstat (limited to 'src')
-rw-r--r-- | src/devices/machine/sensorboard.cpp | 204 | ||||
-rw-r--r-- | src/mame/drivers/scisys_cp2000.cpp | 134 | ||||
-rw-r--r-- | src/mame/layout/scisys_cp2000.lay | 533 |
3 files changed, 475 insertions, 396 deletions
diff --git a/src/devices/machine/sensorboard.cpp b/src/devices/machine/sensorboard.cpp index 19ab7c2848b..784041f957b 100644 --- a/src/devices/machine/sensorboard.cpp +++ b/src/devices/machine/sensorboard.cpp @@ -384,8 +384,8 @@ INPUT_CHANGED_MEMBER(sensorboard_device::sensor) if (x >= m_width || y >= m_height) return; - // click delay - if (m_sensordelay != attotime::never && (m_magnets || m_inductive || ~m_inp_ui->read() & 2)) + // auto click / sensor delay + if (m_sensordelay != attotime::never && (m_magnets || m_inductive || (pos != m_handpos && ~m_inp_ui->read() & 2))) { m_sensorpos = pos; m_sensortimer->adjust(m_sensordelay); @@ -528,124 +528,124 @@ INPUT_CHANGED_MEMBER(sensorboard_device::ui_init) static INPUT_PORTS_START( sensorboard ) PORT_START("RANK.1") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x00) PORT_NAME("Board Sensor A1") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x01) PORT_NAME("Board Sensor B1") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x02) PORT_NAME("Board Sensor C1") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x03) PORT_NAME("Board Sensor D1") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x04) PORT_NAME("Board Sensor E1") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x05) PORT_NAME("Board Sensor F1") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x06) PORT_NAME("Board Sensor G1") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x07) PORT_NAME("Board Sensor H1") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x08) PORT_NAME("Board Sensor I1") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x09) PORT_NAME("Board Sensor J1") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x00) PORT_NAME("Sensor A1") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x01) PORT_NAME("Sensor B1") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x02) PORT_NAME("Sensor C1") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x03) PORT_NAME("Sensor D1") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x04) PORT_NAME("Sensor E1") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x05) PORT_NAME("Sensor F1") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x06) PORT_NAME("Sensor G1") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x07) PORT_NAME("Sensor H1") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x08) PORT_NAME("Sensor I1") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<16 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x09) PORT_NAME("Sensor J1") PORT_START("RANK.2") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x10) PORT_NAME("Board Sensor A2") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x11) PORT_NAME("Board Sensor B2") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x12) PORT_NAME("Board Sensor C2") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x13) PORT_NAME("Board Sensor D2") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x14) PORT_NAME("Board Sensor E2") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x15) PORT_NAME("Board Sensor F2") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x16) PORT_NAME("Board Sensor G2") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x17) PORT_NAME("Board Sensor H2") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x18) PORT_NAME("Board Sensor I2") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x19) PORT_NAME("Board Sensor J2") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x10) PORT_NAME("Sensor A2") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x11) PORT_NAME("Sensor B2") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x12) PORT_NAME("Sensor C2") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x13) PORT_NAME("Sensor D2") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x14) PORT_NAME("Sensor E2") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x15) PORT_NAME("Sensor F2") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x16) PORT_NAME("Sensor G2") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x17) PORT_NAME("Sensor H2") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x18) PORT_NAME("Sensor I2") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<17 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x19) PORT_NAME("Sensor J2") PORT_START("RANK.3") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x20) PORT_NAME("Board Sensor A3") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x21) PORT_NAME("Board Sensor B3") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x22) PORT_NAME("Board Sensor C3") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x23) PORT_NAME("Board Sensor D3") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x24) PORT_NAME("Board Sensor E3") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x25) PORT_NAME("Board Sensor F3") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x26) PORT_NAME("Board Sensor G3") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x27) PORT_NAME("Board Sensor H3") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x28) PORT_NAME("Board Sensor I3") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x29) PORT_NAME("Board Sensor J3") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x20) PORT_NAME("Sensor A3") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x21) PORT_NAME("Sensor B3") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x22) PORT_NAME("Sensor C3") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x23) PORT_NAME("Sensor D3") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x24) PORT_NAME("Sensor E3") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x25) PORT_NAME("Sensor F3") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x26) PORT_NAME("Sensor G3") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x27) PORT_NAME("Sensor H3") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x28) PORT_NAME("Sensor I3") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<18 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x29) PORT_NAME("Sensor J3") PORT_START("RANK.4") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x30) PORT_NAME("Board Sensor A4") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x31) PORT_NAME("Board Sensor B4") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x32) PORT_NAME("Board Sensor C4") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x33) PORT_NAME("Board Sensor D4") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x34) PORT_NAME("Board Sensor E4") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x35) PORT_NAME("Board Sensor F4") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x36) PORT_NAME("Board Sensor G4") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x37) PORT_NAME("Board Sensor H4") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x38) PORT_NAME("Board Sensor I4") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x39) PORT_NAME("Board Sensor J4") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x30) PORT_NAME("Sensor A4") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x31) PORT_NAME("Sensor B4") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x32) PORT_NAME("Sensor C4") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x33) PORT_NAME("Sensor D4") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x34) PORT_NAME("Sensor E4") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x35) PORT_NAME("Sensor F4") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x36) PORT_NAME("Sensor G4") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x37) PORT_NAME("Sensor H4") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x38) PORT_NAME("Sensor I4") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<19 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x39) PORT_NAME("Sensor J4") PORT_START("RANK.5") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x40) PORT_NAME("Board Sensor A5") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x41) PORT_NAME("Board Sensor B5") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x42) PORT_NAME("Board Sensor C5") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x43) PORT_NAME("Board Sensor D5") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x44) PORT_NAME("Board Sensor E5") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x45) PORT_NAME("Board Sensor F5") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x46) PORT_NAME("Board Sensor G5") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x47) PORT_NAME("Board Sensor H5") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x48) PORT_NAME("Board Sensor I5") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x49) PORT_NAME("Board Sensor J5") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x40) PORT_NAME("Sensor A5") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x41) PORT_NAME("Sensor B5") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x42) PORT_NAME("Sensor C5") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x43) PORT_NAME("Sensor D5") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x44) PORT_NAME("Sensor E5") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x45) PORT_NAME("Sensor F5") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x46) PORT_NAME("Sensor G5") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x47) PORT_NAME("Sensor H5") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x48) PORT_NAME("Sensor I5") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<20 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x49) PORT_NAME("Sensor J5") PORT_START("RANK.6") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x50) PORT_NAME("Board Sensor A6") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x51) PORT_NAME("Board Sensor B6") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x52) PORT_NAME("Board Sensor C6") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x53) PORT_NAME("Board Sensor D6") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x54) PORT_NAME("Board Sensor E6") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x55) PORT_NAME("Board Sensor F6") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x56) PORT_NAME("Board Sensor G6") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x57) PORT_NAME("Board Sensor H6") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x58) PORT_NAME("Board Sensor I6") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x59) PORT_NAME("Board Sensor J6") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x50) PORT_NAME("Sensor A6") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x51) PORT_NAME("Sensor B6") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x52) PORT_NAME("Sensor C6") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x53) PORT_NAME("Sensor D6") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x54) PORT_NAME("Sensor E6") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x55) PORT_NAME("Sensor F6") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x56) PORT_NAME("Sensor G6") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x57) PORT_NAME("Sensor H6") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x58) PORT_NAME("Sensor I6") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<21 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x59) PORT_NAME("Sensor J6") PORT_START("RANK.7") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x60) PORT_NAME("Board Sensor A7") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x61) PORT_NAME("Board Sensor B7") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x62) PORT_NAME("Board Sensor C7") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x63) PORT_NAME("Board Sensor D7") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x64) PORT_NAME("Board Sensor E7") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x65) PORT_NAME("Board Sensor F7") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x66) PORT_NAME("Board Sensor G7") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x67) PORT_NAME("Board Sensor H7") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x68) PORT_NAME("Board Sensor I7") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x69) PORT_NAME("Board Sensor J7") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x60) PORT_NAME("Sensor A7") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x61) PORT_NAME("Sensor B7") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x62) PORT_NAME("Sensor C7") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x63) PORT_NAME("Sensor D7") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x64) PORT_NAME("Sensor E7") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x65) PORT_NAME("Sensor F7") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x66) PORT_NAME("Sensor G7") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x67) PORT_NAME("Sensor H7") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x68) PORT_NAME("Sensor I7") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<22 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x69) PORT_NAME("Sensor J7") PORT_START("RANK.8") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x70) PORT_NAME("Board Sensor A8") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x71) PORT_NAME("Board Sensor B8") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x72) PORT_NAME("Board Sensor C8") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x73) PORT_NAME("Board Sensor D8") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x74) PORT_NAME("Board Sensor E8") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x75) PORT_NAME("Board Sensor F8") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x76) PORT_NAME("Board Sensor G8") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x77) PORT_NAME("Board Sensor H8") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x78) PORT_NAME("Board Sensor I8") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x79) PORT_NAME("Board Sensor J8") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x70) PORT_NAME("Sensor A8") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x71) PORT_NAME("Sensor B8") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x72) PORT_NAME("Sensor C8") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x73) PORT_NAME("Sensor D8") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x74) PORT_NAME("Sensor E8") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x75) PORT_NAME("Sensor F8") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x76) PORT_NAME("Sensor G8") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x77) PORT_NAME("Sensor H8") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x78) PORT_NAME("Sensor I8") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<23 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x79) PORT_NAME("Sensor J8") PORT_START("RANK.9") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x80) PORT_NAME("Board Sensor A9") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x81) PORT_NAME("Board Sensor B9") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x82) PORT_NAME("Board Sensor C9") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x83) PORT_NAME("Board Sensor D9") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x84) PORT_NAME("Board Sensor E9") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x85) PORT_NAME("Board Sensor F9") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x86) PORT_NAME("Board Sensor G9") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x87) PORT_NAME("Board Sensor H9") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x88) PORT_NAME("Board Sensor I9") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x89) PORT_NAME("Board Sensor J9") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x80) PORT_NAME("Sensor A9") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x81) PORT_NAME("Sensor B9") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x82) PORT_NAME("Sensor C9") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x83) PORT_NAME("Sensor D9") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x84) PORT_NAME("Sensor E9") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x85) PORT_NAME("Sensor F9") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x86) PORT_NAME("Sensor G9") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x87) PORT_NAME("Sensor H9") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x88) PORT_NAME("Sensor I9") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<24 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x89) PORT_NAME("Sensor J9") PORT_START("RANK.10") - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x90) PORT_NAME("Board Sensor A10") - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x91) PORT_NAME("Board Sensor B10") - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x92) PORT_NAME("Board Sensor C10") - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x93) PORT_NAME("Board Sensor D10") - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x94) PORT_NAME("Board Sensor E10") - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x95) PORT_NAME("Board Sensor F10") - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x96) PORT_NAME("Board Sensor G10") - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x97) PORT_NAME("Board Sensor H10") - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x98) PORT_NAME("Board Sensor I10") - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x99) PORT_NAME("Board Sensor J10") + PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x90) PORT_NAME("Sensor A10") + PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<1, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x91) PORT_NAME("Sensor B10") + PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<2, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x92) PORT_NAME("Sensor C10") + PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<3, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x93) PORT_NAME("Sensor D10") + PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<4, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x94) PORT_NAME("Sensor E10") + PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<5, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x95) PORT_NAME("Sensor F10") + PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<6, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x96) PORT_NAME("Sensor G10") + PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<7, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x97) PORT_NAME("Sensor H10") + PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<8, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x98) PORT_NAME("Sensor I10") + PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("BS_CHECK", 1<<25 | 1<<9, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, sensor, 0x99) PORT_NAME("Sensor J10") PORT_START("SPAWN") PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CONDITION("SS_CHECK", 1<<0, EQUALS, 0) PORT_CHANGED_MEMBER(DEVICE_SELF, sensorboard_device, ui_spawn, 1) PORT_NAME("Spawn Piece 1") diff --git a/src/mame/drivers/scisys_cp2000.cpp b/src/mame/drivers/scisys_cp2000.cpp index 62b27ffc05b..567bddeef2f 100644 --- a/src/mame/drivers/scisys_cp2000.cpp +++ b/src/mame/drivers/scisys_cp2000.cpp @@ -9,12 +9,19 @@ SciSys Chess Partner 2000, also sold by Novag with the same name. - 4KB ROM, 256 bytes RAM(2*2111N) - 4-digit 7seg panel, sensory chessboard +Entering moves is not as friendly as newer sensory games. The player is expected +to press ENTER after their own move, but if they (accidentally) press it after +doing the computer's move, the computer takes your turn. + +Capturing pieces is also unintuitive, having to press the destination square twice. + ******************************************************************************/ #include "emu.h" #include "cpu/f8/f8.h" #include "machine/f3853.h" #include "video/pwm.h" +#include "machine/sensorboard.h" #include "sound/dac.h" #include "sound/volt_reg.h" #include "speaker.h" @@ -32,6 +39,7 @@ public: driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_display(*this, "display"), + m_board(*this, "board"), m_dac(*this, "dac"), m_inputs(*this, "IN.%u", 0) { } @@ -46,8 +54,9 @@ private: // devices/pointers required_device<cpu_device> m_maincpu; required_device<pwm_display_device> m_display; + required_device<sensorboard_device> m_board; required_device<dac_bit_interface> m_dac; - required_ioport_array<12> m_inputs; + required_ioport_array<4> m_inputs; // address maps void main_map(address_map &map); @@ -59,24 +68,21 @@ private: DECLARE_WRITE8_MEMBER(digit_w); DECLARE_READ8_MEMBER(input_r); + u16 m_inp_mux; u8 m_select; - u16 m_cb_mux; - u8 m_kp_mux; u8 m_7seg_data; }; void cp2000_state::machine_start() { // zerofill + m_inp_mux = 0; m_select = 0; - m_cb_mux = 0; - m_kp_mux = 0; m_7seg_data = 0; // register for savestates save_item(NAME(m_select)); - save_item(NAME(m_cb_mux)); - save_item(NAME(m_kp_mux)); + save_item(NAME(m_inp_mux)); save_item(NAME(m_7seg_data)); } @@ -107,17 +113,15 @@ WRITE8_MEMBER(cp2000_state::control_w) READ8_MEMBER(cp2000_state::input_r) { - u8 data = m_kp_mux; + u8 data = m_inp_mux; // read chessboard buttons if (m_select & 0x10) { - u8 cb = 0; - for (int i = 0; i < 8; i++) - if (BIT(m_cb_mux, i)) - cb |= m_inputs[i]->read(); - - data |= (m_cb_mux & 0xff00) ? (cb & 0xf0) : (cb << 4); + u8 cb = m_board->read_rank((m_inp_mux >> 1 & 7) ^ 3); + if (m_inp_mux & 1) + cb <<= 4; + data |= cb & 0xf0; } // read keypad buttons @@ -125,12 +129,12 @@ READ8_MEMBER(cp2000_state::input_r) { // d0-d3: multiplexed inputs from d4-d7 for (int i = 0; i < 4; i++) - if (BIT(m_kp_mux, i+4)) - data |= m_inputs[i+8]->read(); + if (BIT(m_inp_mux, i+4)) + data |= m_inputs[i]->read(); // d4-d7: multiplexed inputs from d0-d3 for (int i = 0; i < 4; i++) - if (m_kp_mux & m_inputs[i+8]->read()) + if (m_inp_mux & m_inputs[i]->read()) data |= 1 << (i+4); } @@ -140,11 +144,8 @@ READ8_MEMBER(cp2000_state::input_r) WRITE8_MEMBER(cp2000_state::digit_w) { // d0-d3: chessboard input mux (demux) - m_cb_mux = 1 << (data & 0xf); - m_cb_mux |= m_cb_mux >> 8; - // d0-d7: keypad input mux (direct) - m_kp_mux = data; + m_inp_mux = data; // also digit segment data m_7seg_data = bitswap<8>(data,0,2,1,3,4,5,6,7); @@ -178,104 +179,24 @@ void cp2000_state::main_io(address_map &map) static INPUT_PORTS_START( cp2000 ) PORT_START("IN.0") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.3") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.4") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.5") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.6") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.7") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor") - - PORT_START("IN.8") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4 / Rook") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8 / Black") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Find Position") - PORT_START("IN.9") + PORT_START("IN.1") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3 / Bishop") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7 / White") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Enter") PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Enter Position") - PORT_START("IN.10") + PORT_START("IN.2") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2 / Knight") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6 / King") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("Cancel EP") PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("0 / Clear Square / Level") - PORT_START("IN.11") + PORT_START("IN.3") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1 / Pawn") PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5 / Queen") PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("Multi Move") @@ -299,6 +220,9 @@ void cp2000_state::cp2000(machine_config &config) f3853_device &f3853(F3853(config, "f3853", 2000000)); f3853.int_req_callback().set_inputline("maincpu", F8_INPUT_LINE_INT_REQ); + SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); + m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); + /* video hardware */ PWM_DISPLAY(config, m_display).set_size(4, 7); m_display->set_segmask(0xf, 0x7f); @@ -330,4 +254,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS -CONS( 1980, cp2000, 0, 0, cp2000, cp2000, cp2000_state, empty_init, "SciSys", "Chess Partner 2000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) +CONS( 1980, cp2000, 0, 0, cp2000, cp2000, cp2000_state, empty_init, "SciSys", "Chess Partner 2000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/layout/scisys_cp2000.lay b/src/mame/layout/scisys_cp2000.lay index 6a082267610..9c1cf6f2ec4 100644 --- a/src/mame/layout/scisys_cp2000.lay +++ b/src/mame/layout/scisys_cp2000.lay @@ -3,20 +3,14 @@ <!-- define elements --> + <element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> + <element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element> + <element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> + <element name="digit" defstate="0"> <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg> </element> - <element name="hl" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> <element name="hlb" defstate="0"> <text string=" "> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> @@ -28,70 +22,66 @@ </rect> </element> - <element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> - <element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element> - <element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> - <element name="text_cl00"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="A" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl01"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="B" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="B" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl02"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="C" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl03"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="D" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="D" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl04"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="E" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl05"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="F" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="F" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl06"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="G" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl07"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="H" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="H" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl10"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="A" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="A" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl11"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="B" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl12"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="C" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="C" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl13"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="D" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl14"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="E" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="E" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl15"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="F" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cl16"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="G" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="G" align="1"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cl17"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> @@ -103,61 +93,61 @@ <text string="8" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn01"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="7" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="7" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn02"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="6" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn03"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="5" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="5" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn04"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="4" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn05"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="3" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="3" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn06"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="2" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn07"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="1" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="1" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn10"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="8" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="8" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn11"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="7" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn12"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="6" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="6" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn13"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="5" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn14"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="4" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="4" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn15"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> <text string="3" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_cn16"> - <rect><color red="0.17" green="0.15" blue="0.15" /></rect> - <text string="2" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> + <rect><color red="0.41" green="0.4" blue="0.39" /></rect> + <text string="2" align="2"><color red="0.86" green="0.85" blue="0.84" /></text> </element> <element name="text_cn17"> <rect><color red="0.81" green="0.8" blue="0.79" /></rect> @@ -302,153 +292,318 @@ </element> -<!-- build screen --> - - <view name="Internal Layout"> - <bounds left="61" right="186" top="0" bottom="86" /> +<!-- sb board --> - <!-- chessboard bezel --> + <element name="cblack"><rect><color red="0.41" green="0.4" blue="0.39" /></rect></element> + <element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> - <bezel element="black"><bounds x="102" y="2" width="82" height="82" /></bezel> - <bezel element="white"><bounds x="103" y="3" width="80" height="80" /></bezel> - - <bezel element="black"><bounds x="113" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="133" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="153" y="2.5" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="173" y="2.5" width="10.5" height="10.5" /></bezel> - - <bezel element="black"><bounds x="102.5" y="13" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="123" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="143" y="13" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="163" y="13" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="113" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="133" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="153" y="23" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="173" y="23" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="102.5" y="33" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="123" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="143" y="33" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="163" y="33" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="113" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="133" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="153" y="43" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="173" y="43" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="102.5" y="53" width="10.5" height="10" /></bezel> - <bezel element="black"><bounds x="123" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="143" y="53" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="163" y="53" width="10" height="10" /></bezel> - - <bezel element="black"><bounds x="113" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="133" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="153" y="63" width="10" height="10" /></bezel> - <bezel element="black"><bounds x="173" y="63" width="10.5" height="10" /></bezel> - - <bezel element="black"><bounds x="102.5" y="73" width="10.5" height="10.5" /></bezel> - <bezel element="black"><bounds x="123" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="143" y="73" width="10" height="10.5" /></bezel> - <bezel element="black"><bounds x="163" y="73" width="10" height="10.5" /></bezel> - - <!-- chessboard coords --> + <element name="hlbb" defstate="0"> + <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> + <disk state="1"> + <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> + <color red="0" green="0" blue="0" /> + </disk> + </element> + <element name="piece" defstate="0"> + <image file="chess/wp.png" state="1"/> + <image file="chess/wn.png" state="2"/> + <image file="chess/wb.png" state="3"/> + <image file="chess/wr.png" state="4"/> + <image file="chess/wq.png" state="5"/> + <image file="chess/wk.png" state="6"/> + + <image file="chess/bp.png" state="7"/> + <image file="chess/bn.png" state="8"/> + <image file="chess/bb.png" state="9"/> + <image file="chess/br.png" state="10"/> + <image file="chess/bq.png" state="11"/> + <image file="chess/bk.png" state="12"/> + + <!-- selected pieces --> + <image file="chess/wp.png" state="13"><color alpha="0.5" /></image> + <image file="chess/wn.png" state="14"><color alpha="0.5" /></image> + <image file="chess/wb.png" state="15"><color alpha="0.5" /></image> + <image file="chess/wr.png" state="16"><color alpha="0.5" /></image> + <image file="chess/wq.png" state="17"><color alpha="0.5" /></image> + <image file="chess/wk.png" state="18"><color alpha="0.5" /></image> + + <image file="chess/bp.png" state="19"><color alpha="0.5" /></image> + <image file="chess/bn.png" state="20"><color alpha="0.5" /></image> + <image file="chess/bb.png" state="21"><color alpha="0.5" /></image> + <image file="chess/br.png" state="22"><color alpha="0.5" /></image> + <image file="chess/bq.png" state="23"><color alpha="0.5" /></image> + <image file="chess/bk.png" state="24"><color alpha="0.5" /></image> + </element> + + <group name="sb_board"> + <bounds x="0" y="0" width="80" height="80" /> + + <!-- squares (avoid seams) --> + <bezel element="cwhite"><bounds x="0" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="0" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="0" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="0" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="0" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="0" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="10" y="10" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="20" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="30" y="10" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="40" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="50" y="10" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="60" y="10" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="70" y="10" width="10" height="11" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="20" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="20" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="20" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="20" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="20" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="10" y="30" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="20" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="30" y="30" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="40" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="50" y="30" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="60" y="30" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="70" y="30" width="10" height="11" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="40" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="40" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="40" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="40" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="40" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="10" y="50" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="20" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="30" y="50" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="40" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="50" y="50" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="60" y="50" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="70" y="50" width="10" height="11" /></bezel> + + <bezel element="cwhite"><bounds x="0" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="10" y="60" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="20" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="30" y="60" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="40" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="50" y="60" width="11" height="11" /></bezel> + <bezel element="cwhite"><bounds x="60" y="60" width="11" height="11" /></bezel> + <bezel element="cblack"><bounds x="70" y="60" width="10" height="11" /></bezel> + + <bezel element="cblack"><bounds x="0" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="10" y="70" width="11" height="10" /></bezel> + <bezel element="cblack"><bounds x="20" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="30" y="70" width="11" height="10" /></bezel> + <bezel element="cblack"><bounds x="40" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="50" y="70" width="11" height="10" /></bezel> + <bezel element="cblack"><bounds x="60" y="70" width="11" height="10" /></bezel> + <bezel element="cwhite"><bounds x="70" y="70" width="10" height="10" /></bezel> + + <!-- coords --> <repeat count="4"> - <param name="y1" start="10.5" increment="20" /> - <param name="y2" start="20.5" increment="20" /> + <param name="y1" start="7.75" increment="20" /> + <param name="y2" start="17.75" increment="20" /> <repeat count="8"> <param name="i" start="0" increment="1" /> - <param name="x" start="103.5" increment="10" /> + <param name="x" start="0.5" increment="10" /> <bezel element="text_cl0~i~"><bounds x="~x~" y="~y1~" width="3" height="2" /></bezel> <bezel element="text_cl1~i~"><bounds x="~x~" y="~y2~" width="3" height="2" /></bezel> </repeat> </repeat> <repeat count="4"> - <param name="x1" start="109" increment="20" /> - <param name="x2" start="119" increment="20" /> + <param name="x1" start="6" increment="20" /> + <param name="x2" start="16" increment="20" /> <repeat count="8"> <param name="i" start="0" increment="1" /> - <param name="y" start="10.5" increment="10" /> + <param name="y" start="7.75" increment="10" /> <bezel element="text_cn0~i~"><bounds x="~x1~" y="~y~" width="3.5" height="2" /></bezel> <bezel element="text_cn1~i~"><bounds x="~x2~" y="~y~" width="3.5" height="2" /></bezel> </repeat> </repeat> - <!-- chessboard sensors --> - - <bezel element="hl" inputtag="IN.1" inputmask="0x10"><bounds x="103" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x20"><bounds x="113" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x40"><bounds x="123" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x80"><bounds x="133" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x10"><bounds x="143" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x20"><bounds x="153" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x40"><bounds x="163" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x80"><bounds x="173" y="3" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.3" inputmask="0x10"><bounds x="103" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x20"><bounds x="113" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x40"><bounds x="123" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x80"><bounds x="133" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x10"><bounds x="143" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x20"><bounds x="153" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x40"><bounds x="163" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x80"><bounds x="173" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="IN.5" inputmask="0x10"><bounds x="103" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x20"><bounds x="113" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x40"><bounds x="123" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x80"><bounds x="133" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x10"><bounds x="143" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x20"><bounds x="153" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x40"><bounds x="163" y="23" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x80"><bounds x="173" y="23" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.7" inputmask="0x10"><bounds x="103" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.7" inputmask="0x20"><bounds x="113" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.7" inputmask="0x40"><bounds x="123" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.7" inputmask="0x80"><bounds x="133" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x10"><bounds x="143" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x20"><bounds x="153" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x40"><bounds x="163" y="33" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x80"><bounds x="173" y="33" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="103" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="113" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="123" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="133" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x01"><bounds x="143" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="153" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="163" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="173" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="103" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="113" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="123" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="133" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="143" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="153" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="163" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="173" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> - - <bezel element="hl" inputtag="IN.5" inputmask="0x01"><bounds x="103" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x02"><bounds x="113" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x04"><bounds x="123" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.5" inputmask="0x08"><bounds x="133" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x01"><bounds x="143" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x02"><bounds x="153" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x04"><bounds x="163" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.4" inputmask="0x08"><bounds x="173" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> - - <bezel element="hl" inputtag="IN.7" inputmask="0x01"><bounds x="103" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.7" inputmask="0x02"><bounds x="113" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.7" inputmask="0x04"><bounds x="123" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.7" inputmask="0x08"><bounds x="133" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x01"><bounds x="143" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x02"><bounds x="153" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x04"><bounds x="163" y="73" width="10" height="10" /><color alpha="0.2" /></bezel> - <bezel element="hl" inputtag="IN.6" inputmask="0x08"><bounds x="173" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> + <!-- sensors, pieces --> + <repeat count="8"> + <param name="y" start="0" increment="10" /> + <param name="i" start="8" increment="-1" /> + + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.1" /></bezel> + + <bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_c~i~" element="piece"><bounds x="20" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_d~i~" element="piece"><bounds x="30" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_e~i~" element="piece"><bounds x="40" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_f~i~" element="piece"><bounds x="50" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_g~i~" element="piece"><bounds x="60" y="~y~" width="10" height="10" /></bezel> + <bezel name="piece_h~i~" element="piece"><bounds x="70" y="~y~" width="10" height="10" /></bezel> + </repeat> + </group> + + +<!-- sb ui --> + + <element name="hlub" defstate="0"> + <rect state="1"><color red="0" green="0" blue="0" /></rect> + </element> + + <element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uib2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uib3"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uih2"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uiu2a"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2b"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2c"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu2d"> + <rect><color red="0.81" green="0.8" blue="0.79" /></rect> + <text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text> + </element> + <element name="text_uiu3a" defstate="0"> + <simplecounter maxstate="999" digits="1" align="2"> + <color red="0.81" green="0.8" blue="0.79" /> + </simplecounter> + </element> + <element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element> + <element name="text_uiu3c" defstate="0"> + <simplecounter maxstate="999" digits="1" align="1"> + <color red="0.81" green="0.8" blue="0.79" /> + </simplecounter> + </element> + + <group name="sb_ui"> + <bounds x="0" y="0" width="10" height="80" /> + <bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel> + <bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel> + <bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel> + <bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel> + <bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel> + + <!-- board --> + <bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></bezel> + <bezel element="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></bezel> + + <bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel> + <bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel> + + <bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel> + + <!-- spawn --> + <bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel> + <bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel> + + <bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel> + <bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel> + <bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel> + <bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel> + <bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel> + <bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel> + <bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel> + <bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel> + <bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel> + <bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel> + <bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel> + <bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel> + + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel> + + <!-- hand --> + <bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel> + <bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel> + <bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel> + + <bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel> + <bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel> + + <!-- undo --> + <bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel> + <bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel> + <bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel> + <bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel> + + <bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + <bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel> + + <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel> + <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel> + <bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel> + </group> + + +<!-- build screen --> + + <view name="Internal Layout"> + <bounds left="61" right="198" top="0" bottom="86" /> + + <bezel element="black"><bounds x="102" y="2" width="82" height="82" /></bezel> + <group ref="sb_board"><bounds x="103" y="3" width="80" height="80" /></group> + + <!-- putting sb_ui on the right side, since chesscomputer has its own ui on the left --> + <group ref="sb_ui"><bounds x="186" y="3" width="10" height="80" /></group> <!-- left side display --> @@ -540,24 +695,24 @@ <bezel element="text_b14c"><bounds x="74.25" y="77.5" width="6.5" height="2.3" /></bezel> <bezel element="text_b15c"><bounds x="83" y="77.5" width="13" height="2.3" /></bezel> - <bezel element="hlb" inputtag="IN.11" inputmask="0x01"><bounds x="66" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.10" inputmask="0x01"><bounds x="74" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.9" inputmask="0x01"><bounds x="82" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.8" inputmask="0x01"><bounds x="90" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.3" inputmask="0x01"><bounds x="66" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.2" inputmask="0x01"><bounds x="74" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x01"><bounds x="82" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.0" inputmask="0x01"><bounds x="90" y="49" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.11" inputmask="0x02"><bounds x="66" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.10" inputmask="0x02"><bounds x="74" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.9" inputmask="0x02"><bounds x="82" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.8" inputmask="0x02"><bounds x="90" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.3" inputmask="0x02"><bounds x="66" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.2" inputmask="0x02"><bounds x="74" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x02"><bounds x="82" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.0" inputmask="0x02"><bounds x="90" y="57" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.10" inputmask="0x08"><bounds x="66" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.8" inputmask="0x08"><bounds x="74" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.9" inputmask="0x08"><bounds x="82" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.11" inputmask="0x04"><bounds x="90" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.2" inputmask="0x08"><bounds x="66" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.0" inputmask="0x08"><bounds x="74" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x08"><bounds x="82" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.3" inputmask="0x04"><bounds x="90" y="65" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.11" inputmask="0x08"><bounds x="66" y="73" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.10" inputmask="0x04"><bounds x="74" y="73" width="7" height="7" /><color alpha="0.22" /></bezel> - <bezel element="hlb" inputtag="IN.9" inputmask="0x04"><bounds x="82" y="73" width="15" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.3" inputmask="0x08"><bounds x="66" y="73" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.2" inputmask="0x04"><bounds x="74" y="73" width="7" height="7" /><color alpha="0.22" /></bezel> + <bezel element="hlb" inputtag="IN.1" inputmask="0x04"><bounds x="82" y="73" width="15" height="7" /><color alpha="0.22" /></bezel> </view> </mamelayout> |