mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
mk1: rewrote most of the driver (nw)
New working clone added ----------- CompuChess [hap]
This commit is contained in:
parent
646d958249
commit
0f01ef7441
@ -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 )
|
||||
|
262
src/mame/layout/cmpchess.lay
Normal file
262
src/mame/layout/cmpchess.lay
Normal 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>
|
@ -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>
|
||||
|
@ -21716,6 +21716,7 @@ mjsister // (c) 1986 Toaplan
|
||||
|
||||
@source:mk1.cpp
|
||||
ccmk1 // Chess Champion MK I
|
||||
cmpchess
|
||||
|
||||
@source:mk14.cpp
|
||||
mk14 //
|
||||
|
Loading…
Reference in New Issue
Block a user