New not working machine added

-----------
Chess Challenger [hap, Berger]
This commit is contained in:
hap 2019-03-21 17:30:53 +01:00
parent cb6cf8aa46
commit f17ad47091
9 changed files with 412 additions and 58 deletions

View File

@ -1853,6 +1853,7 @@ files {
MAME_DIR .. "src/mame/includes/fidelbase.h", MAME_DIR .. "src/mame/includes/fidelbase.h",
MAME_DIR .. "src/mame/drivers/fidel_as12.cpp", MAME_DIR .. "src/mame/drivers/fidel_as12.cpp",
MAME_DIR .. "src/mame/drivers/fidel_card.cpp", MAME_DIR .. "src/mame/drivers/fidel_card.cpp",
MAME_DIR .. "src/mame/drivers/fidel_cc1.cpp",
MAME_DIR .. "src/mame/drivers/fidel_cc10.cpp", MAME_DIR .. "src/mame/drivers/fidel_cc10.cpp",
MAME_DIR .. "src/mame/drivers/fidel_cc7.cpp", MAME_DIR .. "src/mame/drivers/fidel_cc7.cpp",
MAME_DIR .. "src/mame/drivers/fidel_chesster.cpp", MAME_DIR .. "src/mame/drivers/fidel_chesster.cpp",

View File

@ -0,0 +1,207 @@
// license:BSD-3-Clause
// copyright-holders:hap
// thanks-to:Berger
/******************************************************************************
*
* fidel_cc1.cpp, subdriver of machine/fidelbase.cpp, machine/chessbase.cpp
TODO:
- driver is untested, but it should be easy to get working when a good dump
shows up (or a rom of CC3, even)
*******************************************************************************
Fidelity Chess Challenger (1)
-------------------
This is the world's 1st released dedicated chess computer. Oddly, the rows/columns
are reversed: left to right is 1-8, bottom to top is A-H, eg. pawn from d2 to d4
is 4b to 4d here.
NEC 8080AF @ 2MHz(18MHz XTAL through a 8224)
Everything goes via a NEC B8228, its special features are unused.
NEC 2316A ROM(2KB), 4*2101AL RAM(0.5KB total)
8255C for I/O, 4*7seg display + 2 extra leds, 12-key keypad
Chess Challenger 3 is on the same hardware, but with double ROM size, and they
corrected the reversed chess notation. It was also offered as an upgrade to CC1.
******************************************************************************/
#include "emu.h"
#include "includes/fidelbase.h"
#include "cpu/i8085/i8085.h"
#include "machine/i8255.h"
// internal artwork
#include "fidel_cc1.lh" // clickable
namespace {
class cc1_state : public fidelbase_state
{
public:
cc1_state(const machine_config &mconfig, device_type type, const char *tag) :
fidelbase_state(mconfig, type, tag),
m_ppi8255(*this, "ppi8255"),
m_delay(*this, "delay")
{ }
// machine drivers
void cc1(machine_config &config);
private:
// devices/pointers
required_device<i8255_device> m_ppi8255;
optional_device<timer_device> m_delay;
// address maps
void main_map(address_map &map);
void main_io(address_map &map);
// I/O handlers
void prepare_display();
DECLARE_READ8_MEMBER(ppi_porta_r);
DECLARE_WRITE8_MEMBER(ppi_portb_w);
DECLARE_WRITE8_MEMBER(ppi_portc_w);
};
/******************************************************************************
Devices, I/O
******************************************************************************/
// misc handlers
void cc1_state::prepare_display()
{
// 4 7segs + 2 leds
set_display_segmask(0xf, 0x7f);
display_matrix(7, 6, m_7seg_data, m_led_select);
}
// I8255 PPI
READ8_MEMBER(cc1_state::ppi_porta_r)
{
// 74148(priority encoder) I0-I7: inputs
// d0-d2: 74148 S0-S2, d3: 74148 GS
// d5-d7: more inputs (direct)
u8 data = (count_leading_zeros(m_inp_matrix[0]->read()) - 24) | (~m_inp_matrix[1]->read() << 5 & 0xe0);
// d4: 555 Q
return data | ((m_delay->enabled()) ? 0x10 : 0);
}
WRITE8_MEMBER(cc1_state::ppi_portb_w)
{
// d0-d6: digit segment data
m_7seg_data = bitswap<7>(data,0,1,2,3,4,5,6);
prepare_display();
}
WRITE8_MEMBER(cc1_state::ppi_portc_w)
{
// d6: trigger monostable 555 (R=15K, C=1uF)
if (~data & m_led_select & 0x40 && !m_delay->enabled())
m_delay->adjust(attotime::from_msec(17));
// d0-d3: digit select
// d4: check led, d5: lose led
m_led_select = data;
prepare_display();
}
/******************************************************************************
Address Maps
******************************************************************************/
void cc1_state::main_map(address_map &map)
{
map.global_mask(0x1fff);
map(0x0000, 0x0fff).rom();
map(0x1000, 0x11ff).mirror(0x0e00).ram();
}
void cc1_state::main_io(address_map &map)
{
map.global_mask(0x0f);
map(0x00, 0x03).mirror(0x04).rw(m_ppi8255, FUNC(i8255_device::read), FUNC(i8255_device::write));
}
/******************************************************************************
Input Ports
******************************************************************************/
static INPUT_PORTS_START( cc1 )
PORT_START("IN.0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("1") PORT_CODE(KEYCODE_1)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("2") PORT_CODE(KEYCODE_2)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("3") PORT_CODE(KEYCODE_3)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("4") PORT_CODE(KEYCODE_4)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("5") PORT_CODE(KEYCODE_5)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("6") PORT_CODE(KEYCODE_6)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("7") PORT_CODE(KEYCODE_7)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("8") PORT_CODE(KEYCODE_8)
PORT_START("IN.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("-") PORT_CODE(KEYCODE_MINUS)
PORT_START("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, cc1_state, reset_button, nullptr)
INPUT_PORTS_END
/******************************************************************************
Machine Drivers
******************************************************************************/
void cc1_state::cc1(machine_config &config)
{
/* basic machine hardware */
I8080A(config, m_maincpu, 18_MHz_XTAL/9);
m_maincpu->set_addrmap(AS_PROGRAM, &cc1_state::main_map);
m_maincpu->set_addrmap(AS_IO, &cc1_state::main_io);
I8255(config, m_ppi8255);
m_ppi8255->in_pa_callback().set(FUNC(cc1_state::ppi_porta_r));
m_ppi8255->out_pb_callback().set(FUNC(cc1_state::ppi_portb_w));
m_ppi8255->tri_pb_callback().set_constant(0);
m_ppi8255->out_pc_callback().set(FUNC(cc1_state::ppi_portc_w));
TIMER(config, "delay").configure_generic(timer_device::expired_delegate());
TIMER(config, "display_decay").configure_periodic(FUNC(cc1_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_fidel_cc1);
}
/******************************************************************************
ROM Definitions
******************************************************************************/
ROM_START( cc1 )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
ROM_LOAD( "d2316ac_011", 0x0000, 0x0800, BAD_DUMP CRC(e27f9816) SHA1(ad9881b3bf8341829a27e86de27805fc2ccb5f7d) ) // A4 line was broken
ROM_END
} // anonymous namespace
/******************************************************************************
Drivers
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1977, cc1, 0, 0, cc1, cc1, cc1_state, empty_init, "Fidelity Electronics", "Chess Challenger", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW | MACHINE_NOT_WORKING )

View File

@ -268,8 +268,8 @@ void ccx_state::acr(machine_config &config)
m_ppi8255->tri_pa_callback().set_constant(0); m_ppi8255->tri_pa_callback().set_constant(0);
m_ppi8255->in_pb_callback().set_constant(0); m_ppi8255->in_pb_callback().set_constant(0);
m_ppi8255->out_pb_callback().set(FUNC(ccx_state::ppi_portb_w)); m_ppi8255->out_pb_callback().set(FUNC(ccx_state::ppi_portb_w));
m_ppi8255->in_pc_callback().set(FUNC(ccx_state::ppi_portc_r));
m_ppi8255->tri_pb_callback().set_constant(0); m_ppi8255->tri_pb_callback().set_constant(0);
m_ppi8255->in_pc_callback().set(FUNC(ccx_state::ppi_portc_r));
m_ppi8255->out_pc_callback().set(FUNC(ccx_state::ppi_portc_w)); m_ppi8255->out_pc_callback().set(FUNC(ccx_state::ppi_portc_w));
TIMER(config, "display_decay").configure_periodic(FUNC(ccx_state::display_decay_tick), attotime::from_msec(1)); TIMER(config, "display_decay").configure_periodic(FUNC(ccx_state::display_decay_tick), attotime::from_msec(1));

View File

@ -518,6 +518,6 @@ CONS( 1985, fexcela, fexcel, 0, fexcel, fexcel, excel_state, empty_in
CONS( 1986, fexcelp, 0, 0, fexcelp, fexcel, excel_state, empty_init, "Fidelity Electronics", "The Par Excellence", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) CONS( 1986, fexcelp, 0, 0, fexcelp, fexcel, excel_state, empty_init, "Fidelity Electronics", "The Par Excellence", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1986, fexcelpb, fexcelp, 0, fexcelp, fexcel, excel_state, empty_init, "Fidelity Electronics", "The Par Excellence (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) CONS( 1986, fexcelpb, fexcelp, 0, fexcelp, fexcel, excel_state, empty_init, "Fidelity Electronics", "The Par Excellence (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1986, granits, fexcelp, 0, granits, fexcel, excel_state, empty_init, "hack (RCS)", "Granit 'S'", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) CONS( 1986, granits, fexcelp, 0, granits, fexcel, excel_state, empty_init, "hack (RCS)", "Granit S", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1988, fdes2000, fexcelp, 0, fdes2000, fdes, excel_state, empty_init, "Fidelity Electronics", "Designer 2000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) CONS( 1988, fdes2000, fexcelp, 0, fdes2000, fdes, excel_state, empty_init, "Fidelity Electronics", "Designer 2000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1988, fdes2100, fexcelp, 0, fdes2100, fdes, excel_state, empty_init, "Fidelity Electronics", "Designer 2100", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) CONS( 1988, fdes2100, fexcelp, 0, fdes2100, fdes, excel_state, empty_init, "Fidelity Electronics", "Designer 2100", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )

View File

@ -16,11 +16,8 @@ TODO:
confident that it's same) confident that it's same)
- Currently there is no accurate way to dump the SM511/SM511 melody ROM - Currently there is no accurate way to dump the SM511/SM511 melody ROM
electronically. For the ones that weren't decapped, they were read by electronically. For the ones that weren't decapped, they were read by
playing back all melody data and reconstructing it to ROM. playing back all melody data and reconstructing it to ROM. Visual(decap)
Visual(decap) verification is wanted for: verification is wanted for: gnw_bfight, gnw_bjack, gnw_climber
* gnw_bfight
* gnw_bjack
* gnw_climber
- identify lcd segments for tgaiden - identify lcd segments for tgaiden
**************************************************************************** ****************************************************************************
@ -96,7 +93,7 @@ AK-302* mvs SM511? Donkey Kong 3
HK-303* mvs SM511? Donkey Kong Hockey HK-303* mvs SM511? Donkey Kong Hockey
YM-801* cs SM511 Super Mario Bros. (assume same ROM as nws version) YM-801* cs SM511 Super Mario Bros. (assume same ROM as nws version)
DR-802* cs SM511 Climber " DR-802* cs SM511 Climber "
BF-803* cs SM511? Balloon Fight " BF-803* cs SM511 Balloon Fight "
YM-901-S* x SM511 Super Mario Bros. " YM-901-S* x SM511 Super Mario Bros. "
RGW-001 (2010 Ball remake) is on different hardware, ATmega169PV MCU. RGW-001 (2010 Ball remake) is on different hardware, ATmega169PV MCU.

View File

@ -118,56 +118,56 @@
<!-- button panel --> <!-- button panel -->
<bezel element="static_gray"><bounds x="0" y="20" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="0" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="20" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="4.5" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="20" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="9" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="20" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="13.5" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="0" y="24" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="0" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="24" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="4.5" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="24" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="9" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="24" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="13.5" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="0" y="28" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="0" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="28" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="4.5" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="28" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="9" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="28" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="13.5" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="0" y="32" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="0" y="32" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="32" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="4.5" y="32" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="32" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="9" y="32" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="32" width="4" height="3" /></bezel> <bezel element="static_gray"><bounds x="13.5" y="32" width="4" height="3.5" /></bezel>
<bezel element="text_b1"><bounds x="0.1" y="20.5" width="3.8" height="2" /></bezel> <bezel element="text_b1"><bounds x="0.1" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b2"><bounds x="4.6" y="20.5" width="3.8" height="2" /></bezel> <bezel element="text_b2"><bounds x="4.6" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b3"><bounds x="9.1" y="20.5" width="3.8" height="2" /></bezel> <bezel element="text_b3"><bounds x="9.1" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b4"><bounds x="13.6" y="20.5" width="3.8" height="2" /></bezel> <bezel element="text_b4"><bounds x="13.6" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b5"><bounds x="0.1" y="24.5" width="3.8" height="2" /></bezel> <bezel element="text_b5"><bounds x="0.1" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b6"><bounds x="4.6" y="24.5" width="3.8" height="2" /></bezel> <bezel element="text_b6"><bounds x="4.6" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b7"><bounds x="9.1" y="24.5" width="3.8" height="2" /></bezel> <bezel element="text_b7"><bounds x="9.1" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b8"><bounds x="13.6" y="24.5" width="3.8" height="2" /></bezel> <bezel element="text_b8"><bounds x="13.6" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b9"><bounds x="0.1" y="28.5" width="3.8" height="2" /></bezel> <bezel element="text_b9"><bounds x="0.1" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b10"><bounds x="4.6" y="28.5" width="3.8" height="2" /></bezel> <bezel element="text_b10"><bounds x="4.6" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b11"><bounds x="9.1" y="28.5" width="3.8" height="2" /></bezel> <bezel element="text_b11"><bounds x="9.1" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b12"><bounds x="13.6" y="28.5" width="3.8" height="2" /></bezel> <bezel element="text_b12"><bounds x="13.6" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b13"><bounds x="0.1" y="32.5" width="3.8" height="2" /></bezel> <bezel element="text_b13"><bounds x="0.1" y="32.75" width="3.8" height="2" /></bezel>
<bezel element="text_b14"><bounds x="4.6" y="32.5" width="3.8" height="2" /></bezel> <bezel element="text_b14"><bounds x="4.6" y="32.75" width="3.8" height="2" /></bezel>
<bezel element="text_b15"><bounds x="9.1" y="32.5" width="3.8" height="2" /></bezel> <bezel element="text_b15"><bounds x="9.1" y="32.75" width="3.8" height="2" /></bezel>
<bezel element="text_b16"><bounds x="13.6" y="32.5" width="3.8" height="2" /></bezel> <bezel element="text_b16"><bounds x="13.6" y="32.75" width="3.8" height="2" /></bezel>
<bezel element="hl" inputtag="RESET" inputmask="0x01"><bounds x="0" y="20" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="RESET" inputmask="0x01"><bounds x="0" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="4.5" y="20" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="4.5" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="9" y="20" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="9" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="13.5" y="20" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="13.5" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="0" y="24" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="0" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="4.5" y="24" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="4.5" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="9" y="24" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="9" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="13.5" y="24" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="13.5" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="0" y="28" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="0" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="4.5" y="28" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="4.5" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="9" y="28" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="9" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="13.5" y="28" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="13.5" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="0" y="32" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="0" y="32" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="4.5" y="32" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="4.5" y="32" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="9" y="32" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="9" y="32" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="13.5" y="32" width="4" height="3" /><color alpha="0.2" /></bezel> <bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="13.5" y="32" width="4" height="3.5" /><color alpha="0.2" /></bezel>
</view> </view>
</mamelayout> </mamelayout>

View File

@ -0,0 +1,145 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<element name="static_gray"><rect><color red="0.6" green="0.6" blue="0.6" /></rect></element>
<element name="digit" defstate="0">
<led7seg><color red="1.0" green="0.1" blue="0.15" /></led7seg>
</element>
<element name="led" defstate="0">
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
<disk state="0"><color red="0.1" green="0.01" blue="0.015" /></disk>
</element>
<element name="hl" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</text>
<rect state="1">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</rect>
</element>
<element name="text_check"><text string="CHECK"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_lose"><text string="I LOSE"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_from"><text string="FROM"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_to"><text string="TO"><color red="0.6" green="0.6" blue="0.6" /></text></element>
<element name="text_b1">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="RE"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b2">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="DM"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b3">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="CL"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b4">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="EN"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b5">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="1A"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b6">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="2b"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b7">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="3C"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b8">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="4d"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b9">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="5E"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b10">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="6F"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b11">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="7g"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<element name="text_b12">
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
<text string="8H"><color red="0.04" green="0.04" blue="0.04" /></text>
</element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="-0.5" right="18" top="7.7" bottom="32" />
<!-- 7segs/leds -->
<bezel element="text_check"><bounds x="1" y="8.2" width="8" height="2" /></bezel>
<bezel element="text_lose"><bounds x="10.5" y="8.2" width="8" height="2" /></bezel>
<bezel name="4.a" element="led"><bounds x="0" y="8.5" width="1.5" height="1.5" /></bezel>
<bezel name="5.a" element="led"><bounds x="9.5" y="8.5" width="1.5" height="1.5" /></bezel>
<bezel element="text_from"><bounds x="0" y="17.2" width="8" height="2" /></bezel>
<bezel element="text_to"><bounds x="9.5" y="17.2" width="8" height="2" /></bezel>
<bezel name="digit0" element="digit"><bounds x="0" y="11" width="4" height="6" /></bezel>
<bezel name="digit1" element="digit"><bounds x="4" y="11" width="4" height="6" /></bezel>
<bezel name="digit2" element="digit"><bounds x="9.5" y="11" width="4" height="6" /></bezel>
<bezel name="digit3" element="digit"><bounds x="13.5" y="11" width="4" height="6" /></bezel>
<!-- button panel -->
<bezel element="static_gray"><bounds x="0" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="20" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="0" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="24" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="0" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="4.5" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="9" y="28" width="4" height="3.5" /></bezel>
<bezel element="static_gray"><bounds x="13.5" y="28" width="4" height="3.5" /></bezel>
<bezel element="text_b1"><bounds x="0.1" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b2"><bounds x="4.6" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b3"><bounds x="9.1" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b4"><bounds x="13.6" y="20.75" width="3.8" height="2" /></bezel>
<bezel element="text_b5"><bounds x="0.1" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b6"><bounds x="4.6" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b7"><bounds x="9.1" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b8"><bounds x="13.6" y="24.75" width="3.8" height="2" /></bezel>
<bezel element="text_b9"><bounds x="0.1" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b10"><bounds x="4.6" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b11"><bounds x="9.1" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="text_b12"><bounds x="13.6" y="28.75" width="3.8" height="2" /></bezel>
<bezel element="hl" inputtag="RESET" inputmask="0x01"><bounds x="0" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="4.5" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="9" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="13.5" y="20" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x01"><bounds x="0" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="4.5" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="9" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="13.5" y="24" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x10"><bounds x="0" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x20"><bounds x="4.5" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x40"><bounds x="9" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x80"><bounds x="13.5" y="28" width="4" height="3.5" /><color alpha="0.2" /></bezel>
</view>
</mamelayout>

View File

@ -12871,6 +12871,9 @@ bridgeca //
gincribc // gincribc //
vbrc // vbrc //
@source:fidel_cc1.cpp
cc1 //
@source:fidel_cc10.cpp @source:fidel_cc10.cpp
cc10 // cc10 //
checkc4 // checkc4 //

View File

@ -244,6 +244,7 @@ fccpu20.cpp
fccpu30.cpp fccpu30.cpp
fidel_as12.cpp fidel_as12.cpp
fidel_card.cpp fidel_card.cpp
fidel_cc1.cpp
fidel_cc10.cpp fidel_cc10.cpp
fidel_cc7.cpp fidel_cc7.cpp
fidel_chesster.cpp fidel_chesster.cpp