mirror of
https://github.com/holub/mame
synced 2025-04-16 13:34:55 +03:00
New working machines
-------------------- Sensor Computachess [hap, Sean Riddle] Portachess II [hap, Sean Riddle]
This commit is contained in:
parent
165a4f4d39
commit
465e64fa14
@ -2063,6 +2063,7 @@ createMESSProjects(_target, _subtarget, "cxg")
|
||||
files {
|
||||
MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/cxg_dominator.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/cxg_scptchess.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/cxg_sphinx40.cpp",
|
||||
}
|
||||
|
||||
|
225
src/mame/drivers/cxg_scptchess.cpp
Normal file
225
src/mame/drivers/cxg_scptchess.cpp
Normal file
@ -0,0 +1,225 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
// thanks-to:Sean Riddle
|
||||
/******************************************************************************
|
||||
|
||||
CXG Sensor Computachess (CXG-001 or WA-001)
|
||||
CXG Portachess, Portachess II, Sphinx Chess Voyager
|
||||
|
||||
Sensor Computachess is White & Allcock's first original chesscomputer. Cassia's
|
||||
Chess Mate (aka Computachess) doesn't really count since it was a bootleg of
|
||||
Fidelity Chess Challenger 10. The chess engine is by Mark Taylor, it's the same
|
||||
one as in Mini Chess released by SciSys earlier that year.
|
||||
|
||||
Initially, it had a "Sound" button for turning the beeps off. This was later
|
||||
changed to the more useful "New Game". With Portachess, they added a "Save"
|
||||
switch which puts the MCU in halt state.
|
||||
|
||||
Hardware notes (Sensor Computachess):
|
||||
- PCB label WA 001
|
||||
- HD44801 MCU @ ~400kHz
|
||||
- buzzer, 16 leds, button sensors chessboard
|
||||
|
||||
HD44801A50 used in:
|
||||
- CXG Sensor Computachess
|
||||
- Hanimex HCG 1500
|
||||
- Schneider Sensor Chesspartner MK 3
|
||||
- Systema Computachess
|
||||
|
||||
HD44801C89 used in:
|
||||
- CXG Portachess II
|
||||
- CXG Computachess IV
|
||||
- Fidelity Computachess IV
|
||||
- Fidelity Mini Chess Challenger (same housing as Portachess II)
|
||||
- Schneider MK 7 (same housing as Portachess II)
|
||||
- Schneider Sensor Chessmaster MK 6
|
||||
- Schneider Sensor Chesspartner MK 4
|
||||
|
||||
TODO:
|
||||
- Does the 1st Portachess have the same rom data as prtchess2? HD44801C89
|
||||
says "202" which is the model number of Portachess, although C89 is from 1985.
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/hmcs40/hmcs40.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/volt_reg.h"
|
||||
#include "video/pwm.h"
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "cxg_scptchess.lh" // clickable
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class scptchess_state : public driver_device
|
||||
{
|
||||
public:
|
||||
scptchess_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_board(*this, "board"),
|
||||
m_display(*this, "display"),
|
||||
m_dac(*this, "dac"),
|
||||
m_inputs(*this, "IN.%u", 0)
|
||||
{ }
|
||||
|
||||
void scptchess(machine_config &config);
|
||||
|
||||
// assume that New Game button is directly tied to MCU reset
|
||||
DECLARE_INPUT_CHANGED_MEMBER(reset_button) { m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); }
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<hmcs40_cpu_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
required_device<pwm_display_device> m_display;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
required_ioport_array<2> m_inputs;
|
||||
|
||||
void update_display();
|
||||
template<int N> void mux_w(u8 data);
|
||||
void leds_w(u16 data);
|
||||
u16 input_r();
|
||||
|
||||
u8 m_inp_mux = 0;
|
||||
u8 m_led_data = 0;
|
||||
};
|
||||
|
||||
void scptchess_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_led_data));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
void scptchess_state::update_display()
|
||||
{
|
||||
m_display->matrix(m_inp_mux, m_led_data);
|
||||
}
|
||||
|
||||
template<int N>
|
||||
void scptchess_state::mux_w(u8 data)
|
||||
{
|
||||
// R2x,R3x: input mux, led select
|
||||
m_inp_mux = (m_inp_mux & ~(0xf << (N*4))) | (data << (N*4));
|
||||
update_display();
|
||||
}
|
||||
|
||||
void scptchess_state::leds_w(u16 data)
|
||||
{
|
||||
// D2,D3: led data
|
||||
m_led_data = ~data >> 2 & 3;
|
||||
update_display();
|
||||
|
||||
// D0: speaker out
|
||||
m_dac->write(data & 1);
|
||||
}
|
||||
|
||||
u16 scptchess_state::input_r()
|
||||
{
|
||||
u16 data = 0;
|
||||
|
||||
// D7: read buttons
|
||||
if (m_inp_mux & m_inputs[0]->read())
|
||||
data |= 0x80;
|
||||
|
||||
// D8-D15: read chessboard
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_inp_mux, i))
|
||||
data |= m_board->read_file(i ^ 7) << 8;
|
||||
|
||||
return ~data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( scptchess )
|
||||
PORT_START("IN.0")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Sound") // only hooked up on 1st version
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Reverse Play")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
|
||||
|
||||
PORT_START("IN.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_CHANGED_MEMBER(DEVICE_SELF, scptchess_state, reset_button, 0) PORT_NAME("New Game")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( prtchess2 )
|
||||
PORT_INCLUDE( scptchess )
|
||||
|
||||
PORT_MODIFY("IN.0")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Configs
|
||||
******************************************************************************/
|
||||
|
||||
void scptchess_state::scptchess(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
HD44801(config, m_maincpu, 400000);
|
||||
m_maincpu->write_r<2>().set(FUNC(scptchess_state::mux_w<0>));
|
||||
m_maincpu->write_r<3>().set(FUNC(scptchess_state::mux_w<1>));
|
||||
m_maincpu->write_d().set(FUNC(scptchess_state::leds_w));
|
||||
m_maincpu->read_d().set(FUNC(scptchess_state::input_r));
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
|
||||
/* video hardware */
|
||||
PWM_DISPLAY(config, m_display).set_size(8, 2);
|
||||
config.set_default_layout(layout_cxg_scptchess);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( scptchess )
|
||||
ROM_REGION( 0x2000, "maincpu", 0 )
|
||||
ROM_LOAD("white_allcock_44801a50", 0x0000, 0x2000, CRC(c5c53e05) SHA1(8fa9b8e48ca54f08585afd83ae78fb1970fbd382) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( prtchess2 )
|
||||
ROM_REGION( 0x2000, "maincpu", 0 )
|
||||
ROM_LOAD("202_newcrest_16_hd44801c89", 0x0000, 0x2000, CRC(56b48f70) SHA1(84ec62323c6d3314e0515bccfde2f65f6d753e99) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1981, scptchess, 0, 0, scptchess, scptchess, scptchess_state, empty_init, "CXG Systems / White & Allcock", "Sensor Computachess", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1985, prtchess2, 0, 0, scptchess, prtchess2, scptchess_state, empty_init, "CXG Systems / Newcrest Technology", "Portachess II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
@ -11,7 +11,7 @@ Hardware notes:
|
||||
- 4-digit 7seg panel, sensory board with 50 buttons
|
||||
- PCB label 510-1030A01
|
||||
|
||||
It's a checkers game for once instead of chess.
|
||||
Instead of chess, it's a checkers game for once (international rules).
|
||||
|
||||
When playing it on MAME with the sensorboard device, use the modifier keys
|
||||
(eg. hold CTRL to ignore sensor). The game expects the player to press a sensor
|
||||
|
@ -65,15 +65,15 @@
|
||||
@A88 HD38820 1984, Bandai Pair Match (PT-460) (1/2)
|
||||
@A89 HD38820 1984, Bandai Pair Match (PT-460) (2/2)
|
||||
|
||||
*A34 HD44801 1981, Scisys Graduate Chess / Chesspartner 3000/4000
|
||||
*A50 HD44801 1981, CXG Sensor Computachess
|
||||
*A34 HD44801 1981, Scisys Mini Chess / Graduate Chess / Chesspartner 3000/4000
|
||||
A50 HD44801 1981, CXG Sensor Computachess -> cxg_scptchess.cpp
|
||||
A75 HD44801 1982, Alpha 8201 protection MCU -> machine/alpha8201.*
|
||||
*A85 HD44801 1982, Scisys Travel Sensor / Travel Mate / Chesspartner 5000/6000
|
||||
B35 HD44801 1983, Alpha 8302 protection MCU (see 8201)
|
||||
B42 HD44801 1983, Alpha 8303 protection MCU (see 8201)
|
||||
*B43 HD44801 1983, Alpha 8304 protection MCU (see 8201)
|
||||
C57 HD44801 1985, Alpha 8505 protection MCU (see 8201)
|
||||
*C89 HD44801 1985, CXG Portachess II / Computachess IV
|
||||
C89 HD44801 1985, CXG Portachess II / Computachess IV -> cxg_scptchess.cpp
|
||||
|
||||
*A86 HD44820 1983, Chess King Pocket Micro
|
||||
*B63 HD44820 1985, CXG Pocket Chess (12 buttons)
|
||||
|
@ -21,6 +21,7 @@ TODO:
|
||||
#include "machine/f3853.h"
|
||||
#include "video/hlcd0538.h"
|
||||
#include "video/pwm.h"
|
||||
#include "screen.h"
|
||||
|
||||
// internal artwork
|
||||
//#include "saitek_exchess.lh" // clickable
|
||||
@ -37,11 +38,15 @@ public:
|
||||
m_lcd1(*this, "lcd1"),
|
||||
m_lcd2(*this, "lcd2"),
|
||||
m_display(*this, "display"),
|
||||
m_battery(*this, "battery"),
|
||||
m_inputs(*this, "IN.%u", 0)
|
||||
{ }
|
||||
|
||||
void exchess(machine_config &config);
|
||||
|
||||
// battery status indicator is not software controlled
|
||||
DECLARE_INPUT_CHANGED_MEMBER(battery) { m_battery = newval; }
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
@ -51,7 +56,8 @@ private:
|
||||
required_device<hlcd0538_device> m_lcd1;
|
||||
required_device<hlcd0539_device> m_lcd2;
|
||||
required_device<pwm_display_device> m_display;
|
||||
required_ioport_array<3> m_inputs;
|
||||
output_finder<> m_battery;
|
||||
required_ioport_array<4> m_inputs;
|
||||
|
||||
void main_map(address_map &map);
|
||||
void main_io(address_map &map);
|
||||
@ -72,6 +78,7 @@ private:
|
||||
|
||||
void exchess_state::machine_start()
|
||||
{
|
||||
m_battery.resolve();
|
||||
m_ram = make_unique_clear<u8[]>(0x400);
|
||||
|
||||
// register for savestates
|
||||
@ -127,7 +134,7 @@ u8 exchess_state::ram_address_r()
|
||||
u8 data = m_ram_address[N];
|
||||
|
||||
// P13: Enter button
|
||||
return (N) ? data | m_inputs[0]->read() : data;
|
||||
return (N) ? data | (m_inputs[0]->read() & 8) : data;
|
||||
}
|
||||
|
||||
void exchess_state::ram_data_w(u8 data)
|
||||
@ -183,6 +190,11 @@ static INPUT_PORTS_START( exchess )
|
||||
|
||||
PORT_START("IN.2")
|
||||
PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
|
||||
PORT_START("IN.3")
|
||||
PORT_CONFNAME( 0x01, 0x00, "Battery Status" ) PORT_CHANGED_MEMBER(DEVICE_SELF, exchess_state, battery, 0)
|
||||
PORT_CONFSETTING( 0x01, "Low" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Normal ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -218,6 +230,11 @@ void exchess_state::exchess(machine_config &config)
|
||||
|
||||
PWM_DISPLAY(config, m_display).set_size(8, 26+34);
|
||||
//config.set_default_layout(layout_saitek_exchess);
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_size(977, 1080);
|
||||
screen.set_visarea_full();
|
||||
}
|
||||
|
||||
|
||||
@ -229,6 +246,9 @@ void exchess_state::exchess(machine_config &config)
|
||||
ROM_START( exchess )
|
||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||
ROM_LOAD("sl90553", 0x0000, 0x1000, CRC(a61b0c7e) SHA1(a13b11a93f78236223c5c0b9879a93284b7f7525) )
|
||||
|
||||
ROM_REGION( 774009, "screen", ROMREGION_ERASE00 )
|
||||
//ROM_LOAD("exchess.svg", 0, 774009, CRC(795d66e0) SHA1(5f786c00bf33793bfba7065d8e9ec476e02e5c46) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
@ -14,7 +14,7 @@ Mark VI/Philidor was released a year later, it was a plug-in module for the Mark
|
||||
It's not much stronger than Mark V(retroactively called Mark V/Travemunde).
|
||||
|
||||
When using the MAME sensorboard interface with MK VI, reset the board by pressing
|
||||
CLEAR before RESET, needed on 1st power-on or when starting a new game.
|
||||
CLEAR before RESET, needed when starting a new game.
|
||||
|
||||
Hardware notes:
|
||||
- SY6502A @ ~2MHz (19.6608MHz XTAL, bunch of 74113 dividers)
|
||||
@ -122,11 +122,12 @@ private:
|
||||
template<int N> DECLARE_WRITE8_MEMBER(pwm_output_w);
|
||||
template<int N> DECLARE_WRITE64_MEMBER(lcd_output_w);
|
||||
|
||||
u8 m_dac_data;
|
||||
u8 m_lcd_lcd;
|
||||
u8 m_lcd_rowsel;
|
||||
u8 m_cb_mux;
|
||||
u8 m_dac_data = 0;
|
||||
u8 m_lcd_lcd = 0;
|
||||
u8 m_lcd_rowsel = 0;
|
||||
u8 m_cb_mux = 0;
|
||||
|
||||
emu_timer *m_cb_startdelay;
|
||||
emu_timer *m_irqtimer;
|
||||
TIMER_CALLBACK_MEMBER(interrupt);
|
||||
void write_lcd(int state);
|
||||
@ -137,11 +138,8 @@ void mark5_state::machine_start()
|
||||
m_out_x.resolve();
|
||||
m_irqtimer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(mark5_state::interrupt),this));
|
||||
|
||||
// zerofill
|
||||
m_dac_data = 0;
|
||||
m_lcd_lcd = 0;
|
||||
m_lcd_rowsel = 0;
|
||||
m_cb_mux = 0;
|
||||
m_cb_startdelay = machine().scheduler().timer_alloc(timer_expired_delegate());
|
||||
m_cb_startdelay->adjust(attotime::from_msec(100));
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_dac_data));
|
||||
@ -279,7 +277,7 @@ WRITE8_MEMBER(mark5_state::cb_w)
|
||||
|
||||
READ8_MEMBER(mark5_state::cb_r)
|
||||
{
|
||||
if (~m_inputs[6]->read() & 0x20)
|
||||
if (~m_inputs[6]->read() & 0x20 || m_cb_startdelay->enabled())
|
||||
return 0xff;
|
||||
|
||||
// read chessboard sensors
|
||||
|
394
src/mame/layout/cxg_scptchess.lay
Normal file
394
src/mame/layout/cxg_scptchess.lay
Normal file
@ -0,0 +1,394 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="white2"><rect><color red="0.76" green="0.75" blue="0.74" /></rect></element>
|
||||
|
||||
<element name="but" defstate="0">
|
||||
<rect state="1"><color red="0.25" green="0.24" blue="0.24" /></rect>
|
||||
<rect state="0"><color red="0.17" green="0.16" blue="0.16" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
|
||||
<disk state="0"><color red="0.17" green="0.015" blue="0.02" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="text_1"><text string="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_2"><text string="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_3"><text string="3"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_4"><text string="4"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_5"><text string="5"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_6"><text string="6"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_7"><text string="7"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_8"><text string="8"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
|
||||
<element name="text_a"><text string="A"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b"><text string="B"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_c"><text string="C"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_d"><text string="D"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_e"><text string="E"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_f"><text string="F"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_g"><text string="G"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_h"><text string="H"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
|
||||
<element name="text_l1"><text string="CHECK"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_l2"><text string="MATE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_l3"><text string="STALEMATE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_l4"><text string="YOUR MOVE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_l5"><text string="NEW GAME"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_l6"><text string="LEVEL"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_l7"><text string="REVERSE PLAY"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
|
||||
|
||||
<!-- sb board -->
|
||||
|
||||
<element name="cblack"><rect><color red="0.41" green="0.4" blue="0.39" /></rect></element>
|
||||
<element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
|
||||
|
||||
<element name="hlbb" defstate="0">
|
||||
<text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
|
||||
<disk state="1">
|
||||
<bounds x="0.12" y="0.12" width="0.76" height="0.76" />
|
||||
<color red="0" green="0" blue="0" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
<element name="piece" defstate="0">
|
||||
<image file="chess/wp.png" state="1"/>
|
||||
<image file="chess/wn.png" state="2"/>
|
||||
<image file="chess/wb.png" state="3"/>
|
||||
<image file="chess/wr.png" state="4"/>
|
||||
<image file="chess/wq.png" state="5"/>
|
||||
<image file="chess/wk.png" state="6"/>
|
||||
|
||||
<image file="chess/bp.png" state="7"/>
|
||||
<image file="chess/bn.png" state="8"/>
|
||||
<image file="chess/bb.png" state="9"/>
|
||||
<image file="chess/br.png" state="10"/>
|
||||
<image file="chess/bq.png" state="11"/>
|
||||
<image file="chess/bk.png" state="12"/>
|
||||
|
||||
<!-- selected pieces -->
|
||||
<image file="chess/wp.png" state="13"><color alpha="0.5" /></image>
|
||||
<image file="chess/wn.png" state="14"><color alpha="0.5" /></image>
|
||||
<image file="chess/wb.png" state="15"><color alpha="0.5" /></image>
|
||||
<image file="chess/wr.png" state="16"><color alpha="0.5" /></image>
|
||||
<image file="chess/wq.png" state="17"><color alpha="0.5" /></image>
|
||||
<image file="chess/wk.png" state="18"><color alpha="0.5" /></image>
|
||||
|
||||
<image file="chess/bp.png" state="19"><color alpha="0.5" /></image>
|
||||
<image file="chess/bn.png" state="20"><color alpha="0.5" /></image>
|
||||
<image file="chess/bb.png" state="21"><color alpha="0.5" /></image>
|
||||
<image file="chess/br.png" state="22"><color alpha="0.5" /></image>
|
||||
<image file="chess/bq.png" state="23"><color alpha="0.5" /></image>
|
||||
<image file="chess/bk.png" state="24"><color alpha="0.5" /></image>
|
||||
</element>
|
||||
|
||||
<group name="sb_board">
|
||||
<bounds x="0" y="0" width="80" height="80" />
|
||||
|
||||
<!-- squares (avoid seams) -->
|
||||
<bezel element="cwhite"><bounds x="0" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="10" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="20" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="30" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="40" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="50" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="60" y="0" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="70" y="0" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cblack"><bounds x="0" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="10" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="20" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="30" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="40" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="50" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="60" y="10" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="70" y="10" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cwhite"><bounds x="0" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="10" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="20" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="30" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="40" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="50" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="60" y="20" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="70" y="20" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cblack"><bounds x="0" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="10" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="20" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="30" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="40" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="50" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="60" y="30" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="70" y="30" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cwhite"><bounds x="0" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="10" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="20" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="30" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="40" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="50" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="60" y="40" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="70" y="40" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cblack"><bounds x="0" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="10" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="20" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="30" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="40" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="50" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="60" y="50" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="70" y="50" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cwhite"><bounds x="0" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="10" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="20" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="30" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="40" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="50" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="60" y="60" width="11" height="11" /></bezel>
|
||||
<bezel element="cblack"><bounds x="70" y="60" width="10" height="11" /></bezel>
|
||||
|
||||
<bezel element="cblack"><bounds x="0" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="10" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cblack"><bounds x="20" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="30" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cblack"><bounds x="40" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="50" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cblack"><bounds x="60" y="70" width="11" height="10" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="70" y="70" width="10" height="10" /></bezel>
|
||||
|
||||
<!-- sensors, pieces -->
|
||||
<repeat count="8">
|
||||
<param name="y" start="0" increment="10" />
|
||||
<param name="i" start="8" increment="-1" />
|
||||
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
|
||||
|
||||
<bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_c~i~" element="piece"><bounds x="20" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_d~i~" element="piece"><bounds x="30" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_e~i~" element="piece"><bounds x="40" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_f~i~" element="piece"><bounds x="50" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_g~i~" element="piece"><bounds x="60" y="~y~" width="10" height="10" /></bezel>
|
||||
<bezel name="piece_h~i~" element="piece"><bounds x="70" y="~y~" width="10" height="10" /></bezel>
|
||||
</repeat>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- sb ui -->
|
||||
|
||||
<element name="hlub" defstate="0">
|
||||
<rect state="1"><color red="0" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uib2">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uib3">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uih2">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uiu2a">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu2b">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu2c">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu2d">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu3a" defstate="0">
|
||||
<simplecounter maxstate="999" digits="1" align="2">
|
||||
<color red="0.81" green="0.8" blue="0.79" />
|
||||
</simplecounter>
|
||||
</element>
|
||||
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uiu3c" defstate="0">
|
||||
<simplecounter maxstate="999" digits="1" align="1">
|
||||
<color red="0.81" green="0.8" blue="0.79" />
|
||||
</simplecounter>
|
||||
</element>
|
||||
|
||||
<group name="sb_ui">
|
||||
<bounds x="0" y="0" width="10" height="80" />
|
||||
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
|
||||
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
|
||||
<bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
|
||||
<bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
|
||||
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
|
||||
|
||||
<!-- board -->
|
||||
<bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></bezel>
|
||||
|
||||
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
|
||||
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
|
||||
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
|
||||
|
||||
<!-- spawn -->
|
||||
<bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel>
|
||||
|
||||
<bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel>
|
||||
<bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel>
|
||||
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
|
||||
|
||||
<!-- hand -->
|
||||
<bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel>
|
||||
<bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
|
||||
<bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
|
||||
|
||||
<bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
|
||||
<bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
|
||||
|
||||
<!-- undo -->
|
||||
<bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
|
||||
<bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
|
||||
<bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
|
||||
<bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
|
||||
<bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
|
||||
<bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel>
|
||||
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
|
||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
|
||||
|
||||
<bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel>
|
||||
<bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel>
|
||||
<bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="-12" right="102" top="-1" bottom="91" />
|
||||
|
||||
<group ref="sb_board"><bounds x="4" y="3" width="80" height="80" /></group>
|
||||
<group ref="sb_ui"><bounds x="-10.5" y="3" width="10" height="80" /></group>
|
||||
|
||||
<!-- chessboard coords -->
|
||||
<bezel element="text_8"><bounds x="1.25" y="9" width="2" height="2" /></bezel>
|
||||
<bezel element="text_7"><bounds x="1.25" y="19" width="2" height="2" /></bezel>
|
||||
<bezel element="text_6"><bounds x="1.25" y="29" width="2" height="2" /></bezel>
|
||||
<bezel element="text_5"><bounds x="1.25" y="39" width="2" height="2" /></bezel>
|
||||
<bezel element="text_4"><bounds x="1.25" y="49" width="2" height="2" /></bezel>
|
||||
<bezel element="text_3"><bounds x="1.25" y="59" width="2" height="2" /></bezel>
|
||||
<bezel element="text_2"><bounds x="1.25" y="69" width="2" height="2" /></bezel>
|
||||
<bezel element="text_1"><bounds x="1.25" y="79" width="2" height="2" /></bezel>
|
||||
|
||||
<bezel element="text_a"><bounds x="6" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_b"><bounds x="16" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_c"><bounds x="26" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_d"><bounds x="36" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_e"><bounds x="46" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_f"><bounds x="56" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_g"><bounds x="66" y="83.7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_h"><bounds x="76" y="83.7" width="2" height="2" /></bezel>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<bezel name="0.1" element="led"><bounds x="1.5" y="7.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="1.1" element="led"><bounds x="1.5" y="17.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="2.1" element="led"><bounds x="1.5" y="27.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="3.1" element="led"><bounds x="1.5" y="37.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="4.1" element="led"><bounds x="1.5" y="47.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="5.1" element="led"><bounds x="1.5" y="57.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="6.1" element="led"><bounds x="1.5" y="67.25" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="7.1" element="led"><bounds x="1.5" y="77.25" width="1.5" height="1.5" /></bezel>
|
||||
|
||||
<bezel name="7.0" element="led"><bounds x="8.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="6.0" element="led"><bounds x="18.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="5.0" element="led"><bounds x="28.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="4.0" element="led"><bounds x="38.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="3.0" element="led"><bounds x="48.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="2.0" element="led"><bounds x="58.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="1.0" element="led"><bounds x="68.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="0.0" element="led"><bounds x="78.25" y="84" width="1.5" height="1.5" /></bezel>
|
||||
|
||||
<!-- bottom side labels -->
|
||||
<bezel element="white2"><bounds x="9" y="86.3" width="10" height="0.3" /></bezel>
|
||||
<bezel element="white2"><bounds x="29" y="86.3" width="10" height="0.3" /></bezel>
|
||||
<bezel element="white2"><bounds x="49" y="86.3" width="10" height="0.3" /></bezel>
|
||||
<bezel element="white2"><bounds x="69" y="86.3" width="10" height="0.3" /></bezel>
|
||||
|
||||
<bezel element="text_l1"><bounds x="9" y="87.1" width="10" height="2" /></bezel>
|
||||
<bezel element="text_l2"><bounds x="29" y="87.1" width="10" height="2" /></bezel>
|
||||
<bezel element="text_l3"><bounds x="49" y="87.1" width="10" height="2" /></bezel>
|
||||
<bezel element="text_l4"><bounds x="69" y="87.1" width="10" height="2" /></bezel>
|
||||
|
||||
<!-- right side buttons -->
|
||||
<bezel element="but" inputtag="IN.1" inputmask="0x01"><bounds x="88" y="59" width="10" height="4" /></bezel>
|
||||
<bezel element="but" inputtag="IN.0" inputmask="0x80"><bounds x="88" y="69" width="10" height="4" /></bezel>
|
||||
<bezel element="but" inputtag="IN.0" inputmask="0x40"><bounds x="88" y="79" width="10" height="4" /></bezel>
|
||||
|
||||
<bezel element="text_l5"><bounds x="86" y="56.5" width="14" height="2" /></bezel>
|
||||
<bezel element="text_l6"><bounds x="86" y="66.5" width="14" height="2" /></bezel>
|
||||
<bezel element="text_l7"><bounds x="86" y="76.5" width="14" height="2" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -11414,6 +11414,10 @@ ch2001
|
||||
@source:cxg_dominator.cpp
|
||||
sdtor
|
||||
|
||||
@source:cxg_scptchess.cpp
|
||||
prtchess2
|
||||
scptchess
|
||||
|
||||
@source:cxg_sphinx40.cpp
|
||||
sphinx40
|
||||
|
||||
|
@ -193,6 +193,7 @@ ct486.cpp
|
||||
cvicny.cpp
|
||||
cxg_ch2001.cpp
|
||||
cxg_dominator.cpp
|
||||
cxg_scptchess.cpp
|
||||
cxg_sphinx40.cpp
|
||||
cxhumax.cpp
|
||||
cybiko.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user