From a6e7aa977c047d9b7fa77bf8267c041edcaeb7d7 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 27 May 2017 18:55:47 +0200 Subject: added EVA skeleton driver (nw) --- scripts/target/mame/mess.lua | 6 ++ src/mame/drivers/eva.cpp | 129 ++++++++++++++++++++++++++++++++++++++++++ src/mame/drivers/hh_tms1k.cpp | 3 +- src/mame/drivers/tispeak.cpp | 2 +- src/mame/mame.lst | 3 + src/mame/mess.flt | 1 + 6 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 src/mame/drivers/eva.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index d7e53881a4d..f5ac2765d6f 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -918,6 +918,7 @@ function linkProjects_mame_mess(_target, _subtarget) "cce", "ccs", "chromatics", + "chrysler", "coleco", "compugraphic", "cromemco", @@ -1677,6 +1678,11 @@ files { MAME_DIR .. "src/mame/video/cgc7900.cpp", } +createMESSProjects(_target, _subtarget, "chrysler") +files { + MAME_DIR .. "src/mame/drivers/eva.cpp", +} + createMESSProjects(_target, _subtarget, "coleco") files { MAME_DIR .. "src/mame/drivers/adam.cpp", diff --git a/src/mame/drivers/eva.cpp b/src/mame/drivers/eva.cpp new file mode 100644 index 00000000000..eae56dd55e8 --- /dev/null +++ b/src/mame/drivers/eva.cpp @@ -0,0 +1,129 @@ +// license:BSD-3-Clause +// copyright-holders:hap +// thanks-to:David Viens, Sean Riddle +/*************************************************************************** + + x + + TODO: + - x + +***************************************************************************/ + +#include "emu.h" +#include "cpu/tms1000/tms1000.h" +#include "machine/tms6100.h" +#include "sound/tms5110.h" +#include "speaker.h" + + +class eva_state : public driver_device +{ +public: + eva_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_tms5100(*this, "tms5100"), + m_tms6100(*this, "tms6100") + { } + + // devices + required_device m_maincpu; + required_device m_tms5100; + required_device m_tms6100; + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; +}; + + +// machine start/reset + +void eva_state::machine_start() +{ + // zerofill + + // register for savestates +} + +void eva_state::machine_reset() +{ +} + + + +/*************************************************************************** + + I/O + +***************************************************************************/ + + + +/*************************************************************************** + + Inputs + +***************************************************************************/ + +static INPUT_PORTS_START( eva11 ) +INPUT_PORTS_END + + + +/*************************************************************************** + + Machine Config + +***************************************************************************/ + +static MACHINE_CONFIG_START( tms5110_route ) + + /* sound hardware */ + MCFG_TMS5110_M0_CB(DEVWRITELINE("tms6100", tms6100_device, m0_w)) + MCFG_TMS5110_M1_CB(DEVWRITELINE("tms6100", tms6100_device, m1_w)) + MCFG_TMS5110_ADDR_CB(DEVWRITE8("tms6100", tms6100_device, add_w)) + MCFG_TMS5110_DATA_CB(DEVREADLINE("tms6100", tms6100_device, data_line_r)) + MCFG_TMS5110_ROMCLK_CB(DEVWRITELINE("tms6100", tms6100_device, clk_w)) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) +MACHINE_CONFIG_END + +static MACHINE_CONFIG_START( eva11 ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", TMS1000, XTAL_640kHz/2) + + /* sound hardware */ + MCFG_DEVICE_ADD("tms6100", TMS6100, XTAL_640kHz/4) + + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("tms5100", TMS5110A, XTAL_640kHz) + MCFG_FRAGMENT_ADD(tms5110_route) +MACHINE_CONFIG_END + + + +/*************************************************************************** + + ROM Defs, Game driver(s) + +***************************************************************************/ + +ROM_START( eva11 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "32045b", 0x0000, 0x0400, CRC(eea36ebe) SHA1(094755b60965654ddc3e57cbd69f4749abd3b526) ) + + ROM_REGION( 867, "maincpu:mpla", 0 ) + ROM_LOAD( "tms1000_eva11_micro.pla", 0, 867, CRC(38fcc108) SHA1(be265300e0828b6ac83832b3279985a43817bb64) ) + ROM_REGION( 365, "maincpu:opla", 0 ) + ROM_LOAD( "tms1000_eva11_output.pla", 0, 365, CRC(f0f36970) SHA1(a6ad1f5e804ac98e5e1a1d07466b3db3a8d6c256) ) + + ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) + ROM_LOAD( "cm73002.vsm", 0x0000, 0x1000, CRC(d5340bf8) SHA1(81195e8f870275d39a1abe1c8e2a6afdfdb15725) ) +ROM_END + + + +// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS +SYST( 1983, eva11, 0, 0, eva11, eva11, eva_state, 0, "Chrysler", "Electronic Voice Alert (11-function)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index fd411b96e17..4a7be4fbdd0 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -6,6 +6,7 @@ toys based around the TMS1000 MCU series. Anything more complex or clearly part of a series is (or will be) in its own driver, see: - hh_tms1k: here + - eva: Chrysler EVA-11 (and EVA-24) - microvsn: Milton Bradley MicroVision - ticalc1x: TI TMS1K-based calculators - tispellb: TI Spelling B series gen. 1 @@ -66,7 +67,7 @@ *MP3320A TMS1000 1979, Coleco Head to Head Basketball @M32001 TMS1000 1981, Coleco Quiz Wiz Challenger (note: MP3398, MP3399, M3200x?) *M32018 TMS1000 1990, unknown device (have decap/dump) - *M32045B TMS1000 1983, Chrysler Electronic Voice Alert (11-function) (have decap/dump) + M32045B TMS1000 1983, Chrysler Electronic Voice Alert (11-function) -> eva.cpp @MP3403 TMS1100 1978, Marx Electronic Bowling @MP3404 TMS1100 1978, Parker Brothers Merlin @MP3405 TMS1100 1979, Coleco Amaze-A-Tron diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp index 9f2c101a98a..966276b6aa9 100644 --- a/src/mame/drivers/tispeak.cpp +++ b/src/mame/drivers/tispeak.cpp @@ -423,7 +423,7 @@ K28 modules: // The typical osc freq curve for TMS5100 is unknown. Let's assume it is set to the default frequency, // which is 640kHz for 8KHz according to the TMS5100 documentation. -#define MASTER_CLOCK (640000) +#define MASTER_CLOCK (XTAL_640kHz) class tispeak_state : public hh_tms1k_state diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 1d86b97c397..bcdc1862a09 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12178,6 +12178,9 @@ waveterm // @source:europc.cpp europc // 1988 Schneider Euro PC (CGA or Hercules) +@source:eva.cpp +eva11 // + @source:evmbug.cpp evmbug // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 73cbdf6e274..193a6f93e5d 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -184,6 +184,7 @@ et3400.cpp eti660.cpp eurocom2.cpp europc.cpp +eva.cpp evmbug.cpp excali64.cpp exelv.cpp -- cgit v1.2.3