mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
New working systems
------------------- Regency [hap, Berger]
This commit is contained in:
parent
10839c6046
commit
b27007942d
347
src/mame/chess/krypton_regency.cpp
Normal file
347
src/mame/chess/krypton_regency.cpp
Normal file
@ -0,0 +1,347 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
// thanks-to:Berger
|
||||
/*******************************************************************************
|
||||
|
||||
Krypton Regency (model 933)
|
||||
|
||||
It was manufactured by Timorite, Ltd. (Eric White's company), the chess engine is
|
||||
by Gyula Horváth, similar to the one in CXG Sphinx Legend.
|
||||
|
||||
Hardware notes (Systema Challenge fitted with Regency MCU):
|
||||
- PCB label: LCD CHESS 938, JAN.1994, REV.1, EB-093801-01
|
||||
- Hitachi H8/3256 MCU, 20MHz XTAL
|
||||
- LCD with 5 7segs and custom segments
|
||||
- piezo, 16 LEDs (optional), button sensors chessboard
|
||||
|
||||
A26 MCU was used in:
|
||||
- Krypton Regency (with or without LEDs)
|
||||
- Excalibur Legend III (suspected, Excalibur brand Regency)
|
||||
- Systema Challenge (1996 version)
|
||||
|
||||
TODO:
|
||||
- CXG Sphinx Legend may be on the same hardware? if so, move driver to cxg folder
|
||||
- is Krypton a product brand, or a company alias for the Chinese factory behind it?
|
||||
- it does a cold boot at every reset, so nvram won't work properly unless MAME
|
||||
adds some kind of auxillary autosave state feature at power-off
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/h8/h8325.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pwm.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "krypton_regency.lh"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class regency_state : public driver_device
|
||||
{
|
||||
public:
|
||||
regency_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_led_pwm(*this, "led_pwm"),
|
||||
m_lcd_pwm(*this, "lcd_pwm"),
|
||||
m_dac(*this, "dac"),
|
||||
m_inputs(*this, "IN.%u", 0),
|
||||
m_out_lcd(*this, "s%u.%u", 0U, 0U)
|
||||
{ }
|
||||
|
||||
void regency(machine_config &config);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(in1_changed) { update_irq2(); }
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<h83256_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
required_device<pwm_display_device> m_led_pwm;
|
||||
required_device<pwm_display_device> m_lcd_pwm;
|
||||
required_device<dac_1bit_device> m_dac;
|
||||
required_ioport_array<3> m_inputs;
|
||||
output_finder<2, 24> m_out_lcd;
|
||||
|
||||
u16 m_inp_mux = 0;
|
||||
u8 m_inp_mux2 = 0;
|
||||
u32 m_lcd_segs = 0;
|
||||
u8 m_lcd_com = 0;
|
||||
|
||||
// I/O handlers
|
||||
void lcd_pwm_w(offs_t offset, u8 data);
|
||||
void update_lcd();
|
||||
template <int N> void lcd_segs_w(u8 data);
|
||||
|
||||
void standby(int state);
|
||||
int update_irq2();
|
||||
|
||||
void p2_w(u8 data);
|
||||
void p5_w(offs_t offset, u8 data, u8 mem_mask);
|
||||
u8 p6_r();
|
||||
void p6_w(offs_t offset, u8 data, u8 mem_mask);
|
||||
u8 p7_r();
|
||||
void p7_w(u8 data);
|
||||
};
|
||||
|
||||
void regency_state::machine_start()
|
||||
{
|
||||
m_out_lcd.resolve();
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_inp_mux));
|
||||
save_item(NAME(m_inp_mux2));
|
||||
save_item(NAME(m_lcd_segs));
|
||||
save_item(NAME(m_lcd_com));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
I/O
|
||||
*******************************************************************************/
|
||||
|
||||
// power
|
||||
|
||||
void regency_state::standby(int state)
|
||||
{
|
||||
// clear display
|
||||
if (state)
|
||||
{
|
||||
m_lcd_pwm->clear();
|
||||
m_led_pwm->clear();
|
||||
}
|
||||
}
|
||||
|
||||
int regency_state::update_irq2()
|
||||
{
|
||||
// 2nd button row is tied to IRQ2 (used for on/off button)
|
||||
int state = (m_inp_mux2 & m_inputs[1]->read()) ? ASSERT_LINE : CLEAR_LINE;
|
||||
m_maincpu->set_input_line(INPUT_LINE_IRQ2, state);
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
|
||||
// LCD
|
||||
|
||||
void regency_state::lcd_pwm_w(offs_t offset, u8 data)
|
||||
{
|
||||
m_out_lcd[offset & 0x3f][offset >> 6] = data;
|
||||
}
|
||||
|
||||
void regency_state::update_lcd()
|
||||
{
|
||||
u32 lcd_segs = bitswap<24>(m_lcd_segs,1,0, 15,14,13,12,11,10,9,8, 16,17,23,22,21,20,19,18, 25,26,27,28,29,31);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
// LCD common is 0/1/Hi-Z
|
||||
const u32 data = BIT(m_lcd_com, i + 2) ? (BIT(m_lcd_com, i) ? ~lcd_segs : lcd_segs) : 0;
|
||||
m_lcd_pwm->write_row(i, data);
|
||||
}
|
||||
}
|
||||
|
||||
template <int N>
|
||||
void regency_state::lcd_segs_w(u8 data)
|
||||
{
|
||||
// P1x, P3x, P4x, P6x: LCD segments
|
||||
const u8 shift = 8 * N;
|
||||
m_lcd_segs = (m_lcd_segs & ~(0xff << shift)) | (data << shift);
|
||||
update_lcd();
|
||||
}
|
||||
|
||||
|
||||
// misc
|
||||
|
||||
void regency_state::p2_w(u8 data)
|
||||
{
|
||||
// P20-P27: input mux (chessboard), LED data
|
||||
m_inp_mux = (m_inp_mux & 0x300) | (data ^ 0xff);
|
||||
m_led_pwm->write_mx(~data);
|
||||
}
|
||||
|
||||
void regency_state::p5_w(offs_t offset, u8 data, u8 mem_mask)
|
||||
{
|
||||
// P50: LCD common 2
|
||||
m_lcd_com = (m_lcd_com & 5) | (data << 1 & 2) | (mem_mask << 3 & 8);
|
||||
update_lcd();
|
||||
|
||||
// P51: speaker out
|
||||
m_dac->write(BIT(~data, 1));
|
||||
|
||||
// P52: input mux part
|
||||
m_inp_mux = (m_inp_mux & 0x2ff) | (BIT(~data, 2) << 8);
|
||||
|
||||
// P54,P55: LED select
|
||||
m_led_pwm->write_my(~data >> 4 & 3);
|
||||
}
|
||||
|
||||
u8 regency_state::p6_r()
|
||||
{
|
||||
// P65: battery status
|
||||
u8 data = m_inputs[2]->read() << 5 & 0x20;
|
||||
|
||||
// P66: IRQ2 pin
|
||||
if (!machine().side_effects_disabled() && update_irq2())
|
||||
data |= 0x40;
|
||||
|
||||
return ~data;
|
||||
}
|
||||
|
||||
void regency_state::p6_w(offs_t offset, u8 data, u8 mem_mask)
|
||||
{
|
||||
// P60,P61: LCD segs
|
||||
lcd_segs_w<0>(data & 3);
|
||||
|
||||
// P62: LCD common 1
|
||||
m_lcd_com = (m_lcd_com & 0xa) | (BIT(data, 2)) | (mem_mask & 4);
|
||||
update_lcd();
|
||||
|
||||
// P66: input mux part
|
||||
m_inp_mux = (m_inp_mux & 0x1ff) | (BIT(~data, 6) << 9);
|
||||
}
|
||||
|
||||
u8 regency_state::p7_r()
|
||||
{
|
||||
// P70-P77: multiplexed inputs
|
||||
u8 data = 0;
|
||||
|
||||
// read buttons
|
||||
for (int i = 0; i < 2; i++)
|
||||
if (BIT(m_inp_mux, i + 8))
|
||||
data |= m_inputs[i]->read();
|
||||
|
||||
// read chessboard
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_inp_mux, i))
|
||||
data |= m_board->read_file(i ^ 7);
|
||||
|
||||
return ~data;
|
||||
}
|
||||
|
||||
void regency_state::p7_w(u8 data)
|
||||
{
|
||||
// P70-P77: input mux (other way around)
|
||||
m_inp_mux2 = ~data;
|
||||
update_irq2();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Input Ports
|
||||
*******************************************************************************/
|
||||
|
||||
#define PORT_CHANGED_IN1() \
|
||||
PORT_CHANGED_MEMBER(DEVICE_SELF, regency_state, in1_changed, 0)
|
||||
|
||||
static INPUT_PORTS_START( regency )
|
||||
PORT_START("IN.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Knight / Lose")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Queen")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Set-Up / Features")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("Step Forward")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("Multi-Move / Analysis")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Rook / Win")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Pawn / Rating")
|
||||
|
||||
PORT_START("IN.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_F1) PORT_NAME("On / Off")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("King")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_M) PORT_NAME("Move / Swap Board")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_O) PORT_NAME("Sound / Style")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_T) PORT_NAME("Take Back")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_H) PORT_NAME("Hint / Info")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Bishop / Draw")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CHANGED_IN1() PORT_CODE(KEYCODE_N) PORT_NAME("New Game / Clear Board")
|
||||
|
||||
PORT_START("IN.2")
|
||||
PORT_CONFNAME( 0x01, 0x01, "Battery Status" )
|
||||
PORT_CONFSETTING( 0x00, "Low" )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( Normal ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Machine Configs
|
||||
*******************************************************************************/
|
||||
|
||||
void regency_state::regency(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
H83256(config, m_maincpu, 20_MHz_XTAL);
|
||||
m_maincpu->nvram_enable_backup(true);
|
||||
m_maincpu->standby_cb().set(m_maincpu, FUNC(h83256_device::nvram_set_battery));
|
||||
m_maincpu->standby_cb().append(FUNC(regency_state::standby));
|
||||
m_maincpu->write_port1().set(FUNC(regency_state::lcd_segs_w<2>));
|
||||
m_maincpu->read_port2().set_constant(0xef); // hardware config?
|
||||
m_maincpu->write_port2().set(FUNC(regency_state::p2_w));
|
||||
m_maincpu->write_port3().set(FUNC(regency_state::lcd_segs_w<1>));
|
||||
m_maincpu->write_port4().set(FUNC(regency_state::lcd_segs_w<3>));
|
||||
m_maincpu->read_port5().set_constant(0xff);
|
||||
m_maincpu->write_port5().set(FUNC(regency_state::p5_w));
|
||||
m_maincpu->read_port6().set(FUNC(regency_state::p6_r));
|
||||
m_maincpu->write_port6().set(FUNC(regency_state::p6_w));
|
||||
m_maincpu->read_port7().set(FUNC(regency_state::p7_r));
|
||||
m_maincpu->write_port7().set(FUNC(regency_state::p7_w));
|
||||
|
||||
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));
|
||||
//m_board->set_nvram_enable(true);
|
||||
|
||||
// video hardware
|
||||
PWM_DISPLAY(config, m_lcd_pwm).set_size(2, 24);
|
||||
m_lcd_pwm->output_x().set(FUNC(regency_state::lcd_pwm_w));
|
||||
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_size(1920/5, 697/5);
|
||||
screen.set_visarea_full();
|
||||
|
||||
PWM_DISPLAY(config, m_led_pwm).set_size(2, 8);
|
||||
config.set_default_layout(layout_krypton_regency);
|
||||
|
||||
// sound hardware
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
ROM Definitions
|
||||
*******************************************************************************/
|
||||
|
||||
ROM_START( regency )
|
||||
ROM_REGION16_BE( 0xc000, "maincpu", 0 )
|
||||
ROM_LOAD("1996_933_timorite_hd6433256a26p.ic1", 0x0000, 0xc000, CRC(72eb3f2b) SHA1(30e4166e351210475cf9709b0feb717d9d3ac747) )
|
||||
|
||||
ROM_REGION( 109652, "screen", 0 )
|
||||
ROM_LOAD("regency.svg", 0, 109652, CRC(6840c49e) SHA1(a9c91143c5bea5ab41fe323e719da4a46ab9d631) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
Drivers
|
||||
*******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
SYST( 1996, regency, 0, 0, regency, regency, regency_state, empty_init, "Krypton / Timorite", "Regency", MACHINE_SUPPORTS_SAVE )
|
@ -181,8 +181,9 @@ u8 igor_state::read_inputs()
|
||||
data |= m_board->read_file(i, true);
|
||||
|
||||
// P64-P66 are also IRQ pins (the ON button is IRQ0)
|
||||
for (int i = 0; i < 3; i++)
|
||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0 + i, BIT(data, i + 4) ? ASSERT_LINE : CLEAR_LINE);
|
||||
if (!machine().side_effects_disabled())
|
||||
for (int i = 0; i < 3; i++)
|
||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0 + i, BIT(data, i + 4) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
return ~data;
|
||||
}
|
||||
|
@ -197,8 +197,9 @@ u8 ivant_state::read_inputs()
|
||||
data |= m_board->read_file(i, true);
|
||||
|
||||
// P64-P66 are also IRQ pins (the ON button is IRQ0)
|
||||
for (int i = 0; i < 3; i++)
|
||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0 + i, BIT(data, i + 4) ? ASSERT_LINE : CLEAR_LINE);
|
||||
if (!machine().side_effects_disabled())
|
||||
for (int i = 0; i < 3; i++)
|
||||
m_maincpu->set_input_line(INPUT_LINE_IRQ0 + i, BIT(data, i + 4) ? ASSERT_LINE : CLEAR_LINE);
|
||||
|
||||
return ~data;
|
||||
}
|
||||
@ -335,7 +336,7 @@ ROM_START( ivant )
|
||||
ROM_LOAD("1996_701e_excalibur_ivan_t.ic2", 0x000000, 0x100000, CRC(f7c386a1) SHA1(357ca0b0c0b1409d33876b6fa00c5ad74b2643fc) )
|
||||
|
||||
ROM_REGION( 109652, "screen", 0 )
|
||||
ROM_LOAD("emirage.svg", 0, 109652, CRC(6840c49e) SHA1(a9c91143c5bea5ab41fe323e719da4a46ab9d631) )
|
||||
ROM_LOAD("regency.svg", 0, 109652, CRC(6840c49e) SHA1(a9c91143c5bea5ab41fe323e719da4a46ab9d631) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
@ -35,6 +35,7 @@ BTANB:
|
||||
- Motors gradually drift, causing it to place/pick up pieces off-center. It
|
||||
recalibrates itself once in a while but it's not enough. MAME's sensorboard
|
||||
device can't deal with it, so there's a workaround (see realign_magnet_pos).
|
||||
Ron Nelson blamed it on the hardware engineer, but it's a software fault.
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
@ -611,7 +612,7 @@ ROM_START( emirage )
|
||||
ROM_LOAD("1996_7012_excalibur_hd6433256a33p.ic1", 0x0000, 0xc000, CRC(41eed8ea) SHA1(8b5370814d2bfc2d5fcb4ee86c30d676517bcd3a) )
|
||||
|
||||
ROM_REGION( 109652, "screen", 0 )
|
||||
ROM_LOAD("emirage.svg", 0, 109652, CRC(6840c49e) SHA1(a9c91143c5bea5ab41fe323e719da4a46ab9d631) )
|
||||
ROM_LOAD("regency.svg", 0, 109652, CRC(6840c49e) SHA1(a9c91143c5bea5ab41fe323e719da4a46ab9d631) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
@ -366,10 +366,6 @@ authors:hap
|
||||
]]></data></image>
|
||||
</element>
|
||||
|
||||
<element name="hlb" defstate="0">
|
||||
<rect state="1"><color red="0" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="but" defstate="0">
|
||||
<rect>
|
||||
<bounds xc="0" yc="0" width="6.5" height="1.7" />
|
||||
@ -379,6 +375,10 @@ authors:hap
|
||||
<bounds xc="0" yc="0" width="6" height="1.2" />
|
||||
<color red="0.1" green="0.5" blue="0.7" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<bounds xc="0" yc="0" width="6.5" height="1.7" />
|
||||
<color red="0" green="0" blue="0" alpha="0.18" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<group name="buttons">
|
||||
@ -413,41 +413,23 @@ authors:hap
|
||||
|
||||
<element ref="cwhite" blend="multiply"><bounds xc="14.75" y="2" width="19" height="47" /><orientation rotate="90" /></element>
|
||||
|
||||
<element ref="but"><bounds xc="10" y="5.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="10.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="16.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="21.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="27.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="32.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="38.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="10" y="43.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x10"><bounds xc="10" y="5.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x08"><bounds xc="10" y="10.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x02"><bounds xc="10" y="16.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x04"><bounds xc="10" y="21.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x04"><bounds xc="10" y="27.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x80"><bounds xc="10" y="32.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x40"><bounds xc="10" y="38.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x20"><bounds xc="10" y="43.5" width="6.5" height="1.7" /></element>
|
||||
|
||||
<element ref="but"><bounds xc="19.5" y="5.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="10.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="16.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="21.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="27.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="32.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="38.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but"><bounds xc="19.5" y="43.5" width="6.5" height="1.7" /></element>
|
||||
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x10"><bounds xc="10" y="5.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x08"><bounds xc="10" y="10.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x02"><bounds xc="10" y="16.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x04"><bounds xc="10" y="21.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x04"><bounds xc="10" y="27.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x80"><bounds xc="10" y="32.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x40"><bounds xc="10" y="38.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x20"><bounds xc="10" y="43.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x10"><bounds xc="19.5" y="5.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x08"><bounds xc="19.5" y="10.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x02"><bounds xc="19.5" y="16.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x20"><bounds xc="19.5" y="21.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x40"><bounds xc="19.5" y="27.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x80"><bounds xc="19.5" y="32.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.0" inputmask="0x01"><bounds xc="19.5" y="38.0" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="hlb" inputtag="IN.1" inputmask="0x01"><bounds xc="19.5" y="43.5" width="6.5" height="1.7" /><color alpha="0.18" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x10"><bounds xc="19.5" y="5.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x08"><bounds xc="19.5" y="10.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x02"><bounds xc="19.5" y="16.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x20"><bounds xc="19.5" y="21.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x40"><bounds xc="19.5" y="27.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x80"><bounds xc="19.5" y="32.5" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x01"><bounds xc="19.5" y="38.0" width="6.5" height="1.7" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x01"><bounds xc="19.5" y="43.5" width="6.5" height="1.7" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
|
485
src/mame/layout/krypton_regency.lay
Normal file
485
src/mame/layout/krypton_regency.lay
Normal file
@ -0,0 +1,485 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0-1.0
|
||||
authors:hap
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element>
|
||||
<element name="cyan"><rect><color red="0.1" green="0.5" blue="0.7" /></rect></element>
|
||||
<element name="lcdm"><rect><color red="0.7" green="0.71" blue="0.72" /></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="1.0" green="0.1" blue="0.15" alpha="0.17" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="text_cl00"><text string="A" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl01"><text string="B" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl02"><text string="C" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl03"><text string="D" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl04"><text string="E" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl05"><text string="F" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl06"><text string="G" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl07"><text string="H" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
|
||||
<element name="text_cl10"><text string="A" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl11"><text string="B" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl12"><text string="C" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl13"><text string="D" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl14"><text string="E" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl15"><text string="F" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cl16"><text string="G" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cl17"><text string="H" align="2"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
|
||||
<element name="text_cn00"><text string="8" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn01"><text string="7" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn02"><text string="6" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn03"><text string="5" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn04"><text string="4" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn05"><text string="3" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn06"><text string="2" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn07"><text string="1" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
|
||||
<element name="text_cn10"><text string="8" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn11"><text string="7" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn12"><text string="6" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn13"><text string="5" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn14"><text string="4" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn15"><text string="3" align="1"><color red="0.41" green="0.4" blue="0.39" /></text></element>
|
||||
<element name="text_cn16"><text string="2" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_cn17"><text string="1" align="1"><color red="0.41" green="0.4" blue="0.39" /></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.svg" state="1"/>
|
||||
<image file="chess/wn.svg" state="2"/>
|
||||
<image file="chess/wb.svg" state="3"/>
|
||||
<image file="chess/wr.svg" state="4"/>
|
||||
<image file="chess/wq.svg" state="5"/>
|
||||
<image file="chess/wk.svg" state="6"/>
|
||||
|
||||
<image file="chess/bp.svg" state="7"/>
|
||||
<image file="chess/bn.svg" state="8"/>
|
||||
<image file="chess/bb.svg" state="9"/>
|
||||
<image file="chess/br.svg" state="10"/>
|
||||
<image file="chess/bq.svg" state="11"/>
|
||||
<image file="chess/bk.svg" state="12"/>
|
||||
|
||||
<!-- selected pieces -->
|
||||
<image file="chess/wp.svg" state="13"><color alpha="0.5" /></image>
|
||||
<image file="chess/wn.svg" state="14"><color alpha="0.5" /></image>
|
||||
<image file="chess/wb.svg" state="15"><color alpha="0.5" /></image>
|
||||
<image file="chess/wr.svg" state="16"><color alpha="0.5" /></image>
|
||||
<image file="chess/wq.svg" state="17"><color alpha="0.5" /></image>
|
||||
<image file="chess/wk.svg" state="18"><color alpha="0.5" /></image>
|
||||
|
||||
<image file="chess/bp.svg" state="19"><color alpha="0.5" /></image>
|
||||
<image file="chess/bn.svg" state="20"><color alpha="0.5" /></image>
|
||||
<image file="chess/bb.svg" state="21"><color alpha="0.5" /></image>
|
||||
<image file="chess/br.svg" state="22"><color alpha="0.5" /></image>
|
||||
<image file="chess/bq.svg" state="23"><color alpha="0.5" /></image>
|
||||
<image file="chess/bk.svg" state="24"><color alpha="0.5" /></image>
|
||||
</element>
|
||||
|
||||
<group name="sb_board">
|
||||
<bounds x="-0.25" y="-0.25" width="80.5" height="80.5" />
|
||||
<element ref="cyan"><bounds x="-0.25" y="-0.25" width="80.5" height="80.5" /></element>
|
||||
|
||||
<!-- squares (avoid seams) -->
|
||||
<element ref="cwhite"><bounds x="0" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="0" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="0" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="0" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="0" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="10" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="10" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="10" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="10" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="0" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="20" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="20" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="20" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="20" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="30" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="30" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="30" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="30" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="0" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="40" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="40" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="40" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="40" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="50" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="50" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="50" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="50" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="0" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="60" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="60" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="60" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="60" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="70" width="11" height="10" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="70" width="11" height="10" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="70" width="11" height="10" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="70" width="10" height="10" /></element>
|
||||
|
||||
<!-- coords -->
|
||||
<repeat count="4">
|
||||
<param name="y1" start="8.3" increment="20" />
|
||||
<param name="y2" start="18.3" increment="20" />
|
||||
<repeat count="8">
|
||||
<param name="i" start="0" increment="1" />
|
||||
<param name="x" start="8" increment="10" />
|
||||
<element ref="text_cl0~i~"><bounds x="~x~" y="~y1~" width="1" height="1.7" /></element>
|
||||
<element ref="text_cl1~i~"><bounds x="~x~" y="~y2~" width="1" height="1.7" /></element>
|
||||
</repeat>
|
||||
</repeat>
|
||||
|
||||
<repeat count="4">
|
||||
<param name="x1" start="9" increment="20" />
|
||||
<param name="x2" start="19" increment="20" />
|
||||
<repeat count="8">
|
||||
<param name="i" start="0" increment="1" />
|
||||
<param name="y" start="8.3" increment="10" />
|
||||
<element ref="text_cn0~i~"><bounds x="~x1~" y="~y~" width="1" height="1.7" /></element>
|
||||
<element ref="text_cn1~i~"><bounds x="~x2~" y="~y~" width="1" height="1.7" /></element>
|
||||
</repeat>
|
||||
</repeat>
|
||||
|
||||
<!-- sensors, pieces -->
|
||||
<repeat count="8">
|
||||
<param name="y" start="0" increment="10" />
|
||||
<param name="i" start="8" increment="-1" />
|
||||
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
|
||||
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_c~i~" ref="piece"><bounds x="20" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_d~i~" ref="piece"><bounds x="30" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_e~i~" ref="piece"><bounds x="40" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_f~i~" ref="piece"><bounds x="50" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_g~i~" ref="piece"><bounds x="60" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_h~i~" ref="piece"><bounds x="70" y="~y~" width="10" height="10" /></element>
|
||||
</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"><text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text></element>
|
||||
<element name="text_uib3"><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"><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"><text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text></element>
|
||||
<element name="text_uiu2b"><text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text></element>
|
||||
<element name="text_uiu2c"><text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text></element>
|
||||
<element name="text_uiu2d"><text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text></element>
|
||||
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></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_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" />
|
||||
<element ref="cblack"><bounds x="0" y="0" width="10" height="1" /></element>
|
||||
<element ref="cblack"><bounds x="0" y="7" width="10" height="1" /></element>
|
||||
<element ref="cblack"><bounds x="0" y="79" width="10" height="1" /></element>
|
||||
<element ref="text_uit1"><bounds x="0" y="2" width="10" height="2" /></element>
|
||||
<element ref="text_uit2"><bounds x="0" y="4" width="10" height="2" /></element>
|
||||
|
||||
<!-- board -->
|
||||
<element ref="text_uib1"><bounds x="0" y="9" width="10" height="2" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></element>
|
||||
|
||||
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
|
||||
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- spawn -->
|
||||
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="23" width="8" height="12" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="36" width="8" height="12" /></element>
|
||||
|
||||
<element name="piece_ui1" ref="piece"><bounds x="1" y="23" width="4" height="4" /></element>
|
||||
<element name="piece_ui2" ref="piece"><bounds x="1" y="27" width="4" height="4" /></element>
|
||||
<element name="piece_ui3" ref="piece"><bounds x="1" y="31" width="4" height="4" /></element>
|
||||
<element name="piece_ui4" ref="piece"><bounds x="5" y="23" width="4" height="4" /></element>
|
||||
<element name="piece_ui5" ref="piece"><bounds x="5" y="27" width="4" height="4" /></element>
|
||||
<element name="piece_ui6" ref="piece"><bounds x="5" y="31" width="4" height="4" /></element>
|
||||
<element name="piece_ui7" ref="piece"><bounds x="1" y="36" width="4" height="4" /></element>
|
||||
<element name="piece_ui8" ref="piece"><bounds x="1" y="40" width="4" height="4" /></element>
|
||||
<element name="piece_ui9" ref="piece"><bounds x="1" y="44" width="4" height="4" /></element>
|
||||
<element name="piece_ui10" ref="piece"><bounds x="5" y="36" width="4" height="4" /></element>
|
||||
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
|
||||
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- hand -->
|
||||
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
|
||||
<element ref="cblack"><bounds x="1" y="53.5" width="8" height="6" /></element>
|
||||
<element name="piece_ui0" ref="piece"><bounds x="2" y="53.5" width="6" height="6" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
|
||||
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- undo -->
|
||||
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
|
||||
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
|
||||
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
|
||||
<element ref="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- buttons -->
|
||||
|
||||
<element name="text_a1"><text string="WIN"></text></element>
|
||||
<element name="text_a2"><text string="DRAW"></text></element>
|
||||
<element name="text_a3"><text string="LOSE"></text></element>
|
||||
<element name="text_a4"><text string="RATING"></text></element>
|
||||
|
||||
<element name="text_b1a"><text string="NEW GAME"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b2a"><text string="SET-UP"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b3a"><text string="MULTI-MOVE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b4a"><text string="HINT"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b5"><text string="STEP FORWARD►" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b6"><text string="◄TAKE BACK" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b7a"><text string="MOVE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b8a"><text string="SOUND"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b9"><text string="LEVEL"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_b10"><text string="ON/OFF"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
|
||||
<element name="text_b1b"><text string="CLEAR BOARD"><color red="0.86" green="0.8" blue="0.1" /></text></element>
|
||||
<element name="text_b2b"><text string="FEATURES"><color red="0.86" green="0.8" blue="0.1" /></text></element>
|
||||
<element name="text_b3b"><text string="ANALYSIS"><color red="0.86" green="0.8" blue="0.1" /></text></element>
|
||||
<element name="text_b4b"><text string="INFO"><color red="0.86" green="0.8" blue="0.1" /></text></element>
|
||||
<element name="text_b7b"><text string="SWAP BOARD"><color red="0.86" green="0.8" blue="0.1" /></text></element>
|
||||
<element name="text_b8b"><text string="STYLE"><color red="0.86" green="0.8" blue="0.1" /></text></element>
|
||||
|
||||
<element name="text_p1"><image file="chess/wk.svg"/></element>
|
||||
<element name="text_p2"><image file="chess/wq.svg"/></element>
|
||||
<element name="text_p3"><image file="chess/wr.svg"/></element>
|
||||
<element name="text_p4"><image file="chess/wb.svg"/></element>
|
||||
<element name="text_p5"><image file="chess/wn.svg"/></element>
|
||||
<element name="text_p6"><image file="chess/wp.svg"/></element>
|
||||
|
||||
<element name="but" defstate="0">
|
||||
<rect>
|
||||
<bounds xc="0" yc="0" width="8.5" height="1.5" />
|
||||
<color red="0.81" green="0.8" blue="0.79" />
|
||||
</rect>
|
||||
<rect>
|
||||
<bounds xc="0" yc="0" width="8.0" height="1.0" />
|
||||
<color red="0.1" green="0.5" blue="0.7" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<bounds xc="0" yc="0" width="8.5" height="1.5" />
|
||||
<color red="0" green="0" blue="0" alpha="0.18" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<element name="butd" defstate="0">
|
||||
<disk>
|
||||
<bounds x="0" y="0" width="1" height="1" />
|
||||
<color red="0.81" green="0.8" blue="0.79" />
|
||||
</disk>
|
||||
<rect state="1">
|
||||
<bounds x="0" y="0" width="1" height="1" />
|
||||
<color red="0" green="0" blue="0" alpha="0.18" />
|
||||
</rect>
|
||||
</element>
|
||||
|
||||
<group name="buttons">
|
||||
<bounds x="0" y="0" width="40" height="80" />
|
||||
|
||||
<element ref="text_p1"><bounds xc="7.5" y="11.75" width="3.5" height="3.5" /></element>
|
||||
<element ref="text_p2"><bounds xc="13.75" y="11.75" width="3.5" height="3.5" /></element>
|
||||
<element ref="text_p3"><bounds xc="20.0" y="11.75" width="3.5" height="3.5" /></element>
|
||||
<element ref="text_p4"><bounds xc="7.5" y="20.5" width="3.5" height="3.5" /></element>
|
||||
<element ref="text_p5"><bounds xc="13.75" y="20.5" width="3.5" height="3.5" /></element>
|
||||
<element ref="text_p6"><bounds xc="20.0" y="20.5" width="3.5" height="3.5" /></element>
|
||||
|
||||
<element ref="whitew"><bounds xc="20.0" y="15.0" width="3" height="0.2" /></element>
|
||||
<element ref="whitew"><bounds xc="7.5" y="23.75" width="3" height="0.2" /></element>
|
||||
<element ref="whitew"><bounds xc="13.75" y="23.75" width="3" height="0.2" /></element>
|
||||
<element ref="whitew"><bounds xc="20.0" y="23.75" width="3" height="0.2" /></element>
|
||||
|
||||
<element ref="text_a1"><bounds xc="20.0" y="15.25" width="6" height="1.1" /></element>
|
||||
<element ref="text_a2"><bounds xc="7.5" y="24.0" width="6" height="1.1" /></element>
|
||||
<element ref="text_a3"><bounds xc="13.75" y="24.0" width="6" height="1.1" /></element>
|
||||
<element ref="text_a4"><bounds xc="20.0" y="24.0" width="6" height="1.1" /></element>
|
||||
|
||||
<element ref="cwhite" blend="multiply"><bounds x="5" y="10" width="20" height="20" /></element>
|
||||
|
||||
<element ref="butd" inputtag="IN.1" inputmask="0x02"><bounds xc="7.5" y="16.5" width="3" height="3" /></element>
|
||||
<element ref="butd" inputtag="IN.0" inputmask="0x02"><bounds xc="13.75" y="16.5" width="3" height="3" /></element>
|
||||
<element ref="butd" inputtag="IN.0" inputmask="0x40"><bounds xc="20.0" y="16.5" width="3" height="3" /></element>
|
||||
<element ref="butd" inputtag="IN.1" inputmask="0x40"><bounds xc="7.5" y="25.25" width="3" height="3" /></element>
|
||||
<element ref="butd" inputtag="IN.0" inputmask="0x01"><bounds xc="13.75" y="25.25" width="3" height="3" /></element>
|
||||
<element ref="butd" inputtag="IN.0" inputmask="0x80"><bounds xc="20.0" y="25.25" width="3" height="3" /></element>
|
||||
|
||||
<element ref="text_b1a"><bounds x="12.8" y="30.7" width="12" height="1.35" /></element>
|
||||
<element ref="text_b1b"><bounds x="12.8" y="32.45" width="12" height="1.35" /></element>
|
||||
<element ref="text_b2a"><bounds x="12.8" y="35.2" width="12" height="1.35" /></element>
|
||||
<element ref="text_b2b"><bounds x="12.8" y="36.95" width="12" height="1.35" /></element>
|
||||
<element ref="text_b3a"><bounds x="12.8" y="39.7" width="12" height="1.35" /></element>
|
||||
<element ref="text_b3b"><bounds x="12.8" y="41.45" width="12" height="1.35" /></element>
|
||||
<element ref="text_b4a"><bounds x="12.8" y="44.2" width="12" height="1.35" /></element>
|
||||
<element ref="text_b4b"><bounds x="12.8" y="45.95" width="12" height="1.35" /></element>
|
||||
<element ref="text_b7a"><bounds x="12.8" y="57.7" width="12" height="1.35" /></element>
|
||||
<element ref="text_b7b"><bounds x="12.8" y="59.45" width="12" height="1.35" /></element>
|
||||
<element ref="text_b8a"><bounds x="12.8" y="62.2" width="12" height="1.35" /></element>
|
||||
<element ref="text_b8b"><bounds x="12.8" y="63.95" width="12" height="1.35" /></element>
|
||||
|
||||
<element ref="text_b5"><bounds x="15.1" y="49.575" width="12" height="1.35" /></element>
|
||||
<element ref="text_b6"><bounds x="15.1" y="54.075" width="12" height="1.35" /></element>
|
||||
<element ref="text_b9"><bounds x="12.8" y="67.575" width="12" height="1.35" /></element>
|
||||
<element ref="text_b10"><bounds x="12.8" y="72.075" width="12" height="1.35" /></element>
|
||||
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x80"><bounds x="6" y="31.5" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x04"><bounds x="6" y="36.0" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x20"><bounds x="6" y="40.5" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x20"><bounds x="6" y="45.0" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x10"><bounds x="6" y="49.5" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x10"><bounds x="6" y="54.0" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x04"><bounds x="6" y="58.5" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x08"><bounds x="6" y="63.0" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.0" inputmask="0x08"><bounds x="6" y="67.5" width="8.5" height="1.5" /></element>
|
||||
<element ref="but" inputtag="IN.1" inputmask="0x01"><bounds x="6" y="72.0" width="8.5" height="1.5" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="-15.5" right="102.5" top="-2.5" bottom="83" />
|
||||
|
||||
<group ref="sb_board"><bounds x="0" y="0" width="80.5" height="80.5" /></group>
|
||||
<group ref="sb_ui"><bounds x="-14" y="0.25" width="10" height="80" /></group>
|
||||
|
||||
<group ref="buttons"><bounds x="77" y="5.0" width="40" height="80" /></group>
|
||||
|
||||
<screen index="0"><bounds x="83" y="4.623" width="15.5" height="5.627" /></screen>
|
||||
<element ref="lcdm" blend="multiply"><bounds x="82" y="3" width="20" height="10" /></element>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<repeat count="8">
|
||||
<param name="y" start="5.25" increment="10" />
|
||||
<param name="i" start="7" increment="-1" />
|
||||
|
||||
<element name="0.~i~" ref="led"><bounds x="-2" yc="~y~" width="1.5" height="1.5" /></element>
|
||||
</repeat>
|
||||
<repeat count="8">
|
||||
<param name="x" start="5.25" increment="10" />
|
||||
<param name="i" start="7" increment="-1" />
|
||||
|
||||
<element name="1.~i~" ref="led"><bounds xc="~x~" y="81" width="1.5" height="1.5" /></element>
|
||||
</repeat>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -16146,6 +16146,9 @@ cncchess2
|
||||
@source:chess/conic_cchess3.cpp
|
||||
cncchess3
|
||||
|
||||
@source:chess/krypton_regency.cpp
|
||||
regency
|
||||
|
||||
@source:chess/regence.cpp
|
||||
regence
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user