New working machine added
---------- Checker Challenger 4 [hap, Sean Riddle]
This commit is contained in:
parent
08f3a160b3
commit
c4b8aa3a56
@ -1,10 +1,14 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:Jonathan Gevaryahu, Sandro Ronco, hap
|
||||
// thanks-to:Berger
|
||||
// thanks-to:Berger, Sean Riddle
|
||||
/******************************************************************************
|
||||
*
|
||||
* fidel_cc10.cpp, subdriver of machine/fidelbase.cpp, machine/chessbase.cpp
|
||||
|
||||
TODO:
|
||||
- What is cc10 8255 PB.7 for? When set, maximum levels is 3, like in CC3. But
|
||||
there is no CC3 with 16 buttons, and things get glitchy in this mode.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Fidelity Chess Challenger 10 (CCX)
|
||||
@ -12,47 +16,13 @@ Fidelity Chess Challenger 10 (CCX)
|
||||
4 versions are known to exist: A,B,C,D. Strangely, version C(UCC10) has an 8080
|
||||
instead of Z80. Chess Challenger 1,3 and 7 also run on very similar hardware.
|
||||
|
||||
Z80A CPU @ 4MHz
|
||||
Z80A CPU @ 4MHz, NEC D8255C
|
||||
4KB ROM(NEC 2332A), 2*256 bytes RAM(4*NEC 2111AL-4)
|
||||
|
||||
This is an earlier hardware upon which the VCC and UVC were based on;
|
||||
The hardware is nearly the same; in fact the only significant differences are
|
||||
the RAM being located in a different place, the lack of a speech chip, and
|
||||
the connections to ports A and B on the PPI:
|
||||
|
||||
8255 connections:
|
||||
-----------------
|
||||
PA.0 - segment G (W)
|
||||
PA.1 - segment F (W)
|
||||
PA.2 - segment E (W)
|
||||
PA.3 - segment D (W)
|
||||
PA.4 - segment C (W)
|
||||
PA.5 - segment B (W)
|
||||
PA.6 - segment A (W)
|
||||
PA.7 - 'beeper' direct speaker output (W)
|
||||
|
||||
The beeper is via a 556 timer, fixed-frequency at around 1300-1400Hz.
|
||||
Not all hardware configurations include the beeper.
|
||||
|
||||
PB.0 - dot commons (W)
|
||||
PB.1 - NC
|
||||
PB.2 - digit 0, bottom dot (W)
|
||||
PB.3 - digit 1, top dot (W)
|
||||
PB.4 - digit 2 (W)
|
||||
PB.5 - digit 3 (W)
|
||||
PB.6 - NC
|
||||
PB.7 - Mode select? (cc3 vs cc10, R)
|
||||
|
||||
Note: there is no CC3 with 16 buttons, and things get glitchy in this mode.
|
||||
|
||||
PC.0 - button row 0 (R)
|
||||
PC.1 - button row 1 (R)
|
||||
PC.2 - button row 2 (R)
|
||||
PC.3 - button row 3 (R)
|
||||
PC.4 - button column A (W)
|
||||
PC.5 - button column B (W)
|
||||
PC.6 - button column C (W)
|
||||
PC.7 - button column D (W)
|
||||
Checker Challenger 4 (ACR) is on the same PCB, twice less RAM and the beeper gone.
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
@ -65,6 +35,7 @@ PC.7 - button column D (W)
|
||||
#include "speaker.h"
|
||||
|
||||
// internal artwork
|
||||
#include "fidel_acr.lh" // clickable
|
||||
#include "fidel_cc10.lh" // clickable
|
||||
|
||||
|
||||
@ -81,20 +52,26 @@ public:
|
||||
{ }
|
||||
|
||||
// machine drivers
|
||||
void acr(machine_config &config);
|
||||
void ccx(machine_config &config);
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<i8255_device> m_ppi8255;
|
||||
required_device<timer_device> m_beeper_off;
|
||||
required_device<beep_device> m_beeper;
|
||||
optional_device<timer_device> m_beeper_off;
|
||||
optional_device<beep_device> m_beeper;
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(beeper_off) { m_beeper->set_state(0); }
|
||||
|
||||
// address maps
|
||||
void main_map(address_map &map);
|
||||
void acr_map(address_map &map);
|
||||
void ccx_map(address_map &map);
|
||||
void main_trampoline(address_map &map);
|
||||
void main_io(address_map &map);
|
||||
|
||||
u8 main_trampoline_r(offs_t offset);
|
||||
void main_trampoline_w(offs_t offset, u8 data);
|
||||
|
||||
// I/O handlers
|
||||
void prepare_display();
|
||||
DECLARE_WRITE8_MEMBER(ppi_porta_w);
|
||||
@ -112,10 +89,9 @@ private:
|
||||
|
||||
void ccx_state::prepare_display()
|
||||
{
|
||||
// 4 7seg leds (note: sel d0 for extra leds)
|
||||
u8 outdata = (m_7seg_data & 0x7f) | (m_led_select << 7 & 0x80);
|
||||
// 4 7segs + 2 leds
|
||||
set_display_segmask(0xf, 0x7f);
|
||||
display_matrix(8, 4, outdata, m_led_select >> 2 & 0xf);
|
||||
display_matrix(8, 6, m_7seg_data, m_led_select);
|
||||
}
|
||||
|
||||
|
||||
@ -123,8 +99,8 @@ void ccx_state::prepare_display()
|
||||
|
||||
WRITE8_MEMBER(ccx_state::ppi_porta_w)
|
||||
{
|
||||
// d7: enable beeper on falling edge (555 monostable)
|
||||
if (~data & m_7seg_data & 0x80 && !m_beeper_off->enabled())
|
||||
// d7: enable beeper on falling edge (556 monostable) (unpopulated on ACR)
|
||||
if (m_beeper != nullptr && ~data & m_7seg_data & 0x80 && !m_beeper_off->enabled())
|
||||
{
|
||||
m_beeper->set_state(1);
|
||||
m_beeper_off->adjust(attotime::from_msec(80)); // duration is approximate
|
||||
@ -137,8 +113,9 @@ WRITE8_MEMBER(ccx_state::ppi_porta_w)
|
||||
|
||||
WRITE8_MEMBER(ccx_state::ppi_portb_w)
|
||||
{
|
||||
// d0,d2-d5: digit/led select
|
||||
m_led_select = data;
|
||||
// d0: lose led, d1: check(win) led
|
||||
// d2-d5: digit select
|
||||
m_led_select = bitswap<6>(data,0,1,5,4,3,2);
|
||||
prepare_display();
|
||||
}
|
||||
|
||||
@ -160,13 +137,46 @@ WRITE8_MEMBER(ccx_state::ppi_portc_w)
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void ccx_state::main_map(address_map &map)
|
||||
void ccx_state::acr_map(address_map &map)
|
||||
{
|
||||
map.unmap_value_high();
|
||||
map.global_mask(0x3fff);
|
||||
map(0x0000, 0x0fff).rom();
|
||||
map(0x1000, 0x10ff).mirror(0x0f00).ram();
|
||||
map(0x3000, 0x30ff).mirror(0x0f00).ram();
|
||||
map(0x0000, 0x0fff).rom().region("maincpu", 0); // _A12
|
||||
map(0x2000, 0x20ff).mirror(0x0f00).ram(); // A13
|
||||
}
|
||||
|
||||
void ccx_state::ccx_map(address_map &map)
|
||||
{
|
||||
acr_map(map);
|
||||
map(0x4000, 0x40ff).mirror(0x0f00).ram(); // A14
|
||||
}
|
||||
|
||||
// PCB design is prone to bus conflicts, but assuming software behaves fine,
|
||||
// it will access ROM at $0xxx, RAM at $3xxx and $5xxx
|
||||
void ccx_state::main_trampoline_w(offs_t offset, u8 data)
|
||||
{
|
||||
if (offset & 0x2000)
|
||||
m_mainmap->write8(offset & 0x2fff, data);
|
||||
if (offset & 0x4000)
|
||||
m_mainmap->write8(offset & 0x4fff, data);
|
||||
}
|
||||
|
||||
u8 ccx_state::main_trampoline_r(offs_t offset)
|
||||
{
|
||||
u8 data = 0xff;
|
||||
if (~offset & 0x1000)
|
||||
data &= m_mainmap->read8(offset & 0x0fff);
|
||||
if (offset & 0x2000)
|
||||
data &= m_mainmap->read8(offset & 0x2fff);
|
||||
if (offset & 0x4000)
|
||||
data &= m_mainmap->read8(offset & 0x4fff);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
void ccx_state::main_trampoline(address_map &map)
|
||||
{
|
||||
map.global_mask(0x7fff);
|
||||
map(0x0000, 0x7fff).rw(FUNC(ccx_state::main_trampoline_r), FUNC(ccx_state::main_trampoline_w));
|
||||
}
|
||||
|
||||
void ccx_state::main_io(address_map &map)
|
||||
@ -210,29 +220,69 @@ static INPUT_PORTS_START( ccx )
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, ccx_state, reset_button, nullptr)
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( acr )
|
||||
PORT_START("IN.0")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LV") PORT_CODE(KEYCODE_L)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PV") PORT_CODE(KEYCODE_V)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD)
|
||||
|
||||
PORT_START("IN.1")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD)
|
||||
|
||||
PORT_START("IN.2")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("TO") PORT_CODE(KEYCODE_T)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD)
|
||||
|
||||
PORT_START("IN.3")
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("EN") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
|
||||
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD)
|
||||
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD)
|
||||
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD)
|
||||
|
||||
PORT_START("RESET") // is not on matrix IN.0 d0
|
||||
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RE") PORT_CODE(KEYCODE_R) PORT_CHANGED_MEMBER(DEVICE_SELF, ccx_state, reset_button, nullptr)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Drivers
|
||||
******************************************************************************/
|
||||
|
||||
void ccx_state::ccx(machine_config &config)
|
||||
void ccx_state::acr(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
Z80(config, m_maincpu, 4_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ccx_state::main_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ccx_state::main_trampoline);
|
||||
ADDRESS_MAP_BANK(config, m_mainmap).set_map(&ccx_state::acr_map).set_options(ENDIANNESS_LITTLE, 8, 16);
|
||||
m_maincpu->set_addrmap(AS_IO, &ccx_state::main_io);
|
||||
|
||||
I8255(config, m_ppi8255);
|
||||
m_ppi8255->out_pa_callback().set(FUNC(ccx_state::ppi_porta_w));
|
||||
m_ppi8255->tri_pa_callback().set_constant(0);
|
||||
m_ppi8255->in_pb_callback().set_constant(0); // 0x80 for '3 level mode'
|
||||
m_ppi8255->in_pb_callback().set_constant(0);
|
||||
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->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));
|
||||
config.set_default_layout(layout_fidel_acr);
|
||||
}
|
||||
|
||||
void ccx_state::ccx(machine_config &config)
|
||||
{
|
||||
acr(config);
|
||||
|
||||
/* basic machine hardware */
|
||||
m_mainmap->set_addrmap(AS_PROGRAM, &ccx_state::ccx_map);
|
||||
|
||||
config.set_default_layout(layout_fidel_cc10);
|
||||
|
||||
/* sound hardware */
|
||||
@ -248,11 +298,17 @@ void ccx_state::ccx(machine_config &config)
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( cc10 ) // model CCX
|
||||
ROM_START( cc10 ) // model CCX, PCB label P241C-1
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "cn19053n_cc10b", 0x0000, 0x1000, CRC(afd3ca99) SHA1(870d09b2b52ccb8572d69642c59b5215d5fb26ab) ) // 2332
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( checkerc4 ) // model ACR, PCB label P241C
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "d2332c_043", 0x0000, 0x1000, CRC(4c251d90) SHA1(474d54b05971f2a3208bab56dc6e27f03781c541) ) // no custom label
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
@ -261,5 +317,7 @@ ROM_END
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1978, cc10, 0, 0, ccx, ccx, ccx_state, empty_init, "Fidelity Electronics", "Chess Challenger 10 (model CCX, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1978, cc10, 0, 0, ccx, ccx, ccx_state, empty_init, "Fidelity Electronics", "Chess Challenger 10 (model CCX, rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
|
||||
CONS( 1978, checkerc4, 0, 0, acr, acr, ccx_state, empty_init, "Fidelity Electronics", "Checker Challenger 4", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NO_SOUND_HW )
|
||||
|
@ -29,8 +29,8 @@ Memory map:
|
||||
Port map (Write):
|
||||
---------
|
||||
D0-D3: digit select and keypad mux
|
||||
D4: LOSE led
|
||||
D5: CHECK led
|
||||
D4: CHECK led
|
||||
D5: LOSE led
|
||||
A0-A2: NE591 A0-A2
|
||||
D7: NE591 D (_C not used)
|
||||
NE591 Q0-Q6: digit segments A-G
|
||||
|
@ -292,4 +292,4 @@ ROM_END
|
||||
CONS( 1982, fscc9, 0, 0, sc9d, sc9, sc9_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. D)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS ) // aka version "B"
|
||||
CONS( 1982, fscc9b, fscc9, 0, sc9b, sc9, sc9_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1982, fscc9c, fscc9, 0, sc9b, sc9c, sc9c_state, empty_init, "Fidelity Electronics", "Sensory Chess Challenger 9 (rev. C)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1983, fscc9ps, fscc9, 0, playmatic, playmatic, sc9_state, empty_init, "Fidelity Deutschland", "Sensory 9 Playmatic 'S'", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
CONS( 1983, fscc9ps, fscc9, 0, playmatic, playmatic, sc9_state, empty_init, "Fidelity Deutschland", "Sensory 9 Playmatic S", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
|
||||
|
173
src/mame/layout/fidel_acr.lay
Normal file
173
src/mame/layout/fidel_acr.lay
Normal file
@ -0,0 +1,173 @@
|
||||
<?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_win"><text string="I WIN"><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="CL"><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="TO"><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="LV"><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="7"><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="8"><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="9"><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="PV"><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="4"><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="5"><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="6"><color red="0.04" green="0.04" blue="0.04" /></text>
|
||||
</element>
|
||||
<element name="text_b13">
|
||||
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
|
||||
<text string="0"><color red="0.04" green="0.04" blue="0.04" /></text>
|
||||
</element>
|
||||
<element name="text_b14">
|
||||
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
|
||||
<text string="1"><color red="0.04" green="0.04" blue="0.04" /></text>
|
||||
</element>
|
||||
<element name="text_b15">
|
||||
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
|
||||
<text string="2"><color red="0.04" green="0.04" blue="0.04" /></text>
|
||||
</element>
|
||||
<element name="text_b16">
|
||||
<rect><color red="0.6" green="0.6" blue="0.6" /></rect>
|
||||
<text string="3"><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="36" />
|
||||
|
||||
<!-- 7segs/leds -->
|
||||
|
||||
<bezel element="text_win"><bounds x="0.7" 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" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="4.5" y="20" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="9" y="20" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="13.5" y="20" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="0" y="24" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="4.5" y="24" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="9" y="24" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="13.5" y="24" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="0" y="28" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="4.5" y="28" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="9" y="28" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="13.5" y="28" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="0" y="32" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="4.5" y="32" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="9" y="32" width="4" height="3" /></bezel>
|
||||
<bezel element="static_gray"><bounds x="13.5" y="32" width="4" height="3" /></bezel>
|
||||
|
||||
<bezel element="text_b1"><bounds x="0.1" y="20.5" 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_b3"><bounds x="9.1" y="20.5" 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_b5"><bounds x="0.1" y="24.5" 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_b7"><bounds x="9.1" y="24.5" 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_b9"><bounds x="0.1" y="28.5" 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_b11"><bounds x="9.1" y="28.5" 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_b13"><bounds x="0.1" y="32.5" 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_b15"><bounds x="9.1" y="32.5" 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="hl" inputtag="RESET" inputmask="0x01"><bounds x="0" 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" /><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.3" inputmask="0x01"><bounds x="13.5" y="20" 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" /><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.2" inputmask="0x02"><bounds x="9" 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" /><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.1" inputmask="0x04"><bounds x="4.5" 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" /><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.0" inputmask="0x08"><bounds x="0" 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" /><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.3" inputmask="0x08"><bounds x="13.5" y="32" width="4" height="3" /><color alpha="0.2" /></bezel>
|
||||
|
||||
</view>
|
||||
</mamelayout>
|
@ -105,8 +105,8 @@
|
||||
|
||||
<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="1.7" element="led"><bounds x="0" y="8.5" width="1.5" height="1.5" /></bezel>
|
||||
<bezel name="0.7" element="led"><bounds x="9.5" y="8.5" width="1.5" height="1.5" /></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>
|
||||
|
@ -12870,6 +12870,7 @@ vbrc //
|
||||
|
||||
@source:fidel_cc10.cpp
|
||||
cc10 //
|
||||
checkerc4 //
|
||||
|
||||
@source:fidel_cc7.cpp
|
||||
backgamc //
|
||||
|
Loading…
Reference in New Issue
Block a user