New working machine added

------------
Auto Response Board [hap, Berger]
This commit is contained in:
hap 2019-02-22 15:55:57 +01:00
parent 71d7a8ff68
commit 23c11c7cb4
27 changed files with 828 additions and 129 deletions

20
hash/arb.xml Normal file
View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<softwarelist name="arb" description="ARB Modules">
<!-- AVE Micro Systems Auto Response Board (ARB) chess program modules -->
<software name="sargon25">
<description>Sargon 2.5</description>
<year>1980</year>
<publisher>AVE Micro Systems</publisher>
<part name="cart" interface="arb">
<dataarea name="rom" size="0x2000">
<rom name="4000-4800_ea_8332a161-1" size="0x1000" crc="00460848" sha1="ac4fe2232028bd42506a24457882296e7d3a8f54" offset="0x0000" />
<rom name="5000-5800_ea_8332a160-1" size="0x1000" crc="aac1dff2" sha1="9a7fc6dc98e53120e511d266304ad07f248f415a" offset="0x1000" />
</dataarea>
</part>
</software>
</softwarelist>

View File

@ -1836,6 +1836,7 @@ createMESSProjects(_target, _subtarget, "chess")
files { files {
MAME_DIR .. "src/mame/machine/chessbase.cpp", MAME_DIR .. "src/mame/machine/chessbase.cpp",
MAME_DIR .. "src/mame/includes/chessbase.h", MAME_DIR .. "src/mame/includes/chessbase.h",
MAME_DIR .. "src/mame/drivers/ave_arb.cpp",
MAME_DIR .. "src/mame/drivers/cking_master.cpp", MAME_DIR .. "src/mame/drivers/cking_master.cpp",
MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp", MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp",

View File

@ -0,0 +1,253 @@
// license:BSD-3-Clause
// copyright-holders:hap
// thanks-to:Berger
/******************************************************************************
*
* ave_arb.cpp, subdriver of machine/chessbase.cpp
AVE Micro Systems ARB chess computer driver, in some regions redistributed
by Chafitz, and in Germany by Sandy Electronic.
*******************************************************************************
Auto Response Board (ARB) overview:
- R6502P CPU @ 2MHz(4MHz XTAL), R6522P VIA
- 2KB RAM(4*2114), cartridge port
- magnetic chessboard, 8*8+12 leds
- PCB label AV001C01 REV A
The electronic magnetic chessboard is the first of is kind. AVE later licensed
it to Fidelity (see fidel_elite.cpp).
ARB is a romless system, the program ROM is on a cartridge.
Known modules (*denotes not dumped yet):
- Sargon 2.5
- *Grand Master Series 3
- *Grand Master Series 3.5
- *Grand Master Series 4.0
Newer modules included button label stickers for OPTIONS, Verify, Take Back, Clear.
******************************************************************************/
#include "emu.h"
#include "includes/chessbase.h"
#include "cpu/m6502/m6502.h"
#include "machine/6522via.h"
#include "machine/nvram.h"
#include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h"
#include "bus/generic/slot.h"
#include "bus/generic/carts.h"
#include "softlist.h"
// internal artwork
#include "ave_arb.lh" // clickable
namespace {
class arb_state : public chessbase_state
{
public:
arb_state(const machine_config &mconfig, device_type type, const char *tag) :
chessbase_state(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_via(*this, "via"),
m_dac(*this, "dac"),
m_cart(*this, "cartslot")
{ }
// halt button is tied to NMI, reset button to RESET(but only if halt button is held)
DECLARE_INPUT_CHANGED_MEMBER(reset_button) { m_maincpu->set_input_line(INPUT_LINE_RESET, (newval && m_inp_matrix[9]->read() & 2) ? ASSERT_LINE : CLEAR_LINE); }
DECLARE_INPUT_CHANGED_MEMBER(halt_button) { m_maincpu->set_input_line(M6502_NMI_LINE, newval ? ASSERT_LINE : CLEAR_LINE); }
// machine drivers
void arb(machine_config &config);
private:
// devices/pointers
required_device<cpu_device> m_maincpu;
required_device<via6522_device> m_via;
required_device<dac_bit_interface> m_dac;
required_device<generic_slot_device> m_cart;
// address maps
void main_map(address_map &map);
// cartridge
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cartridge);
DECLARE_READ8_MEMBER(cartridge_r);
u32 m_cart_mask;
// I/O handlers
void prepare_display();
DECLARE_WRITE8_MEMBER(leds_w);
DECLARE_WRITE8_MEMBER(control_w);
DECLARE_READ8_MEMBER(input_r);
};
/******************************************************************************
Devices, I/O
******************************************************************************/
// cartridge
DEVICE_IMAGE_LOAD_MEMBER(arb_state, cartridge)
{
u32 size = m_cart->common_get_size("rom");
m_cart_mask = ((1 << (31 - count_leading_zeros(size))) - 1) & 0x7fff;
m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE);
m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom");
return image_init_result::PASS;
}
READ8_MEMBER(arb_state::cartridge_r)
{
// range is 0x4000-0x7fff + 0xc000-0xffff
if (offset >= 0x8000)
offset -= 0x4000;
return m_cart->read_rom(offset & m_cart_mask);
}
// R6522 ports
void arb_state::prepare_display()
{
// 12 led column data lines via 3 7475
u16 mask = 0;
mask |= (m_led_select & 1) ? 0xf00 : 0;
mask |= (m_led_select & 2) ? 0x0ff : 0;
m_led_data = (m_led_data & ~mask) | ((m_led_latch << 8 | m_led_latch) & mask);
display_matrix(12, 9+1, m_led_data, m_inp_mux | 0x200);
}
WRITE8_MEMBER(arb_state::leds_w)
{
// PA0-PA7: led latch input
m_led_latch = ~data & 0xff;
prepare_display();
}
WRITE8_MEMBER(arb_state::control_w)
{
// PB0-PB3: 74145 A-D
// 74145 0-8: input mux, led row select
m_inp_mux = 1 << (data & 0xf) & 0x1ff;
// PB4,PB5: led group select
m_led_select = data >> 4 & 3;
prepare_display();
// PB7: speaker out
m_dac->write(BIT(data, 7));
}
READ8_MEMBER(arb_state::input_r)
{
// PA0-PA7: multiplexed inputs
return ~read_inputs(9);
}
/******************************************************************************
Address Maps
******************************************************************************/
void arb_state::main_map(address_map &map)
{
map(0x0000, 0x07ff).mirror(0x3800).ram().share("nvram");
map(0x4000, 0xffff).r(FUNC(arb_state::cartridge_r)); // gap in 0x8000-0xbfff
map(0x8000, 0x800f).mirror(0x3ff0).rw(m_via, FUNC(via6522_device::read), FUNC(via6522_device::write));
}
/******************************************************************************
Input Ports
******************************************************************************/
static INPUT_PORTS_START( arb )
PORT_INCLUDE( generic_cb_magnets )
PORT_START("IN.8")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_7) PORT_NAME("Hint / Black")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_CODE(KEYCODE_6) PORT_NAME("Variable / Clear / White / 6")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_CODE(KEYCODE_5) PORT_NAME("Monitor / Take Back / King / 5")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_CODE(KEYCODE_4) PORT_NAME("Self Play / Verify / Queen / 4")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_3) PORT_NAME("Change Board / Rook / 3")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_2) PORT_NAME("Change Color / Bishop / 2")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_CODE(KEYCODE_1) PORT_NAME("Change Level / Knight / 1")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_CODE(KEYCODE_0) PORT_NAME("New Game / Options / Pawn / 0")
PORT_START("IN.9")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") PORT_CHANGED_MEMBER(DEVICE_SELF, arb_state, reset_button, nullptr)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_CODE(KEYCODE_T) PORT_NAME("Halt") PORT_CHANGED_MEMBER(DEVICE_SELF, arb_state, halt_button, nullptr)
INPUT_PORTS_END
/******************************************************************************
Machine Drivers
******************************************************************************/
void arb_state::arb(machine_config &config)
{
/* basic machine hardware */
M6502(config, m_maincpu, 4_MHz_XTAL/2);
m_maincpu->set_addrmap(AS_PROGRAM, &arb_state::main_map);
VIA6522(config, m_via, 4_MHz_XTAL/4);
m_via->writepa_handler().set(FUNC(arb_state::leds_w));
m_via->writepb_handler().set(FUNC(arb_state::control_w));
m_via->readpa_handler().set(FUNC(arb_state::input_r));
m_via->irq_handler().set_inputline(m_maincpu, M6502_IRQ_LINE);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
TIMER(config, "display_decay").configure_periodic(FUNC(arb_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_ave_arb);
/* sound hardware */
SPEAKER(config, "speaker").front_center();
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
VOLTAGE_REGULATOR(config, "vref").add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
/* cartridge */
generic_cartslot_device &cartslot(GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "arb", "bin"));
cartslot.set_device_load(device_image_load_delegate(&arb_state::device_image_load_cartridge, this));
cartslot.set_must_be_loaded(true);
SOFTWARE_LIST(config, "cart_list").set_original("arb");
}
/******************************************************************************
ROM Definitions
******************************************************************************/
ROM_START( arb )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
// none here, it's in the module slot
ROM_END
} // anonymous namespace
/******************************************************************************
Drivers
******************************************************************************/
/* YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
CONS( 1980, arb, 0, 0, arb, arb, arb_state, empty_init, "AVE Micro Systems", "Auto Response Board", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )

View File

@ -12,12 +12,11 @@ TODO:
******************************************************************************* *******************************************************************************
Chess King Master (yes, it's plainly named "Master") Chess King Master overview (yes, it's plainly named "Master"):
--------------- - Z80 CPU(NEC D780C-1) @ 4MHz(8MHz XTAL), IRQ from 555 timer
Z80 CPU(NEC D780C-1) @ 4MHz(8MHz XTAL), IRQ from 555 timer - 8KB ROM(NEC D2764C-3), 2KB RAM(NEC D4016C), ROM is scrambled for easy PCB placement
8KB ROM(NEC D2764C-3), 2KB RAM(NEC D4016C), ROM is scrambled for easy PCB placement - simple I/O via 2*74373 and a 74145
simple I/O via 2*74373 and a 74145 - 8*8 chessboard buttons, 32+1 border leds, piezo
8*8 chessboard buttons, 32+1 border leds, piezo
******************************************************************************/ ******************************************************************************/

View File

@ -7,11 +7,10 @@
******************************************************************************* *******************************************************************************
CXG Chess 2001 CXG Chess 2001 overview:
-------------- - Zilog Z8400APS @ 4 MHz (8MHz XTAL)
Zilog Z8400APS @ 4 MHz (8MHz XTAL) - 2KB RAM HM6116, 16KB ROM D27128D
2KB RAM HM6116, 16KB ROM D27128D - TTL, piezo, 8*8+9 LEDs, magnetic sensors
TTL, piezo, 8*8+9 LEDs, magnetic sensors
******************************************************************************/ ******************************************************************************/

View File

@ -7,11 +7,10 @@
******************************************************************************* *******************************************************************************
Fidelity Elegance Chess Challenger (AS12) Fidelity Elegance Chess Challenger (AS12) overview:
---------------- - R65C02P4 CPU @ 4MHz
R65C02P4 CPU @ 4MHz - 3*8KB ROM(TMM2764), 2*2KB RAM(HM6116)
3*8KB ROM(TMM2764), 2*2KB RAM(HM6116) - PCB label 510-1084B01
PCB label 510-1084B01
This is on the SC12B board, with enough modifications to support more leds and This is on the SC12B board, with enough modifications to support more leds and
magnetic chess board sensors. See fidel_sc12.cpp for a more technical description. magnetic chess board sensors. See fidel_sc12.cpp for a more technical description.

View File

@ -154,7 +154,6 @@ Super 9 Sensory Chess Challenger (SU9/DS9)
This is basically the Fidelity Elite A/S program on CSC hardware. This is basically the Fidelity Elite A/S program on CSC hardware.
Model DS9(Deluxe) has a 5MHz XTAL, but is otherwise same. Model DS9(Deluxe) has a 5MHz XTAL, but is otherwise same.
--------------------------------- ---------------------------------
R6502AP CPU, 1.95MHz(3.9MHz resonator) R6502AP CPU, 1.95MHz(3.9MHz resonator)
2 RAM chips, assume 4KB 2 RAM chips, assume 4KB
2*8KB ROM + 1*2KB ROM 2*8KB ROM + 1*2KB ROM
@ -168,7 +167,6 @@ Reversi Sensory Challenger (RSC)
The 1st version came out in 1980, a program revision was released in 1981. The 1st version came out in 1980, a program revision was released in 1981.
Another distinction is the board color and layout, the 1981 version is green. Another distinction is the board color and layout, the 1981 version is green.
--------------------------------- ---------------------------------
8*(8+1) buttons, 8*8+1 LEDs 8*(8+1) buttons, 8*8+1 LEDs
1KB RAM(2*2114), 4KB ROM 1KB RAM(2*2114), 4KB ROM
MOS MPS 6502B CPU, frequency unknown MOS MPS 6502B CPU, frequency unknown

View File

@ -7,13 +7,13 @@
******************************************************************************* *******************************************************************************
Fidelity Dame Sensory Challenger (DSC) Fidelity Dame Sensory Challenger (DSC) overview:
- Z80A CPU @ 3.9MHz
- 8KB ROM(MOS 2364), 1KB RAM(2*TMM314APL)
- 4-digit 7seg panel, sensory board with 50 buttons
- PCB label 510-1030A01
It's a checkers game for once instead of chess It's a checkers game for once instead of chess
---------------
Z80A CPU @ 3.9MHz
8KB ROM(MOS 2364), 1KB RAM(2*TMM314APL)
4-digit 7seg panel, sensory board with 50 buttons
PCB label 510-1030A01
******************************************************************************/ ******************************************************************************/

View File

@ -10,33 +10,30 @@ Fidelity Designer Display series, 6502 and 68000
******************************************************************************* *******************************************************************************
Designer 2100 Display (model 6106) Designer 2100 Display (model 6106) overview:
---------------- - 8KB RAM(MS6264L-10), 2*32KB ROM(27C256)
8KB RAM(MS6264L-10), 2*32KB ROM(27C256) - WDC W65C02P-6 CPU, 6MHz XTAL
WDC W65C02P-6 CPU, 6MHz XTAL - 4-digit LCD panel
4-digit LCD panel - PCB label 510.1130A01
PCB label 510.1130A01
Designer 2000 Display (model 6105): same hardware, no bookrom, 3MHz Designer 2000 Display (model 6105): same hardware, no bookrom, 3MHz
******************************************************************************* *******************************************************************************
Designer Mach III Master 2265 (model 6113) Designer Mach III Master 2265 (model 6113) overview:
------------------------------------------ - 80KB RAM(2*KM6264AL-10, 2*KM62256AP-10), 64KB ROM(2*WSI 27C256L-12)
80KB RAM(2*KM6264AL-10, 2*KM62256AP-10), 64KB ROM(2*WSI 27C256L-12) - MC68HC000P12F CPU, 16MHz XTAL
MC68HC000P12F CPU, 16MHz XTAL - IRQ(IPL2) from 555 timer, 1.67ms low, 6us high
IRQ(IPL2) from 555 timer, 1.67ms low, 6us high - PCB label 510.1134A02
PCB label 510.1134A02
ROM address/data lines are scrambled, presumed for easy placement on PCB and not ROM address/data lines are scrambled, presumed for easy placement on PCB and not
for obfuscation. I/O is nearly the same as Designer Display on 6502 hardware. for obfuscation. I/O is nearly the same as Designer Display on 6502 hardware.
Designer Mach IV Master 2325 (model 6129) Designer Mach IV Master 2325 (model 6129) overview:
----------------------------------------- - 32KB(4*P5164-70) + 512KB(TC518512PL-80) RAM, 64KB ROM(TMS 27C512-120JL)
32KB(4*P5164-70) + 512KB(TC518512PL-80) RAM, 64KB ROM(TMS 27C512-120JL) - MC68EC020RP25 CPU, 20MHz XTAL
MC68EC020RP25 CPU, 20MHz XTAL - PCB label 510.1149A01
PCB label 510.1149A01 - It has a green "Shift" led instead of red, and ROM is not scrambled.
It has a green "Shift" led instead of red, and ROM is not scrambled.
******************************************************************************/ ******************************************************************************/

View File

@ -20,12 +20,11 @@ TODO:
******************************************************************************* *******************************************************************************
Excel 68000 (model 6094) Excel 68000 (model 6094) overview:
------------------------ - 16KB RAM(2*SRM2264C-10 @ U8/U9), 64KB ROM(2*AT27C256-15DC @ U6/U7)
16KB RAM(2*SRM2264C-10 @ U8/U9), 64KB ROM(2*AT27C256-15DC @ U6/U7) - HD68HC000P12 CPU, 12MHz XTAL
HD68HC000P12 CPU, 12MHz XTAL - PCB label 510-1129A01
PCB label 510-1129A01 - PCB has edge connector for module, but no external slot
PCB has edge connector for module, but no external slot
There's room for 2 SIMMs at U22 and U23, unpopulated in Excel 68000 and Mach III. There's room for 2 SIMMs at U22 and U23, unpopulated in Excel 68000 and Mach III.
Mach II has 2*64KB DRAM with a MB1422A DRAM controller @ 25MHz. Mach II has 2*64KB DRAM with a MB1422A DRAM controller @ 25MHz.

View File

@ -16,15 +16,16 @@ This came out in 1982. 2 program updates were released in 1983 and 1984,
named Budapest and Glasgow, places where Fidelity won chess computer matches. named Budapest and Glasgow, places where Fidelity won chess computer matches.
A/S stands for auto sensory, it's the 1st Fidelity board with magnet sensors. A/S stands for auto sensory, it's the 1st Fidelity board with magnet sensors.
The magnetic chessboard was licensed from AVE Micro Systems, in fact it's the The magnetic chessboard was licensed from AVE Micro Systems, in fact it's the
exact same one as in AVE's ARB. exact same one as in AVE's ARB (ave_arb.cpp driver).
8*8 magnet sensors, 11 buttons, 8*(8+1) LEDs + 4*7seg LEDs hardware overview:
R65C02P4 or R6502BP CPU, default frequency 3MHz* - 8*8 magnet sensors, 11 buttons, 8*(8+1) LEDs + 4*7seg LEDs
4KB RAM (2*HM6116), 24KB ROM - R65C02P4 or R6502BP CPU, default frequency 3MHz*
TSI S14001A + speech ROM - 4KB RAM (2*HM6116), 24KB ROM
I/O with 8255 PPI and bunch of TTL - TSI S14001A + speech ROM
module slot and printer port - I/O with 8255 PPI and bunch of TTL
PCB label 510-1071A01 - module slot and printer port
- PCB label 510-1071A01
*It was advertised as 3.2, 3.6, or 4MHz, with unofficial modifications up to 8MHz. *It was advertised as 3.2, 3.6, or 4MHz, with unofficial modifications up to 8MHz.
PCB photos show only a 3MHz XTAL. PCB photos show only a 3MHz XTAL.
@ -35,7 +36,8 @@ Elite Avant Garde (models 6081,6088,6089) is on the same hardware.
Prestige Challenger (PC) hardware is very similar. They stripped the 8255 PPI, Prestige Challenger (PC) hardware is very similar. They stripped the 8255 PPI,
and added more RAM(7*TMM2016P). Some were released at 3.6MHz instead of 4MHz, and added more RAM(7*TMM2016P). Some were released at 3.6MHz instead of 4MHz,
perhaps due to hardware instability? perhaps due to hardware instability? Opening module PC16 was included by default,
this module is the same as CB16 but at different form factor.
******************************************************************************/ ******************************************************************************/

View File

@ -14,14 +14,13 @@ their own version. It has a small LCD panel added, the rest looks nearly the sam
the outside. After Fidelity was taken over by H&G, it was rereleased in 1990 as the the outside. After Fidelity was taken over by H&G, it was rereleased in 1990 as the
Mephisto Phantom. This is assumed to be identical. Mephisto Phantom. This is assumed to be identical.
Phantom (model 6100) Fidelity Phantom (model 6100) overview:
---------------- - R65C02P4, XTAL marked 4.91?200
R65C02P4, XTAL marked 4.91?200 - 2*32KB ROM 27C256-15, 8KB RAM MS6264L-10
2*32KB ROM 27C256-15, 8KB RAM MS6264L-10 - LCD driver, display panel for digits
LCD driver, display panel for digits - magnetized x/y motor under chessboard, chesspieces have magnet underneath
magnetized x/y motor under chessboard, chesspieces have magnet underneath - piezo speaker, LEDs, 8*8 chessboard buttons
piezo speaker, LEDs, 8*8 chessboard buttons - PCB label 510.1128A01
PCB label 510.1128A01
******************************************************************************/ ******************************************************************************/

View File

@ -7,7 +7,7 @@
******************************************************************************* *******************************************************************************
Fidelity Sensory Chess Challenger 6 (model SC6): Fidelity Sensory Chess Challenger 6 (model SC6) overview:
- PCB label 510-1045B01 - PCB label 510-1045B01
- INS8040N-11 MCU, 11MHz XTAL - INS8040N-11 MCU, 11MHz XTAL
- external 4KB ROM 2332 101-1035A01, in module slot - external 4KB ROM 2332 101-1035A01, in module slot

View File

@ -7,12 +7,11 @@
******************************************************************************* *******************************************************************************
Fidelity Sensory Chess Challenger 8 Fidelity Sensory Chess Challenger 8 overview:
--------------- - Z80A CPU @ 3.9MHz
Z80A CPU @ 3.9MHz - 4KB ROM(MOS 2732), 256 bytes RAM(35391CP)
4KB ROM(MOS 2732), 256 bytes RAM(35391CP) - chessboard buttons, 8*8+1 leds
chessboard buttons, 8*8+1 leds - PCB label 510-1011 REV.2
PCB label 510-1011 REV.2
******************************************************************************/ ******************************************************************************/

View File

@ -7,23 +7,22 @@
******************************************************************************* *******************************************************************************
Fidelity Sensory Chess Challenger "9" (SC9) Fidelity Sensory Chess Challenger "9" (SC9) overview:
3 versions were available, the newest "B" version was 2MHz and included the Budapest program. - 8*(8+1) buttons, 8*8+1 LEDs
The Playmatic S was only released in Germany, it's basically a 'deluxe' version of SC9 - 36-pin edge connector, assume same as SC12
with magnet sensors and came with CB9 and CB16. - 2KB RAM(TMM2016P), 2*8KB ROM(HN48364P)
--------------------------------- - R6502-13, 1.4MHz from resonator, another pcb with the same resonator was measured 1.49MHz*
- PCB label 510-1046C01 2-1-82
8*(8+1) buttons, 8*8+1 LEDs
36-pin edge connector, assume same as SC12
2KB RAM(TMM2016P), 2*8KB ROM(HN48364P)
R6502-13, 1.4MHz from resonator, another pcb with the same resonator was measured 1.49MHz*
PCB label 510-1046C01 2-1-82
*: 2 other boards were measured 1.60MHz and 1.88MHz(newest serial). Online references *: 2 other boards were measured 1.60MHz and 1.88MHz(newest serial). Online references
suggest 3 versions of SC9(C01) total: 1.5MHz, 1.6MHz, and 1.9MHz. suggest 3 versions of SC9(C01) total: 1.5MHz, 1.6MHz, and 1.9MHz.
I/O is via TTL, not further documented here I/O is via TTL, not further documented here
3 versions were available, the newest "B" version was 2MHz and included the Budapest program.
The Playmatic S was only released in Germany, it's basically a 'deluxe' version of SC9
with magnet sensors and came with CB9 and CB16.
******************************************************************************/ ******************************************************************************/
#include "emu.h" #include "emu.h"

View File

@ -10,12 +10,11 @@ TODO:
******************************************************************************* *******************************************************************************
Novag Constellation Forte Novag Constellation Forte overview:
------------------------- - R65C02P4 @ 5MHz (10MHz XTAL)
R65C02P4 @ 5MHz (10MHz XTAL) - 2*2KB RAM(NEC D449C-3), 2*32KB ROM(27C256)
2*2KB RAM(NEC D449C-3), 2*32KB ROM(27C256) - HLCD0538P, 10-digit 7seg LCD display
HLCD0538P, 10-digit 7seg LCD display - TTL, 18 LEDs, 8*8 chessboard buttons
TTL, 18 LEDs, 8*8 chessboard buttons
I/O is similar to supercon I/O is similar to supercon

View File

@ -11,11 +11,10 @@ TODO:
******************************************************************************* *******************************************************************************
Novag Delta-1 Novag Delta-1 overview:
------------- - 3850PK CPU at ~2MHz, 3853PK memory interface
3850PK CPU at ~2MHz, 3853PK memory interface - 4KB ROM(2332A), 256 bytes RAM(2*2111A-4)
4KB ROM(2332A), 256 bytes RAM(2*2111A-4) - 4-digit 7seg panel, no sound, no chessboard
4-digit 7seg panel, no sound, no chessboard
******************************************************************************/ ******************************************************************************/

View File

@ -10,13 +10,12 @@ TODO:
******************************************************************************* *******************************************************************************
Diablo 68000 Novag Diablo 68000 overview:
---------------- - M68000 @ 16MHz, IPL1 256Hz, IPL2 from ACIA IRQ(always high)
M68000 @ 16MHz, IPL1 256Hz, IPL2 from ACIA IRQ(always high) - 2*8KB RAM TC5565 battery-backed, 2*32KB hashtable RAM TC55257 3*32KB ROM
2*8KB RAM TC5565 battery-backed, 2*32KB hashtable RAM TC55257 3*32KB ROM - HD44780 LCD controller (16x1)
HD44780 LCD controller (16x1) - R65C51P2 ACIA @ 1.8432MHz, RS232
R65C51P2 ACIA @ 1.8432MHz, RS232 - magnetic sensors, 8*8 chessboard leds
magnetic sensors, 8*8 chessboard leds
Scorpio 68000 hardware is very similar, but with chessboard buttons and side leds. Scorpio 68000 hardware is very similar, but with chessboard buttons and side leds.

View File

@ -11,15 +11,11 @@ TODO:
******************************************************************************* *******************************************************************************
Presto Novag Presto overview:
---------- - NEC D80C49C MCU(serial 186), OSC from LC circuit measured ~6MHz
NEC D80C49C MCU(serial 186), OSC from LC circuit measured ~6MHz - buzzer, 16+4 LEDs, 8*8 chessboard buttons
buzzer, 16+4 LEDs, 8*8 chessboard buttons
Octo
----------
NEC D80C49HC MCU(serial 111), OSC from LC circuit measured ~12MHz
Octo has a NEC D80C49HC MCU(serial 111), OSC from LC circuit measured ~12MHz
The buzzer has a little electronic circuit going on, not sure whatfor. The buzzer has a little electronic circuit going on, not sure whatfor.
Otherwise, it's identical to Presto. The MCU internal ROM is same too. Otherwise, it's identical to Presto. The MCU internal ROM is same too.

View File

@ -9,12 +9,11 @@ TODO:
******************************************************************************* *******************************************************************************
Novag Super Constellation Chess Computer (model 844) Novag Super Constellation Chess Computer (model 844) overview:
-------------------- - UMC UM6502C @ 4 MHz (8MHz XTAL), 600Hz? IRQ(source unknown?)
UMC UM6502C @ 4 MHz (8MHz XTAL), 600Hz? IRQ(source unknown?) - 2*2KB RAM TC5516APL-2 battery-backed, 2*32KB ROM custom label
2*2KB RAM TC5516APL-2 battery-backed, 2*32KB ROM custom label - TTL, buzzer, 24 LEDs, 8*8 chessboard buttons
TTL, buzzer, 24 LEDs, 8*8 chessboard buttons - external ports for clock and printer, not emulated here
external ports for clock and printer, not emulated here
******************************************************************************/ ******************************************************************************/

View File

@ -11,14 +11,13 @@ TODO:
******************************************************************************* *******************************************************************************
Novag Super Expert (model 878/887/902): Novag Super Expert (model 878/887/902) overview:
-------------------- - 65C02 @ 5MHz or 6MHz (10MHz or 12MHz XTAL)
65C02 @ 5MHz or 6MHz (10MHz or 12MHz XTAL) - 8KB RAM battery-backed, 3*32KB ROM
8KB RAM battery-backed, 3*32KB ROM - HD44780 LCD controller (16x1)
HD44780 LCD controller (16x1) - beeper(32KHz/32), IRQ(32KHz/128) via MC14060
beeper(32KHz/32), IRQ(32KHz/128) via MC14060 - optional R65C51P2 ACIA @ 1.8432MHz, for IBM PC interface (only works in version C?)
optional R65C51P2 ACIA @ 1.8432MHz, for IBM PC interface (only works in version C?) - printer port, magnetic sensors, 8*8 chessboard leds
printer port, magnetic sensors, 8*8 chessboard leds
I/O via TTL, hardware design was very awkward. I/O via TTL, hardware design was very awkward.

View File

@ -39,6 +39,7 @@ protected:
u16 m_inp_mux; // multiplexed keypad/leds mask u16 m_inp_mux; // multiplexed keypad/leds mask
u16 m_led_select; u16 m_led_select;
u16 m_led_data; u16 m_led_data;
u16 m_led_latch;
u32 m_7seg_data; // data for seg leds u32 m_7seg_data; // data for seg leds
u16 read_inputs(int columns); u16 read_inputs(int columns);

437
src/mame/layout/ave_arb.lay Normal file
View File

@ -0,0 +1,437 @@
<?xml version="1.0"?>
<mamelayout version="2">
<!-- define elements -->
<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="led2" defstate="0">
<disk state="1"><color red="1.0" green="0.1" blue="0.15" /></disk>
<disk state="0"><color red="0.14" green="0.014" blue="0.02" /></disk>
</element>
<element name="led2y" defstate="0">
<disk state="1"><color red="1.0" green="0.85" blue="0.15" /></disk>
<disk state="0"><color red="0.14" green="0.12" blue="0.02" /></disk>
</element>
<element name="led2g" defstate="0">
<disk state="1"><color red="0.20" green="0.85" blue="0.15" /></disk>
<disk state="0"><color red="0.03" green="0.14" blue="0.02" /></disk>
</element>
<element name="bt" defstate="0">
<disk state="0"><color red="0.17" green="0.15" blue="0.15" /></disk>
<disk state="1"><color red="0.34" green="0.3" blue="0.3" /></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>
<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="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="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_l0"><text string="0"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l1"><text string="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l2"><text string="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l3"><text string="3"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l4"><text string="4"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l5"><text string="5"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l6"><text string="6"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_s1"><text string="OPTIONS" align="1"><color red="0.55" green="0.55" blue="0.55" /></text></element>
<element name="text_s2"><text string="Verify" align="1"><color red="0.55" green="0.55" blue="0.55" /></text></element>
<element name="text_s3"><text string="Take Back" align="1"><color red="0.55" green="0.55" blue="0.55" /></text></element>
<element name="text_s4"><text string="Clear" align="1"><color red="0.55" green="0.55" blue="0.55" /></text></element>
<element name="text_r11"><text string="&#x2659;"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r21"><text string="&#x2658;"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r31"><text string="&#x2657;"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r41"><text string="&#x2656;"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r51"><text string="&#x2655;"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r61"><text string="&#x2654;"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r71"><text string="W"><color red="0.81" green="0.8" blue="0.79" /></text></element> <!-- White -->
<element name="text_r81"><text string="B"><color red="0.81" green="0.8" blue="0.79" /></text></element> <!-- Black -->
<element name="text_r12"><text string="RESET" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r22"><text string="HALT" align="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r32"><text string="New Game" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r42"><text string="Change Level" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r52"><text string="Change Color" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r62"><text string="Change Board" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r72"><text string="Self Play" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r82"><text string="Monitor" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r92"><text string="Variable" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_ra2"><text string="Hint" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r13"><text string="Your Move" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r23"><text string="Sargon's Move" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r33"><text string="Check" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r43"><text string="Change Board" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="-2" right="106.5" top="-2" bottom="88" />
<bezel element="white"><bounds x="-2.5" y="-2.5" width="90.5" height="91" /></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 leds -->
<bezel name="0.7" element="led"><bounds x="11.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.7" element="led"><bounds x="21.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.7" element="led"><bounds x="31.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.7" element="led"><bounds x="41.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.7" element="led"><bounds x="51.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.7" element="led"><bounds x="61.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.7" element="led"><bounds x="71.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.7" element="led"><bounds x="81.3" y="11.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.6" element="led"><bounds x="11.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.6" element="led"><bounds x="21.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.6" element="led"><bounds x="31.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.6" element="led"><bounds x="41.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.6" element="led"><bounds x="51.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.6" element="led"><bounds x="61.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.6" element="led"><bounds x="71.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.6" element="led"><bounds x="81.3" y="21.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.5" element="led"><bounds x="11.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.5" element="led"><bounds x="21.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.5" element="led"><bounds x="31.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.5" element="led"><bounds x="41.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.5" element="led"><bounds x="51.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.5" element="led"><bounds x="61.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.5" element="led"><bounds x="71.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.5" element="led"><bounds x="81.3" y="31.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.4" element="led"><bounds x="11.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.4" element="led"><bounds x="21.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.4" element="led"><bounds x="31.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.4" element="led"><bounds x="41.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.4" element="led"><bounds x="51.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.4" element="led"><bounds x="61.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.4" element="led"><bounds x="71.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.4" element="led"><bounds x="81.3" y="41.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.3" element="led"><bounds x="11.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.3" element="led"><bounds x="21.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.3" element="led"><bounds x="31.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.3" element="led"><bounds x="41.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.3" element="led"><bounds x="51.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.3" element="led"><bounds x="61.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.3" element="led"><bounds x="71.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.3" element="led"><bounds x="81.3" y="51.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.2" element="led"><bounds x="11.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.2" element="led"><bounds x="21.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.2" element="led"><bounds x="31.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.2" element="led"><bounds x="41.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.2" element="led"><bounds x="51.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.2" element="led"><bounds x="61.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.2" element="led"><bounds x="71.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.2" element="led"><bounds x="81.3" y="61.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.1" element="led"><bounds x="11.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.1" element="led"><bounds x="21.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.1" element="led"><bounds x="31.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.1" element="led"><bounds x="41.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.1" element="led"><bounds x="51.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.1" element="led"><bounds x="61.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.1" element="led"><bounds x="71.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.1" element="led"><bounds x="81.3" y="71.3" width="1.5" height="1.5" /></bezel>
<bezel name="0.0" element="led"><bounds x="11.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="1.0" element="led"><bounds x="21.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="2.0" element="led"><bounds x="31.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="3.0" element="led"><bounds x="41.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="4.0" element="led"><bounds x="51.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="5.0" element="led"><bounds x="61.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="6.0" element="led"><bounds x="71.3" y="81.3" width="1.5" height="1.5" /></bezel>
<bezel name="7.0" element="led"><bounds x="81.3" y="81.3" width="1.5" height="1.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_l0"><bounds x="88.6" y="22.75" width="2.5" height="1.5" /></bezel>
<bezel element="text_l1"><bounds x="88.6" y="25.75" width="2.5" height="1.5" /></bezel>
<bezel element="text_l2"><bounds x="88.6" y="28.75" width="2.5" height="1.5" /></bezel>
<bezel element="text_l3"><bounds x="88.6" y="31.75" width="2.5" height="1.5" /></bezel>
<bezel element="text_l4"><bounds x="88.6" y="34.75" width="2.5" height="1.5" /></bezel>
<bezel element="text_l5"><bounds x="88.6" y="37.75" width="2.5" height="1.5" /></bezel>
<bezel element="text_l6"><bounds x="88.6" y="43.25" width="2.5" height="1.5" /></bezel>
<bezel element="text_r11"><bounds x="92.5" y="22.2" width="3" height="2.5" /></bezel>
<bezel element="text_r21"><bounds x="92.5" y="25.2" width="3" height="2.5" /></bezel>
<bezel element="text_r31"><bounds x="92.5" y="28.2" width="3" height="2.5" /></bezel>
<bezel element="text_r41"><bounds x="92.5" y="31.2" width="3" height="2.5" /></bezel>
<bezel element="text_r51"><bounds x="92.5" y="34.2" width="3" height="2.5" /></bezel>
<bezel element="text_r61"><bounds x="92.5" y="37.2" width="3" height="2.5" /></bezel>
<bezel element="text_r71"><bounds x="92.5" y="43.25" width="3" height="1.5" /></bezel>
<bezel element="text_r81"><bounds x="92.5" y="46.25" width="3" height="1.5" /></bezel>
<bezel element="text_s1"><bounds x="97.8" y="21.25" width="10" height="1.5" /></bezel>
<bezel element="text_s2"><bounds x="97.8" y="33.25" width="10" height="1.5" /></bezel>
<bezel element="text_s3"><bounds x="97.8" y="36.25" width="10" height="1.5" /></bezel>
<bezel element="text_s4"><bounds x="97.8" y="41.75" width="10" height="1.5" /></bezel>
<bezel element="text_r12"><bounds x="87.5" y="13.25" width="7" height="1.5" /></bezel>
<bezel element="text_r22"><bounds x="87.5" y="17.25" width="7" height="1.5" /></bezel>
<bezel element="text_r32"><bounds x="97.8" y="22.75" width="10" height="1.5" /></bezel>
<bezel element="text_r42"><bounds x="97.8" y="25.75" width="10" height="1.5" /></bezel>
<bezel element="text_r52"><bounds x="97.8" y="28.75" width="10" height="1.5" /></bezel>
<bezel element="text_r62"><bounds x="97.8" y="31.75" width="10" height="1.5" /></bezel>
<bezel element="text_r72"><bounds x="97.8" y="34.75" width="10" height="1.5" /></bezel>
<bezel element="text_r82"><bounds x="97.8" y="37.75" width="10" height="1.5" /></bezel>
<bezel element="text_r92"><bounds x="97.8" y="43.25" width="10" height="1.5" /></bezel>
<bezel element="text_ra2"><bounds x="97.8" y="46.25" width="10" height="1.5" /></bezel>
<bezel element="text_r13"><bounds x="93.5" y="51.75" width="10" height="1.5" /></bezel>
<bezel element="text_r23"><bounds x="93.5" y="54.75" width="10" height="1.5" /></bezel>
<bezel element="text_r33"><bounds x="93.5" y="60.25" width="10" height="1.5" /></bezel>
<bezel element="text_r43"><bounds x="93.5" y="63.25" width="10" height="1.5" /></bezel>
<bezel name="8.7" element="led2"><bounds x="91" y="22.75" width="1.5" height="1.5" /></bezel>
<bezel name="8.6" element="led2"><bounds x="91" y="25.75" width="1.5" height="1.5" /></bezel>
<bezel name="8.5" element="led2"><bounds x="91" y="28.75" width="1.5" height="1.5" /></bezel>
<bezel name="8.4" element="led2"><bounds x="91" y="31.75" width="1.5" height="1.5" /></bezel>
<bezel name="8.3" element="led2"><bounds x="91" y="34.75" width="1.5" height="1.5" /></bezel>
<bezel name="8.2" element="led2"><bounds x="91" y="37.75" width="1.5" height="1.5" /></bezel>
<bezel name="8.1" element="led2"><bounds x="91" y="43.25" width="1.5" height="1.5" /></bezel>
<bezel name="8.0" element="led2"><bounds x="91" y="46.25" width="1.5" height="1.5" /></bezel>
<bezel name="9.11" element="led2g"><bounds x="91" y="51.75" width="1.5" height="1.5" /></bezel>
<bezel name="9.10" element="led2y"><bounds x="91" y="54.75" width="1.5" height="1.5" /></bezel>
<bezel name="9.9" element="led2"><bounds x="91" y="60.25" width="1.5" height="1.5" /></bezel>
<bezel name="9.8" element="led2"><bounds x="91" y="63.25" width="1.5" height="1.5" /></bezel>
<bezel element="bt" inputtag="IN.9" inputmask="0x01"><bounds x="95" y="13" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.9" inputmask="0x02"><bounds x="95" y="17" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x80"><bounds x="95" y="22.5" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x40"><bounds x="95" y="25.5" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x20"><bounds x="95" y="28.5" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x10"><bounds x="95" y="31.5" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x08"><bounds x="95" y="34.5" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x04"><bounds x="95" y="37.5" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x02"><bounds x="95" y="43" width="2" height="2" /></bezel>
<bezel element="bt" inputtag="IN.8" inputmask="0x01"><bounds x="95" y="46" width="2" height="2" /></bezel>
</view>
</mamelayout>

View File

@ -362,12 +362,12 @@
<!-- right side --> <!-- right side -->
<bezel element="text_r11"><bounds x="91.5" y="15.9" width="2.5" height="2" /></bezel> <bezel element="text_r11"><bounds x="91.5" y="15.6" width="3" height="2.5" /></bezel>
<bezel element="text_r21"><bounds x="91.5" y="18.9" width="2.5" height="2" /></bezel> <bezel element="text_r21"><bounds x="91.5" y="18.6" width="3" height="2.5" /></bezel>
<bezel element="text_r31"><bounds x="91.5" y="21.9" width="2.5" height="2" /></bezel> <bezel element="text_r31"><bounds x="91.5" y="21.6" width="3" height="2.5" /></bezel>
<bezel element="text_r41"><bounds x="91.5" y="24.9" width="2.5" height="2" /></bezel> <bezel element="text_r41"><bounds x="91.5" y="24.6" width="3" height="2.5" /></bezel>
<bezel element="text_r51"><bounds x="91.5" y="27.9" width="2.5" height="2" /></bezel> <bezel element="text_r51"><bounds x="91.5" y="27.6" width="3" height="2.5" /></bezel>
<bezel element="text_r61"><bounds x="91.5" y="30.9" width="2.5" height="2" /></bezel> <bezel element="text_r61"><bounds x="91.5" y="30.6" width="3" height="2.5" /></bezel>
<bezel element="text_r12"><bounds x="96.8" y="8.25" width="10" height="1.5" /></bezel> <bezel element="text_r12"><bounds x="96.8" y="8.25" width="10" height="1.5" /></bezel>
<bezel element="text_r22"><bounds x="96.8" y="11.25" width="10" height="1.5" /></bezel> <bezel element="text_r22"><bounds x="96.8" y="11.25" width="10" height="1.5" /></bezel>

View File

@ -34,6 +34,7 @@ void chessbase_state::machine_start()
m_inp_mux = 0; m_inp_mux = 0;
m_led_select = 0; m_led_select = 0;
m_led_data = 0; m_led_data = 0;
m_led_latch = 0;
m_7seg_data = 0; m_7seg_data = 0;
// register for savestates // register for savestates
@ -48,6 +49,7 @@ void chessbase_state::machine_start()
save_item(NAME(m_inp_mux)); save_item(NAME(m_inp_mux));
save_item(NAME(m_led_select)); save_item(NAME(m_led_select));
save_item(NAME(m_led_data)); save_item(NAME(m_led_data));
save_item(NAME(m_led_latch));
save_item(NAME(m_7seg_data)); save_item(NAME(m_7seg_data));
} }

View File

@ -2712,6 +2712,9 @@ avalnche // 030574 1978/04 [6502]
cascade // bootleg cascade // bootleg
catchp // 008837 prototype 1977/?? [6502] catchp // 008837 prototype 1977/?? [6502]
@source:ave_arb.cpp
arb //
@source:avigo.cpp @source:avigo.cpp
avigo // 1997 Avigo avigo // 1997 Avigo
avigo_de // 1997 Avigo (German) avigo_de // 1997 Avigo (German)

View File

@ -80,6 +80,7 @@ att4425.cpp
att630.cpp att630.cpp
attache.cpp attache.cpp
aussiebyte.cpp aussiebyte.cpp
ave_arb.cpp
avigo.cpp avigo.cpp
ax20.cpp ax20.cpp
b16.cpp b16.cpp