New Working machine added

--------
Fidelity Sensory Chess Challenger 6 [hap, yovan]
This commit is contained in:
hap 2017-05-02 19:32:26 +02:00
parent 0102c7a8e9
commit 94776accf5
6 changed files with 567 additions and 10 deletions

View File

@ -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")

View 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 )

View File

@ -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)

View 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="&#x2654;"><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="&#x2655;"><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="&#x2656;"><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="&#x2657;"><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="&#x2658;"><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="&#x2659;"><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>

View File

@ -12421,6 +12421,9 @@ feagv7 //
feagv9 //
fexcel68k //
@source:fidelmcs48.cpp
fscc6 //
@source:fidelz80.cpp
bridgec3 //
cc10 //

View File

@ -195,6 +195,7 @@ fccpu20.cpp
fccpu30.cpp
fidel6502.cpp
fidel68k.cpp
fidelmcs48.cpp
fidelz80.cpp
fk1.cpp
fm7.cpp