mk1: rewrote most of the driver (nw)

New working clone added
-----------
CompuChess [hap]
This commit is contained in:
hap 2019-03-15 20:06:21 +01:00
parent 646d958249
commit 0f01ef7441
4 changed files with 740 additions and 147 deletions

View File

@ -1,21 +1,26 @@
// license:GPL-2.0+
// copyright-holders:Peter Trauner
// copyright-holders:Peter Trauner, Wilbert Pol, hap
/******************************************************************************
Driver file to handle emulation of the Novag/Videomaster Chess Champion MK I
by PeT mess@utanet.at 2000,2001.
Initial version by PeT mess@utanet.at 2000,2001.
Minor updates by Wilbert Pol - 2007
The MK I was a clone of Data Cash Systems's Compuchess (1977, one of the first
The MK I was a clone of Data Cash Systems's CompuChess (1977, one of the first
chess computers). The ROM is identical. DCS sued Novag Industries for copyright
infringement and somehow didn't manage to win the case.
Hardware descriptions:
- An F8 3850 CPU accompanied by a 3853 memory interface
Unlike CompuChess, MK I was a large success, we can assume that it kickstarted
Novag's chess computer generation. It was also distributed as "Computer Chess"
by JS&A, in the same casing as MK I.
To start playing, enter difficulty level (1-6), then when it says "bP", press A
for new game, B for empty board, or C for continue.
MK I hardware description:
- An F8 3850 CPU accompanied by a 3853 memory interface, approx 2MHz
Variations seen:
- MOSTEK MK 3853N 7915 Philippines ( static memory interface for f8)
- MOSTEK MK 3850N-3 7917 Philipines (fairchild f8 cpu)
- MOSTEK MK 3853N 7915 Philippines (static memory interface for F8)
- MOSTEK MK 3850N-3 7917 Philipines (Fairchild F8 CPU)
- 3850PK F7901 SINGAPORE (Fairchild F8 CPU)
- 3853PK F7851 SINGAPORE (static memory interface for F8)
- 2KB 2316 compatible ROM
@ -35,8 +40,8 @@ Hardware descriptions:
- The digit display is driven by two other components:
- SN75492N MALAYSIA 7840B
- ULN2033A 7847
- Hardware addressing is controlled by a NBF4001AE.
- Unknown if there is a speaker.
- Hardware addressing is controlled by a HBF4001AE.
- No speaker.
******************************************************************************/
@ -44,171 +49,270 @@ Hardware descriptions:
#include "cpu/f8/f8.h"
#include "machine/f3853.h"
#include "machine/timer.h"
#include "mk1.lh"
// internal artwork
#include "cmpchess.lh" // clickable
#include "mk1.lh" // clickable
namespace {
class mk1_state : public driver_device
{
public:
mk1_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_digits(*this, "digit%u", 0U)
, m_leds(*this, "led%u", 0U)
mk1_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_keypad(*this, "LINE%u", 1U),
m_delay_display(*this, "delay_display_%u", 0),
m_out_digit(*this, "digit%u", 0U)
{ }
void cmpchess(machine_config &config);
void mk1(machine_config &config);
private:
DECLARE_READ8_MEMBER(mk1_f8_r);
DECLARE_WRITE8_MEMBER(mk1_f8_w);
TIMER_DEVICE_CALLBACK_MEMBER(mk1_update_leds);
void mk1_io(address_map &map);
void mk1_mem(address_map &map);
DECLARE_INPUT_CHANGED_MEMBER(reset_switch);
protected:
virtual void machine_start() override;
uint8_t m_f8[2];
uint8_t m_led_data[4];
private:
// devices/pointers
required_device<cpu_device> m_maincpu;
output_finder<4> m_digits;
output_finder<4> m_leds;
required_ioport_array<4> m_keypad;
required_device_array<timer_device, 4> m_delay_display;
output_finder<4> m_out_digit;
void main_io(address_map &map);
void main_map(address_map &map);
TIMER_DEVICE_CALLBACK_MEMBER(blink) { m_blink = !m_blink; update_display(); }
TIMER_DEVICE_CALLBACK_MEMBER(delay_display);
void update_display();
DECLARE_READ8_MEMBER(input_r);
DECLARE_WRITE8_MEMBER(digit_select_w);
DECLARE_WRITE8_MEMBER(digit_data_w);
u8 m_digit_select;
u8 m_digit_data;
bool m_blink;
};
READ8_MEMBER( mk1_state::mk1_f8_r )
void mk1_state::machine_start()
{
uint8_t i, data = m_f8[offset];
// resolve handlers
m_out_digit.resolve();
if ( offset == 0 )
// zerofill
m_digit_select = 0;
m_digit_data = 0;
m_blink = false;
// register for savestates
save_item(NAME(m_digit_select));
save_item(NAME(m_digit_data));
save_item(NAME(m_blink));
}
INPUT_CHANGED_MEMBER(mk1_state::reset_switch)
{
// reset switch is tied to F3850 RESET pin
m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE);
// clear display
if (newval)
{
if (BIT(data, 0)) data |= ioport("LINE1")->read();
if (BIT(data, 1)) data |= ioport("LINE2")->read();
if (BIT(data, 2)) data |= ioport("LINE3")->read();
if (BIT(data, 3)) data |= ioport("LINE4")->read();
m_digit_select = 0xff;
for (int i = 0; i < 4; i++)
m_out_digit[i] = 0;
}
}
for (i = 4; i < 8; i++)
/******************************************************************************
Devices, I/O
******************************************************************************/
// display handling
TIMER_DEVICE_CALLBACK_MEMBER(mk1_state::delay_display)
{
// clear digits if inactive
if (BIT(m_digit_select, param))
m_out_digit[param] = 0;
}
void mk1_state::update_display()
{
// output digits if active
for (int i = 0; i < 4; i++)
{
if (!BIT(m_digit_select, i))
{
if (BIT(data, i))
{
if (BIT(ioport("LINE1")->read(), i)) data |= 1;
if (BIT(ioport("LINE2")->read(), i)) data |= 2;
if (BIT(ioport("LINE3")->read(), i)) data |= 4;
if (BIT(ioport("LINE4")->read(), i)) data |= 8;
}
// display panel goes into automated blink mode if DP segment is held high
// and DP segment itself only appears to be active if no other segments are
u8 mask = (m_digit_data == 1) ? 0x80 : 0x7f;
mask = (m_blink && m_digit_data & 1) ? 0 : mask;
m_out_digit[i] = bitswap<8>(m_digit_data,0,2,1,3,4,5,6,7) & mask;
}
}
}
// F3850 ports
WRITE8_MEMBER(mk1_state::digit_data_w)
{
// digit segment data, and also input mux
m_digit_data = data;
update_display();
}
WRITE8_MEMBER(mk1_state::digit_select_w)
{
// d0-d3: digit select (active low)
// they're strobed, so on rising edge, delay them going off to prevent flicker or stuck display
for (int i = 0; i < 4; i++)
if (BIT(~m_digit_select & data, i))
m_delay_display[i]->adjust(attotime::from_msec(20), i);
m_digit_select = data;
update_display();
}
READ8_MEMBER(mk1_state::input_r)
{
u8 data = m_digit_data;
// d0-d3: multiplexed inputs from d4-d7
for (int i = 0; i < 4; i++)
if (m_digit_data & m_keypad[i]->read())
data |= 1 << i;
// d4-d7: multiplexed inputs from d0-d3
for (int i = 0; i < 4; i++)
if (BIT(m_digit_data, i))
data |= m_keypad[i]->read();
return data;
}
WRITE8_MEMBER( mk1_state::mk1_f8_w )
{
/* 0 is high and allows also input */
m_f8[offset] = data;
if ( ! ( m_f8[1] & 1 ) ) m_led_data[0] = bitswap<8>( m_f8[0],2,1,3,4,5,6,7,0 );
if ( ! ( m_f8[1] & 2 ) ) m_led_data[1] = bitswap<8>( m_f8[0],2,1,3,4,5,6,7,0 );
if ( ! ( m_f8[1] & 4 ) ) m_led_data[2] = bitswap<8>( m_f8[0],2,1,3,4,5,6,7,0 );
if ( ! ( m_f8[1] & 8 ) ) m_led_data[3] = bitswap<8>( m_f8[0],2,1,3,4,5,6,7,0 );
}
void mk1_state::mk1_mem(address_map &map)
/******************************************************************************
Address Maps
******************************************************************************/
void mk1_state::main_map(address_map &map)
{
map(0x0000, 0x07ff).rom();
map(0x1800, 0x18ff).ram();
}
void mk1_state::mk1_io(address_map &map)
void mk1_state::main_io(address_map &map)
{
map(0x0, 0x1).rw(FUNC(mk1_state::mk1_f8_r), FUNC(mk1_state::mk1_f8_w));
map(0xc, 0xf).rw("smi", FUNC(f3853_device::read), FUNC(f3853_device::write));
map(0x00, 0x00).rw(FUNC(mk1_state::input_r), FUNC(mk1_state::digit_data_w));
map(0x01, 0x01).w(FUNC(mk1_state::digit_select_w));
map(0x0c, 0x0f).rw("smi", FUNC(f3853_device::read), FUNC(f3853_device::write));
}
static INPUT_PORTS_START( mk1 )
PORT_START("RESET") /* 0 */
PORT_DIPNAME ( 0x01, 0x01, "Switch")
PORT_DIPSETTING( 0, "L" )
PORT_DIPSETTING( 1, "S" )
PORT_START("LINE1") /* 1 */
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White A King") PORT_CODE(KEYCODE_A)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White B Queen") PORT_CODE(KEYCODE_B)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White C Bishop") PORT_CODE(KEYCODE_C)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White D PLAY") PORT_CODE(KEYCODE_D)
PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
/******************************************************************************
Input Ports
******************************************************************************/
PORT_START("LINE2") /* 2 */
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White E Knight") PORT_CODE(KEYCODE_E)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White F Castle") PORT_CODE(KEYCODE_F)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White G Pawn") PORT_CODE(KEYCODE_G)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("White H md") PORT_CODE(KEYCODE_H)
PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
static INPUT_PORTS_START( cmpchess )
PORT_START("LINE1")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("A / White King")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_NAME("B / White Queen")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("C / White Bishop")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("D / Play")
PORT_START("LINE3") /* 3 */
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 1 King") PORT_CODE(KEYCODE_1)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 2 Queen") PORT_CODE(KEYCODE_2)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 3 Bishop") PORT_CODE(KEYCODE_3)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 4 fp") PORT_CODE(KEYCODE_4)
PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("LINE2")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("E / White Knight")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_NAME("F / White Rook")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("G / White Pawn")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_M) PORT_NAME("H / md") // more data
PORT_START("LINE4") /* 4 */
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 5 Knight") PORT_CODE(KEYCODE_5)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 6 Castle") PORT_CODE(KEYCODE_6)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 7 Pawn") PORT_CODE(KEYCODE_7)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Black 8 ep") PORT_CODE(KEYCODE_8)
PORT_BIT(0x0f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START("LINE3")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("1 / Black King")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("2 / Black Queen")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("3 / Black Bishop")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("4 / fp") // find piece(position)
PORT_START("LINE4")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("5 / Black Knight")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("6 / Black Rook")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("7 / Black Pawn")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("8 / ep") // enter piece(position)
PORT_START("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_OTHER) PORT_CODE(KEYCODE_R) PORT_TOGGLE PORT_CHANGED_MEMBER(DEVICE_SELF, mk1_state, reset_switch, nullptr) PORT_NAME("Reset Switch") // L.S. switch on the MK I
INPUT_PORTS_END
TIMER_DEVICE_CALLBACK_MEMBER(mk1_state::mk1_update_leds)
{
for (int i = 0; i < 4; i++)
{
m_digits[i] = m_led_data[i] >> 1;
m_leds[i] = m_led_data[i] & 0x01;
m_led_data[i] = 0;
}
}
/******************************************************************************
Machine Configs
******************************************************************************/
void mk1_state::machine_start()
{
m_digits.resolve();
m_leds.resolve();
}
void mk1_state::mk1(machine_config &config)
void mk1_state::cmpchess(machine_config &config)
{
/* basic machine hardware */
F8(config, m_maincpu, 2000000); // MK3850, approx 2MHz
m_maincpu->set_addrmap(AS_PROGRAM, &mk1_state::mk1_mem);
m_maincpu->set_addrmap(AS_IO, &mk1_state::mk1_io);
F8(config, m_maincpu, 3.579545_MHz_XTAL/2); // Fairchild 3850PK
m_maincpu->set_addrmap(AS_PROGRAM, &mk1_state::main_map);
m_maincpu->set_addrmap(AS_IO, &mk1_state::main_io);
m_maincpu->set_irq_acknowledge_callback("smi", FUNC(f3853_device::int_acknowledge));
f3853_device &smi(F3853(config, "smi", 2000000));
f3853_device &smi(F3853(config, "smi", 3.579545_MHz_XTAL/2));
smi.int_req_callback().set_inputline("maincpu", F8_INPUT_LINE_INT_REQ);
/* video hardware */
config.set_default_layout(layout_mk1);
for (int i = 0; i < 4; i++)
TIMER(config, m_delay_display[i]).configure_generic(FUNC(mk1_state::delay_display));
TIMER(config, "led_timer").configure_periodic(FUNC(mk1_state::mk1_update_leds), attotime::from_hz(30));
TIMER(config, "blink_display").configure_periodic(FUNC(mk1_state::blink), attotime::from_msec(250)); // approximation
config.set_default_layout(layout_cmpchess);
}
void mk1_state::mk1(machine_config &config)
{
cmpchess(config);
/* basic machine hardware */
m_maincpu->set_clock(2000000); // it's a bit faster than cmpchess
subdevice<f3853_device>("smi")->set_clock(2000000);
config.set_default_layout(layout_mk1);
}
ROM_START( ccmk1 )
ROM_REGION(0x10000,"maincpu",0)
ROM_LOAD("82c210-1", 0x0000, 0x800, CRC(278f7bf3) SHA1(b384c95ba691d52dfdddd35987a71e9746a46170))
/******************************************************************************
ROM Definitions
******************************************************************************/
ROM_START( cmpchess )
ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD("32014-4950", 0x0000, 0x0800, CRC(278f7bf3) SHA1(b384c95ba691d52dfdddd35987a71e9746a46170) )
ROM_END
ROM_START( ccmk1 )
ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD("82c210-1", 0x0000, 0x0800, CRC(278f7bf3) SHA1(b384c95ba691d52dfdddd35987a71e9746a46170) )
ROM_END
/***************************************************************************
} // anonymous namespace
Game driver(s)
***************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY FULLNAME FLAGS
CONS( 1978, ccmk1, 0, 0, mk1, mk1, mk1_state, empty_init, "Novag", "Chess Champion: MK I", MACHINE_NO_SOUND_HW )
/******************************************************************************
Drivers
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1977, cmpchess, 0, 0, cmpchess, cmpchess, mk1_state, empty_init, "Data Cash Systems", "CompuChess", MACHINE_NO_SOUND_HW | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1978, ccmk1, cmpchess, 0, mk1, cmpchess, mk1_state, empty_init, "Novag", "Chess Champion: MK I", MACHINE_NO_SOUND_HW | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -0,0 +1,262 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="black"><rect><color red="0.12" green="0.12" blue="0.12" /></rect></element>
<element name="white1"><rect><color red="0.8" green="0.8" blue="0.8" /></rect></element>
<element name="white2"><rect><color red="0.82" green="0.82" blue="0.62" /></rect></element>
<element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
</element>
<element name="hl" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</text>
<rect state="1">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</rect>
</element>
<element name="reset" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="1.8" height="3.7" />
<color red="0.0" green="0.0" blue="0.0" />
</text>
<disk state="0">
<bounds x="0.0" y="0.0" width="1.8" height="1.8" />
<color red="0.4" green="0.4" blue="0.4" />
</disk>
<disk state="1">
<bounds x="0.0" y="1.9" width="1.8" height="1.8" />
<color red="0.4" green="0.4" blue="0.4" />
</disk>
</element>
<element name="text_r1"><text string="RUN"><color red="0.3" green="0.3" blue="0.3" /></text></element>
<element name="text_r2"><text string="RESET"><color red="0.3" green="0.3" blue="0.3" /></text></element>
<element name="text_b01a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="A"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b01b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="wk"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b02a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="B"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b02b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="wq"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b03a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="C"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b03b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="wb"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b05a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="E"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b05b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="wn"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b06a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="F"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b06b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="wr"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b07a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="G"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b07b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="wp"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b09a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="1"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b09b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="bk"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b10a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="2"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b10b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="bq"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b11a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="3"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b11b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="bb"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b13a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="5"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b13b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="bn"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b14a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="6"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b14b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="br"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b15a">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="7"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b15b">
<rect><color red="0.8" green="0.8" blue="0.8" /></rect>
<text string="bp"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b04a">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="D"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b04b">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="play"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b08a">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="H"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b08b">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="md"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b12a">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="4"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b12b">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="fp"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b16a">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="8"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<element name="text_b16b">
<rect><color red="0.82" green="0.82" blue="0.62" /></rect>
<text string="ep"><color red="0.1" green="0.1" blue="0.1" /></text>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="8.5" right="56.5" top="15.5" bottom="76.5" />
<bezel name="digit0" element="digit"><bounds x="19" y="17" width="6.75" height="10.125" /></bezel>
<bezel name="digit1" element="digit"><bounds x="25.75" y="17" width="6.75" height="10.125" /></bezel>
<bezel name="digit2" element="digit"><bounds x="32.5" y="17" width="6.75" height="10.125" /></bezel>
<bezel name="digit3" element="digit"><bounds x="39.25" y="17" width="6.75" height="10.125" /></bezel>
<bezel element="black"><bounds x="12.5" y="20.5" width="1.4" height="3.5" /></bezel>
<bezel element="text_r1"><bounds x="10.5" y="18" width="5.4" height="2" /></bezel>
<bezel element="text_r2"><bounds x="10.5" y="24.5" width="5.4" height="2" /></bezel>
<bezel element="reset" inputtag="RESET" inputmask="0x01"><bounds x="12.3" y="20.4" width="1.8" height="3.7" /></bezel>
<!-- button panel -->
<bezel element="white1"><bounds x="10" y="30" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="22" y="30" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="34" y="30" width="9" height="9" /></bezel>
<bezel element="white2"><bounds x="46" y="30" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="10" y="42" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="22" y="42" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="34" y="42" width="9" height="9" /></bezel>
<bezel element="white2"><bounds x="46" y="42" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="10" y="54" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="22" y="54" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="34" y="54" width="9" height="9" /></bezel>
<bezel element="white2"><bounds x="46" y="54" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="10" y="66" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="22" y="66" width="9" height="9" /></bezel>
<bezel element="white1"><bounds x="34" y="66" width="9" height="9" /></bezel>
<bezel element="white2"><bounds x="46" y="66" width="9" height="9" /></bezel>
<bezel element="text_b01a"><bounds x="10.1" y="30.5" width="8.8" height="5" /></bezel>
<bezel element="text_b01b"><bounds x="10.1" y="35.3" width="8.8" height="3" /></bezel>
<bezel element="text_b02a"><bounds x="22.1" y="30.5" width="8.8" height="5" /></bezel>
<bezel element="text_b02b"><bounds x="22.1" y="35.3" width="8.8" height="3" /></bezel>
<bezel element="text_b03a"><bounds x="34.1" y="30.5" width="8.8" height="5" /></bezel>
<bezel element="text_b03b"><bounds x="34.1" y="35.3" width="8.8" height="3" /></bezel>
<bezel element="text_b04a"><bounds x="46.1" y="30.5" width="8.8" height="5" /></bezel>
<bezel element="text_b04b"><bounds x="46.1" y="35.3" width="8.8" height="3" /></bezel>
<bezel element="text_b05a"><bounds x="10.1" y="42.5" width="8.8" height="5" /></bezel>
<bezel element="text_b05b"><bounds x="10.1" y="47.3" width="8.8" height="3" /></bezel>
<bezel element="text_b06a"><bounds x="22.1" y="42.5" width="8.8" height="5" /></bezel>
<bezel element="text_b06b"><bounds x="22.1" y="47.3" width="8.8" height="3" /></bezel>
<bezel element="text_b07a"><bounds x="34.1" y="42.5" width="8.8" height="5" /></bezel>
<bezel element="text_b07b"><bounds x="34.1" y="47.3" width="8.8" height="3" /></bezel>
<bezel element="text_b08a"><bounds x="46.1" y="42.5" width="8.8" height="5" /></bezel>
<bezel element="text_b08b"><bounds x="46.1" y="47.3" width="8.8" height="3" /></bezel>
<bezel element="text_b09a"><bounds x="10.1" y="54.5" width="8.8" height="5" /></bezel>
<bezel element="text_b09b"><bounds x="10.1" y="59.3" width="8.8" height="3" /></bezel>
<bezel element="text_b10a"><bounds x="22.1" y="54.5" width="8.8" height="5" /></bezel>
<bezel element="text_b10b"><bounds x="22.1" y="59.3" width="8.8" height="3" /></bezel>
<bezel element="text_b11a"><bounds x="34.1" y="54.5" width="8.8" height="5" /></bezel>
<bezel element="text_b11b"><bounds x="34.1" y="59.3" width="8.8" height="3" /></bezel>
<bezel element="text_b12a"><bounds x="46.1" y="54.5" width="8.8" height="5" /></bezel>
<bezel element="text_b12b"><bounds x="46.1" y="59.3" width="8.8" height="3" /></bezel>
<bezel element="text_b13a"><bounds x="10.1" y="66.5" width="8.8" height="5" /></bezel>
<bezel element="text_b13b"><bounds x="10.1" y="71.3" width="8.8" height="3" /></bezel>
<bezel element="text_b14a"><bounds x="22.1" y="66.5" width="8.8" height="5" /></bezel>
<bezel element="text_b14b"><bounds x="22.1" y="71.3" width="8.8" height="3" /></bezel>
<bezel element="text_b15a"><bounds x="34.1" y="66.5" width="8.8" height="5" /></bezel>
<bezel element="text_b15b"><bounds x="34.1" y="71.3" width="8.8" height="3" /></bezel>
<bezel element="text_b16a"><bounds x="46.1" y="66.5" width="8.8" height="5" /></bezel>
<bezel element="text_b16b"><bounds x="46.1" y="71.3" width="8.8" height="3" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x80"><bounds x="10" y="30" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x40"><bounds x="22" y="30" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x20"><bounds x="34" y="30" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x10"><bounds x="46" y="30" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x80"><bounds x="10" y="42" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x40"><bounds x="22" y="42" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x20"><bounds x="34" y="42" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x10"><bounds x="46" y="42" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x80"><bounds x="10" y="54" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x40"><bounds x="22" y="54" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x20"><bounds x="34" y="54" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x10"><bounds x="46" y="54" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x80"><bounds x="10" y="66" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x40"><bounds x="22" y="66" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x20"><bounds x="34" y="66" width="9" height="9" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x10"><bounds x="46" y="66" width="9" height="9" /><color alpha="0.2" /></bezel>
</view>
</mamelayout>

View File

@ -1,42 +1,268 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="black"><rect><color red="0.12" green="0.12" blue="0.12" /></rect></element>
<element name="black2"><rect><color red="0.16" green="0.16" blue="0.16" /></rect></element>
<element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="red"><rect><color red="0.8" green="0.2" blue="0.25" /></rect></element>
<element name="digit" defstate="0">
<led7seg>
<color red="0.75" green="0.0" blue="0.0" />
</led7seg>
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
</element>
<element name="led" defstate="0">
<element name="hl" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</text>
<rect state="1">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</rect>
</element>
<element name="reset" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="3.7" height="1.8" />
<color red="0.0" green="0.0" blue="0.0" />
</text>
<disk state="0">
<bounds x="0.0" y="0.0" width="1.8" height="1.8" />
<color red="0.4" green="0.4" blue="0.4" />
</disk>
<disk state="1">
<color red="0.75" green="0.0" blue="0.0" />
<bounds x="1.9" y="0.0" width="1.8" height="1.8" />
<color red="0.4" green="0.4" blue="0.4" />
</disk>
</element>
<view name="Default Layout">
<bezel name="digit0" element="digit">
<bounds x="0" y="1" width="26" height="35" />
</bezel>
<bezel name="digit1" element="digit">
<bounds x="37" y="0" width="26" height="35" />
</bezel>
<bezel name="digit2" element="digit">
<bounds x="75" y="0" width="26" height="35" />
</bezel>
<bezel name="digit3" element="digit">
<bounds x="111" y="0" width="26" height="35" />
</bezel>
<element name="text_r1"><text string="L" align="1"><color red="0.3" green="0.3" blue="0.3" /></text></element>
<element name="text_r2"><text string="S" align="1"><color red="0.3" green="0.3" blue="0.3" /></text></element>
<element name="text_b01a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="A" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b01b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[K]" align="1"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b02a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="B" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b02b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[Q]" align="1"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b03a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="C" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b03b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[B]" align="1"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b04a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="D" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b04b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="PLAY"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b05a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="E" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b05b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[N]" align="1"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b06a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="F" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b06b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[R]" align="1"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b07a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="G" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b07b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[P]" align="1"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b08a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="H" align="2"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b08b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="md"><color red="0.86" green="0.86" blue="0.86" /></text>
</element>
<element name="text_b09a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="1" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b09b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[K]" align="1"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b10a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="2" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b10b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[Q]" align="1"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b11a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="3" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b11b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[B]" align="1"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b12a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="4" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b12b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="fp"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b13a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="5" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b13b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[N]" align="1"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b14a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="6" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b14b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[R]" align="1"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b15a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="7" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b15b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="[P]" align="1"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b16a">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="8" align="2"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<element name="text_b16b">
<rect><color red="0.8" green="0.2" blue="0.25" /></rect>
<text string="ep"><color red="0.03" green="0.03" blue="0.03" /></text>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="5.5" right="56.5" top="8.5" bottom="76.5" />
<bezel element="black2"><bounds left="7" right="55" top="10" bottom="75" /></bezel>
<bezel element="blackb"><bounds x="8.5" y="28.5" width="100" height="100" /></bezel>
<bezel element="blackb"><bounds x="0" y="0" width="53.5" height="27" /></bezel>
<!-- digit panel is actually on the left, but that would leave a large empty space in this internal layout -->
<bezel name="digit0" element="digit"><bounds x="15" y="10" width="8" height="12" /></bezel>
<bezel name="digit1" element="digit"><bounds x="23" y="10" width="8" height="12" /></bezel>
<bezel name="digit2" element="digit"><bounds x="31" y="10" width="8" height="12" /></bezel>
<bezel name="digit3" element="digit"><bounds x="39" y="10" width="8" height="12" /></bezel>
<bezel element="black"><bounds x="17" y="23.8" width="3.5" height="1.4" /></bezel>
<bezel element="text_r1"><bounds x="15" y="23.5" width="5" height="2" /></bezel>
<bezel element="text_r2"><bounds x="21.5" y="23.5" width="5.4" height="2" /></bezel>
<bezel element="reset" inputtag="RESET" inputmask="0x01"><bounds x="16.9" y="23.6" width="3.7" height="1.8" /></bezel>
<!-- button panel -->
<bezel element="red"><bounds x="10" y="30" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="22" y="30" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="34" y="30" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="46" y="30" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="10" y="42" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="22" y="42" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="34" y="42" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="46" y="42" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="10" y="54" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="22" y="54" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="34" y="54" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="46" y="54" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="10" y="66" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="22" y="66" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="34" y="66" width="9" height="9" /></bezel>
<bezel element="red"><bounds x="46" y="66" width="9" height="9" /></bezel>
<bezel element="text_b01b"><bounds x="10.6" y="30.1" width="8.0" height="4" /></bezel>
<bezel element="text_b01a"><bounds x="14.5" y="34.5" width="3.5" height="4" /></bezel>
<bezel element="text_b02b"><bounds x="22.6" y="30.1" width="8.0" height="4" /></bezel>
<bezel element="text_b02a"><bounds x="26.5" y="34.5" width="3.5" height="4" /></bezel>
<bezel element="text_b03b"><bounds x="34.6" y="30.1" width="8.0" height="4" /></bezel>
<bezel element="text_b03a"><bounds x="38.5" y="34.5" width="3.5" height="4" /></bezel>
<bezel element="text_b04b"><bounds x="46.1" y="30.5" width="7" height="3" /></bezel>
<bezel element="text_b04a"><bounds x="50.5" y="34.5" width="3.5" height="4" /></bezel>
<bezel element="text_b05b"><bounds x="10.6" y="42.1" width="8.0" height="4" /></bezel>
<bezel element="text_b05a"><bounds x="14.5" y="46.5" width="3.5" height="4" /></bezel>
<bezel element="text_b06b"><bounds x="22.6" y="42.1" width="8.0" height="4" /></bezel>
<bezel element="text_b06a"><bounds x="26.5" y="46.5" width="3.5" height="4" /></bezel>
<bezel element="text_b07b"><bounds x="34.6" y="42.1" width="8.0" height="4" /></bezel>
<bezel element="text_b07a"><bounds x="38.5" y="46.5" width="3.5" height="4" /></bezel>
<bezel element="text_b08b"><bounds x="46.1" y="42.5" width="5.5" height="3" /></bezel>
<bezel element="text_b08a"><bounds x="50.5" y="46.5" width="3.5" height="4" /></bezel>
<bezel element="text_b09b"><bounds x="10.6" y="54.1" width="8.0" height="4" /></bezel>
<bezel element="text_b09a"><bounds x="14.5" y="58.5" width="3.5" height="4" /></bezel>
<bezel element="text_b10b"><bounds x="22.6" y="54.1" width="8.0" height="4" /></bezel>
<bezel element="text_b10a"><bounds x="26.5" y="58.5" width="3.5" height="4" /></bezel>
<bezel element="text_b11b"><bounds x="34.6" y="54.1" width="8.0" height="4" /></bezel>
<bezel element="text_b11a"><bounds x="38.5" y="58.5" width="3.5" height="4" /></bezel>
<bezel element="text_b12b"><bounds x="46.1" y="54.5" width="5" height="3" /></bezel>
<bezel element="text_b12a"><bounds x="50.5" y="58.5" width="3.5" height="4" /></bezel>
<bezel element="text_b13b"><bounds x="10.6" y="66.1" width="8.0" height="4" /></bezel>
<bezel element="text_b13a"><bounds x="14.5" y="70.5" width="3.5" height="4" /></bezel>
<bezel element="text_b14b"><bounds x="22.6" y="66.1" width="8.0" height="4" /></bezel>
<bezel element="text_b14a"><bounds x="26.5" y="70.5" width="3.5" height="4" /></bezel>
<bezel element="text_b15b"><bounds x="34.6" y="66.1" width="8.0" height="4" /></bezel>
<bezel element="text_b15a"><bounds x="38.5" y="70.5" width="3.5" height="4" /></bezel>
<bezel element="text_b16b"><bounds x="46.1" y="66.5" width="5.5" height="3" /></bezel>
<bezel element="text_b16a"><bounds x="50.5" y="70.5" width="3.5" height="4" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x80"><bounds x="10" y="30" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x40"><bounds x="22" y="30" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x20"><bounds x="34" y="30" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE1" inputmask="0x10"><bounds x="46" y="30" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x80"><bounds x="10" y="42" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x40"><bounds x="22" y="42" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x20"><bounds x="34" y="42" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE2" inputmask="0x10"><bounds x="46" y="42" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x80"><bounds x="10" y="54" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x40"><bounds x="22" y="54" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x20"><bounds x="34" y="54" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE3" inputmask="0x10"><bounds x="46" y="54" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x80"><bounds x="10" y="66" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x40"><bounds x="22" y="66" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x20"><bounds x="34" y="66" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel element="hl" inputtag="LINE4" inputmask="0x10"><bounds x="46" y="66" width="9" height="9" /><color alpha="0.25" /></bezel>
<bezel name="led0" element="led">
<bounds x="24" y="33" width="4" height="3" />
</bezel>
<bezel name="led1" element="led">
<bounds x="61" y="32" width="4" height="3" />
</bezel>
<bezel name="led2" element="led">
<bounds x="99" y="32" width="4" height="3" />
</bezel>
<bezel name="led3" element="led">
<bounds x="135" y="32" width="4" height="3" />
</bezel>
</view>
</mamelayout>

View File

@ -21716,6 +21716,7 @@ mjsister // (c) 1986 Toaplan
@source:mk1.cpp
ccmk1 // Chess Champion MK I
cmpchess
@source:mk14.cpp
mk14 //