mirror of
https://github.com/holub/mame
synced 2025-04-19 07:00:31 +03:00
New machines marked as NOT_WORKING
---------------------------------- Kasparov Leonardo (set 1) [hap, Berger] Kasparov Galileo [hap, Berger] Kasparov Renaissance (set 1) [hap, Berger] New clones marked as NOT_WORKING -------------------------------- Kasparov Leonardo (set 2) [hap, Berger] Kasparov Renaissance (set 2) [hap, Berger]
This commit is contained in:
parent
455b8fce2d
commit
fccd5a43cd
@ -3346,8 +3346,10 @@ files {
|
||||
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_leonardo.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/saitek_mark5.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/saitek_prschess.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/saitek_renaissance.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/saitek_risc2500.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/saitek_schess.cpp",
|
||||
MAME_DIR .. "src/mame/drivers/saitek_ssystem3.cpp",
|
||||
|
@ -535,6 +535,11 @@ ROM_START(ekusera)
|
||||
ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF)
|
||||
ROM_END
|
||||
|
||||
ROM_START(giglnrdo)
|
||||
ROM_REGION(0x8000,"maincpu", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF)
|
||||
ROM_END
|
||||
|
||||
ROM_START(hanihac)
|
||||
ROM_REGION(0x8000,"maincpu", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF)
|
||||
@ -570,11 +575,6 @@ ROM_START(lvision)
|
||||
ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF)
|
||||
ROM_END
|
||||
|
||||
ROM_START(leonardo)
|
||||
ROM_REGION(0x8000,"maincpu", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF)
|
||||
ROM_END
|
||||
|
||||
ROM_START(mratlus)
|
||||
ROM_REGION(0x8000,"maincpu", ROMREGION_ERASEFF)
|
||||
ROM_REGION(0x100,"gfx1", ROMREGION_ERASEFF)
|
||||
@ -807,11 +807,12 @@ void arcadia_state::init_arcadia()
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
|
||||
CONS(1983, advsnha, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Advision", "Advision Home Arcade", MACHINE_IMPERFECT_SOUND ) /* France */
|
||||
CONS(1982, bndarc, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Bandai", "Arcadia", MACHINE_IMPERFECT_SOUND ) /* Japan */
|
||||
CONS(1982, bndarc, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Bandai", "Arcadia (Bandai)", MACHINE_IMPERFECT_SOUND ) /* Japan */
|
||||
CONS(1982, arcadia, 0, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Emerson", "Arcadia 2001", MACHINE_IMPERFECT_SOUND ) /* U.S.A. */
|
||||
CONS(198?, tccosmos, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Mobilar?", "Tele-Computer Cosmos", MACHINE_IMPERFECT_SOUND ) /* Spain? I have only found pictures of a German Cosmos ( http://www.pong-picture-page.de/catalog/product_info.php?products_id=2170 ) */
|
||||
CONS(1982, dynavisn, intmpt03, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Yamagiwa", "Dynavision", MACHINE_IMPERFECT_SOUND ) /* Japan */
|
||||
CONS(1982, ekusera, intmpt03, 0, arcadia, arcadia, arcadia_state, init_arcadia, "P.I.C", "Ekusera", MACHINE_IMPERFECT_SOUND ) /* Japan */
|
||||
CONS(1982, giglnrdo, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "GiG Electronics", "Leonardo (GiG Electronics)", MACHINE_IMPERFECT_SOUND ) /* Italy */
|
||||
CONS(1982, hanihac, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Hanimex", "Hanimex Home Arcade Centre", MACHINE_IMPERFECT_SOUND ) /* UK */
|
||||
CONS(1982, hmg2650, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Hanimex", "HMG-2650", MACHINE_IMPERFECT_SOUND ) /* Germany */
|
||||
CONS(198?, intmpt03, 0, arcadia, arcadia, arcadia, arcadia_state, init_arcadia, "Intelligent Game", "Intelligent Game MPT-03", MACHINE_IMPERFECT_SOUND ) /* U.S.A */
|
||||
@ -819,7 +820,6 @@ CONS(198?, ixl2000, arcadia, 0, arcadia, arcadia, arcadia_state, init_a
|
||||
CONS(198?, intervsn, ormatu, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Intervision", "Intervision 2001", MACHINE_IMPERFECT_SOUND ) /* Switzerland */
|
||||
CONS(198?, itmcmtp3, intmpt03, 0, arcadia, arcadia, arcadia_state, init_arcadia, "ITMC", "ITMC MPT-03", MACHINE_IMPERFECT_SOUND ) /* France */
|
||||
CONS(1982, lvision, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "Leisure-Dynamics", "Leisure-Vision", MACHINE_IMPERFECT_SOUND ) /* Canada */
|
||||
CONS(1982, leonardo, arcadia, 0, arcadia, arcadia, arcadia_state, init_arcadia, "GiG Electronics", "Leonardo", MACHINE_IMPERFECT_SOUND ) /* Italy */
|
||||
CONS(1983, mratlus, plldium, 0, arcadia, arcadia, arcadia_state, init_arcadia, "H.G.S.", "Mr. Altus Tele Brain", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* Germany */
|
||||
CONS(198?, ormatu, 0, arcadia, arcadia, arcadia, arcadia_state, init_arcadia, "Ormatu Electronics", "Ormatu 2001", MACHINE_IMPERFECT_SOUND ) /* Netherlands */
|
||||
CONS(198?, plldium, 0, arcadia, arcadia, plldium, arcadia_state, init_arcadia, "Neckermann", "Palladium Video-Computer-Game", MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) /* Germany, 16 keys instead of 12 */
|
||||
|
169
src/mame/drivers/saitek_leonardo.cpp
Normal file
169
src/mame/drivers/saitek_leonardo.cpp
Normal file
@ -0,0 +1,169 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
// thanks-to:Berger
|
||||
/******************************************************************************
|
||||
|
||||
SciSys Kasparov Leonardo, Saitek Kasparov Galileo.
|
||||
|
||||
This is SciSys's answer to H+G Mephisto modular chesscomputers, but unlike the
|
||||
Mephistos, these boards are actual chesscomputers and not an accessory.
|
||||
|
||||
They called the expansion capability "OSA", for "Open Systems Architecture".
|
||||
One for a link port to a PC, and one for a module slot. The expansion modules
|
||||
are basically entire chesscomputers, making the whole thing combined a
|
||||
'dual brain' chesscomputer.
|
||||
|
||||
Hardware notes:
|
||||
|
||||
Leonardo (1986):
|
||||
- 6301Y0 MCU @ 12MHz
|
||||
- 32KB ROM(27C256)
|
||||
- 8KB RAM(M5M5165P-15 or compatible)
|
||||
- magnet sensors chessboard with 16 leds
|
||||
|
||||
The 6301Y0 was seen with internal maskrom serial A96 and B40. It appears to be
|
||||
running in mode 1 (expanded mode): the internal ROM is disabled and the MCU can
|
||||
be emulated as if it's a HD6303Y. It's not known what's on the internal ROM,
|
||||
it could even be from another SciSys chesscomputer.
|
||||
|
||||
Galileo (1988):
|
||||
- HD6303YP MCU @ 12MHz
|
||||
- almost same as Leonardo
|
||||
|
||||
Galileo PCB is different, but essentially it's the same hardware as Leonardo.
|
||||
The 1.4 ROM is identical to it too, even though it's a different MCU type.
|
||||
And on the outside, the button panel was redesigned a bit.
|
||||
|
||||
TODO:
|
||||
- WIP
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/m6800/m6801.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/volt_reg.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class leo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
leo_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_board(*this, "board"),
|
||||
m_dac(*this, "dac")
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void leo(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<hd6303y_cpu_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
optional_device<dac_bit_interface> m_dac;
|
||||
|
||||
void main_map(address_map &map);
|
||||
};
|
||||
|
||||
void leo_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
// ...
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void leo_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0027).m(m_maincpu, FUNC(hd6303y_cpu_device::hd6301y_io));
|
||||
map(0x0040, 0x013f).ram(); // internal
|
||||
map(0x4000, 0x5fff).ram();
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( leo )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Configs
|
||||
******************************************************************************/
|
||||
|
||||
void leo_state::leo(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
HD6303Y(config, m_maincpu, 12_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &leo_state::main_map);
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
|
||||
/* 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( leonardo )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("sw6.1_osa1.4_510.u9", 0x8000, 0x8000, CRC(e39676b2) SHA1(288c5f2608277cb4c3ca71cb2e642a6a62c01dca) ) // D27C256AD-12
|
||||
ROM_END
|
||||
|
||||
ROM_START( leonardoa )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("sx6_617l_osa1.2.u9", 0x8000, 0x8000, CRC(4620f827) SHA1(4ae566646d032dd5bcca48316dd90a11e06772f1) ) // D27C256AD-12
|
||||
ROM_END
|
||||
|
||||
ROM_START( galileo )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("sw6.1_osa1.4_510.u9", 0x8000, 0x8000, CRC(e39676b2) SHA1(288c5f2608277cb4c3ca71cb2e642a6a62c01dca) ) // MBM27C256H-10
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1986, leonardo, 0, 0, leo, leo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1986, leonardoa, 0, 0, leo, leo, leo_state, empty_init, "SciSys", "Kasparov Leonardo (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
|
||||
CONS( 1988, galileo, 0, 0, leo, leo, leo_state, empty_init, "Saitek", "Kasparov Galileo", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
147
src/mame/drivers/saitek_renaissance.cpp
Normal file
147
src/mame/drivers/saitek_renaissance.cpp
Normal file
@ -0,0 +1,147 @@
|
||||
// license:BSD-3-Clause
|
||||
// copyright-holders:hap
|
||||
// thanks-to:Berger
|
||||
/******************************************************************************
|
||||
|
||||
Saitek Kasparov Renaissance
|
||||
|
||||
Saitek's 2nd version modular chesscomputer. It accepts the same modules as
|
||||
Leonardo/Galileo. "OSA" version for Renaissance is 1.5.
|
||||
|
||||
Hardware notes:
|
||||
- 6301Y0(mode 1) or HD6303YP MCU @ 10MHz
|
||||
- 8KB RAM, 32KB ROM
|
||||
- "HELIOS" I/O (NEC gate array)
|
||||
- LCD screen
|
||||
- magnet sensors chessboard with 81 leds
|
||||
|
||||
The LCD screen is fairly large, it's the same one as in Saitek Simultano,
|
||||
so a chessboard display + 7seg info.
|
||||
|
||||
TODO:
|
||||
- unknown LCD hardware, possibly MCU?
|
||||
- WIP
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
|
||||
#include "cpu/m6800/m6801.h"
|
||||
#include "machine/sensorboard.h"
|
||||
#include "sound/dac.h"
|
||||
#include "sound/volt_reg.h"
|
||||
|
||||
#include "speaker.h"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
class ren_state : public driver_device
|
||||
{
|
||||
public:
|
||||
ren_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||
driver_device(mconfig, type, tag),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_board(*this, "board"),
|
||||
m_dac(*this, "dac")
|
||||
{ }
|
||||
|
||||
// machine configs
|
||||
void ren(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
// devices/pointers
|
||||
required_device<hd6303y_cpu_device> m_maincpu;
|
||||
required_device<sensorboard_device> m_board;
|
||||
optional_device<dac_bit_interface> m_dac;
|
||||
|
||||
void main_map(address_map &map);
|
||||
};
|
||||
|
||||
void ren_state::machine_start()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
I/O
|
||||
******************************************************************************/
|
||||
|
||||
// ...
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Address Maps
|
||||
******************************************************************************/
|
||||
|
||||
void ren_state::main_map(address_map &map)
|
||||
{
|
||||
map(0x0000, 0x0027).m(m_maincpu, FUNC(hd6303y_cpu_device::hd6301y_io));
|
||||
map(0x0040, 0x013f).ram(); // internal
|
||||
map(0x4000, 0x5fff).ram();
|
||||
map(0x8000, 0xffff).rom();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Input Ports
|
||||
******************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( ren )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Machine Configs
|
||||
******************************************************************************/
|
||||
|
||||
void ren_state::ren(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
HD6303Y(config, m_maincpu, 10_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &ren_state::main_map);
|
||||
|
||||
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
|
||||
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
|
||||
m_board->set_delay(attotime::from_msec(150));
|
||||
|
||||
/* 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
ROM Definitions
|
||||
******************************************************************************/
|
||||
|
||||
ROM_START( renaissa )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("sw7_518d_u3.u3", 0x8000, 0x8000, CRC(21d2405f) SHA1(6ddcf9bdd30aa446fcaeab919a8f950dc3428365) ) // HN27C256AG-10
|
||||
ROM_END
|
||||
|
||||
ROM_START( renaissaa )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD("sx7_518b.u3", 0x8000, 0x8000, CRC(a0c3ffe8) SHA1(fa170a6d4d54d41de77e0bb72f969219e6f376af) ) // MBM27C256H-10
|
||||
ROM_END
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
Drivers
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1989, renaissa, 0, 0, ren, ren, ren_state, empty_init, "Saitek", "Kasparov Renaissance (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1989, renaissaa, 0, 0, ren, ren, ren_state, empty_init, "Saitek", "Kasparov Renaissance (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
@ -1482,13 +1482,13 @@ arcadia // Emerson Arcadia 2001
|
||||
bndarc // Bandai Arcadia
|
||||
dynavisn // Dynavision
|
||||
ekusera // Ekusera
|
||||
giglnrdo // Leonardo
|
||||
hanihac // Hanimex Home Arcade Centre
|
||||
hmg2650 // Hanimex HMG-2650
|
||||
intervsn // Intervision 2001
|
||||
intmpt03 // Intelligent Game MPT-03
|
||||
itmcmtp3 // ITMC MPT-03
|
||||
ixl2000 // Intercord XL 2000 System
|
||||
leonardo // Leonardo
|
||||
lvision // Leisure-Vision
|
||||
mratlus // Mr. Altus Tele Brain
|
||||
orbituvi // UVI Compu-Game
|
||||
@ -35128,6 +35128,11 @@ ccdelta1 //
|
||||
@source:saitek_exchess.cpp
|
||||
exchess
|
||||
|
||||
@source:saitek_leonardo.cpp
|
||||
galileo
|
||||
leonardo
|
||||
leonardoa
|
||||
|
||||
@source:saitek_mark5.cpp
|
||||
ccmk5
|
||||
ccmk6
|
||||
@ -35135,10 +35140,14 @@ ccmk6
|
||||
@source:saitek_prschess.cpp
|
||||
prschess
|
||||
|
||||
@source:saitek_renaissance.cpp
|
||||
renaissa
|
||||
renaissaa
|
||||
|
||||
@source:saitek_risc2500.cpp
|
||||
montreux //
|
||||
risc2500 //
|
||||
risc2500a //
|
||||
montreux //
|
||||
|
||||
@source:saitek_schess.cpp
|
||||
schess
|
||||
|
@ -792,8 +792,10 @@ saitek_corona.cpp
|
||||
saitek_cp2000.cpp
|
||||
saitek_delta1.cpp
|
||||
saitek_exchess.cpp
|
||||
saitek_leonardo.cpp
|
||||
saitek_mark5.cpp
|
||||
saitek_prschess.cpp
|
||||
saitek_renaissance.cpp
|
||||
saitek_risc2500.cpp
|
||||
saitek_schess.cpp
|
||||
saitek_ssystem3.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user