mirror of
https://github.com/holub/mame
synced 2025-04-16 21:44:32 +03:00
mephisto_montec.cpp: split driver file into montec/smondial
This commit is contained in:
parent
b3e581c8f9
commit
f498f61295
@ -2550,6 +2550,7 @@ files {
|
||||
MAME_DIR .. "src/mame/drivers/mephisto_montec.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/mephisto_polgar.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/mephisto_risc.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/mephisto_smondial.cpp",
|
||||
MAME_DIR .. "src/mame/machine/mmboard.cpp",
|
||||
MAME_DIR .. "src/mame/machine/mmboard.h",
|
||||
MAME_DIR .. "src/mame/video/mmdisplay1.cpp",
|
||||
|
@ -161,6 +161,9 @@ B0000x-xxxxxx: see V7, -800000
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/gen_latch.h"
|
||||
#include "machine/ram.h"
|
||||
@ -169,8 +172,6 @@ B0000x-xxxxxx: see V7, -800000
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pwm.h"
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
|
||||
#include "softlist.h"
|
||||
#include "speaker.h"
|
||||
|
@ -205,20 +205,14 @@ private:
|
||||
void ttl_w(offs_t offset, u8 data);
|
||||
u8 ttl_r(offs_t offset);
|
||||
|
||||
u8 m_select;
|
||||
u8 m_7seg_data;
|
||||
u8 m_speech_data;
|
||||
u8 m_speech_bank;
|
||||
u8 m_select = 0;
|
||||
u8 m_7seg_data = 0;
|
||||
u8 m_speech_data = 0;
|
||||
u8 m_speech_bank = 0;
|
||||
};
|
||||
|
||||
void excel_state::machine_start()
|
||||
{
|
||||
// zerofill
|
||||
m_select = 0;
|
||||
m_7seg_data = 0;
|
||||
m_speech_data = 0;
|
||||
m_speech_bank = 0;
|
||||
|
||||
// register for savestates
|
||||
save_item(NAME(m_select));
|
||||
save_item(NAME(m_7seg_data));
|
||||
|
@ -142,6 +142,7 @@ void phantom_state::init_fphantom()
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Motor Sim
|
||||
******************************************************************************/
|
||||
@ -206,6 +207,7 @@ void phantom_state::update_pieces_position(int state)
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
@ -336,6 +338,7 @@ u8 phantom_state::vmotor_ff_clear_r()
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
@ -1,7 +1,7 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sandro Ronco, hap
|
||||
// thanks-to:yoyo_chessboard
|
||||
/***************************************************************************
|
||||
/******************************************************************************
|
||||
|
||||
Mephisto Academy
|
||||
|
||||
@ -18,7 +18,7 @@ Since the program is on an external module, it appears it was meant to be
|
||||
a modular chesscomputer. However, no extra modules were sold separately.
|
||||
Module PCB is the same as Super Mondial II College, label HGS 10 116 05.
|
||||
|
||||
***************************************************************************/
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
@ -126,6 +126,7 @@ INPUT_PORTS_END
|
||||
|
||||
void academy_state::academy(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M65C02(config, m_maincpu, 4.9152_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &academy_state::main_map);
|
||||
|
||||
@ -140,6 +141,7 @@ void academy_state::academy(machine_config &config)
|
||||
MEPHISTO_SENSORS_BOARD(config, "board"); // internal
|
||||
MEPHISTO_DISPLAY_MODULE2(config, "display"); // internal
|
||||
|
||||
/* video hardware */
|
||||
PWM_DISPLAY(config, m_led_pwm).set_size(4, 4);
|
||||
config.set_default_layout(layout_mephisto_academy);
|
||||
}
|
||||
@ -176,7 +178,7 @@ ROM_END
|
||||
Game Drivers
|
||||
***************************************************************************/
|
||||
|
||||
/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1989, academy, 0, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1989, academyg, academy, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (German, 06-03-89)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1989, academyga, academy, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (German, 04-10-88)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -253,7 +253,7 @@ ROM_END
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1985, amsterd, 0, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Amsterdam", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1986, dallas32, 0, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68020", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -111,7 +111,8 @@ u8 glasgow_state::keys_r()
|
||||
data |= 1 << i;
|
||||
|
||||
// reading keypad also clears irq
|
||||
m_maincpu->set_input_line(M68K_IRQ_5, CLEAR_LINE);
|
||||
if (!machine().side_effects_disabled())
|
||||
m_maincpu->set_input_line(M68K_IRQ_5, CLEAR_LINE);
|
||||
|
||||
return ~data;
|
||||
}
|
||||
@ -239,7 +240,7 @@ ROM_END
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1984, glasgow, 0, 0, glasgow, glasgow, glasgow_state, empty_init, "Hegener + Glaser", "Mephisto III-S Glasgow", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
// newer chesscomputers on 4-ROM hardware (see mephisto_amsterdam.cpp for parent sets)
|
||||
|
@ -113,7 +113,7 @@ u8 milano_state::board_r()
|
||||
|
||||
u8 milano_state::keys_r(offs_t offset)
|
||||
{
|
||||
return (BIT(m_keys->read(), offset) << 7) | 0x7f;
|
||||
return ~(BIT(m_keys->read(), offset) << 7);
|
||||
}
|
||||
|
||||
|
||||
@ -142,14 +142,14 @@ void milano_state::milano_mem(address_map &map)
|
||||
|
||||
static INPUT_PORTS_START( milano )
|
||||
PORT_START("KEY")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Training / Pawn") PORT_CODE(KEYCODE_T)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Info / Knight") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Memory / Bishop") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Position / Rook") PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Level / Queen") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Function / King") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter / New Game") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_F1) // combine for NEW GAME
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clear / New Game") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_F1) // "
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Training / Pawn") PORT_CODE(KEYCODE_T)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Info / Knight") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Memory / Bishop") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Position / Rook") PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Level / Queen") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Function / King") PORT_CODE(KEYCODE_F)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Enter / New Game") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_F1) // combine for NEW GAME
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Clear / New Game") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_F1) // "
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -6,13 +6,14 @@ Mephisto 4 + 5 Chess Computer
|
||||
2007 Dirk V.
|
||||
|
||||
TODO:
|
||||
- rebel5 unknown read from 0x4002, looks like leftover bookrom check
|
||||
- need to emulate TurboKit properly, also for mm5p (it's not as simple as a CPU
|
||||
overclock plus ROM patch)
|
||||
|
||||
===============================================================================
|
||||
|
||||
Hardware notes:
|
||||
- CPU: G65SC02P-4 or R65C02P3/R65C02P4
|
||||
- CPU: R65C02P3/R65C02P4 or G65SC02P-4
|
||||
- Clock: 4.9152 MHz
|
||||
- NMI CLK: 600 Hz
|
||||
- IRQ Line is set to VSS
|
||||
@ -85,7 +86,7 @@ MM VI (Saitek, 1994) is on different hardware, H8 CPU.
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "cpu/m6502/m65sc02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "machine/74259.h"
|
||||
#include "machine/mmboard.h"
|
||||
#include "sound/dac.h"
|
||||
@ -169,7 +170,7 @@ void mm2_state::lcd_irqack_w(u8 data)
|
||||
{
|
||||
m_display->data_w(data);
|
||||
|
||||
// writing to 0x2800 also clears irq
|
||||
// accessing 0x2800 also clears irq
|
||||
m_maincpu->set_input_line(0, CLEAR_LINE);
|
||||
}
|
||||
|
||||
@ -205,9 +206,9 @@ void mm2_state::mm2_mem(address_map &map)
|
||||
void mm2_state::rebel5_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram();
|
||||
map(0x2000, 0x2007).w("outlatch", FUNC(hc259_device::write_d7));
|
||||
map(0x3000, 0x4000).r("board", FUNC(mephisto_board_device::input_r));
|
||||
map(0x2000, 0x2007).w("outlatch", FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x3000, 0x3007).r(FUNC(mm2_state::keys_r));
|
||||
map(0x4000, 0x4000).r("board", FUNC(mephisto_board_device::input_r));
|
||||
map(0x5000, 0x5000).w(m_display, FUNC(mephisto_display1_device::data_w));
|
||||
map(0x6000, 0x6000).w("board", FUNC(mephisto_board_device::led_w));
|
||||
map(0x7000, 0x7000).w("board", FUNC(mephisto_board_device::mux_w));
|
||||
@ -218,7 +219,7 @@ void mm2_state::mm5p_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram();
|
||||
map(0x2000, 0x2000).w(m_display, FUNC(mephisto_display1_device::data_w));
|
||||
map(0x2400, 0x2407).w("board", FUNC(mephisto_board_device::led_w)).nopr();
|
||||
map(0x2400, 0x2400).w("board", FUNC(mephisto_board_device::led_w));
|
||||
map(0x2800, 0x2800).w("board", FUNC(mephisto_board_device::mux_w));
|
||||
map(0x2c00, 0x2c07).r(FUNC(mm2_state::keys_r));
|
||||
map(0x3000, 0x3000).r("board", FUNC(mephisto_board_device::input_r));
|
||||
@ -300,7 +301,7 @@ INPUT_PORTS_END
|
||||
void mm2_state::rebel5(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M65SC02(config, m_maincpu, 9.8304_MHz_XTAL / 2);
|
||||
R65C02(config, m_maincpu, 9.8304_MHz_XTAL / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::rebel5_mem);
|
||||
|
||||
const attotime nmi_period = attotime::from_hz(9.8304_MHz_XTAL / 2 / 0x2000); // 600Hz
|
||||
@ -504,7 +505,7 @@ CONS( 1985, bup, 0, 0, bup, bup, mm2_state, empty_init, "He
|
||||
CONS( 1985, bupa, bup, 0, bup, bup, mm2_state, empty_init, "Hegener + Glaser", u8"Mephisto Blitz- und Problemlösungs-Modul (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1986, rebel5, 0, 0, rebel5, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka MM III
|
||||
CONS( 1986, rebel5a, rebel5, 0, rebel5, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1986, rebel5a, rebel5, 0, rebel5, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // "
|
||||
|
||||
CONS( 1987, mm4, 0, 0, mm4, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1987, mm4a, mm4, 0, mm4, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -12,7 +12,6 @@ Hardware notes:
|
||||
|
||||
TODO:
|
||||
- verify XTAL (or maybe RC or LC circuit), 2MHz is correct
|
||||
- unknown read from 0x2000
|
||||
- dump/add MM 1000 module
|
||||
|
||||
******************************************************************************/
|
||||
@ -61,6 +60,7 @@ private:
|
||||
void mondial_mem(address_map &map);
|
||||
|
||||
void control_w(u8 data);
|
||||
u8 irq_ack_r();
|
||||
u8 input_r(offs_t offset);
|
||||
|
||||
u8 m_inp_mux = 0;
|
||||
@ -77,6 +77,25 @@ void mondial_state::machine_start()
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
void mondial_state::control_w(u8 data)
|
||||
{
|
||||
// d0-d3: input mux, led select
|
||||
// d4-d6: led data
|
||||
m_inp_mux = data & 0xf;
|
||||
m_led_pwm->matrix(1 << m_inp_mux, ~data >> 4 & 7);
|
||||
|
||||
// d7: enable beeper
|
||||
m_beeper->set_state(BIT(data, 7));
|
||||
}
|
||||
|
||||
u8 mondial_state::irq_ack_r()
|
||||
{
|
||||
if (!machine().side_effects_disabled())
|
||||
m_maincpu->set_input_line(0, CLEAR_LINE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u8 mondial_state::input_r(offs_t offset)
|
||||
{
|
||||
u8 data = 0;
|
||||
@ -92,17 +111,6 @@ u8 mondial_state::input_r(offs_t offset)
|
||||
return ~(BIT(data, offset) << 7);
|
||||
}
|
||||
|
||||
void mondial_state::control_w(u8 data)
|
||||
{
|
||||
// d0-d3: input mux, led select
|
||||
// d4-d6: led data
|
||||
m_inp_mux = data & 0xf;
|
||||
m_led_pwm->matrix(1 << m_inp_mux, ~data >> 4 & 7);
|
||||
|
||||
// d7: enable beeper
|
||||
m_beeper->set_state(BIT(data, 7));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
@ -114,7 +122,7 @@ void mondial_state::mondial_mem(address_map &map)
|
||||
map(0x0000, 0x07ff).ram();
|
||||
map(0x1000, 0x1000).w(FUNC(mondial_state::control_w));
|
||||
map(0x1800, 0x1807).r(FUNC(mondial_state::input_r));
|
||||
map(0x2000, 0x2000).nopr(); // ?
|
||||
map(0x2000, 0x2000).r(FUNC(mondial_state::irq_ack_r));
|
||||
map(0xc000, 0xffff).rom();
|
||||
}
|
||||
|
||||
@ -126,24 +134,24 @@ void mondial_state::mondial_mem(address_map &map)
|
||||
|
||||
static INPUT_PORTS_START( mondial )
|
||||
PORT_START("KEY.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD)
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PLAY") PORT_CODE(KEYCODE_Y)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_DEL)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -159,7 +167,7 @@ void mondial_state::mondial(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mondial_state::mondial_mem);
|
||||
|
||||
const attotime irq_period = attotime::from_hz(2000000 / 0x1000);
|
||||
m_maincpu->set_periodic_int(FUNC(mondial_state::irq0_line_hold), irq_period);
|
||||
m_maincpu->set_periodic_int(FUNC(mondial_state::irq0_line_assert), irq_period);
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
|
@ -55,9 +55,9 @@ private:
|
||||
void mondial2_mem(address_map &map);
|
||||
|
||||
void update_leds();
|
||||
u8 input_r(offs_t offset);
|
||||
void control_w(u8 data);
|
||||
void board_w(u8 data);
|
||||
u8 input_r(offs_t offset);
|
||||
|
||||
u8 m_keypad_mux = 0;
|
||||
u8 m_board_mux = 0;
|
||||
@ -83,23 +83,6 @@ void mondial2_state::update_leds()
|
||||
m_led_pwm->matrix(m_board_mux, m_led_data);
|
||||
}
|
||||
|
||||
u8 mondial2_state::input_r(offs_t offset)
|
||||
{
|
||||
u8 data = 0;
|
||||
|
||||
// read chessboard sensors
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_board_mux, i))
|
||||
data |= BIT(m_board->read_rank(i), offset);
|
||||
|
||||
// read keypad
|
||||
for (int i = 0; i < 4; i++)
|
||||
if (BIT(m_keypad_mux, i))
|
||||
data |= BIT(m_keys[i]->read(), offset & 3);
|
||||
|
||||
return ~(data << 7);
|
||||
}
|
||||
|
||||
void mondial2_state::control_w(u8 data)
|
||||
{
|
||||
// d0-d3: keypad mux
|
||||
@ -120,6 +103,23 @@ void mondial2_state::board_w(u8 data)
|
||||
update_leds();
|
||||
}
|
||||
|
||||
u8 mondial2_state::input_r(offs_t offset)
|
||||
{
|
||||
u8 data = 0;
|
||||
|
||||
// read chessboard sensors
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_board_mux, i))
|
||||
data |= BIT(m_board->read_rank(i), offset);
|
||||
|
||||
// read keypad
|
||||
for (int i = 0; i < 4; i++)
|
||||
if (BIT(m_keypad_mux, i))
|
||||
data |= BIT(m_keys[i]->read(), offset & 3);
|
||||
|
||||
return ~(data << 7);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
@ -143,16 +143,16 @@ void mondial2_state::mondial2_mem(address_map &map)
|
||||
|
||||
static INPUT_PORTS_START( mondial2 )
|
||||
PORT_START("KEY.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD)
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD)
|
||||
|
||||
PORT_START("KEY.2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PLAY") PORT_CODE(KEYCODE_Y)
|
||||
@ -161,10 +161,10 @@ static INPUT_PORTS_START( mondial2 )
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I)
|
||||
|
||||
PORT_START("KEY.3")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_DEL)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
Mephisto Mondial 68000XL
|
||||
The chess engine is actually the one from Mephisto Dallas.
|
||||
|
||||
Hardware:
|
||||
Hardware notes:
|
||||
- TS68000CP12 @ 12MHz
|
||||
- 64KB ROM
|
||||
- 16KB RAM
|
||||
@ -38,7 +38,8 @@ public:
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_board(*this, "board")
|
||||
, m_display(*this, "display")
|
||||
, m_lcd_latch(*this, "lcd_latch")
|
||||
, m_led_pwm(*this, "led_pwm")
|
||||
, m_lcd(*this, "lcd")
|
||||
, m_inputs(*this, "IN.%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
@ -51,15 +52,16 @@ protected:
|
||||
|
||||
void mondial68k_mem(address_map &map);
|
||||
|
||||
void lcd_s_w(u32 data);
|
||||
void update_leds();
|
||||
void lcd_output_w(u32 data);
|
||||
void input_mux_w(u8 data);
|
||||
void board_mux_w(u8 data);
|
||||
u8 inputs_r();
|
||||
void update_display();
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
required_device<pwm_display_device> m_display;
|
||||
required_device<hc259_device> m_lcd_latch;
|
||||
required_device<pwm_display_device> m_led_pwm;
|
||||
required_device<pcf2112_device> m_lcd;
|
||||
required_ioport_array<4> m_inputs;
|
||||
output_finder<4> m_digits;
|
||||
@ -83,12 +85,12 @@ void mondial68k_state::machine_start()
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
void mondial68k_state::update_display()
|
||||
void mondial68k_state::update_leds()
|
||||
{
|
||||
m_display->matrix(m_input_mux >> 6, ~m_board_mux);
|
||||
m_led_pwm->matrix(m_input_mux >> 6, ~m_board_mux);
|
||||
}
|
||||
|
||||
void mondial68k_state::lcd_s_w(u32 data)
|
||||
void mondial68k_state::lcd_output_w(u32 data)
|
||||
{
|
||||
// output LCD digits (note: last digit DP segment is unused)
|
||||
for (int i = 0; i < 4; i++)
|
||||
@ -99,7 +101,7 @@ void mondial68k_state::board_mux_w(u8 data)
|
||||
{
|
||||
// d0-d7: chessboard mux, led data
|
||||
m_board_mux = data;
|
||||
update_display();
|
||||
update_leds();
|
||||
}
|
||||
|
||||
void mondial68k_state::input_mux_w(u8 data)
|
||||
@ -107,7 +109,7 @@ void mondial68k_state::input_mux_w(u8 data)
|
||||
// d0-d3: button mux
|
||||
// d6,d7: led select
|
||||
m_input_mux = data;
|
||||
update_display();
|
||||
update_leds();
|
||||
}
|
||||
|
||||
u8 mondial68k_state::inputs_r()
|
||||
@ -137,7 +139,7 @@ void mondial68k_state::mondial68k_mem(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x00ffff).rom();
|
||||
map(0x800000, 0x800000).r(FUNC(mondial68k_state::inputs_r));
|
||||
map(0x820000, 0x82000f).nopr().w("outlatch", FUNC(hc259_device::write_d0)).umask16(0xff00);
|
||||
map(0x820000, 0x82000f).nopr().w(m_lcd_latch, FUNC(hc259_device::write_d0)).umask16(0xff00);
|
||||
map(0x840000, 0x840000).w(FUNC(mondial68k_state::input_mux_w));
|
||||
map(0x860000, 0x860000).w(FUNC(mondial68k_state::board_mux_w));
|
||||
map(0xc00000, 0xc03fff).ram();
|
||||
@ -188,12 +190,12 @@ void mondial68k_state::mondial68k(machine_config &config)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mondial68k_state::mondial68k_mem);
|
||||
m_maincpu->set_periodic_int(FUNC(mondial68k_state::irq5_line_hold), attotime::from_hz(128));
|
||||
|
||||
hc259_device &outlatch(HC259(config, "outlatch"));
|
||||
outlatch.q_out_cb<0>().set(m_lcd, FUNC(pcf2112_device::clb_w));
|
||||
outlatch.q_out_cb<1>().set(m_lcd, FUNC(pcf2112_device::data_w));
|
||||
outlatch.q_out_cb<2>().set(m_lcd, FUNC(pcf2112_device::dlen_w));
|
||||
outlatch.q_out_cb<6>().set_nop(); // another DAC input?
|
||||
outlatch.q_out_cb<7>().set("dac", FUNC(dac_1bit_device::write));
|
||||
HC259(config, m_lcd_latch);
|
||||
m_lcd_latch->q_out_cb<0>().set(m_lcd, FUNC(pcf2112_device::clb_w));
|
||||
m_lcd_latch->q_out_cb<1>().set(m_lcd, FUNC(pcf2112_device::data_w));
|
||||
m_lcd_latch->q_out_cb<2>().set(m_lcd, FUNC(pcf2112_device::dlen_w));
|
||||
m_lcd_latch->q_out_cb<6>().set_nop(); // another DAC input?
|
||||
m_lcd_latch->q_out_cb<7>().set("dac", FUNC(dac_1bit_device::write));
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
@ -201,9 +203,9 @@ void mondial68k_state::mondial68k(machine_config &config)
|
||||
|
||||
/* video hardware */
|
||||
PCF2112(config, m_lcd, 50); // frequency guessed
|
||||
m_lcd->write_segs().set(FUNC(mondial68k_state::lcd_s_w));
|
||||
m_lcd->write_segs().set(FUNC(mondial68k_state::lcd_output_w));
|
||||
|
||||
PWM_DISPLAY(config, m_display).set_size(2, 8);
|
||||
PWM_DISPLAY(config, m_led_pwm).set_size(2, 8);
|
||||
config.set_default_layout(layout_mephisto_mondial68k);
|
||||
|
||||
/* sound hardware */
|
||||
@ -231,5 +233,5 @@ ROM_END
|
||||
Game Drivers
|
||||
***************************************************************************/
|
||||
|
||||
/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1988, mondl68k, 0, 0, mondial68k, mondial68k, mondial68k_state, empty_init, "Hegener + Glaser", "Mephisto Mondial 68000XL", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1988, mondl68k, 0, 0, mondial68k, mondial68k, mondial68k_state, empty_init, "Hegener + Glaser", "Mephisto Mondial 68000XL", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
@ -1,435 +1,240 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sandro Ronco
|
||||
// thanks-to:yoyo_chessboard
|
||||
/**************************************************************************************************
|
||||
// copyright-holders:Sandro Ronco, hap
|
||||
/******************************************************************************
|
||||
|
||||
Mephisto Monte Carlo
|
||||
Mephisto Mega IV
|
||||
Mephisto Monte Carlo IV LE
|
||||
Mephisto Super Mondial
|
||||
Mephisto Super Mondial II
|
||||
Mephisto Monte Carlo
|
||||
Mephisto Monte Carlo IV
|
||||
Mephisto Monte Carlo IV - Limited Edition
|
||||
|
||||
smondialb notes:
|
||||
- holding CL+INFO+BOOK on boot load the test mode
|
||||
The chess engine is by Frans Morsch, but for the IV version it's by Ed Schroeder.
|
||||
Limited Edition has a twice faster CPU.
|
||||
|
||||
TODO:
|
||||
- split driver into several files?
|
||||
- megaiv/smondial leds are tri-color
|
||||
- why are megaiv/smondial2 beeps noisy?
|
||||
- what is montec 0x2000? (it can't be nmi ack)
|
||||
- add Monte Carlo IV (non-LE)
|
||||
Hardware notes:
|
||||
- R65C02P4 @ 4MHz
|
||||
- 8KB RAM(battery-backed), 32KB ROM
|
||||
- expansion slot at underside (not used)
|
||||
- 2*PCF2112, 2 7seg LCD screens
|
||||
- 8 tri-color leds (like academy, always 6 red and 2 green?)
|
||||
- magnetic chessboard with 64 leds, piezo
|
||||
|
||||
**************************************************************************************************/
|
||||
TODO:
|
||||
- dump/add the standard Monte Carlo IV
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "cpu/m6502/m65c02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "machine/74259.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/mmboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pcf2100.h"
|
||||
#include "video/pwm.h"
|
||||
|
||||
#include "screen.h"
|
||||
#include "speaker.h"
|
||||
#include "softlist.h"
|
||||
|
||||
// internal artwork
|
||||
#include "mephisto_montec.lh"
|
||||
#include "mephisto_megaiv.lh"
|
||||
#include "mephisto_smondial.lh"
|
||||
#include "mephisto_smondial2.lh"
|
||||
|
||||
|
||||
class mephisto_montec_state : public driver_device
|
||||
namespace {
|
||||
|
||||
class montec_state : public driver_device
|
||||
{
|
||||
public:
|
||||
mephisto_montec_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
montec_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_board(*this, "board")
|
||||
, m_muxlatch(*this, "muxlatch")
|
||||
, m_lcd_latch(*this, "lcd_latch")
|
||||
, m_led_pwm(*this, "led_pwm")
|
||||
, m_lcd(*this, "lcd%u", 0)
|
||||
, m_dac(*this, "dac")
|
||||
, m_keys(*this, "KEY.%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
, m_low_leds(*this, "led%u", 0U)
|
||||
, m_high_leds(*this, "led%u", 100U)
|
||||
{ }
|
||||
|
||||
void smondial2(machine_config &config);
|
||||
void montec(machine_config &config);
|
||||
void monteciv(machine_config &config);
|
||||
void megaiv(machine_config &config);
|
||||
void montec4le(machine_config &config);
|
||||
|
||||
protected:
|
||||
uint8_t montec_input_r();
|
||||
void montec_led_w(uint8_t data);
|
||||
template<int N> void montec_lcd_s_w(uint32_t data);
|
||||
|
||||
uint8_t megaiv_input_r(offs_t offset);
|
||||
void megaiv_led_w(uint8_t data);
|
||||
|
||||
void megaiv_mem(address_map &map);
|
||||
void montec_mem(address_map &map);
|
||||
void smondial2_mem(address_map &map);
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<mephisto_board_device> m_board;
|
||||
required_device<hc259_device> m_muxlatch;
|
||||
required_device<hc259_device> m_lcd_latch;
|
||||
required_device<pwm_display_device> m_led_pwm;
|
||||
required_device_array<pcf2112_device, 2> m_lcd;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
required_ioport_array<2> m_keys;
|
||||
output_finder<8> m_digits;
|
||||
output_finder<16> m_low_leds, m_high_leds;
|
||||
|
||||
uint8_t m_leds_mux;
|
||||
void montec_mem(address_map &map);
|
||||
|
||||
template<int N> void lcd_output_w(u32 data);
|
||||
void led_w(u8 data);
|
||||
void irq_ack_w(u8 data) { irq_ack_r(); }
|
||||
u8 irq_ack_r();
|
||||
u8 input_r();
|
||||
};
|
||||
|
||||
class mephisto_smondial_state : public mephisto_montec_state
|
||||
{
|
||||
public:
|
||||
mephisto_smondial_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: mephisto_montec_state(mconfig, type, tag)
|
||||
, m_ledlatch(*this, "ledlatch")
|
||||
, m_boardlatch(*this, "boardlatch")
|
||||
{ }
|
||||
|
||||
void smondial(machine_config &config);
|
||||
|
||||
private:
|
||||
template<int N> DECLARE_WRITE_LINE_MEMBER(led_mux_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(leds_a_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(leds_b_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(leds_c_w);
|
||||
|
||||
void smondial_mem(address_map &map);
|
||||
|
||||
required_device<hc259_device> m_ledlatch;
|
||||
required_device<hc259_device> m_boardlatch;
|
||||
};
|
||||
|
||||
|
||||
void mephisto_montec_state::machine_start()
|
||||
void montec_state::machine_start()
|
||||
{
|
||||
m_digits.resolve();
|
||||
m_low_leds.resolve();
|
||||
m_high_leds.resolve();
|
||||
|
||||
save_item(NAME(m_leds_mux));
|
||||
}
|
||||
|
||||
void mephisto_montec_state::machine_reset()
|
||||
{
|
||||
m_leds_mux = 0x00;
|
||||
}
|
||||
|
||||
void mephisto_montec_state::montec_led_w(uint8_t data)
|
||||
{
|
||||
for(int i=0; i<4; i++)
|
||||
for(int j=0; j<4; j++)
|
||||
if (BIT(data, i))
|
||||
m_high_leds[(i << 2) | j] = BIT(~data, 4 + j);
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
template<int N>
|
||||
void mephisto_montec_state::montec_lcd_s_w(uint32_t data)
|
||||
void montec_state::lcd_output_w(u32 data)
|
||||
{
|
||||
for (int i=0; i<4; i++)
|
||||
// lcd segment outputs
|
||||
for (int i = 0; i < 4; i++)
|
||||
m_digits[i + N*4] = bitswap<8>(data >> (8 * i), 7,4,5,0,1,2,3,6);
|
||||
}
|
||||
|
||||
|
||||
uint8_t mephisto_montec_state::montec_input_r()
|
||||
void montec_state::led_w(u8 data)
|
||||
{
|
||||
if (!m_muxlatch->q0_r()) return m_keys[1]->read();
|
||||
else if (!m_muxlatch->q1_r()) return m_keys[0]->read();
|
||||
|
||||
return m_board->input_r() ^ 0xff;
|
||||
// d0-d3: keypad led select
|
||||
// d4-d7: keypad led data
|
||||
m_led_pwm->matrix(data & 0xf, ~data >> 4 & 0xf);
|
||||
}
|
||||
|
||||
void mephisto_montec_state::megaiv_led_w(uint8_t data)
|
||||
u8 montec_state::irq_ack_r()
|
||||
{
|
||||
if (m_leds_mux != m_board->mux_r())
|
||||
{
|
||||
m_leds_mux = m_board->mux_r();
|
||||
for (int i=0; i<8; i++)
|
||||
{
|
||||
if (!BIT(m_leds_mux, i))
|
||||
{
|
||||
m_high_leds[i] = BIT(data, 0) | BIT(data, 1);
|
||||
m_low_leds[0 + i] = BIT(data, 2) | BIT(data, 3);
|
||||
m_low_leds[8 + i] = BIT(data, 4) | BIT(data, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!machine().side_effects_disabled())
|
||||
m_maincpu->set_input_line(0, CLEAR_LINE);
|
||||
|
||||
m_dac->write(BIT(data, 7));
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint8_t mephisto_montec_state::megaiv_input_r(offs_t offset)
|
||||
u8 montec_state::input_r()
|
||||
{
|
||||
if (!m_muxlatch->q0_r()) return BIT(m_keys[1]->read(), 0 + offset) << 7;
|
||||
else if (!m_muxlatch->q1_r()) return BIT(m_keys[1]->read(), 4 + offset) << 7;
|
||||
else if (!m_muxlatch->q2_r()) return BIT(m_keys[0]->read(), 0 + offset) << 7;
|
||||
else if (!m_muxlatch->q3_r()) return BIT(m_keys[0]->read(), 4 + offset) << 7;
|
||||
u8 data = 0;
|
||||
|
||||
return BIT(m_board->input_r(), offset) << 7;
|
||||
// 74259 q0/q1 selects keypad
|
||||
for (int i = 0; i < 2; i++)
|
||||
if (!BIT(m_lcd_latch->output_state(), i))
|
||||
data |= m_keys[i]->read();
|
||||
|
||||
return ~m_board->input_r() | data;
|
||||
}
|
||||
|
||||
|
||||
void mephisto_montec_state::montec_mem(address_map &map)
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void montec_state::montec_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram().share("nvram");
|
||||
map(0x2000, 0x2000).nopr(); // ?
|
||||
map(0x2400, 0x2400).r(FUNC(mephisto_montec_state::montec_input_r));
|
||||
map(0x2000, 0x2000).rw(FUNC(montec_state::irq_ack_r), FUNC(montec_state::irq_ack_w));
|
||||
map(0x2400, 0x2400).r(FUNC(montec_state::input_r));
|
||||
map(0x2800, 0x2800).w(m_board, FUNC(mephisto_board_device::mux_w));
|
||||
map(0x2c00, 0x2c00).w(m_board, FUNC(mephisto_board_device::led_w));
|
||||
map(0x3000, 0x3007).w(m_muxlatch, FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x3400, 0x3400).w(FUNC(mephisto_montec_state::montec_led_w));
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
void mephisto_montec_state::megaiv_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram().share("nvram");
|
||||
map(0x2400, 0x2400).w(FUNC(mephisto_montec_state::megaiv_led_w));
|
||||
map(0x2800, 0x2800).w(m_board, FUNC(mephisto_board_device::mux_w));
|
||||
map(0x2c00, 0x2c07).w(m_muxlatch, FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x3000, 0x3007).r(FUNC(mephisto_montec_state::megaiv_input_r));
|
||||
map(0x3000, 0x3007).w(m_lcd_latch, FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x3400, 0x3400).w(FUNC(montec_state::led_w));
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
|
||||
void mephisto_montec_state::smondial2_mem(address_map &map)
|
||||
{
|
||||
megaiv_mem(map);
|
||||
map(0x4000, 0x7fff).r("cartslot", FUNC(generic_slot_device::read_rom));
|
||||
}
|
||||
|
||||
|
||||
template<int N>
|
||||
WRITE_LINE_MEMBER(mephisto_smondial_state::led_mux_w)
|
||||
{
|
||||
uint8_t leds_mux = ~m_ledlatch->output_state();
|
||||
if (leds_mux & 0x03) m_high_leds[N] = state;
|
||||
if (leds_mux & 0x0c) m_low_leds[8 + N] = state;
|
||||
if (leds_mux & 0x30) m_low_leds[0 + N] = state;
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mephisto_smondial_state::leds_a_w)
|
||||
{
|
||||
if (!m_ledlatch->q0_r() || !m_ledlatch->q1_r())
|
||||
for (int i = 0; i < 8; i++)
|
||||
m_high_leds[i] = BIT(m_boardlatch->output_state(), i);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mephisto_smondial_state::leds_b_w)
|
||||
{
|
||||
if (!m_ledlatch->q2_r() || !m_ledlatch->q3_r())
|
||||
for (int i = 0; i < 8; i++)
|
||||
m_low_leds[8 + i] = BIT(m_boardlatch->output_state(), i);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(mephisto_smondial_state::leds_c_w)
|
||||
{
|
||||
if (!m_ledlatch->q4_r() || !m_ledlatch->q5_r())
|
||||
for (int i = 0; i < 8; i++)
|
||||
m_low_leds[0 + i] = BIT(m_boardlatch->output_state(), i);
|
||||
}
|
||||
|
||||
void mephisto_smondial_state::smondial_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram().share("nvram");
|
||||
map(0x4000, 0x4007).r(FUNC(mephisto_smondial_state::megaiv_input_r));
|
||||
map(0x6400, 0x6407).w(m_ledlatch, FUNC(hc259_device::write_d7));
|
||||
map(0x6800, 0x6807).w(m_boardlatch, FUNC(hc259_device::write_d7));
|
||||
map(0x6c00, 0x6c07).w(m_muxlatch, FUNC(hc259_device::write_d7));
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( montec )
|
||||
PORT_START("KEY.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("1 Pawn") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("2 Knight") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("3 Bishop") PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("4 Rook") PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("5 Queen") PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("6 King") PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("7 Black") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("8 White") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BOOK / 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1)
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9 Book") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0 Pos") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Mem") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Info") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Clear") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Level") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_DEL)
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( megaiv )
|
||||
PORT_START("KEY.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("3 Bishop") PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("7 Black") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Mem") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("4 Rook") PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("8 White") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Info") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_DEL)
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("1 Pawn") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("5 Queen") PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9 Book") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clear") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("2 Knight") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("6 King") PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0 Pos") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Level") PORT_CODE(KEYCODE_L)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( smondial2 )
|
||||
PORT_START("KEY.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("3 Bishop") PORT_CODE(KEYCODE_3)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("7 Black") PORT_CODE(KEYCODE_7)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Pos") PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("4 Rook") PORT_CODE(KEYCODE_4)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("8 White") PORT_CODE(KEYCODE_8)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Mem") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_DEL)
|
||||
/******************************************************************************
|
||||
Machine Configs
|
||||
******************************************************************************/
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("1 Pawn") PORT_CODE(KEYCODE_1)
|
||||
PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("5 Queen") PORT_CODE(KEYCODE_5)
|
||||
PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9 Help") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Level") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("2 Knight") PORT_CODE(KEYCODE_2)
|
||||
PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("6 King") PORT_CODE(KEYCODE_6)
|
||||
PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0 Info") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clear") PORT_CODE(KEYCODE_BACKSPACE)
|
||||
INPUT_PORTS_END
|
||||
|
||||
void mephisto_montec_state::montec(machine_config &config)
|
||||
void montec_state::montec(machine_config &config)
|
||||
{
|
||||
M65C02(config, m_maincpu, XTAL(8'000'000) / 2); // R65C02P4
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::montec_mem);
|
||||
m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(8'000'000) / (1 << 14)));
|
||||
/* basic machine hardware */
|
||||
R65C02(config, m_maincpu, 8_MHz_XTAL / 2); // R65C02P4
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &montec_state::montec_mem);
|
||||
|
||||
const attotime irq_period = attotime::from_hz(8_MHz_XTAL / 2 / 0x2000);
|
||||
m_maincpu->set_periodic_int(FUNC(montec_state::irq0_line_assert), irq_period);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
HC259(config, m_muxlatch);
|
||||
m_muxlatch->q_out_cb<2>().set(m_dac, FUNC(dac_bit_interface::write));
|
||||
m_muxlatch->q_out_cb<4>().set(m_lcd[0], FUNC(pcf2112_device::data_w));
|
||||
m_muxlatch->q_out_cb<4>().append(m_lcd[1], FUNC(pcf2112_device::data_w));
|
||||
m_muxlatch->q_out_cb<5>().set(m_lcd[1], FUNC(pcf2112_device::dlen_w));
|
||||
m_muxlatch->q_out_cb<6>().set(m_lcd[0], FUNC(pcf2112_device::clb_w));
|
||||
m_muxlatch->q_out_cb<6>().append(m_lcd[1], FUNC(pcf2112_device::clb_w));
|
||||
m_muxlatch->q_out_cb<7>().set(m_lcd[0], FUNC(pcf2112_device::dlen_w));
|
||||
HC259(config, m_lcd_latch);
|
||||
m_lcd_latch->q_out_cb<2>().set(m_dac, FUNC(dac_bit_interface::write)).invert();
|
||||
m_lcd_latch->q_out_cb<4>().set(m_lcd[0], FUNC(pcf2112_device::data_w));
|
||||
m_lcd_latch->q_out_cb<4>().append(m_lcd[1], FUNC(pcf2112_device::data_w));
|
||||
m_lcd_latch->q_out_cb<5>().set(m_lcd[1], FUNC(pcf2112_device::dlen_w));
|
||||
m_lcd_latch->q_out_cb<6>().set(m_lcd[0], FUNC(pcf2112_device::clb_w));
|
||||
m_lcd_latch->q_out_cb<6>().append(m_lcd[1], FUNC(pcf2112_device::clb_w));
|
||||
m_lcd_latch->q_out_cb<7>().set(m_lcd[0], FUNC(pcf2112_device::dlen_w));
|
||||
|
||||
PCF2112(config, m_lcd[0], 50); // frequency guessed
|
||||
m_lcd[0]->write_segs().set(FUNC(mephisto_montec_state::montec_lcd_s_w<0>));
|
||||
PCF2112(config, m_lcd[1], 50); // "
|
||||
m_lcd[1]->write_segs().set(FUNC(mephisto_montec_state::montec_lcd_s_w<1>));
|
||||
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
|
||||
MEPHISTO_SENSORS_BOARD(config, m_board);
|
||||
MEPHISTO_SENSORS_BOARD(config, m_board); // internal
|
||||
m_board->set_delay(attotime::from_msec(300));
|
||||
|
||||
/* video hardware */
|
||||
PCF2112(config, m_lcd[0], 50); // frequency guessed
|
||||
m_lcd[0]->write_segs().set(FUNC(montec_state::lcd_output_w<0>));
|
||||
PCF2112(config, m_lcd[1], 50); // "
|
||||
m_lcd[1]->write_segs().set(FUNC(montec_state::lcd_output_w<1>));
|
||||
|
||||
PWM_DISPLAY(config, m_led_pwm).set_size(4, 4);
|
||||
config.set_default_layout(layout_mephisto_montec);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
}
|
||||
|
||||
void mephisto_montec_state::monteciv(machine_config &config)
|
||||
void montec_state::montec4le(machine_config &config)
|
||||
{
|
||||
montec(config);
|
||||
m_maincpu->set_clock(XTAL(8'000'000));
|
||||
|
||||
/* basic machine hardware */
|
||||
M65C02(config.replace(), m_maincpu, 8_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &montec_state::montec_mem);
|
||||
|
||||
const attotime irq_period = attotime::from_hz(8_MHz_XTAL / 0x4000);
|
||||
m_maincpu->set_periodic_int(FUNC(montec_state::irq0_line_assert), irq_period);
|
||||
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
}
|
||||
|
||||
void mephisto_montec_state::megaiv(machine_config &config)
|
||||
{
|
||||
montec(config);
|
||||
m_maincpu->set_clock(XTAL(4'915'200));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::megaiv_mem);
|
||||
m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'915'200) / (1 << 13)));
|
||||
|
||||
m_muxlatch->q_out_cb<2>().set_nop();
|
||||
|
||||
MEPHISTO_BUTTONS_BOARD(config.replace(), m_board);
|
||||
m_board->set_delay(attotime::from_msec(250));
|
||||
m_board->set_disable_leds(true);
|
||||
config.set_default_layout(layout_mephisto_megaiv);
|
||||
}
|
||||
|
||||
void mephisto_smondial_state::smondial(machine_config &config)
|
||||
{
|
||||
megaiv(config);
|
||||
m_maincpu->set_clock(XTAL(4'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_smondial_state::smondial_mem);
|
||||
m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'000'000) / (1 << 13)));
|
||||
|
||||
HC259(config, m_ledlatch);
|
||||
m_ledlatch->q_out_cb<0>().set(FUNC(mephisto_smondial_state::leds_a_w));
|
||||
m_ledlatch->q_out_cb<1>().set(FUNC(mephisto_smondial_state::leds_a_w));
|
||||
m_ledlatch->q_out_cb<2>().set(FUNC(mephisto_smondial_state::leds_b_w));
|
||||
m_ledlatch->q_out_cb<3>().set(FUNC(mephisto_smondial_state::leds_b_w));
|
||||
m_ledlatch->q_out_cb<4>().set(FUNC(mephisto_smondial_state::leds_c_w));
|
||||
m_ledlatch->q_out_cb<5>().set(FUNC(mephisto_smondial_state::leds_c_w));
|
||||
m_ledlatch->q_out_cb<7>().set(m_dac, FUNC(dac_bit_interface::write));
|
||||
|
||||
HC259(config, m_boardlatch);
|
||||
m_boardlatch->parallel_out_cb().set(m_board, FUNC(mephisto_board_device::mux_w)).invert();
|
||||
m_boardlatch->q_out_cb<0>().set(FUNC(mephisto_smondial_state::led_mux_w<0>));
|
||||
m_boardlatch->q_out_cb<1>().set(FUNC(mephisto_smondial_state::led_mux_w<1>));
|
||||
m_boardlatch->q_out_cb<2>().set(FUNC(mephisto_smondial_state::led_mux_w<2>));
|
||||
m_boardlatch->q_out_cb<3>().set(FUNC(mephisto_smondial_state::led_mux_w<3>));
|
||||
m_boardlatch->q_out_cb<4>().set(FUNC(mephisto_smondial_state::led_mux_w<4>));
|
||||
m_boardlatch->q_out_cb<5>().set(FUNC(mephisto_smondial_state::led_mux_w<5>));
|
||||
m_boardlatch->q_out_cb<6>().set(FUNC(mephisto_smondial_state::led_mux_w<6>));
|
||||
m_boardlatch->q_out_cb<7>().set(FUNC(mephisto_smondial_state::led_mux_w<7>));
|
||||
|
||||
config.set_default_layout(layout_mephisto_smondial);
|
||||
}
|
||||
|
||||
void mephisto_montec_state::smondial2(machine_config &config)
|
||||
{
|
||||
megaiv(config);
|
||||
m_maincpu->set_clock(XTAL(4'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::smondial2_mem);
|
||||
m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'000'000) / (1 << 13)));
|
||||
|
||||
GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "smondial2_cart");
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("mephisto_smondial2");
|
||||
|
||||
config.set_default_layout(layout_mephisto_smondial2);
|
||||
}
|
||||
|
||||
|
||||
ROM_START( megaiv )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("megaiv.bin", 0x8000, 0x8000, CRC(dee355d2) SHA1(6bc79c0fb169020f017412f5f9696b9ecafbf99f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( megaiva )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("mega_iv_17.03.88", 0x8000, 0x8000, CRC(85267e82) SHA1(654c9cf84bf2165fc94f8c4cf9c662786ef3283b) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( monteciv )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("mciv.bin", 0x8000, 0x8000, CRC(c4887694) SHA1(7f482d2a40fcb3125266e7a5407da315b4f9b49c) )
|
||||
ROM_END
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( montec )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
@ -441,36 +246,22 @@ ROM_START( monteca )
|
||||
ROM_LOAD("mc2_20.7.87", 0x8000, 0x8000, CRC(05524da9) SHA1(bee2ffe09a27095f733584e0fb1203b95c23e17e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smondial )
|
||||
|
||||
ROM_START( montec4le )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_a.bin", 0x8000, 0x8000, CRC(c1d7d0a5) SHA1(d7f0da6938458c06925f0936e63915319144d7e0) )
|
||||
ROM_LOAD("mc4le.bin", 0x8000, 0x8000, CRC(c4887694) SHA1(7f482d2a40fcb3125266e7a5407da315b4f9b49c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smondialab )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_ab.bin", 0x8000, 0x8000, CRC(a8781685) SHA1(fd4c97e13bd398dc4c85e3e1778bf7e59fccd71e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smondialb )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_b.bin", 0x8000, 0x8000, CRC(6fb89e97) SHA1(b001e657b4fdc097322b28a25c31814f3da7b124) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smondial2 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_ii.bin", 0x8000, 0x8000, CRC(cd73df4a) SHA1(bad786074be613d7f48bf98b6fdf8178a4a85f5b) )
|
||||
ROM_END
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1988, megaiv, 0, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1988, megaiva, megaiv, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1986, smondial, 0, 0, smondial, megaiv, mephisto_smondial_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1986, smondialab, smondial, 0, smondial, megaiv, mephisto_smondial_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. AB)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1986, smondialb, smondial, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1988, smondial2, 0, 0, smondial2, smondial2, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
/***************************************************************************
|
||||
Game Drivers
|
||||
***************************************************************************/
|
||||
|
||||
CONS( 1987, montec, 0, 0, montec, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC3)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1987, monteca, montec, 0, montec, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1990, monteciv, 0, 0, monteciv, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo IV - Limited Edition", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1987, montec, 0, 0, montec, montec, montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC3)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1987, monteca, montec, 0, montec, montec, montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1990, montec4le, 0, 0, montec4le, montec, montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo IV - Limited Edition", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
407
src/mame/drivers/mephisto_smondial.cpp
Normal file
407
src/mame/drivers/mephisto_smondial.cpp
Normal file
@ -0,0 +1,407 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Sandro Ronco, hap
|
||||
// thanks-to:yoyo_chessboard
|
||||
/******************************************************************************
|
||||
|
||||
Mephisto Super Mondial
|
||||
Mephisto Super Mondial II
|
||||
Mephisto Mega IV
|
||||
|
||||
Hardware notes:
|
||||
- G65SC02P-4 @ 4MHz
|
||||
- 8KB RAMbattery-backed), 32KB ROM
|
||||
- expansion slot at underside (only used for smondial2)
|
||||
- 2*PCF2112, 2 7seg LCD screens
|
||||
- 8*8 chessboard buttons, 24 tri-color leds, piezo
|
||||
|
||||
Undocumented buttons:
|
||||
- smondialb: holding CL+INFO on boot runs diagnostics
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "bus/generic/slot.h"
|
||||
#include "bus/generic/carts.h"
|
||||
#include "cpu/m6502/m65sc02.h"
|
||||
#include "cpu/m6502/r65c02.h"
|
||||
#include "machine/74259.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "video/pcf2100.h"
|
||||
#include "video/pwm.h"
|
||||
|
||||
#include "softlist.h"
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "mephisto_smondial.lh"
|
||||
#include "mephisto_smondial2.lh"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
// Super Mondial B / shared
|
||||
|
||||
class smondialb_state : public driver_device
|
||||
{
|
||||
public:
|
||||
smondialb_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag)
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_board(*this, "board")
|
||||
, m_lcd_latch(*this, "lcd_latch")
|
||||
, m_led_pwm(*this, "led_pwm")
|
||||
, m_lcd(*this, "lcd%u", 0)
|
||||
, m_dac(*this, "dac")
|
||||
, m_keys(*this, "KEY.%u", 0)
|
||||
, m_digits(*this, "digit%u", 0U)
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void smondial2(machine_config &config);
|
||||
void mega4(machine_config &config);
|
||||
void smondialb(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
// devices/pointers
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
required_device<hc259_device> m_lcd_latch;
|
||||
required_device<pwm_display_device> m_led_pwm;
|
||||
required_device_array<pcf2112_device, 2> m_lcd;
|
||||
required_device<dac_bit_interface> m_dac;
|
||||
required_ioport_array<4> m_keys;
|
||||
output_finder<8> m_digits;
|
||||
|
||||
// address maps
|
||||
void smondialb_mem(address_map &map);
|
||||
void smondial2_mem(address_map &map);
|
||||
|
||||
// I/O handlers
|
||||
template<int N> void lcd_output_w(u32 data);
|
||||
void update_leds();
|
||||
u8 input_r(offs_t offset);
|
||||
virtual void led_w(u8 data);
|
||||
void board_w(u8 data);
|
||||
INTERRUPT_GEN_MEMBER(nmi_handler);
|
||||
|
||||
u8 m_led_data = 0;
|
||||
u8 m_board_mux = 0;
|
||||
};
|
||||
|
||||
void smondialb_state::machine_start()
|
||||
{
|
||||
m_digits.resolve();
|
||||
|
||||
save_item(NAME(m_led_data));
|
||||
save_item(NAME(m_board_mux));
|
||||
}
|
||||
|
||||
// Super Mondial A
|
||||
|
||||
class smondiala_state : public smondialb_state
|
||||
{
|
||||
public:
|
||||
smondiala_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
smondialb_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
void smondiala(machine_config &config);
|
||||
|
||||
private:
|
||||
void smondiala_mem(address_map &map);
|
||||
|
||||
// led row/column is switched around, do a trampoline here instead of making a different .lay file
|
||||
virtual void led_w(u8 data) override { smondialb_state::led_w(bitswap<8>(data, 7,6,3,2,5,4,1,0)); }
|
||||
|
||||
void irq_ack_w(u8 data);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
template<int N>
|
||||
void smondialb_state::lcd_output_w(u32 data)
|
||||
{
|
||||
// lcd segment outputs
|
||||
for (int i = 0; i < 4; i++)
|
||||
m_digits[i + N*4] = bitswap<8>(data >> (8 * i), 7,4,5,0,1,2,3,6);
|
||||
}
|
||||
|
||||
void smondialb_state::update_leds()
|
||||
{
|
||||
m_led_pwm->matrix(m_board_mux, m_led_data);
|
||||
}
|
||||
|
||||
void smondialb_state::board_w(u8 data)
|
||||
{
|
||||
m_board_mux = ~data;
|
||||
update_leds();
|
||||
}
|
||||
|
||||
void smondialb_state::led_w(u8 data)
|
||||
{
|
||||
// d0-d5: led data
|
||||
m_led_data = data;
|
||||
update_leds();
|
||||
|
||||
// d6: nmi enable (does not apply to smondiala)
|
||||
// d7: speaker out
|
||||
m_dac->write(BIT(data, 7));
|
||||
}
|
||||
|
||||
u8 smondialb_state::input_r(offs_t offset)
|
||||
{
|
||||
u8 data = 0;
|
||||
|
||||
// read keypad
|
||||
for (int i = 0; i < 4; i++)
|
||||
if (!BIT(m_lcd_latch->output_state(), i))
|
||||
data |= BIT(m_keys[i]->read(), offset & 3);
|
||||
|
||||
// read chessboard sensors
|
||||
for (int i = 0; i < 8; i++)
|
||||
if (BIT(m_board_mux, i))
|
||||
data |= BIT(m_board->read_rank(i), offset);
|
||||
|
||||
return ~(data << 7);
|
||||
}
|
||||
|
||||
INTERRUPT_GEN_MEMBER(smondialb_state::nmi_handler)
|
||||
{
|
||||
if (m_led_data & 0x40)
|
||||
m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
|
||||
}
|
||||
|
||||
void smondiala_state::irq_ack_w(u8 data)
|
||||
{
|
||||
m_maincpu->set_input_line(0, CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void smondialb_state::smondialb_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram().share("nvram");
|
||||
map(0x2400, 0x2400).w(FUNC(smondialb_state::led_w));
|
||||
map(0x2800, 0x2800).w(FUNC(smondialb_state::board_w));
|
||||
map(0x2c00, 0x2c07).w(m_lcd_latch, FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x3000, 0x3007).r(FUNC(smondialb_state::input_r));
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
void smondialb_state::smondial2_mem(address_map &map)
|
||||
{
|
||||
smondialb_mem(map);
|
||||
map(0x4000, 0x7fff).r("cartslot", FUNC(generic_slot_device::read_rom));
|
||||
}
|
||||
|
||||
void smondiala_state::smondiala_mem(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x1fff).ram().share("nvram");
|
||||
map(0x4000, 0x4007).r(FUNC(smondiala_state::input_r));
|
||||
map(0x6000, 0x6000).w(FUNC(smondiala_state::irq_ack_w));
|
||||
map(0x6400, 0x6407).w("led_latch", FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x6800, 0x6807).w("board_latch", FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x6c00, 0x6c07).w(m_lcd_latch, FUNC(hc259_device::write_d7)).nopr();
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( smondial )
|
||||
PORT_START("KEY.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BOOK / 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_B)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
|
||||
PORT_START("KEY.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_O)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
|
||||
|
||||
PORT_START("KEY.2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
|
||||
PORT_START("KEY.3")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( smondial2 )
|
||||
PORT_INCLUDE( smondial )
|
||||
|
||||
PORT_MODIFY("KEY.0")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("HELP / 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_H)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L)
|
||||
|
||||
PORT_MODIFY("KEY.1")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_I)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
|
||||
PORT_MODIFY("KEY.2")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O)
|
||||
|
||||
PORT_MODIFY("KEY.3")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Configs
|
||||
******************************************************************************/
|
||||
|
||||
void smondialb_state::smondialb(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M65SC02(config, m_maincpu, 4_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondialb_mem);
|
||||
|
||||
const attotime nmi_period = attotime::from_hz(4_MHz_XTAL / 0x2000);
|
||||
m_maincpu->set_periodic_int(FUNC(smondialb_state::nmi_handler), nmi_period);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
HC259(config, m_lcd_latch);
|
||||
m_lcd_latch->q_out_cb<4>().set(m_lcd[0], FUNC(pcf2112_device::data_w));
|
||||
m_lcd_latch->q_out_cb<4>().append(m_lcd[1], FUNC(pcf2112_device::data_w));
|
||||
m_lcd_latch->q_out_cb<5>().set(m_lcd[1], FUNC(pcf2112_device::dlen_w));
|
||||
m_lcd_latch->q_out_cb<6>().set(m_lcd[0], FUNC(pcf2112_device::clb_w));
|
||||
m_lcd_latch->q_out_cb<6>().append(m_lcd[1], FUNC(pcf2112_device::clb_w));
|
||||
m_lcd_latch->q_out_cb<7>().set(m_lcd[0], FUNC(pcf2112_device::dlen_w));
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
m_board->set_delay(attotime::from_msec(250));
|
||||
|
||||
/* video hardware */
|
||||
PCF2112(config, m_lcd[0], 50); // frequency guessed
|
||||
m_lcd[0]->write_segs().set(FUNC(smondialb_state::lcd_output_w<0>));
|
||||
PCF2112(config, m_lcd[1], 50); // "
|
||||
m_lcd[1]->write_segs().set(FUNC(smondialb_state::lcd_output_w<1>));
|
||||
|
||||
PWM_DISPLAY(config, m_led_pwm).set_size(8, 6);
|
||||
config.set_default_layout(layout_mephisto_smondial);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "speaker").front_center();
|
||||
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
|
||||
}
|
||||
|
||||
void smondiala_state::smondiala(machine_config &config)
|
||||
{
|
||||
smondialb(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &smondiala_state::smondiala_mem);
|
||||
|
||||
const attotime irq_period = attotime::from_hz(4_MHz_XTAL / 0x2000);
|
||||
m_maincpu->set_periodic_int(FUNC(smondiala_state::irq0_line_assert), irq_period);
|
||||
|
||||
HC259(config, "led_latch").parallel_out_cb().set(FUNC(smondiala_state::led_w)).invert();
|
||||
HC259(config, "board_latch").parallel_out_cb().set(FUNC(smondiala_state::board_w)).invert();
|
||||
}
|
||||
|
||||
void smondialb_state::smondial2(machine_config &config)
|
||||
{
|
||||
smondialb(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondial2_mem);
|
||||
|
||||
GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "smondial2_cart");
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("mephisto_smondial2");
|
||||
|
||||
config.set_default_layout(layout_mephisto_smondial2);
|
||||
}
|
||||
|
||||
void smondialb_state::mega4(machine_config &config)
|
||||
{
|
||||
smondialb(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
R65C02(config.replace(), m_maincpu, 4.9152_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondialb_mem);
|
||||
|
||||
const attotime nmi_period = attotime::from_hz(4.9152_MHz_XTAL / 0x2000);
|
||||
m_maincpu->set_periodic_int(FUNC(smondialb_state::nmi_handler), nmi_period);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( smondial )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_a.bin", 0x8000, 0x8000, CRC(c1d7d0a5) SHA1(d7f0da6938458c06925f0936e63915319144d7e0) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smondialab )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_ab.bin", 0x8000, 0x8000, CRC(a8781685) SHA1(fd4c97e13bd398dc4c85e3e1778bf7e59fccd71e) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smondialb )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_b.bin", 0x8000, 0x8000, CRC(6fb89e97) SHA1(b001e657b4fdc097322b28a25c31814f3da7b124) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( smondial2 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("supermondial_ii.bin", 0x8000, 0x8000, CRC(cd73df4a) SHA1(bad786074be613d7f48bf98b6fdf8178a4a85f5b) )
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( mega4 )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("mega_iv.bin", 0x8000, 0x8000, CRC(dee355d2) SHA1(6bc79c0fb169020f017412f5f9696b9ecafbf99f) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mega4a )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("mega_iv_17.03.88", 0x8000, 0x8000, CRC(85267e82) SHA1(654c9cf84bf2165fc94f8c4cf9c662786ef3283b) )
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Game Drivers
|
||||
***************************************************************************/
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1986, smondial, 0, 0, smondiala, smondial, smondiala_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1986, smondialab, smondial, 0, smondiala, smondial, smondiala_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. AB)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1986, smondialb, smondial, 0, smondialb, smondial, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1988, smondial2, 0, 0, smondial2, smondial2, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1988, mega4, 0, 0, mega4, smondial, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1988, mega4a, mega4, 0, mega4, smondial, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
@ -20,10 +20,10 @@ license:CC0
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="0">
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
<color red="0.2" green="0" blue="0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlbr" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -1,497 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
license:CC0
|
||||
-->
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect state="0">
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
<text string=" ">
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
</text>
|
||||
<disk state="1">
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
<element name="led7seg_background"><rect><color red="0.54" green="0.57" blue="0.58" /> </rect></element>
|
||||
<element name="background"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect></element>
|
||||
<element name="black"> <rect><color red="0" green="0" blue="0" /> </rect></element>
|
||||
<element name="red"> <rect><color red="0.8" green="0.2" blue="0.2" /> </rect></element>
|
||||
|
||||
<element name="text_1"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="1"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_2"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="2"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_3"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="3"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_4"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="4"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_5"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="5"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_6"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="6"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_7"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="7"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_8"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="8"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_a"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="A"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="B"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_c"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="C"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_d"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="D"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_e"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="E"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_f"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="F"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_g"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="G"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_h"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="H"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
|
||||
<element name="text_book"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="BOOK"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_pos"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="POS"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_mem"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="MEM"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_info"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="INFO"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_err"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="ERR"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_lev"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="LEV"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_black"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="■"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_white"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="□"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b1"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[P] 1"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b2"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[N] 2"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b3"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[B] 3"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b4"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[R] 4"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b5"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[Q] 5"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b6"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[K] 6"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b7"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="■ 7 ◄"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_b8"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="□ 8 ►"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_book9"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="BOOK 9"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_pos0"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="POS 0"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_cl"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="CL"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_ent"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="ENT"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_res"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="RES"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
<element name="text_lcd"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="MULTI INFO LCD"> <color red="0" green="0" blue="0" /></text> </element>
|
||||
|
||||
|
||||
<element name="piece" defstate="0">
|
||||
<image file="chess/wp.svg" state="1"/>
|
||||
<image file="chess/wn.svg" state="2"/>
|
||||
<image file="chess/wb.svg" state="3"/>
|
||||
<image file="chess/wr.svg" state="4"/>
|
||||
<image file="chess/wq.svg" state="5"/>
|
||||
<image file="chess/wk.svg" state="6"/>
|
||||
|
||||
<image file="chess/bp.svg" state="7"/>
|
||||
<image file="chess/bn.svg" state="8"/>
|
||||
<image file="chess/bb.svg" state="9"/>
|
||||
<image file="chess/br.svg" state="10"/>
|
||||
<image file="chess/bq.svg" state="11"/>
|
||||
<image file="chess/bk.svg" state="12"/>
|
||||
|
||||
<!-- selected pieces -->
|
||||
<image file="chess/wp.svg" state="13"><color alpha="0.5" /></image>
|
||||
<image file="chess/wn.svg" state="14"><color alpha="0.5" /></image>
|
||||
<image file="chess/wb.svg" state="15"><color alpha="0.5" /></image>
|
||||
<image file="chess/wr.svg" state="16"><color alpha="0.5" /></image>
|
||||
<image file="chess/wq.svg" state="17"><color alpha="0.5" /></image>
|
||||
<image file="chess/wk.svg" state="18"><color alpha="0.5" /></image>
|
||||
|
||||
<image file="chess/bp.svg" state="19"><color alpha="0.5" /></image>
|
||||
<image file="chess/bn.svg" state="20"><color alpha="0.5" /></image>
|
||||
<image file="chess/bb.svg" state="21"><color alpha="0.5" /></image>
|
||||
<image file="chess/br.svg" state="22"><color alpha="0.5" /></image>
|
||||
<image file="chess/bq.svg" state="23"><color alpha="0.5" /></image>
|
||||
<image file="chess/bk.svg" state="24"><color alpha="0.5" /></image>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- sb board -->
|
||||
|
||||
<element name="cwhite"><rect><color red="0.9" green="0.9" blue="0.9" /></rect></element>
|
||||
<element name="cblack"><rect><color red="0.4" green="0.4" blue="0.4" /></rect></element>
|
||||
|
||||
<element name="hlbb" defstate="0">
|
||||
<text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
|
||||
<disk state="1">
|
||||
<bounds x="0.12" y="0.12" width="0.76" height="0.76" />
|
||||
<color red="0" green="0" blue="0" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
<group name="sb_board">
|
||||
<bounds x="0" y="0" width="80" height="80" />
|
||||
|
||||
<!-- squares (avoid seams) -->
|
||||
<element ref="cwhite"><bounds x="0" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="0" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="0" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="0" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="0" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="0" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="10" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="10" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="10" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="10" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="10" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="0" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="20" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="20" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="20" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="20" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="20" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="30" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="30" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="30" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="30" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="30" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="0" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="40" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="40" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="40" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="40" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="40" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="50" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="50" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="50" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="50" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="50" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="0" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="10" y="60" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="20" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="30" y="60" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="40" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="50" y="60" width="11" height="11" /></element>
|
||||
<element ref="cwhite"><bounds x="60" y="60" width="11" height="11" /></element>
|
||||
<element ref="cblack"><bounds x="70" y="60" width="10" height="11" /></element>
|
||||
|
||||
<element ref="cblack"><bounds x="0" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="10" y="70" width="11" height="10" /></element>
|
||||
<element ref="cblack"><bounds x="20" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="30" y="70" width="11" height="10" /></element>
|
||||
<element ref="cblack"><bounds x="40" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="50" y="70" width="11" height="10" /></element>
|
||||
<element ref="cblack"><bounds x="60" y="70" width="11" height="10" /></element>
|
||||
<element ref="cwhite"><bounds x="70" y="70" width="10" height="10" /></element>
|
||||
|
||||
<!-- sensors, pieces -->
|
||||
<repeat count="8">
|
||||
<param name="y" start="0" increment="10" />
|
||||
<param name="i" start="8" increment="-1" />
|
||||
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
|
||||
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_c~i~" ref="piece"><bounds x="20" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_d~i~" ref="piece"><bounds x="30" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_e~i~" ref="piece"><bounds x="40" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_f~i~" ref="piece"><bounds x="50" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_g~i~" ref="piece"><bounds x="60" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_h~i~" ref="piece"><bounds x="70" y="~y~" width="10" height="10" /></element>
|
||||
</repeat>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- sb ui -->
|
||||
|
||||
<element name="hlub" defstate="0">
|
||||
<rect state="1"><color red="0" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uib2">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uib3">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uih2">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uiu2a">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu2b">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu2c">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu2d">
|
||||
<rect><color red="0.9" green="0.9" blue="0.9" /></rect>
|
||||
<text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_uiu3a" defstate="0">
|
||||
<simplecounter maxstate="999" digits="1" align="2">
|
||||
<color red="0.81" green="0.8" blue="0.79" />
|
||||
</simplecounter>
|
||||
</element>
|
||||
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||
<element name="text_uiu3c" defstate="0">
|
||||
<simplecounter maxstate="999" digits="1" align="1">
|
||||
<color red="0.81" green="0.8" blue="0.79" />
|
||||
</simplecounter>
|
||||
</element>
|
||||
|
||||
<group name="sb_ui">
|
||||
<bounds x="0" y="0" width="10" height="80" />
|
||||
<element ref="cblack"><bounds x="0" y="0" width="10" height="1" /></element>
|
||||
<element ref="cblack"><bounds x="0" y="7" width="10" height="1" /></element>
|
||||
<element ref="cblack"><bounds x="0" y="79" width="10" height="1" /></element>
|
||||
<element ref="text_uit1"><bounds x="0" y="2" width="10" height="2" /></element>
|
||||
<element ref="text_uit2"><bounds x="0" y="4" width="10" height="2" /></element>
|
||||
|
||||
<!-- board -->
|
||||
<element ref="text_uib1"><bounds x="0" y="9" width="10" height="2" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></element>
|
||||
|
||||
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
|
||||
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- spawn -->
|
||||
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="23" width="8" height="12" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="36" width="8" height="12" /></element>
|
||||
|
||||
<element name="piece_ui1" ref="piece"><bounds x="1" y="23" width="4" height="4" /></element>
|
||||
<element name="piece_ui2" ref="piece"><bounds x="1" y="27" width="4" height="4" /></element>
|
||||
<element name="piece_ui3" ref="piece"><bounds x="1" y="31" width="4" height="4" /></element>
|
||||
<element name="piece_ui4" ref="piece"><bounds x="5" y="23" width="4" height="4" /></element>
|
||||
<element name="piece_ui5" ref="piece"><bounds x="5" y="27" width="4" height="4" /></element>
|
||||
<element name="piece_ui6" ref="piece"><bounds x="5" y="31" width="4" height="4" /></element>
|
||||
<element name="piece_ui7" ref="piece"><bounds x="1" y="36" width="4" height="4" /></element>
|
||||
<element name="piece_ui8" ref="piece"><bounds x="1" y="40" width="4" height="4" /></element>
|
||||
<element name="piece_ui9" ref="piece"><bounds x="1" y="44" width="4" height="4" /></element>
|
||||
<element name="piece_ui10" ref="piece"><bounds x="5" y="36" width="4" height="4" /></element>
|
||||
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
|
||||
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- hand -->
|
||||
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
|
||||
<element ref="cblack"><bounds x="1" y="53.5" width="8" height="6" /></element>
|
||||
<element name="piece_ui0" ref="piece"><bounds x="2" y="53.5" width="6" height="6" /></element>
|
||||
|
||||
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
|
||||
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- undo -->
|
||||
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
|
||||
<element ref="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></element>
|
||||
<element ref="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
|
||||
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
|
||||
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
|
||||
<element ref="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></element>
|
||||
</group>
|
||||
|
||||
<group name="panel">
|
||||
<bounds left="0" right="79" top="0" bottom="13" />
|
||||
<element ref="background"><bounds x="0" y="0" width="79" height="13" /></element>
|
||||
|
||||
<element ref="black"> <bounds x="0" y="1.5" width="10" height="10.5" /> </element>
|
||||
<element ref="text_lcd"> <bounds x="0.5" y="0" width="10" height="1.5" /> </element>
|
||||
<element ref="led7seg_background"> <bounds x="0.5" y="2" width="9" height="4" /> </element>
|
||||
<element name="digit0" ref="digit"> <bounds x="1" y="2.5" width="2" height="3" /> </element>
|
||||
<element name="digit1" ref="digit"> <bounds x="3" y="2.5" width="2" height="3" /> </element>
|
||||
<element name="digit2" ref="digit"> <bounds x="5" y="2.5" width="2" height="3" /> </element>
|
||||
<element name="digit3" ref="digit"> <bounds x="7" y="2.5" width="2" height="3" /> </element>
|
||||
<element ref="led7seg_background"> <bounds x="0.5" y="7.5" width="9" height="4" /> </element>
|
||||
<element name="digit4" ref="digit"> <bounds x="1" y="8" width="2" height="3" /> </element>
|
||||
<element name="digit5" ref="digit"> <bounds x="3" y="8" width="2" height="3" /> </element>
|
||||
<element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element>
|
||||
<element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element>
|
||||
|
||||
<element name="led100" ref="led"> <bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led101" ref="led"> <bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led102" ref="led"> <bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led103" ref="led"> <bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led104" ref="led"> <bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led105" ref="led"> <bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led106" ref="led"> <bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led107" ref="led"> <bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element ref="black"> <bounds x="13" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="21.5" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="30" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="38.5" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="47" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="55.5" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="64" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="72.5" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="13" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="21.5" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="30" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="38.5" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="47" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="55.5" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="red"> <bounds x="64" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="red"> <bounds x="72.5" y="7.5" width="6" height="4" /> </element>
|
||||
|
||||
<element ref="text_book"> <bounds x="15" y="0" width="4" height="1.5" /> </element>
|
||||
<element ref="text_pos"> <bounds x="23.5" y="0" width="3" height="1.5" /> </element>
|
||||
<element ref="text_mem"> <bounds x="32" y="0" width="3" height="1.5" /> </element>
|
||||
<element ref="text_info"> <bounds x="40.5" y="0" width="4" height="1.5" /> </element>
|
||||
<element ref="text_err"> <bounds x="49" y="0" width="3" height="1.5" /> </element>
|
||||
<element ref="text_lev"> <bounds x="57.5" y="0" width="3" height="1.5" /> </element>
|
||||
<element ref="text_black"> <bounds x="66" y="0" width="1" height="1.5" /> </element>
|
||||
<element ref="text_white"> <bounds x="74.5" y="0" width="1" height="1.5" /> </element>
|
||||
<element ref="text_b1"> <bounds x="13.5" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b2"> <bounds x="22" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b3"> <bounds x="30.5" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b4"> <bounds x="39" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b5"> <bounds x="47.5" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b6"> <bounds x="56" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b7"> <bounds x="64.5" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_b8"> <bounds x="73" y="2.5" width="5" height="1.5" /> </element>
|
||||
<element ref="text_book9"> <bounds x="13.5" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_pos0"> <bounds x="22" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_mem"> <bounds x="30.5" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_info"> <bounds x="39" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_cl"> <bounds x="47.5" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_lev"> <bounds x="56" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_ent"> <bounds x="64.5" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_res"> <bounds x="73" y="8" width="5" height="1.5" /> </element>
|
||||
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
</group>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="0" right="103" top="-2" bottom="102" />
|
||||
<element ref="background"><bounds x="13" y="-2" width="90" height="104" /></element>
|
||||
|
||||
<!-- chessboard coords -->
|
||||
<element ref="text_8"><bounds x="13.6" y="7" width="2" height="2" /></element>
|
||||
<element ref="text_7"><bounds x="13.6" y="17" width="2" height="2" /></element>
|
||||
<element ref="text_6"><bounds x="13.6" y="27" width="2" height="2" /></element>
|
||||
<element ref="text_5"><bounds x="13.6" y="37" width="2" height="2" /></element>
|
||||
<element ref="text_4"><bounds x="13.6" y="47" width="2" height="2" /></element>
|
||||
<element ref="text_3"><bounds x="13.6" y="57" width="2" height="2" /></element>
|
||||
<element ref="text_2"><bounds x="13.6" y="67" width="2" height="2" /></element>
|
||||
<element ref="text_1"><bounds x="13.6" y="77" width="2" height="2" /></element>
|
||||
|
||||
<element ref="text_a"><bounds x="22" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_b"><bounds x="32" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_c"><bounds x="42" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_d"><bounds x="52" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_e"><bounds x="62" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_f"><bounds x="72" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_g"><bounds x="82" y="85.7" width="2" height="2" /></element>
|
||||
<element ref="text_h"><bounds x="92" y="85.7" width="2" height="2" /></element>
|
||||
|
||||
<!-- chessboard bezel -->
|
||||
<element ref="black"><bounds x="17.5" y="2.5" width="81" height="81" /></element>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<element name="led0" ref="led"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led1" ref="led"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led2" ref="led"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led3" ref="led"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led4" ref="led"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led5" ref="led"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led6" ref="led"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led7" ref="led"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element name="led8" ref="led"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led9" ref="led"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led10" ref="led"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led11" ref="led"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led12" ref="led"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led13" ref="led"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led14" ref="led"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led15" ref="led"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<!-- LCD panel -->
|
||||
<group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group>
|
||||
|
||||
<group ref="sb_board"><bounds x="18" y="3" width="80" height="80" /></group>
|
||||
<group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group>
|
||||
</view>
|
||||
</mamelayout>
|
@ -14,7 +14,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="ledr" defstate="0">
|
||||
@ -22,7 +22,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -14,7 +14,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="ledr" defstate="0">
|
||||
@ -22,7 +22,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -11,7 +11,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -15,7 +15,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -10,12 +10,24 @@ license:CC0
|
||||
<led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="ledo">
|
||||
<disk><color red="0.1" green="0.1" blue="0.1" /></disk>
|
||||
</element>
|
||||
<element name="ledr" defstate="0">
|
||||
<disk state="0"><color red="0" green="0" blue="0" /></disk>
|
||||
<disk state="1"><color red="1" green="0" blue="0" /></disk>
|
||||
</element>
|
||||
<element name="ledg" defstate="0">
|
||||
<disk state="0"><color red="0" green="0" blue="0" /></disk>
|
||||
<disk state="1"><color red="0" green="1" blue="0" /></disk>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<disk state="0">
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
<color red="0.2" green="0" blue="0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlbr" defstate="0">
|
||||
@ -400,14 +412,32 @@ license:CC0
|
||||
<element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element>
|
||||
<element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element>
|
||||
|
||||
<element name="led100" ref="led"> <bounds x="13.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led104" ref="led"> <bounds x="22.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led108" ref="led"> <bounds x="31.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led112" ref="led"> <bounds x="40.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led102" ref="led"> <bounds x="49.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led106" ref="led"> <bounds x="58.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led111" ref="led"> <bounds x="67.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element name="led115" ref="led"> <bounds x="76.1" y="-0.4" width="1.3" height="1.3" /> </element>
|
||||
<element ref="ledo"><bounds x="13.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="22.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="31.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="40.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="49.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="58.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="67.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element ref="ledo"><bounds x="76.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
|
||||
<element name="0.0" ref="ledr" blend="add"><bounds x="13.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="1.0" ref="ledr" blend="add"><bounds x="22.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="2.0" ref="ledr" blend="add"><bounds x="31.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="3.0" ref="ledr" blend="add"><bounds x="40.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="0.2" ref="ledr" blend="add"><bounds x="49.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="1.2" ref="ledr" blend="add"><bounds x="58.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="2.2" ref="ledr" blend="add"><bounds x="67.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="3.2" ref="ledr" blend="add"><bounds x="76.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
|
||||
<element name="0.1" ref="ledg" blend="add"><bounds x="13.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="1.1" ref="ledg" blend="add"><bounds x="22.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="2.1" ref="ledg" blend="add"><bounds x="31.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="3.1" ref="ledg" blend="add"><bounds x="40.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="0.3" ref="ledg" blend="add"><bounds x="49.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="1.3" ref="ledg" blend="add"><bounds x="58.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="2.3" ref="ledg" blend="add"><bounds x="67.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
<element name="3.3" ref="ledg" blend="add"><bounds x="76.1" y="-0.4" width="1.3" height="1.3" /></element>
|
||||
|
||||
<element ref="text_book"> <bounds x="15" y="-0.5" width="4" height="1.5" /> </element>
|
||||
<element ref="text_pos"> <bounds x="24" y="-0.5" width="3" height="1.5" /> </element>
|
||||
@ -434,22 +464,22 @@ license:CC0
|
||||
<element ref="text_ent"> <bounds x="65.25" y="11" width="5" height="1.5" /> </element>
|
||||
<element ref="text_res"> <bounds x="74.25" y="11" width="5" height="1.5" /> </element>
|
||||
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="22" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="31" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="40" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="49" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="58" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="67" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="76" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="22" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="31" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="40" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="49" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="58" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="67" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlbr" inputtag="KEY.1" inputmask="0x80"> <bounds x="76" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="22" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="31" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="40" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="49" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="58" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="67" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="76" y="2" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="22" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="31" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="40" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="49" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="58" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="67" y="8" width="1.5" height="2.5" /> </element>
|
||||
<element ref="hlbr" inputtag="KEY.0" inputmask="0x80"> <bounds x="76" y="8" width="1.5" height="2.5" /> </element>
|
||||
</group>
|
||||
|
||||
<!-- build screen -->
|
||||
|
@ -14,7 +14,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -14,7 +14,7 @@ license:CC0
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</disk>
|
||||
<disk state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</disk>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
|
@ -10,12 +10,24 @@ license:CC0
|
||||
<led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="ledo">
|
||||
<rect><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
</element>
|
||||
<element name="ledr" defstate="0">
|
||||
<rect state="0"><color red="0" green="0" blue="0" /></rect>
|
||||
<rect state="1"><color red="1" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
<element name="ledg" defstate="0">
|
||||
<rect state="0"><color red="0" green="0" blue="0" /></rect>
|
||||
<rect state="1"><color red="0" green="1" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect state="0">
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
@ -201,14 +213,14 @@ license:CC0
|
||||
<param name="y" start="0" increment="10" />
|
||||
<param name="i" start="8" increment="-1" />
|
||||
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
|
||||
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
|
||||
@ -290,8 +302,8 @@ license:CC0
|
||||
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
|
||||
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- spawn -->
|
||||
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
|
||||
@ -311,18 +323,18 @@ license:CC0
|
||||
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
|
||||
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- hand -->
|
||||
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
|
||||
@ -331,7 +343,7 @@ license:CC0
|
||||
|
||||
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
|
||||
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- undo -->
|
||||
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
|
||||
@ -344,10 +356,10 @@ license:CC0
|
||||
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
|
||||
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
|
||||
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
|
||||
@ -371,14 +383,32 @@ license:CC0
|
||||
<element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element>
|
||||
<element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element>
|
||||
|
||||
<element name="led100" ref="led"> <bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led101" ref="led"> <bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led102" ref="led"> <bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led103" ref="led"> <bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led104" ref="led"> <bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led105" ref="led"> <bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led106" ref="led"> <bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led107" ref="led"> <bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element name="0.0" ref="ledg" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="1.0" ref="ledg" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="2.0" ref="ledg" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="3.0" ref="ledg" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="4.0" ref="ledg" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="5.0" ref="ledg" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="6.0" ref="ledg" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="7.0" ref="ledg" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element name="0.1" ref="ledr" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="1.1" ref="ledr" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="2.1" ref="ledr" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="3.1" ref="ledr" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="4.1" ref="ledr" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="5.1" ref="ledr" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="6.1" ref="ledr" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="7.1" ref="ledr" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element ref="black"> <bounds x="13" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="21.5" y="2" width="6" height="4" /> </element>
|
||||
@ -394,7 +424,7 @@ license:CC0
|
||||
<element ref="black"> <bounds x="38.5" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="47" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="55.5" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="64" y="7.5" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="64" y="7.5" width="6" height="4" /> </element> <!-- on Mega IV, this button is red, but that's not worth another .lay file -->
|
||||
<element ref="red"> <bounds x="72.5" y="7.5" width="6" height="4" /> </element>
|
||||
|
||||
<element ref="text_book"> <bounds x="15" y="0" width="4" height="1.5" /> </element>
|
||||
@ -422,22 +452,22 @@ license:CC0
|
||||
<element ref="text_ent"> <bounds x="64.5" y="8" width="5" height="1.5" /> </element>
|
||||
<element ref="text_res"> <bounds x="73" y="8" width="5" height="1.5" /> </element>
|
||||
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x01"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x02"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x04"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x08"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element>
|
||||
</group>
|
||||
|
||||
|
||||
@ -448,7 +478,7 @@ license:CC0
|
||||
<element ref="background"><bounds x="13" y="-2" width="90" height="104" /></element>
|
||||
|
||||
<!-- chessboard coords -->
|
||||
<element ref="text_8"><bounds x="13.6" y="7" width="2" height="2" /></element>
|
||||
<element ref="text_8"><bounds x="13.6" y="7" width="2" height="2" /></element>
|
||||
<element ref="text_7"><bounds x="13.6" y="17" width="2" height="2" /></element>
|
||||
<element ref="text_6"><bounds x="13.6" y="27" width="2" height="2" /></element>
|
||||
<element ref="text_5"><bounds x="13.6" y="37" width="2" height="2" /></element>
|
||||
@ -470,23 +500,59 @@ license:CC0
|
||||
<element ref="black"><bounds x="17.5" y="2.5" width="81" height="81" /></element>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<element name="led0" ref="led"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led1" ref="led"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led2" ref="led"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led3" ref="led"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led4" ref="led"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led5" ref="led"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led6" ref="led"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led7" ref="led"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element name="led8" ref="led"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led9" ref="led"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led10" ref="led"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led11" ref="led"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led12" ref="led"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led13" ref="led"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led14" ref="led"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led15" ref="led"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="0.2" ref="ledg" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="1.2" ref="ledg" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="2.2" ref="ledg" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="3.2" ref="ledg" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="4.2" ref="ledg" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="5.2" ref="ledg" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="6.2" ref="ledg" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="7.2" ref="ledg" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element name="0.3" ref="ledr" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="1.3" ref="ledr" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="2.3" ref="ledr" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="3.3" ref="ledr" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="4.3" ref="ledr" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="5.3" ref="ledr" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="6.3" ref="ledr" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="7.3" ref="ledr" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element ref="ledo"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<element name="0.4" ref="ledg" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="1.4" ref="ledg" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="2.4" ref="ledg" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="3.4" ref="ledg" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="4.4" ref="ledg" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="5.4" ref="ledg" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="6.4" ref="ledg" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="7.4" ref="ledg" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<element name="0.5" ref="ledr" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="1.5" ref="ledr" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="2.5" ref="ledr" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="3.5" ref="ledr" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="4.5" ref="ledr" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="5.5" ref="ledr" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="6.5" ref="ledr" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="7.5" ref="ledr" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<!-- LCD panel -->
|
||||
<group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group>
|
||||
|
@ -10,12 +10,24 @@ license:CC0
|
||||
<led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="ledo">
|
||||
<rect><color red="0.1" green="0.1" blue="0.1" /></rect>
|
||||
</element>
|
||||
<element name="ledr" defstate="0">
|
||||
<rect state="0"><color red="0" green="0" blue="0" /></rect>
|
||||
<rect state="1"><color red="1" green="0" blue="0" /></rect>
|
||||
</element>
|
||||
<element name="ledg" defstate="0">
|
||||
<rect state="0"><color red="0" green="0" blue="0" /></rect>
|
||||
<rect state="1"><color red="0" green="1" blue="0" /></rect>
|
||||
</element>
|
||||
|
||||
<element name="led" defstate="0">
|
||||
<rect state="0">
|
||||
<color red="0.20" green="0.0" blue="0.0" />
|
||||
</rect>
|
||||
<rect state="1">
|
||||
<color red="0.95" green="0.0" blue="0.0" />
|
||||
<color red="1" green="0.1" blue="0.1" />
|
||||
</rect>
|
||||
</element>
|
||||
<element name="hlb" defstate="0">
|
||||
@ -204,14 +216,14 @@ license:CC0
|
||||
<param name="y" start="0" increment="10" />
|
||||
<param name="i" start="8" increment="-1" />
|
||||
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
|
||||
|
||||
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
|
||||
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
|
||||
@ -293,8 +305,8 @@ license:CC0
|
||||
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
|
||||
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- spawn -->
|
||||
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
|
||||
@ -314,18 +326,18 @@ license:CC0
|
||||
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
|
||||
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- hand -->
|
||||
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
|
||||
@ -334,7 +346,7 @@ license:CC0
|
||||
|
||||
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
|
||||
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
|
||||
|
||||
<!-- undo -->
|
||||
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
|
||||
@ -347,10 +359,10 @@ license:CC0
|
||||
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
|
||||
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
|
||||
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
<element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
|
||||
|
||||
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
|
||||
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
|
||||
@ -374,14 +386,32 @@ license:CC0
|
||||
<element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element>
|
||||
<element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element>
|
||||
|
||||
<element name="led100" ref="led"> <bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led101" ref="led"> <bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led102" ref="led"> <bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led103" ref="led"> <bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led104" ref="led"> <bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led105" ref="led"> <bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led106" ref="led"> <bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="led107" ref="led"> <bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element ref="ledo"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element name="0.0" ref="ledg" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="1.0" ref="ledg" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="2.0" ref="ledg" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="3.0" ref="ledg" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="4.0" ref="ledg" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="5.0" ref="ledg" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="6.0" ref="ledg" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="7.0" ref="ledg" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element name="0.1" ref="ledr" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="1.1" ref="ledr" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="2.1" ref="ledr" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="3.1" ref="ledr" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="4.1" ref="ledr" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="5.1" ref="ledr" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="6.1" ref="ledr" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
<element name="7.1" ref="ledr" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element>
|
||||
|
||||
<element ref="black"> <bounds x="13" y="2" width="6" height="4" /> </element>
|
||||
<element ref="black"> <bounds x="21.5" y="2" width="6" height="4" /> </element>
|
||||
@ -425,22 +455,22 @@ license:CC0
|
||||
<element ref="text_ent"> <bounds x="64.5" y="8.75" width="5" height="1.5" /> </element>
|
||||
<element ref="text_res"> <bounds x="73" y="8.75" width="5" height="1.5" /> </element>
|
||||
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x01"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x02"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x04"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.2" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
<element ref="hlb" inputtag="KEY.3" inputmask="0x08"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element>
|
||||
</group>
|
||||
|
||||
|
||||
@ -473,23 +503,59 @@ license:CC0
|
||||
<element ref="black"><bounds x="17.5" y="2.5" width="81" height="81" /></element>
|
||||
|
||||
<!-- chessboard leds -->
|
||||
<element name="led0" ref="led"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led1" ref="led"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led2" ref="led"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led3" ref="led"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led4" ref="led"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led5" ref="led"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led6" ref="led"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="led7" ref="led"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element ref="ledo"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element name="led8" ref="led"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led9" ref="led"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led10" ref="led"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led11" ref="led"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led12" ref="led"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led13" ref="led"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led14" ref="led"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="led15" ref="led"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="0.2" ref="ledg" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="1.2" ref="ledg" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="2.2" ref="ledg" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="3.2" ref="ledg" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="4.2" ref="ledg" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="5.2" ref="ledg" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="6.2" ref="ledg" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="7.2" ref="ledg" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element name="0.3" ref="ledr" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element>
|
||||
<element name="1.3" ref="ledr" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element>
|
||||
<element name="2.3" ref="ledr" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element>
|
||||
<element name="3.3" ref="ledr" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element>
|
||||
<element name="4.3" ref="ledr" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element>
|
||||
<element name="5.3" ref="ledr" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element>
|
||||
<element name="6.3" ref="ledr" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element>
|
||||
<element name="7.3" ref="ledr" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element>
|
||||
|
||||
<element ref="ledo"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element ref="ledo"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<element name="0.4" ref="ledg" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="1.4" ref="ledg" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="2.4" ref="ledg" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="3.4" ref="ledg" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="4.4" ref="ledg" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="5.4" ref="ledg" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="6.4" ref="ledg" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="7.4" ref="ledg" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<element name="0.5" ref="ledr" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="1.5" ref="ledr" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="2.5" ref="ledr" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="3.5" ref="ledr" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="4.5" ref="ledr" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="5.5" ref="ledr" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="6.5" ref="ledr" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
<element name="7.5" ref="ledr" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element>
|
||||
|
||||
<!-- LCD panel -->
|
||||
<group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group>
|
||||
|
@ -22792,15 +22792,9 @@ mondial2 // 1987 Mephisto Mondial II
|
||||
mondl68k // 1988 Mephisto Mondial 68000XL
|
||||
|
||||
@source:mephisto_montec.cpp
|
||||
smondial // 1986 Mephisto Super Mondial (Ver A)
|
||||
smondialab // 1986 Mephisto Super Mondial (Ver AB)
|
||||
smondialb // 1986 Mephisto Super Mondial (Ver B)
|
||||
montec // 1987 Mephisto Monte Carlo
|
||||
monteca // 1987 Mephisto Monte Carlo
|
||||
smondial2 // 1989 Mephisto Super Mondial II
|
||||
megaiv // 1989 Mephisto Mega IV
|
||||
megaiva // 1989 Mephisto Mega IV
|
||||
monteciv // 1990 Mephisto Monte Carlo IV LE
|
||||
montec4le // 1990 Mephisto Monte Carlo IV LE
|
||||
|
||||
@source:mephisto_polgar.cpp
|
||||
polgar // 1990 Mephisto Polgar
|
||||
@ -22812,6 +22806,14 @@ polgar101 // 1990 Mephisto Polgar 10MHz
|
||||
mrisc // 1992 Mephisto RISC 1MB
|
||||
mrisc2 // 1994 Mephisto RISC II
|
||||
|
||||
@source:mephisto_smondial.cpp
|
||||
mega4 // 1989 Mephisto Mega IV
|
||||
mega4a // 1989 Mephisto Mega IV
|
||||
smondial // 1986 Mephisto Super Mondial (Ver A)
|
||||
smondialab // 1986 Mephisto Super Mondial (Ver AB)
|
||||
smondialb // 1986 Mephisto Super Mondial (Ver B)
|
||||
smondial2 // 1989 Mephisto Super Mondial II
|
||||
|
||||
@source:mephistp.cpp
|
||||
mephistp //
|
||||
mephistp1 //
|
||||
|
@ -592,6 +592,7 @@ mephisto_mondial68k.cpp
|
||||
mephisto_montec.cpp
|
||||
mephisto_polgar.cpp
|
||||
mephisto_risc.cpp
|
||||
mephisto_smondial.cpp
|
||||
meritum.cpp
|
||||
mes.cpp
|
||||
mfabfz.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user