cp2000: use sensorboard_device (nw)

This commit is contained in:
hap 2019-06-23 16:20:41 +02:00
parent 9ca15bb54b
commit 60d5aea439
3 changed files with 457 additions and 378 deletions

View File

@ -384,8 +384,8 @@ INPUT_CHANGED_MEMBER(sensorboard_device::sensor)
if (x >= m_width || y >= m_height) if (x >= m_width || y >= m_height)
return; return;
// click delay // auto click / sensor delay
if (m_sensordelay != attotime::never && (m_magnets || m_inductive || ~m_inp_ui->read() & 2)) if (m_sensordelay != attotime::never && (m_magnets || m_inductive || (pos != m_handpos && ~m_inp_ui->read() & 2)))
{ {
m_sensorpos = pos; m_sensorpos = pos;
m_sensortimer->adjust(m_sensordelay); m_sensortimer->adjust(m_sensordelay);
@ -528,124 +528,124 @@ INPUT_CHANGED_MEMBER(sensorboard_device::ui_init)
static INPUT_PORTS_START( sensorboard ) static INPUT_PORTS_START( sensorboard )
PORT_START("RANK.1") 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(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("Board Sensor B1") 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("Board Sensor C1") 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("Board Sensor D1") 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("Board Sensor E1") 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("Board Sensor F1") 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("Board Sensor G1") 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("Board Sensor H1") 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("Board Sensor I1") 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("Board Sensor J1") 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_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(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("Board Sensor B2") 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("Board Sensor C2") 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("Board Sensor D2") 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("Board Sensor E2") 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("Board Sensor F2") 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("Board Sensor G2") 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("Board Sensor H2") 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("Board Sensor I2") 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("Board Sensor J2") 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_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(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("Board Sensor B3") 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("Board Sensor C3") 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("Board Sensor D3") 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("Board Sensor E3") 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("Board Sensor F3") 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("Board Sensor G3") 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("Board Sensor H3") 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("Board Sensor I3") 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("Board Sensor J3") 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_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(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("Board Sensor B4") 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("Board Sensor C4") 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("Board Sensor D4") 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("Board Sensor E4") 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("Board Sensor F4") 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("Board Sensor G4") 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("Board Sensor H4") 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("Board Sensor I4") 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("Board Sensor J4") 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_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(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("Board Sensor B5") 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("Board Sensor C5") 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("Board Sensor D5") 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("Board Sensor E5") 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("Board Sensor F5") 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("Board Sensor G5") 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("Board Sensor H5") 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("Board Sensor I5") 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("Board Sensor J5") 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_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(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("Board Sensor B6") 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("Board Sensor C6") 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("Board Sensor D6") 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("Board Sensor E6") 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("Board Sensor F6") 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("Board Sensor G6") 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("Board Sensor H6") 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("Board Sensor I6") 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("Board Sensor J6") 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_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(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("Board Sensor B7") 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("Board Sensor C7") 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("Board Sensor D7") 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("Board Sensor E7") 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("Board Sensor F7") 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("Board Sensor G7") 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("Board Sensor H7") 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("Board Sensor I7") 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("Board Sensor J7") 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_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(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("Board Sensor B8") 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("Board Sensor C8") 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("Board Sensor D8") 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("Board Sensor E8") 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("Board Sensor F8") 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("Board Sensor G8") 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("Board Sensor H8") 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("Board Sensor I8") 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("Board Sensor J8") 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_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(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("Board Sensor B9") 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("Board Sensor C9") 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("Board Sensor D9") 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("Board Sensor E9") 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("Board Sensor F9") 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("Board Sensor G9") 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("Board Sensor H9") 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("Board Sensor I9") 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("Board Sensor J9") 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_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(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("Board Sensor B10") 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("Board Sensor C10") 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("Board Sensor D10") 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("Board Sensor E10") 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("Board Sensor F10") 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("Board Sensor G10") 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("Board Sensor H10") 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("Board Sensor I10") 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("Board Sensor J10") 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_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") 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")

View File

@ -9,12 +9,19 @@ SciSys Chess Partner 2000, also sold by Novag with the same name.
- 4KB ROM, 256 bytes RAM(2*2111N) - 4KB ROM, 256 bytes RAM(2*2111N)
- 4-digit 7seg panel, sensory chessboard - 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 "emu.h"
#include "cpu/f8/f8.h" #include "cpu/f8/f8.h"
#include "machine/f3853.h" #include "machine/f3853.h"
#include "video/pwm.h" #include "video/pwm.h"
#include "machine/sensorboard.h"
#include "sound/dac.h" #include "sound/dac.h"
#include "sound/volt_reg.h" #include "sound/volt_reg.h"
#include "speaker.h" #include "speaker.h"
@ -32,6 +39,7 @@ public:
driver_device(mconfig, type, tag), driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_display(*this, "display"), m_display(*this, "display"),
m_board(*this, "board"),
m_dac(*this, "dac"), m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0) m_inputs(*this, "IN.%u", 0)
{ } { }
@ -46,8 +54,9 @@ private:
// devices/pointers // devices/pointers
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
required_device<pwm_display_device> m_display; required_device<pwm_display_device> m_display;
required_device<sensorboard_device> m_board;
required_device<dac_bit_interface> m_dac; required_device<dac_bit_interface> m_dac;
required_ioport_array<12> m_inputs; required_ioport_array<4> m_inputs;
// address maps // address maps
void main_map(address_map &map); void main_map(address_map &map);
@ -59,24 +68,21 @@ private:
DECLARE_WRITE8_MEMBER(digit_w); DECLARE_WRITE8_MEMBER(digit_w);
DECLARE_READ8_MEMBER(input_r); DECLARE_READ8_MEMBER(input_r);
u16 m_inp_mux;
u8 m_select; u8 m_select;
u16 m_cb_mux;
u8 m_kp_mux;
u8 m_7seg_data; u8 m_7seg_data;
}; };
void cp2000_state::machine_start() void cp2000_state::machine_start()
{ {
// zerofill // zerofill
m_inp_mux = 0;
m_select = 0; m_select = 0;
m_cb_mux = 0;
m_kp_mux = 0;
m_7seg_data = 0; m_7seg_data = 0;
// register for savestates // register for savestates
save_item(NAME(m_select)); save_item(NAME(m_select));
save_item(NAME(m_cb_mux)); save_item(NAME(m_inp_mux));
save_item(NAME(m_kp_mux));
save_item(NAME(m_7seg_data)); save_item(NAME(m_7seg_data));
} }
@ -107,17 +113,15 @@ WRITE8_MEMBER(cp2000_state::control_w)
READ8_MEMBER(cp2000_state::input_r) READ8_MEMBER(cp2000_state::input_r)
{ {
u8 data = m_kp_mux; u8 data = m_inp_mux;
// read chessboard buttons // read chessboard buttons
if (m_select & 0x10) if (m_select & 0x10)
{ {
u8 cb = 0; u8 cb = m_board->read_rank((m_inp_mux >> 1 & 7) ^ 3);
for (int i = 0; i < 8; i++) if (m_inp_mux & 1)
if (BIT(m_cb_mux, i)) cb <<= 4;
cb |= m_inputs[i]->read(); data |= cb & 0xf0;
data |= (m_cb_mux & 0xff00) ? (cb & 0xf0) : (cb << 4);
} }
// read keypad buttons // read keypad buttons
@ -125,12 +129,12 @@ READ8_MEMBER(cp2000_state::input_r)
{ {
// d0-d3: multiplexed inputs from d4-d7 // d0-d3: multiplexed inputs from d4-d7
for (int i = 0; i < 4; i++) for (int i = 0; i < 4; i++)
if (BIT(m_kp_mux, i+4)) if (BIT(m_inp_mux, i+4))
data |= m_inputs[i+8]->read(); data |= m_inputs[i]->read();
// d4-d7: multiplexed inputs from d0-d3 // d4-d7: multiplexed inputs from d0-d3
for (int i = 0; i < 4; i++) 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); data |= 1 << (i+4);
} }
@ -140,11 +144,8 @@ READ8_MEMBER(cp2000_state::input_r)
WRITE8_MEMBER(cp2000_state::digit_w) WRITE8_MEMBER(cp2000_state::digit_w)
{ {
// d0-d3: chessboard input mux (demux) // 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) // d0-d7: keypad input mux (direct)
m_kp_mux = data; m_inp_mux = data;
// also digit segment data // also digit segment data
m_7seg_data = bitswap<8>(data,0,2,1,3,4,5,6,7); 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 ) static INPUT_PORTS_START( cp2000 )
PORT_START("IN.0") 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(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(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(0x04, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Find Position") 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(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(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(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_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(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(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(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_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(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(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") 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_device &f3853(F3853(config, "f3853", 2000000));
f3853.int_req_callback().set_inputline("maincpu", F8_INPUT_LINE_INT_REQ); 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 */ /* video hardware */
PWM_DISPLAY(config, m_display).set_size(4, 7); PWM_DISPLAY(config, m_display).set_size(4, 7);
m_display->set_segmask(0xf, 0x7f); m_display->set_segmask(0xf, 0x7f);
@ -330,4 +254,4 @@ ROM_END
******************************************************************************/ ******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS // 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 )

View File

@ -3,20 +3,14 @@
<!-- define elements --> <!-- 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"> <element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg> <led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
</element> </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"> <element name="hlb" defstate="0">
<text string=" "> <text string=" ">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" /> <bounds x="0.0" y="0.0" width="1.0" height="1.0" />
@ -28,70 +22,66 @@
</rect> </rect>
</element> </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"> <element name="text_cl00">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="A" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl01"> <element name="text_cl01">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="B" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="B" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl02"> <element name="text_cl02">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="C" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl03"> <element name="text_cl03">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="D" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="D" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl04"> <element name="text_cl04">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="E" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl05"> <element name="text_cl05">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="F" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="F" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl06"> <element name="text_cl06">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="G" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl07"> <element name="text_cl07">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="H" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="H" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl10"> <element name="text_cl10">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="A" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="A" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl11"> <element name="text_cl11">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="B" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl12"> <element name="text_cl12">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="C" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="C" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl13"> <element name="text_cl13">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="D" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl14"> <element name="text_cl14">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="E" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="E" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl15"> <element name="text_cl15">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="F" align="1"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cl16"> <element name="text_cl16">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="G" align="1"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="G" align="1"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cl17"> <element name="text_cl17">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="8" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn01"> <element name="text_cn01">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="7" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="7" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn02"> <element name="text_cn02">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="6" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn03"> <element name="text_cn03">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="5" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="5" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn04"> <element name="text_cn04">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="4" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn05"> <element name="text_cn05">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="3" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="3" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn06"> <element name="text_cn06">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="2" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn07"> <element name="text_cn07">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="1" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="1" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn10"> <element name="text_cn10">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="8" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="8" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn11"> <element name="text_cn11">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="7" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn12"> <element name="text_cn12">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="6" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="6" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn13"> <element name="text_cn13">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="5" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn14"> <element name="text_cn14">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="4" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="4" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn15"> <element name="text_cn15">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <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> <text string="3" align="2"><color red="0.17" green="0.15" blue="0.15" /></text>
</element> </element>
<element name="text_cn16"> <element name="text_cn16">
<rect><color red="0.17" green="0.15" blue="0.15" /></rect> <rect><color red="0.41" green="0.4" blue="0.39" /></rect>
<text string="2" align="2"><color red="0.81" green="0.8" blue="0.79" /></text> <text string="2" align="2"><color red="0.86" green="0.85" blue="0.84" /></text>
</element> </element>
<element name="text_cn17"> <element name="text_cn17">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect> <rect><color red="0.81" green="0.8" blue="0.79" /></rect>
@ -302,153 +292,318 @@
</element> </element>
<!-- build screen --> <!-- sb board -->
<view name="Internal Layout"> <element name="cblack"><rect><color red="0.41" green="0.4" blue="0.39" /></rect></element>
<bounds left="61" right="186" top="0" bottom="86" /> <element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
<!-- chessboard bezel --> <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>
<bezel element="black"><bounds x="102" y="2" width="82" height="82" /></bezel> <element name="piece" defstate="0">
<bezel element="white"><bounds x="103" y="3" width="80" height="80" /></bezel> <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"/>
<bezel element="black"><bounds x="113" y="2.5" width="10" height="10.5" /></bezel> <image file="chess/bp.png" state="7"/>
<bezel element="black"><bounds x="133" y="2.5" width="10" height="10.5" /></bezel> <image file="chess/bn.png" state="8"/>
<bezel element="black"><bounds x="153" y="2.5" width="10" height="10.5" /></bezel> <image file="chess/bb.png" state="9"/>
<bezel element="black"><bounds x="173" y="2.5" width="10.5" height="10.5" /></bezel> <image file="chess/br.png" state="10"/>
<image file="chess/bq.png" state="11"/>
<image file="chess/bk.png" state="12"/>
<bezel element="black"><bounds x="102.5" y="13" width="10.5" height="10" /></bezel> <!-- selected pieces -->
<bezel element="black"><bounds x="123" y="13" width="10" height="10" /></bezel> <image file="chess/wp.png" state="13"><color alpha="0.5" /></image>
<bezel element="black"><bounds x="143" y="13" width="10" height="10" /></bezel> <image file="chess/wn.png" state="14"><color alpha="0.5" /></image>
<bezel element="black"><bounds x="163" y="13" width="10" height="10" /></bezel> <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>
<bezel element="black"><bounds x="113" y="23" width="10" height="10" /></bezel> <image file="chess/bp.png" state="19"><color alpha="0.5" /></image>
<bezel element="black"><bounds x="133" y="23" width="10" height="10" /></bezel> <image file="chess/bn.png" state="20"><color alpha="0.5" /></image>
<bezel element="black"><bounds x="153" y="23" width="10" height="10" /></bezel> <image file="chess/bb.png" state="21"><color alpha="0.5" /></image>
<bezel element="black"><bounds x="173" y="23" width="10.5" height="10" /></bezel> <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>
<bezel element="black"><bounds x="102.5" y="33" width="10.5" height="10" /></bezel> <group name="sb_board">
<bezel element="black"><bounds x="123" y="33" width="10" height="10" /></bezel> <bounds x="0" y="0" width="80" height="80" />
<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> <!-- squares (avoid seams) -->
<bezel element="black"><bounds x="133" y="43" width="10" height="10" /></bezel> <bezel element="cwhite"><bounds x="0" y="0" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="153" y="43" width="10" height="10" /></bezel> <bezel element="cblack"><bounds x="10" y="0" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="173" y="43" width="10.5" height="10" /></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="black"><bounds x="102.5" y="53" width="10.5" height="10" /></bezel> <bezel element="cblack"><bounds x="0" y="10" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="123" y="53" width="10" height="10" /></bezel> <bezel element="cwhite"><bounds x="10" y="10" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="143" y="53" width="10" height="10" /></bezel> <bezel element="cblack"><bounds x="20" y="10" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="163" y="53" width="10" height="10" /></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="black"><bounds x="113" y="63" width="10" height="10" /></bezel> <bezel element="cwhite"><bounds x="0" y="20" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="133" y="63" width="10" height="10" /></bezel> <bezel element="cblack"><bounds x="10" y="20" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="153" y="63" width="10" height="10" /></bezel> <bezel element="cwhite"><bounds x="20" y="20" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="173" y="63" width="10.5" height="10" /></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="black"><bounds x="102.5" y="73" width="10.5" height="10.5" /></bezel> <bezel element="cblack"><bounds x="0" y="30" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="123" y="73" width="10" height="10.5" /></bezel> <bezel element="cwhite"><bounds x="10" y="30" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="143" y="73" width="10" height="10.5" /></bezel> <bezel element="cblack"><bounds x="20" y="30" width="11" height="11" /></bezel>
<bezel element="black"><bounds x="163" y="73" width="10" height="10.5" /></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>
<!-- chessboard coords --> <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"> <repeat count="4">
<param name="y1" start="10.5" increment="20" /> <param name="y1" start="7.75" increment="20" />
<param name="y2" start="20.5" increment="20" /> <param name="y2" start="17.75" increment="20" />
<repeat count="8"> <repeat count="8">
<param name="i" start="0" increment="1" /> <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_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> <bezel element="text_cl1~i~"><bounds x="~x~" y="~y2~" width="3" height="2" /></bezel>
</repeat> </repeat>
</repeat> </repeat>
<repeat count="4"> <repeat count="4">
<param name="x1" start="109" increment="20" /> <param name="x1" start="6" increment="20" />
<param name="x2" start="119" increment="20" /> <param name="x2" start="16" increment="20" />
<repeat count="8"> <repeat count="8">
<param name="i" start="0" increment="1" /> <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_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> <bezel element="text_cn1~i~"><bounds x="~x2~" y="~y~" width="3.5" height="2" /></bezel>
</repeat> </repeat>
</repeat> </repeat>
<!-- chessboard sensors --> <!-- sensors, pieces -->
<repeat count="8">
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
<bezel element="hl" inputtag="IN.1" inputmask="0x10"><bounds x="103" y="3" width="10" height="10" /><color alpha="0.4" /></bezel> <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="hl" inputtag="IN.1" inputmask="0x20"><bounds x="113" y="3" width="10" height="10" /><color alpha="0.2" /></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="hl" inputtag="IN.1" inputmask="0x40"><bounds x="123" y="3" width="10" height="10" /><color alpha="0.4" /></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="hl" inputtag="IN.1" inputmask="0x80"><bounds x="133" y="3" width="10" height="10" /><color alpha="0.2" /></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="hl" inputtag="IN.0" inputmask="0x10"><bounds x="143" y="3" width="10" height="10" /><color alpha="0.4" /></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="hl" inputtag="IN.0" inputmask="0x20"><bounds x="153" y="3" width="10" height="10" /><color alpha="0.2" /></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="hl" inputtag="IN.0" inputmask="0x40"><bounds x="163" y="3" width="10" height="10" /><color alpha="0.4" /></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="hl" inputtag="IN.0" inputmask="0x80"><bounds x="173" y="3" width="10" height="10" /><color alpha="0.2" /></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 element="hl" inputtag="IN.3" inputmask="0x10"><bounds x="103" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> <bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x20"><bounds x="113" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> <bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x40"><bounds x="123" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> <bezel name="piece_c~i~" element="piece"><bounds x="20" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x80"><bounds x="133" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> <bezel name="piece_d~i~" element="piece"><bounds x="30" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x10"><bounds x="143" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> <bezel name="piece_e~i~" element="piece"><bounds x="40" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x20"><bounds x="153" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> <bezel name="piece_f~i~" element="piece"><bounds x="50" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x40"><bounds x="163" y="13" width="10" height="10" /><color alpha="0.2" /></bezel> <bezel name="piece_g~i~" element="piece"><bounds x="60" y="~y~" width="10" height="10" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x80"><bounds x="173" y="13" width="10" height="10" /><color alpha="0.4" /></bezel> <bezel name="piece_h~i~" element="piece"><bounds x="70" y="~y~" width="10" height="10" /></bezel>
</repeat>
</group>
<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> <!-- sb ui -->
<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> <element name="hlub" defstate="0">
<bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="113" y="43" width="10" height="10" /><color alpha="0.2" /></bezel> <rect state="1"><color red="0" green="0" blue="0" /></rect>
<bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="123" y="43" width="10" height="10" /><color alpha="0.4" /></bezel> </element>
<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> <element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="113" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> <element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="123" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> <element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="133" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> <element name="text_uib2">
<bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="143" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> <rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="153" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
<bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="163" y="53" width="10" height="10" /><color alpha="0.2" /></bezel> </element>
<bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="173" y="53" width="10" height="10" /><color alpha="0.4" /></bezel> <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=" &lt;&lt;"><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=" &lt; "><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=" &gt;"><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=" &gt;&gt;"><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>
<bezel element="hl" inputtag="IN.5" inputmask="0x01"><bounds x="103" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> <group name="sb_ui">
<bezel element="hl" inputtag="IN.5" inputmask="0x02"><bounds x="113" y="63" width="10" height="10" /><color alpha="0.2" /></bezel> <bounds x="0" y="0" width="10" height="80" />
<bezel element="hl" inputtag="IN.5" inputmask="0x04"><bounds x="123" y="63" width="10" height="10" /><color alpha="0.4" /></bezel> <bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></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="cblack"><bounds x="0" y="7" width="10" height="1" /></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="cblack"><bounds x="0" y="79" width="10" height="1" /></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="text_uit1"><bounds x="0" y="2" width="10" height="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="text_uit2"><bounds x="0" y="4" width="10" height="2" /></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> <!-- board -->
<bezel element="hl" inputtag="IN.7" inputmask="0x02"><bounds x="113" y="73" width="10" height="10" /><color alpha="0.4" /></bezel> <bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></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="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></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="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></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="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></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="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x08"><bounds x="173" y="73" width="10" height="10" /><color alpha="0.4" /></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 --> <!-- 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_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="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.3" 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.2" 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.1" 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.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.3" 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.2" 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.1" 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.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.2" 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.0" 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.1" 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.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.3" 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.2" 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.1" inputmask="0x04"><bounds x="82" y="73" width="15" height="7" /><color alpha="0.22" /></bezel>
</view> </view>
</mamelayout> </mamelayout>