mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
New Working machine added
-------- Fidelity Sensory Chess Challenger 6 [hap, yovan]
This commit is contained in:
parent
0102c7a8e9
commit
94776accf5
@ -1940,6 +1940,7 @@ files {
|
||||
MAME_DIR .. "src/mame/includes/fidelbase.h",
|
||||
MAME_DIR .. "src/mame/drivers/fidel6502.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/fidel68k.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/fidelmcs48.cpp",
|
||||
}
|
||||
|
||||
createMESSProjects(_target, _subtarget, "force")
|
||||
|
190
src/mame/drivers/fidelmcs48.cpp
Normal file
190
src/mame/drivers/fidelmcs48.cpp
Normal file
@ -0,0 +1,190 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
// thanks-to:yovan
|
||||
/******************************************************************************
|
||||
|
||||
Fidelity generic MCS-48 based chess computer driver
|
||||
|
||||
NOTE: MAME doesn't include a generalized implementation for boardpieces yet,
|
||||
greatly affecting user playability of emulated electronic board games.
|
||||
As workaround for the chess games, use an external chess GUI on the side,
|
||||
such as Arena(in editmode).
|
||||
|
||||
TODO:
|
||||
- nothing
|
||||
|
||||
******************************************************************************
|
||||
|
||||
Sensory Chess Challenger 6 (model SC6):
|
||||
- PCB label 510-1045B01
|
||||
- INS8040N-11 MCU, 11MHz XTAL
|
||||
- external 4KB ROM 2332 101-1035A01, in module slot
|
||||
- buzzer, 2 7seg LEDs, 8*8 chessboard buttons
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "includes/fidelbase.h"
|
||||
|
||||
#include "cpu/mcs48/mcs48.h"
|
||||
#include "sound/volt_reg.h"
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "fidel_sc6.lh" // clickable
|
||||
|
||||
|
||||
class fidelmcs48_state : public fidelbase_state
|
||||
{
|
||||
public:
|
||||
fidelmcs48_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: fidelbase_state(mconfig, type, tag)
|
||||
{ }
|
||||
|
||||
// SC6
|
||||
void sc6_prepare_display();
|
||||
DECLARE_WRITE8_MEMBER(sc6_mux_w);
|
||||
DECLARE_WRITE8_MEMBER(sc6_select_w);
|
||||
DECLARE_READ8_MEMBER(sc6_input_r);
|
||||
DECLARE_READ8_MEMBER(sc6_input6_r);
|
||||
DECLARE_READ8_MEMBER(sc6_input7_r);
|
||||
};
|
||||
|
||||
|
||||
|
||||
// Devices, I/O
|
||||
|
||||
/******************************************************************************
|
||||
SC6
|
||||
******************************************************************************/
|
||||
|
||||
// MCU ports/generic
|
||||
|
||||
void fidelmcs48_state::sc6_prepare_display()
|
||||
{
|
||||
// 2 7seg leds
|
||||
set_display_segmask(3, 0x7f);
|
||||
display_matrix(7, 2, m_7seg_data, m_led_select);
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(fidelmcs48_state::sc6_mux_w)
|
||||
{
|
||||
// P24-P27: 7442 A-D
|
||||
u16 sel = 1 << (data >> 4 & 0xf) & 0x3ff;
|
||||
|
||||
// 7442 0-8: input mux, 7seg data
|
||||
m_inp_mux = sel & 0x1ff;
|
||||
m_7seg_data = sel & 0x7f;
|
||||
sc6_prepare_display();
|
||||
|
||||
// 7442 9: speaker out
|
||||
m_dac->write(BIT(sel, 9));
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(fidelmcs48_state::sc6_select_w)
|
||||
{
|
||||
// P16,P17: digit select
|
||||
m_led_select = ~data >> 6 & 3;
|
||||
sc6_prepare_display();
|
||||
}
|
||||
|
||||
READ8_MEMBER(fidelmcs48_state::sc6_input_r)
|
||||
{
|
||||
// P10-P15: multiplexed inputs low
|
||||
return (~read_inputs(9) & 0xff) | 0xc0;
|
||||
}
|
||||
|
||||
READ8_MEMBER(fidelmcs48_state::sc6_input6_r)
|
||||
{
|
||||
// T0: multiplexed inputs bit 6
|
||||
return ~read_inputs(9) >> 6 & 1;
|
||||
}
|
||||
|
||||
READ8_MEMBER(fidelmcs48_state::sc6_input7_r)
|
||||
{
|
||||
// T1: multiplexed inputs bit 7
|
||||
return ~read_inputs(9) >> 7 & 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
// SC6
|
||||
|
||||
static ADDRESS_MAP_START( sc6_map, AS_PROGRAM, 8, fidelmcs48_state )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sc6_io, AS_IO, 8, fidelmcs48_state )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(sc6_mux_w) AM_READNOP
|
||||
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READWRITE(sc6_input_r, sc6_select_w)
|
||||
AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(sc6_input6_r)
|
||||
AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(sc6_input7_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( sc6 )
|
||||
PORT_INCLUDE( fidel_cb_buttons )
|
||||
|
||||
PORT_START("IN.8")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("RV / Pawn")
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("DM / Knight")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("TB / Bishop")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("LV / Rook")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("PV / Queen")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("PB / King")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DEL) PORT_NAME("CL")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("RE")
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Drivers
|
||||
******************************************************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( sc6, fidelmcs48_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", I8040, XTAL_11MHz)
|
||||
MCFG_CPU_PROGRAM_MAP(sc6_map)
|
||||
MCFG_CPU_IO_MAP(sc6_io)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelbase_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_fidel_sc6)
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac", DAC_1BIT, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.25)
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( fscc6 )
|
||||
ROM_REGION( 0x1000, "maincpu", 0 )
|
||||
ROM_LOAD("101-1035a01", 0x0000, 0x1000, CRC(0024971f) SHA1(76b16364913ada2fb94b9e6a8524b924e6832ddf) ) // 2332
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
|
||||
CONS( 1982, fscc6, 0, 0, sc6, sc6, driver_device, 0, "Fidelity", "Sensory Chess Challenger 6", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
@ -110,7 +110,7 @@ MACHINE_RESET_MEMBER(novagmcs48_state, octo)
|
||||
|
||||
// Presto/Octo
|
||||
|
||||
static ADDRESS_MAP_START( presto_map, AS_IO, 8, novagmcs48_state )
|
||||
static ADDRESS_MAP_START( presto_io, AS_IO, 8, novagmcs48_state )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READ(presto_input_r) AM_WRITENOP
|
||||
AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(presto_control_w)
|
||||
@ -127,14 +127,14 @@ static INPUT_PORTS_START( presto )
|
||||
PORT_INCLUDE( novag_cb_buttons )
|
||||
|
||||
PORT_START("IN.8")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_NAME("Black/White") // Octo calls it "Change Color"
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_NAME("Verify / Pawn")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_NAME("Set Up / Rook")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_NAME("Knight")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_NAME("Set Level / Bishop")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_NAME("Queen")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_NAME("Take Back / King")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_NAME("Go")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Black/White") // Octo calls it "Change Color"
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Verify / Pawn")
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Set Up / Rook")
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Knight")
|
||||
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Set Level / Bishop")
|
||||
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Queen")
|
||||
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("Take Back / King")
|
||||
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Go")
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( octo )
|
||||
@ -161,7 +161,7 @@ static MACHINE_CONFIG_START( presto, novagmcs48_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", I8049, 6000000) // LC circuit, measured
|
||||
MCFG_CPU_IO_MAP(presto_map)
|
||||
MCFG_CPU_IO_MAP(presto_io)
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", novagbase_state, display_decay_tick, attotime::from_msec(1))
|
||||
MCFG_DEFAULT_LAYOUT(layout_novag_presto)
|
||||
|
362
src/mame/layout/fidel_sc6.lay
Normal file
362
src/mame/layout/fidel_sc6.lay
Normal file
@ -0,0 +1,362 @@
|
||||
<?xml version="1.0"?>
|
||||
<mamelayout version="2">
|
||||
|
||||
<!-- define elements -->
|
||||
|
||||
<element name="digit" defstate="0">
|
||||
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
|
||||
</element>
|
||||
|
||||
<element name="hl" defstate="0">
|
||||
<text string=" ">
|
||||
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
|
||||
<color red="0.0" green="0.0" blue="0.0" />
|
||||
</text>
|
||||
<disk state="1">
|
||||
<bounds x="0.12" y="0.12" width="0.76" height="0.76" />
|
||||
<color red="1.0" green="1.0" blue="1.0" />
|
||||
</disk>
|
||||
</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="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element>
|
||||
<element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
|
||||
<element name="disk_black"><disk><color red="0.17" green="0.15" blue="0.15" /></disk></element>
|
||||
<element name="disk_white"><disk><color red="0.81" green="0.8" blue="0.79" /></disk></element>
|
||||
|
||||
<element name="text_1">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="1"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_2">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="2"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_3">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="3"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_4">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="4"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_5">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="5"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_6">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="6"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_7">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="7"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_8">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="8"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_a">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="A"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_b">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="B"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_c">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="C"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_d">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="D"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_e">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="E"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_f">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="F"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_g">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="G"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
<element name="text_h">
|
||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
||||
<text string="H"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_re">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="RE"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_cl">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="CL"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_pb">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="PB"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_pv">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="PV"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_lv">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="LV"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_tb">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="TB"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_dm">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="DM"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_rv">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="RV"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
|
||||
<element name="text_king">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="♔"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_queen">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="♕"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_rook">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="♖"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_bishop">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="♗"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_knight">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="♘"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
<element name="text_pawn">
|
||||
<disk><color red="0.81" green="0.8" blue="0.79" /></disk>
|
||||
<text string="♙"><color red="0.17" green="0.15" blue="0.15" /></text>
|
||||
</element>
|
||||
|
||||
|
||||
<!-- build screen -->
|
||||
|
||||
<view name="Internal Layout">
|
||||
<bounds left="-2" right="100" top="-14.5" bottom="88" />
|
||||
|
||||
<bezel element="white"><bounds x="-2.5" y="-2" width="103" height="90.5" /></bezel>
|
||||
|
||||
<!-- chessboard coords -->
|
||||
|
||||
<bezel element="text_8"><bounds x="-0.8" y="7" width="2" height="2" /></bezel>
|
||||
<bezel element="text_7"><bounds x="-0.8" y="17" width="2" height="2" /></bezel>
|
||||
<bezel element="text_6"><bounds x="-0.8" y="27" width="2" height="2" /></bezel>
|
||||
<bezel element="text_5"><bounds x="-0.8" y="37" width="2" height="2" /></bezel>
|
||||
<bezel element="text_4"><bounds x="-0.8" y="47" width="2" height="2" /></bezel>
|
||||
<bezel element="text_3"><bounds x="-0.8" y="57" width="2" height="2" /></bezel>
|
||||
<bezel element="text_2"><bounds x="-0.8" y="67" width="2" height="2" /></bezel>
|
||||
<bezel element="text_1"><bounds x="-0.8" y="77" width="2" height="2" /></bezel>
|
||||
|
||||
<bezel element="text_a"><bounds x="7" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_b"><bounds x="17" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_c"><bounds x="27" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_d"><bounds x="37" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_e"><bounds x="47" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_f"><bounds x="57" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_g"><bounds x="67" y="85" width="2" height="2" /></bezel>
|
||||
<bezel element="text_h"><bounds x="77" y="85" width="2" height="2" /></bezel>
|
||||
|
||||
<!-- chessboard bezel -->
|
||||
|
||||
<bezel element="black"><bounds x="2" y="2" width="82" height="82" /></bezel>
|
||||
<bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel>
|
||||
<bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel>
|
||||
<bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel>
|
||||
<bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel>
|
||||
<bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel>
|
||||
|
||||
<bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel>
|
||||
<bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel>
|
||||
<bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel>
|
||||
<bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel>
|
||||
|
||||
<!-- chessboard sensors -->
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x80"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x80"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x80"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x80"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x80"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x80"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x80"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x40"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x40"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x40"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x40"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x40"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x40"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x40"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x20"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x20"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x20"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x20"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x20"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x20"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x20"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x10"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x10"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x10"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x10"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x10"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x10"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x10"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x08"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x08"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x08"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x08"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x04"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x04"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x04"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x04"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x02"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x02"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x02"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x02"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
|
||||
<bezel element="hl" inputtag="IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.4" inputmask="0x01"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.5" inputmask="0x01"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.6" inputmask="0x01"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
|
||||
<bezel element="hl" inputtag="IN.7" inputmask="0x01"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
|
||||
|
||||
<!-- right side -->
|
||||
|
||||
<bezel element="text_king"><bounds x="84.01" y="31.1" width="6" height="6" /></bezel>
|
||||
<bezel element="text_queen"><bounds x="84.01" y="39.9" width="6" height="6" /></bezel>
|
||||
<bezel element="text_rook"><bounds x="84.01" y="48.7" width="6" height="6" /></bezel>
|
||||
<bezel element="text_bishop"><bounds x="84.01" y="57.5" width="6" height="6" /></bezel>
|
||||
<bezel element="text_knight"><bounds x="84.01" y="66.3" width="6" height="6" /></bezel>
|
||||
<bezel element="text_pawn"><bounds x="84.01" y="75.1" width="6" height="6" /></bezel>
|
||||
|
||||
<bezel element="disk_black"><bounds x="89" y="13" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="21.8" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="30.6" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="39.4" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="48.2" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="57" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="65.8" width="7.4" height="7.4" /></bezel>
|
||||
<bezel element="disk_black"><bounds x="89" y="74.6" width="7.4" height="7.4" /></bezel>
|
||||
|
||||
<bezel element="disk_white"><bounds x="89.7" y="13.7" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="22.5" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="31.3" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="40.1" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="48.9" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="57.7" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="66.5" width="6" height="6" /></bezel>
|
||||
<bezel element="disk_white"><bounds x="89.7" y="75.3" width="6" height="6" /></bezel>
|
||||
|
||||
<bezel element="text_re"><bounds x="90.2" y="15.2" width="5" height="3" /></bezel>
|
||||
<bezel element="text_cl"><bounds x="90.2" y="24" width="5" height="3" /></bezel>
|
||||
<bezel element="text_pb"><bounds x="90.2" y="32.8" width="5" height="3" /></bezel>
|
||||
<bezel element="text_pv"><bounds x="90.2" y="41.6" width="5" height="3" /></bezel>
|
||||
<bezel element="text_lv"><bounds x="90.2" y="50.4" width="5" height="3" /></bezel>
|
||||
<bezel element="text_tb"><bounds x="90.2" y="59.2" width="5" height="3" /></bezel>
|
||||
<bezel element="text_dm"><bounds x="90.2" y="68" width="5" height="3" /></bezel>
|
||||
<bezel element="text_rv"><bounds x="90.2" y="76.8" width="5" height="3" /></bezel>
|
||||
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x80"><bounds x="89" y="13" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x40"><bounds x="89" y="21.8" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x20"><bounds x="89" y="30.6" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x10"><bounds x="89" y="39.4" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x08"><bounds x="89" y="48.2" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x04"><bounds x="89" y="57" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x02"><bounds x="89" y="65.8" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
<bezel element="hlb" inputtag="IN.8" inputmask="0x01"><bounds x="89" y="74.6" width="7.4" height="7.4" /><color alpha="0.3" /></bezel>
|
||||
|
||||
<!-- 7seg leds -->
|
||||
|
||||
<bezel name="digit0" element="digit">
|
||||
<bounds x="67.34" y="-12.5" width="5.66" height="8.5" />
|
||||
</bezel>
|
||||
<bezel name="digit1" element="digit">
|
||||
<bounds x="73" y="-12.5" width="5.66" height="8.5" />
|
||||
</bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -12421,6 +12421,9 @@ feagv7 //
|
||||
feagv9 //
|
||||
fexcel68k //
|
||||
|
||||
@source:fidelmcs48.cpp
|
||||
fscc6 //
|
||||
|
||||
@source:fidelz80.cpp
|
||||
bridgec3 //
|
||||
cc10 //
|
||||
|
@ -195,6 +195,7 @@ fccpu20.cpp
|
||||
fccpu30.cpp
|
||||
fidel6502.cpp
|
||||
fidel68k.cpp
|
||||
fidelmcs48.cpp
|
||||
fidelz80.cpp
|
||||
fk1.cpp
|
||||
fm7.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user