New machines marked as NOT_WORKING

----------------------------------
Executive Chess [hap, Sean Riddle]
This commit is contained in:
hap 2020-04-22 12:13:37 +02:00
parent 996ec14b83
commit 69d5d89940
18 changed files with 299 additions and 46 deletions

View File

@ -3345,6 +3345,7 @@ files {
MAME_DIR .. "src/mame/drivers/saitek_chesstrv.cpp",
MAME_DIR .. "src/mame/drivers/saitek_cp2000.cpp",
MAME_DIR .. "src/mame/drivers/saitek_delta1.cpp",
MAME_DIR .. "src/mame/drivers/saitek_exchess.cpp",
MAME_DIR .. "src/mame/drivers/saitek_mark5.cpp",
MAME_DIR .. "src/mame/drivers/saitek_prschess.cpp",
MAME_DIR .. "src/mame/drivers/saitek_risc2500.cpp",

View File

@ -593,7 +593,7 @@ void hmcs40_cpu_device::execute_run()
debugger_instruction_hook(m_pc);
m_icount--;
m_op = m_program->read_word(m_pc) & 0x3ff;
m_i = bitswap<8>(m_op,7,6,5,4,0,1,2,3) & 0xf; // reversed bit-order for 4-bit immediate param (except for XAMR)
m_i = bitswap<4>(m_op,0,1,2,3); // reversed bit-order for 4-bit immediate param (except for XAMR)
increment_pc();
// handle opcode

View File

@ -669,7 +669,7 @@ void hmcs40_cpu_device::op_p()
if (o & 0x100)
{
// B3 B2 B1 B0 A0 A1 A2 A3
m_a = bitswap<8>(o,7,6,5,4,0,1,2,3) & 0xf;
m_a = bitswap<4>(o,0,1,2,3);
m_b = o >> 4 & 0xf;
}
if (o & 0x200)

View File

@ -2,13 +2,16 @@
// copyright-holders:hap
/*
Hughes HLCD 0538(A)/0539(A) LCD Driver
Hughes HLCD 0538(A)/0539(A) LCD Driver
0538: 8 rows, 26 columns
0539: 0 rows, 34 columns
0538: 8 rows, 26 columns
0539: 0 rows, 34 columns
TODO:
- the only difference between 0538/0539 is row pins voltage levels?
"LCD" pin can be used in 2 modes, either direct drive, or as an oscillator.
In latter case, output frequency is approximately 1/RC.
TODO:
- the only difference between 0538/0539 is row pins voltage levels?
*/
@ -47,11 +50,10 @@ void hlcd0538_device::device_start()
m_write_cols.resolve_safe();
m_write_interrupt.resolve_safe();
// zerofill
m_lcd = 0;
m_clk = 0;
m_data = 0;
m_shift = 0;
// timer (when LCD pin is oscillator)
m_lcd_timer = timer_alloc();
attotime period = (clock() != 0) ? attotime::from_hz(2 * clock()) : attotime::never;
m_lcd_timer->adjust(period, 0, period);
// register for savestates
save_item(NAME(m_lcd));

View File

@ -58,11 +58,14 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override { lcd_w(!m_lcd); }
int m_lcd; // input pin state
int m_clk; // "
int m_data; // "
u64 m_shift;
emu_timer *m_lcd_timer;
int m_lcd = 0;
int m_clk = 0;
int m_data = 0;
u64 m_shift = 0;
// callbacks
devcb_write64 m_write_cols;

View File

@ -368,8 +368,8 @@ void cmpchess_state::mk1(machine_config &config)
cmpchess(config);
/* basic machine hardware */
m_maincpu->set_clock(2200000); // JS&A version measured 2.18MHz on average
subdevice<f3853_device>("smi")->set_clock(2200000);
m_maincpu->set_clock(2250000); // JS&A version measured 2.18MHz on average
subdevice<f3853_device>("smi")->set_clock(2250000);
config.set_default_layout(layout_novag_mk1);
}

View File

@ -533,15 +533,15 @@ ROM_END
ROM_START( feasgla )
ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("4,0_8_6", 0x8000, 0x0800, CRC(32784e2d) SHA1(dae060a5c49cc1993a78db293cd80464adfd892d) )
ROM_LOAD("4.0_86", 0x8000, 0x0800, CRC(32784e2d) SHA1(dae060a5c49cc1993a78db293cd80464adfd892d) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
ROM_LOAD("c_5", 0xc000, 0x0800, CRC(ddb80412) SHA1(b1d9435d9a71b8eb241a2169bfbaa0499f510769) )
ROM_LOAD("c5", 0xc000, 0x0800, CRC(ddb80412) SHA1(b1d9435d9a71b8eb241a2169bfbaa0499f510769) )
ROM_CONTINUE( 0xd000, 0x0800 )
ROM_CONTINUE( 0xc800, 0x0800 )
ROM_CONTINUE( 0xd800, 0x0800 )
ROM_LOAD("4,0_e_4", 0xe000, 0x0800, CRC(62a5305a) SHA1(a361bd9a54b903d7b0fbacabe55ea5ccbbc1dc51) )
ROM_LOAD("4.0_e4", 0xe000, 0x0800, CRC(62a5305a) SHA1(a361bd9a54b903d7b0fbacabe55ea5ccbbc1dc51) )
ROM_CONTINUE( 0xf000, 0x0800 )
ROM_CONTINUE( 0xe800, 0x0800 )
ROM_CONTINUE( 0xf800, 0x0800 )
@ -569,15 +569,15 @@ ROM_END
ROM_START( feasglaa )
ROM_REGION( 0x10000, "mainmap", 0 )
ROM_LOAD("p6", 0x8000, 0x0800, CRC(2fdddb4f) SHA1(6da0a328a45462f285ae6a0756f97c5a43148f97) )
ROM_LOAD("6a", 0x8000, 0x0800, CRC(2fdddb4f) SHA1(6da0a328a45462f285ae6a0756f97c5a43148f97) )
ROM_CONTINUE( 0x9000, 0x0800 )
ROM_CONTINUE( 0x8800, 0x0800 )
ROM_CONTINUE( 0x9800, 0x0800 )
ROM_LOAD("p5", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
ROM_LOAD("5a", 0xc000, 0x0800, CRC(f094e625) SHA1(fef84c6a3da504aac15988ec9af94417e5fedfbd) )
ROM_CONTINUE( 0xd000, 0x0800 )
ROM_CONTINUE( 0xc800, 0x0800 )
ROM_CONTINUE( 0xd800, 0x0800 )
ROM_LOAD("p4", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
ROM_LOAD("4a", 0xe000, 0x0800, CRC(5f6845d1) SHA1(684eb16faf36a49560e5a73b55fd0022dc090e35) )
ROM_CONTINUE( 0xf000, 0x0800 )
ROM_CONTINUE( 0xe800, 0x0800 )
ROM_CONTINUE( 0xf800, 0x0800 )

View File

@ -2736,7 +2736,7 @@ WRITE16_MEMBER(einvader2_state::grid_w)
READ16_MEMBER(einvader2_state::input_r)
{
// D13-D15: multiplexed inputs
return read_inputs(6) << 13;
return read_inputs(3) << 13;
}
// config

View File

@ -496,16 +496,16 @@ void homerun_state::ganjaja(machine_config &config)
ROM_START( homerun )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "homerun.ic43", 0x00000, 0x20000, CRC(e759e476) SHA1(ad4f356ff26209033320a3e6353e4d4d9beb59c1) )
ROM_LOAD( "homerun.ic43", 0x00000, 0x20000, CRC(e759e476) SHA1(ad4f356ff26209033320a3e6353e4d4d9beb59c1) )
ROM_REGION( 0x10000, "gfx1", 0 )
ROM_LOAD( "homerun.ic60", 0x00000, 0x10000, CRC(69a720d1) SHA1(0f0a4877578f358e9e829ece8c31e23f01adcf83) )
ROM_LOAD( "homerun.ic60", 0x00000, 0x10000, CRC(69a720d1) SHA1(0f0a4877578f358e9e829ece8c31e23f01adcf83) )
ROM_REGION( 0x20000, "gfx2", 0 )
ROM_LOAD( "homerun.ic120", 0x00000, 0x20000, CRC(52f0709b) SHA1(19e675bcccadb774f60ec5929fc1fb5cf0d3f617) )
ROM_LOAD( "homerun.ic120", 0x00000, 0x20000, CRC(52f0709b) SHA1(19e675bcccadb774f60ec5929fc1fb5cf0d3f617) )
ROM_REGION( 0x08000, "d7756", ROMREGION_ERASE00 )
ROM_LOAD( "d7756c.ic98", 0x00000, 0x08000, NO_DUMP ) // D7756C built-in rom - very likely the same rom as Moero!! Pro Yakyuu (Black/Red) on Famicom
ROM_LOAD( "d7756c_146.ic98", 0x00000, 0x08000, NO_DUMP ) // D7756C built-in rom - same maskrom serial as Moero!! Pro Yakyuu (Black/Red) on Famicom
ROM_END
ROM_START( nhomerun )
@ -519,21 +519,21 @@ ROM_START( nhomerun )
ROM_LOAD( "2.ic120", 0x00000, 0x20000, CRC(57e9b757) SHA1(8190d690721005407a5b06d13d64e70301d1e925) )
ROM_REGION( 0x08000, "d7756", ROMREGION_ERASE00 )
ROM_LOAD( "d7756c.ic98", 0x00000, 0x08000, NO_DUMP )
ROM_LOAD( "d7756c_146.ic98", 0x00000, 0x08000, NO_DUMP )
ROM_END
ROM_START( dynashot )
ROM_REGION( 0x20000, "maincpu", 0 )
ROM_LOAD( "1.ic43", 0x00000, 0x20000, CRC(bf3c9586) SHA1(439effbda305f5fa265e5897c81dc1447e5d867d) )
ROM_LOAD( "1.ic43", 0x00000, 0x20000, CRC(bf3c9586) SHA1(439effbda305f5fa265e5897c81dc1447e5d867d) )
ROM_REGION( 0x10000, "gfx1", 0 )
ROM_LOAD( "3.ic60", 0x00000, 0x10000, CRC(77d6a608) SHA1(a31ff343a5d4d6f20301c030ecc2e252149bcf9d) )
ROM_LOAD( "3.ic60", 0x00000, 0x10000, CRC(77d6a608) SHA1(a31ff343a5d4d6f20301c030ecc2e252149bcf9d) )
ROM_REGION( 0x20000, "gfx2", 0 )
ROM_LOAD( "2.ic120", 0x00000, 0x20000, CRC(bedf7b98) SHA1(cb6c5fcaf8df5f5c7636c3c8f79b9dda78e30c2e) )
ROM_LOAD( "2.ic120", 0x00000, 0x20000, CRC(bedf7b98) SHA1(cb6c5fcaf8df5f5c7636c3c8f79b9dda78e30c2e) )
ROM_REGION( 0x08000, "d7756", ROMREGION_ERASE00 )
ROM_LOAD( "d7756c.ic98", 0x00000, 0x08000, NO_DUMP )
ROM_LOAD( "d7756c_146.ic98", 0x00000, 0x08000, NO_DUMP ) // unused?
ROM_END

View File

@ -225,7 +225,7 @@ ROM_START( mchess )
ROM_LOAD("ins8050-6hwu_n", 0x0000, 0x1000, CRC(de272323) SHA1(9ba323b614504e20b25c86d290c0667f0bbf6c6b) )
ROM_REGION( 796406, "screen", 0)
ROM_LOAD( "mchess.svg", 0, 796406, CRC(795d66e0) SHA1(5f786c00bf33793bfba7065d8e9ec476e02e5c46) )
ROM_LOAD("mchess.svg", 0, 796406, CRC(795d66e0) SHA1(5f786c00bf33793bfba7065d8e9ec476e02e5c46) )
ROM_END
} // anonymous namespace

View File

@ -413,14 +413,14 @@ static INPUT_PORTS_START( microvision )
PORT_BIT( 0xff, 0x80, IPT_PADDLE ) PORT_SENSITIVITY(15) PORT_KEYDELTA(15) PORT_CENTERDELTA(0)
PORT_START("CONF")
PORT_CONFNAME( 0x01, 0x01, "Overlay" ) PORT_CHANGED_MEMBER(DEVICE_SELF, microvision_state, conf_changed, 0)
PORT_CONFSETTING( 0x00, DEF_STR( None ) )
PORT_CONFNAME( 0x01, 0x01, "Restrict Buttons" ) PORT_CHANGED_MEMBER(DEVICE_SELF, microvision_state, conf_changed, 0)
PORT_CONFSETTING( 0x00, DEF_STR( No ) )
PORT_CONFSETTING( 0x01, "Auto" )
PORT_CONFNAME( 0x06, 0x04, "Paddle Hardware" ) PORT_CHANGED_MEMBER(DEVICE_SELF, microvision_state, conf_changed, 0)
PORT_CONFSETTING( 0x00, DEF_STR( No ) ) // no circuitry on cartridge PCB
PORT_CONFSETTING( 0x02, DEF_STR( Yes ) )
PORT_CONFSETTING( 0x04, "Auto" )
PORT_CONFNAME( 0x18, 0x10, "TMS1100 PLA" ) PORT_CHANGED_MEMBER(DEVICE_SELF, microvision_state, conf_changed, 0)
PORT_CONFNAME( 0x18, 0x10, "TMS1100 PLA Type" ) PORT_CHANGED_MEMBER(DEVICE_SELF, microvision_state, conf_changed, 0)
PORT_CONFSETTING( 0x00, "0" )
PORT_CONFSETTING( 0x08, "1" )
PORT_CONFSETTING( 0x10, "Auto" )

View File

@ -365,7 +365,7 @@ void savant_state::savant(machine_config &config)
m_mcu->set_irq_acknowledge_callback("psu", FUNC(f38t56_device::int_acknowledge));
F38T56(config, m_psu, 4_MHz_XTAL/2);
m_psu->set_int_vector(0x20);
m_psu->set_int_vector(0x0020);
m_psu->int_req_callback().set_inputline(m_mcu, F8_INPUT_LINE_INT_REQ);
m_psu->write_a().set(FUNC(savant_state::lcd_w));
m_psu->read_b().set(FUNC(savant_state::input_r));

View File

@ -191,11 +191,11 @@ INPUT_PORTS_END
void chesstrv_state::chesstrv(machine_config &config)
{
/* basic machine hardware */
F8(config, m_maincpu, 3000000/2); // Fairchild 3870, measured ~3MHz
F8(config, m_maincpu, 4500000/2); // approximation
m_maincpu->set_addrmap(AS_PROGRAM, &chesstrv_state::chesstrv_mem);
m_maincpu->set_addrmap(AS_IO, &chesstrv_state::chesstrv_io);
f38t56_device &psu(F38T56(config, "psu", 3000000/2));
f38t56_device &psu(F38T56(config, "psu", 4500000/2));
psu.read_a().set(FUNC(chesstrv_state::ram_data_r));
psu.write_a().set(FUNC(chesstrv_state::ram_data_w));
psu.read_b().set(FUNC(chesstrv_state::input_r));
@ -219,7 +219,7 @@ void chesstrv_state::chesstrv(machine_config &config)
ROM_START( chesstrv )
ROM_REGION( 0x0800, "maincpu", 0 )
ROM_LOAD("3870-sl90387", 0x0000, 0x0800, CRC(b76214d8) SHA1(7760903a64d9c513eb54c4787f535dabec62eb64) )
ROM_LOAD("sl90387", 0x0000, 0x0800, CRC(b76214d8) SHA1(7760903a64d9c513eb54c4787f535dabec62eb64) )
ROM_END
} // anonymous namespace

View File

@ -220,12 +220,12 @@ INPUT_PORTS_END
void cp2000_state::cp2000(machine_config &config)
{
/* basic machine hardware */
F8(config, m_maincpu, 2800000); // see driver notes
F8(config, m_maincpu, 2750000); // see driver notes
m_maincpu->set_addrmap(AS_PROGRAM, &cp2000_state::main_map);
m_maincpu->set_addrmap(AS_IO, &cp2000_state::main_io);
m_maincpu->set_irq_acknowledge_callback("f3853", FUNC(f3853_device::int_acknowledge));
f3853_device &f3853(F3853(config, "f3853", 2800000));
f3853_device &f3853(F3853(config, "f3853", 2750000));
f3853.int_req_callback().set_inputline("maincpu", F8_INPUT_LINE_INT_REQ);
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);

View File

@ -0,0 +1,243 @@
// license:BSD-3-Clause
// copyright-holders:hap
// thanks-to:Sean Riddle
/******************************************************************************
SciSys Executive Chess, handheld chesscomputer.
Also known as Senator Chess in Germany.
Hardware notes:
- Fairchild 3870 MCU (variant with 4KB internal ROM)
- 1KB RAM (2*TC5514P)
- HLCD0538, HLCD0539, LCD screen
TODO:
- SVG screen
******************************************************************************/
#include "emu.h"
#include "cpu/f8/f8.h"
#include "machine/f3853.h"
#include "video/hlcd0538.h"
#include "video/pwm.h"
// internal artwork
//#include "saitek_exchess.lh" // clickable
namespace {
class exchess_state : public driver_device
{
public:
exchess_state(const machine_config &mconfig, device_type type, const char *tag) :
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_lcd1(*this, "lcd1"),
m_lcd2(*this, "lcd2"),
m_display(*this, "display"),
m_inputs(*this, "IN.%u", 0)
{ }
void exchess(machine_config &config);
protected:
virtual void machine_start() override;
private:
// devices/pointers
required_device<cpu_device> m_maincpu;
required_device<hlcd0538_device> m_lcd1;
required_device<hlcd0539_device> m_lcd2;
required_device<pwm_display_device> m_display;
required_ioport_array<3> m_inputs;
void main_map(address_map &map);
void main_io(address_map &map);
template<int N> void lcd_output_w(u64 data);
void lcd_data_w(u8 data);
u16 ram_address() { return (m_ram_address[1] << 8 | m_ram_address[0]) & 0x3ff; }
template<int N> u8 ram_address_r();
template<int N> void ram_address_w(u8 data);
u8 ram_data_r();
void ram_data_w(u8 data);
std::unique_ptr<u8[]> m_ram;
u8 m_ram_address[2] = { 0, 0 };
u64 m_lcd_data[2] = { 0, 0 };
};
void exchess_state::machine_start()
{
m_ram = make_unique_clear<u8[]>(0x400);
// register for savestates
save_pointer(NAME(m_ram), 0x400);
save_item(NAME(m_ram_address));
save_item(NAME(m_lcd_data));
}
/******************************************************************************
I/O
******************************************************************************/
// LCD
template<int N>
void exchess_state::lcd_output_w(u64 data)
{
m_lcd_data[N] = data;
m_display->matrix(m_lcd_data[0] & 0xff, m_lcd_data[1] << 26 | m_lcd_data[0] >> 8);
}
void exchess_state::lcd_data_w(u8 data)
{
// P40: HLCD0539 data
// P44: HLCD0538 data
m_lcd1->data_w(BIT(data, 4));
m_lcd2->data_w(BIT(data, 0));
if (~m_ram_address[1] & 4)
{
m_lcd1->clk_w(1); m_lcd1->clk_w(0);
m_lcd2->clk_w(1); m_lcd2->clk_w(0);
}
}
// 1KB RAM (port-mapped)
template<int N>
void exchess_state::ram_address_w(u8 data)
{
// P00-P17: RAM A0-A7
// P10-P11: RAM A8-A9
// P12: RAM CE
m_ram_address[N] = data;
}
template<int N>
u8 exchess_state::ram_address_r()
{
u8 data = m_ram_address[N];
// P13: Enter button
return (N) ? data | m_inputs[0]->read() : data;
}
void exchess_state::ram_data_w(u8 data)
{
if (m_ram_address[1] & 4)
m_ram[ram_address()] = data;
}
u8 exchess_state::ram_data_r()
{
return (m_ram_address[1] & 4) ? m_ram[ram_address()] : 0;
}
/******************************************************************************
Address Maps
******************************************************************************/
void exchess_state::main_map(address_map &map)
{
map.global_mask(0xfff);
map(0x0000, 0x0fff).rom();
}
void exchess_state::main_io(address_map &map)
{
map(0x00, 0x00).rw(FUNC(exchess_state::ram_address_r<0>), FUNC(exchess_state::ram_address_w<0>));
map(0x01, 0x01).rw(FUNC(exchess_state::ram_address_r<1>), FUNC(exchess_state::ram_address_w<1>));
map(0x04, 0x07).rw("psu", FUNC(f38t56_device::read), FUNC(f38t56_device::write));
}
/******************************************************************************
Input Ports
******************************************************************************/
static INPUT_PORTS_START( exchess )
PORT_START("IN.0")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9)
PORT_BIT(0xf7, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_START("IN.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8)
PORT_START("IN.2")
PORT_BIT(0xff, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
/******************************************************************************
Machine Configs
******************************************************************************/
void exchess_state::exchess(machine_config &config)
{
/* basic machine hardware */
F8(config, m_maincpu, 4500000/2); // measured
m_maincpu->set_addrmap(AS_PROGRAM, &exchess_state::main_map);
m_maincpu->set_addrmap(AS_IO, &exchess_state::main_io);
m_maincpu->set_irq_acknowledge_callback("psu", FUNC(f38t56_device::int_acknowledge));
f38t56_device &psu(F38T56(config, "psu", 4500000/2));
psu.set_int_vector(0x0020);
psu.int_req_callback().set_inputline("maincpu", F8_INPUT_LINE_INT_REQ);
psu.read_a().set(FUNC(exchess_state::ram_data_r));
psu.write_a().set(FUNC(exchess_state::ram_data_w));
psu.write_a().append(FUNC(exchess_state::lcd_data_w));
psu.read_b().set_ioport("IN.1");
/* video hardware */
HLCD0538(config, m_lcd1, 310); // measured
m_lcd1->write_cols().set(FUNC(exchess_state::lcd_output_w<0>));
m_lcd1->write_interrupt().set(m_lcd2, FUNC(hlcd0539_device::lcd_w));
HLCD0539(config, m_lcd2, 0);
m_lcd2->write_cols().set(FUNC(exchess_state::lcd_output_w<1>));
m_lcd2->write_interrupt().set("psu", FUNC(f38t56_device::ext_int_w)).invert();
PWM_DISPLAY(config, m_display).set_size(8, 26+34);
//config.set_default_layout(layout_saitek_exchess);
}
/******************************************************************************
ROM Definitions
******************************************************************************/
ROM_START( exchess )
ROM_REGION( 0x1000, "maincpu", 0 )
ROM_LOAD("sl90553", 0x0000, 0x1000, CRC(a61b0c7e) SHA1(a13b11a93f78236223c5c0b9879a93284b7f7525) )
ROM_END
} // anonymous namespace
/******************************************************************************
Drivers
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1981, exchess, 0, 0, exchess, exchess, exchess_state, empty_init, "SciSys", "Executive Chess", MACHINE_NOT_WORKING | MACHINE_NO_SOUND_HW | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -11,10 +11,10 @@ license:CC0
<element name="lcda"><rect><color red="0.22" green="0.2" blue="0.38" /></rect></element> <!-- blue tint -->
<element name="nothing" defstate="0"><text string=" "/></element>
<element name="text_p1"><text string="PADDLE:" align="2"><color red="0.13" green="0.13" blue="0.15" /></text></element>
<element name="text_p1"><text string="PADDLE:" align="2"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_p2" defstate="0">
<simplecounter maxstate="999" digits="3" align="1">
<color red="0.13" green="0.13" blue="0.15" />
<color red="0.1" green="0.1" blue="0.1" />
</simplecounter>
</element>

View File

@ -35120,6 +35120,9 @@ cp2000 //
@source:saitek_delta1.cpp
ccdelta1 //
@source:saitek_exchess.cpp
exchess
@source:saitek_mark5.cpp
ccmk5
ccmk6

View File

@ -791,6 +791,7 @@ saitek_chesstrv.cpp
saitek_corona.cpp
saitek_cp2000.cpp
saitek_delta1.cpp
saitek_exchess.cpp
saitek_mark5.cpp
saitek_prschess.cpp
saitek_risc2500.cpp