mirror of
https://github.com/holub/mame
synced 2025-06-07 21:33:45 +03:00
fidel_card: disconnect from fidelbase class (nw)
This commit is contained in:
parent
35af77fcfa
commit
b1dff791ed
@ -2,8 +2,6 @@
|
|||||||
// copyright-holders:Kevin Horton, Jonathan Gevaryahu, Sandro Ronco, hap
|
// copyright-holders:Kevin Horton, Jonathan Gevaryahu, Sandro Ronco, hap
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
|
|
||||||
* fidel_card.cpp, subdriver of machine/fidelbase.cpp, machine/chessbase.cpp
|
|
||||||
|
|
||||||
Fidelity electronic card games
|
Fidelity electronic card games
|
||||||
- *Bridge Challenger (BRC)
|
- *Bridge Challenger (BRC)
|
||||||
- Advanced Bridge Challenger (UBC)
|
- Advanced Bridge Challenger (UBC)
|
||||||
@ -17,9 +15,6 @@ Fidelity electronic card games
|
|||||||
NOTE: The card scanner is simulated, but the player is kind of forced to cheat
|
NOTE: The card scanner is simulated, but the player is kind of forced to cheat
|
||||||
and has to peek at the card before it is scanned.
|
and has to peek at the card before it is scanned.
|
||||||
|
|
||||||
TODO:
|
|
||||||
- Z80 WAIT pin is not fully emulated, affecting VBRC speech busy state
|
|
||||||
|
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
|
|
||||||
Voice Bridge Challenger (Model VBRC, later reissued as Model 7002)
|
Voice Bridge Challenger (Model VBRC, later reissued as Model 7002)
|
||||||
@ -164,12 +159,14 @@ Two card decks exist (red and blue), each has the same set of barcodes.
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "includes/fidelbase.h"
|
|
||||||
|
|
||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
#include "cpu/mcs48/mcs48.h"
|
#include "cpu/mcs48/mcs48.h"
|
||||||
|
#include "video/pwm.h"
|
||||||
#include "machine/i8243.h"
|
#include "machine/i8243.h"
|
||||||
#include "machine/clock.h"
|
#include "machine/clock.h"
|
||||||
|
#include "machine/timer.h"
|
||||||
|
#include "sound/dac.h"
|
||||||
|
#include "sound/s14001a.h"
|
||||||
#include "sound/volt_reg.h"
|
#include "sound/volt_reg.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
|
|
||||||
@ -181,13 +178,18 @@ Two card decks exist (red and blue), each has the same set of barcodes.
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
class card_state : public fidelbase_state
|
class card_state : public driver_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
card_state(const machine_config &mconfig, device_type type, const char *tag) :
|
card_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
fidelbase_state(mconfig, type, tag),
|
driver_device(mconfig, type, tag),
|
||||||
|
m_maincpu(*this, "maincpu"),
|
||||||
m_mcu(*this, "mcu"),
|
m_mcu(*this, "mcu"),
|
||||||
m_i8243(*this, "i8243")
|
m_i8243(*this, "i8243"),
|
||||||
|
m_display(*this, "display"),
|
||||||
|
m_speech(*this, "speech"),
|
||||||
|
m_dac(*this, "dac"),
|
||||||
|
m_inputs(*this, "IN.%u", 0)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
// machine drivers
|
// machine drivers
|
||||||
@ -196,7 +198,7 @@ public:
|
|||||||
void bv3(machine_config &config);
|
void bv3(machine_config &config);
|
||||||
void gin(machine_config &config);
|
void gin(machine_config &config);
|
||||||
|
|
||||||
virtual DECLARE_INPUT_CHANGED_MEMBER(reset_button) override;
|
DECLARE_INPUT_CHANGED_MEMBER(reset_button);
|
||||||
DECLARE_INPUT_CHANGED_MEMBER(start_scan);
|
DECLARE_INPUT_CHANGED_MEMBER(start_scan);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -206,8 +208,13 @@ private:
|
|||||||
void brc_base(machine_config &config);
|
void brc_base(machine_config &config);
|
||||||
|
|
||||||
// devices/pointers
|
// devices/pointers
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<i8041a_device> m_mcu;
|
required_device<i8041a_device> m_mcu;
|
||||||
required_device<i8243_device> m_i8243;
|
required_device<i8243_device> m_i8243;
|
||||||
|
required_device<pwm_display_device> m_display;
|
||||||
|
optional_device<s14001a_device> m_speech;
|
||||||
|
optional_device<dac_bit_interface> m_dac;
|
||||||
|
required_ioport_array<8> m_inputs;
|
||||||
|
|
||||||
// address maps
|
// address maps
|
||||||
void main_map(address_map &map);
|
void main_map(address_map &map);
|
||||||
@ -215,6 +222,8 @@ private:
|
|||||||
|
|
||||||
TIMER_DEVICE_CALLBACK_MEMBER(barcode_shift) { m_barcode >>= 1; }
|
TIMER_DEVICE_CALLBACK_MEMBER(barcode_shift) { m_barcode >>= 1; }
|
||||||
u32 m_barcode;
|
u32 m_barcode;
|
||||||
|
u16 m_vfd_data;
|
||||||
|
u8 m_inp_mux;
|
||||||
|
|
||||||
// I/O handlers
|
// I/O handlers
|
||||||
void update_display();
|
void update_display();
|
||||||
@ -227,14 +236,19 @@ private:
|
|||||||
|
|
||||||
void card_state::machine_start()
|
void card_state::machine_start()
|
||||||
{
|
{
|
||||||
fidelbase_state::machine_start();
|
// zerofill
|
||||||
|
|
||||||
// zerofill/register for savestates
|
|
||||||
m_barcode = 0;
|
m_barcode = 0;
|
||||||
|
m_vfd_data = 0;
|
||||||
|
m_inp_mux = 0;
|
||||||
|
|
||||||
|
// register for savestates
|
||||||
save_item(NAME(m_barcode));
|
save_item(NAME(m_barcode));
|
||||||
|
save_item(NAME(m_vfd_data));
|
||||||
|
save_item(NAME(m_inp_mux));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
Devices, I/O
|
Devices, I/O
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@ -243,10 +257,9 @@ void card_state::machine_start()
|
|||||||
|
|
||||||
void card_state::update_display()
|
void card_state::update_display()
|
||||||
{
|
{
|
||||||
// 14seg led segments, d15(12) is extra led
|
// 14seg VFD segments, d15(12) is extra LED
|
||||||
u16 outdata = bitswap<16>(m_7seg_data,12,13,1,6,5,2,0,7,15,11,10,14,4,3,9,8);
|
u16 outdata = bitswap<16>(m_vfd_data,12,13,1,6,5,2,0,7,15,11,10,14,4,3,9,8);
|
||||||
set_display_segmask(0xff, 0x3fff);
|
m_display->matrix(m_inp_mux, outdata);
|
||||||
display_matrix(16, 8, outdata, m_led_select);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(card_state::speech_w)
|
WRITE8_MEMBER(card_state::speech_w)
|
||||||
@ -266,7 +279,7 @@ template<int P>
|
|||||||
void card_state::ioexp_port_w(uint8_t data)
|
void card_state::ioexp_port_w(uint8_t data)
|
||||||
{
|
{
|
||||||
// P4x-P7x: digit segment data
|
// P4x-P7x: digit segment data
|
||||||
m_7seg_data = (m_7seg_data & ~(0xf << (4*P))) | ((data & 0xf) << (4*P));
|
m_vfd_data = (m_vfd_data & ~(0xf << (4*P))) | ((data & 0xf) << (4*P));
|
||||||
update_display();
|
update_display();
|
||||||
|
|
||||||
// P71 is tone (not on speech model)
|
// P71 is tone (not on speech model)
|
||||||
@ -279,16 +292,22 @@ void card_state::ioexp_port_w(uint8_t data)
|
|||||||
|
|
||||||
WRITE8_MEMBER(card_state::mcu_p1_w)
|
WRITE8_MEMBER(card_state::mcu_p1_w)
|
||||||
{
|
{
|
||||||
// P10-P17: select digits, input mux
|
// P10-P17: input mux, digit select
|
||||||
m_inp_mux = m_led_select = data;
|
m_inp_mux = data;
|
||||||
update_display();
|
update_display();
|
||||||
}
|
}
|
||||||
|
|
||||||
READ8_MEMBER(card_state::mcu_p2_r)
|
READ8_MEMBER(card_state::mcu_p2_r)
|
||||||
{
|
{
|
||||||
// P20-P23: I8243 P2
|
// P20-P23: I8243 P2
|
||||||
|
u8 data = m_i8243->p2_r() & 0x0f;
|
||||||
|
|
||||||
// P24-P27: multiplexed inputs (active low)
|
// P24-P27: multiplexed inputs (active low)
|
||||||
return (m_i8243->p2_r() & 0x0f) | (read_inputs(8) << 4 ^ 0xf0);
|
for (int i = 0; i < 8; i++)
|
||||||
|
if (BIT(m_inp_mux, i))
|
||||||
|
data |= m_inputs[i]->read() << 4;
|
||||||
|
|
||||||
|
return data ^ 0xf0;
|
||||||
}
|
}
|
||||||
|
|
||||||
READ_LINE_MEMBER(card_state::mcu_t0_r)
|
READ_LINE_MEMBER(card_state::mcu_t0_r)
|
||||||
@ -567,7 +586,9 @@ void card_state::brc_base(machine_config &config)
|
|||||||
|
|
||||||
TIMER(config, "barcode_shift").configure_periodic(FUNC(card_state::barcode_shift), attotime::from_msec(2));
|
TIMER(config, "barcode_shift").configure_periodic(FUNC(card_state::barcode_shift), attotime::from_msec(2));
|
||||||
|
|
||||||
TIMER(config, "display_decay").configure_periodic(FUNC(card_state::display_decay_tick), attotime::from_msec(1));
|
/* video hardware */
|
||||||
|
PWM_DISPLAY(config, m_display).set_size(8, 16);
|
||||||
|
m_display->set_segmask(0xff, 0x3fff);
|
||||||
config.set_default_layout(layout_fidel_brc);
|
config.set_default_layout(layout_fidel_brc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,8 +124,8 @@ PA.7 - button row 8
|
|||||||
PB.0 - button column I
|
PB.0 - button column I
|
||||||
PB.1 - button column J
|
PB.1 - button column J
|
||||||
PB.2 - hi/lo TSI speaker volume
|
PB.2 - hi/lo TSI speaker volume
|
||||||
PB.3 - violet wire
|
PB.3 - violet wire to printer port?
|
||||||
PB.4 - white wire (and TSI BUSY line)
|
PB.4 - white wire to printer port? (and TSI BUSY line)
|
||||||
PB.5 - selection jumper input (see below)
|
PB.5 - selection jumper input (see below)
|
||||||
PB.6 - TSI start line
|
PB.6 - TSI start line
|
||||||
PB.7 - TSI ROM A12 line
|
PB.7 - TSI ROM A12 line
|
||||||
@ -142,6 +142,13 @@ Anyways, the two jumpers are connected to button columns A and B and the common
|
|||||||
connects to Z80A PIO PB.5, which basically makes a 10th button row. I would
|
connects to Z80A PIO PB.5, which basically makes a 10th button row. I would
|
||||||
expect that the software reads these once on startup only.
|
expect that the software reads these once on startup only.
|
||||||
|
|
||||||
|
printer:
|
||||||
|
--------
|
||||||
|
This is the 1st Fidelity chess computer with a printer port. Many later Fidelity chess
|
||||||
|
computers also have support for it. Two models were released:
|
||||||
|
FP: Challenger Printer - thermal printer, MCU=D8048C243
|
||||||
|
IFP: Impact Printer - also compatible with C64 apparently.
|
||||||
|
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
|
@ -877,7 +877,6 @@ static INPUT_PORTS_START( splasfgt )
|
|||||||
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
void splasfgt_state::splasfgt(machine_config &config)
|
void splasfgt_state::splasfgt(machine_config &config)
|
||||||
{
|
{
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
|
@ -358,34 +358,34 @@
|
|||||||
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||||
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||||
<element name="text_uib2">
|
<element name="text_uib2">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uib3">
|
<element name="text_uib3">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||||
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||||
<element name="text_uih2">
|
<element name="text_uih2">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
|
||||||
<element name="text_uiu2a">
|
<element name="text_uiu2a">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uiu2b">
|
<element name="text_uiu2b">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uiu2c">
|
<element name="text_uiu2c">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uiu2d">
|
<element name="text_uiu2d">
|
||||||
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
|
<rect><color red="0.7" green="0.8" blue="0.8" /></rect>
|
||||||
<text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text>
|
<text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text>
|
||||||
</element>
|
</element>
|
||||||
<element name="text_uiu3a" defstate="0">
|
<element name="text_uiu3a" defstate="0">
|
||||||
@ -402,14 +402,16 @@
|
|||||||
|
|
||||||
<group name="sb_ui">
|
<group name="sb_ui">
|
||||||
<bounds x="0" y="0" width="10" height="80" />
|
<bounds x="0" y="0" width="10" height="80" />
|
||||||
|
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
|
||||||
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
|
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
|
||||||
|
<bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
|
||||||
<bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
|
<bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
|
||||||
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
|
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
|
||||||
|
|
||||||
<!-- board -->
|
<!-- board -->
|
||||||
<bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></bezel>
|
<bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></bezel>
|
||||||
<bezel element="white"><bounds x="1" y="11.5" width="8" height="2.5" /></bezel>
|
<bezel element="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></bezel>
|
||||||
<bezel element="white"><bounds x="1" y="15" width="8" height="2.5" /></bezel>
|
<bezel element="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></bezel>
|
||||||
|
|
||||||
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
|
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
|
||||||
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
|
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
|
||||||
@ -419,8 +421,8 @@
|
|||||||
|
|
||||||
<!-- spawn -->
|
<!-- spawn -->
|
||||||
<bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
|
<bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
|
||||||
<bezel element="white"><bounds x="1" y="23" width="8" height="12" /></bezel>
|
<bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel>
|
||||||
<bezel element="white"><bounds x="1" y="36" width="8" height="12" /></bezel>
|
<bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel>
|
||||||
|
|
||||||
<bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
|
<bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
|
||||||
<bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
|
<bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
|
||||||
@ -453,16 +455,16 @@
|
|||||||
<bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
|
<bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
|
||||||
<bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
|
<bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
|
||||||
|
|
||||||
<bezel element="white"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
|
<bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
|
||||||
<bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
|
<bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
|
||||||
<bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
|
<bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
|
||||||
|
|
||||||
<!-- undo -->
|
<!-- undo -->
|
||||||
<bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
|
<bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
|
||||||
<bezel element="white"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
|
<bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
|
||||||
<bezel element="white"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
|
<bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
|
||||||
<bezel element="white"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
|
<bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
|
||||||
<bezel element="white"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
|
<bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
|
||||||
<bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
|
<bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
|
||||||
<bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
|
<bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
|
||||||
<bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
|
<bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
|
||||||
@ -549,14 +551,12 @@
|
|||||||
<!-- build screen -->
|
<!-- build screen -->
|
||||||
|
|
||||||
<view name="Internal Layout (Full)">
|
<view name="Internal Layout (Full)">
|
||||||
<bounds left="-5.5" right="31.775" top="-12.3" bottom="39.3" />
|
<bounds left="-5" right="31.775" top="-11.8" bottom="39.3" />
|
||||||
|
|
||||||
<bezel element="white"><bounds x="-5.5" y="-4.975" width="37.275" height="32.55" /></bezel>
|
<group ref="sb_board"><bounds x="0" y="-3.8" width="31" height="31" /></group>
|
||||||
<bezel element="blackb"><bounds x="-5.5" y="-4.5875" width="5" height="31.775" /></bezel>
|
<group ref="sb_ui"><bounds x="-4.5" y="-3.8" width="3.875" height="31" /></group>
|
||||||
<group ref="sb_board"><bounds x="0" y="-4.2" width="31" height="31" /></group>
|
|
||||||
<group ref="sb_ui"><bounds x="-5" y="-4.975" width="4.06875" height="32.55" /></group>
|
|
||||||
|
|
||||||
<group ref="digits"><bounds x="8" y="-11.2" width="15" height="5" /></group>
|
<group ref="digits"><bounds x="8" y="-10.4" width="15" height="5" /></group>
|
||||||
<group ref="buttons"><bounds x="-1" y="28.5" width="32" height="10.1" /></group>
|
<group ref="buttons"><bounds x="-1" y="28.5" width="32" height="10.1" /></group>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
@ -27,9 +27,6 @@ Keypad legend:
|
|||||||
|
|
||||||
Read the official manual(s) on how to play.
|
Read the official manual(s) on how to play.
|
||||||
|
|
||||||
Peripherals, compatible with various boards:
|
|
||||||
- Fidelity Challenger Printer - thermal printer, MCU=D8048C243
|
|
||||||
|
|
||||||
Program/data cartridges, for various boards, some cross-compatible:
|
Program/data cartridges, for various boards, some cross-compatible:
|
||||||
- CB9: Challenger Book Openings 1 - 8KB (label not known)
|
- CB9: Challenger Book Openings 1 - 8KB (label not known)
|
||||||
- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
|
- CB16: Challenger Book Openings 2 - 8+8KB 101-1042A01,02
|
||||||
|
Loading…
Reference in New Issue
Block a user