From 92eb66d4a620817c6acfd4efd7f05b0fa8080ef4 Mon Sep 17 00:00:00 2001 From: hap Date: Wed, 31 May 2017 20:53:14 +0200 Subject: New NOT_WORKING clone added ------- Chrysler Electronic Voice Alert (24-function) [hap, Sean Riddle, David Viens] --- src/mame/drivers/eva.cpp | 78 ++++++++++++++++++++++++++++++++++++++++++++---- src/mame/mame.lst | 1 + 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/src/mame/drivers/eva.cpp b/src/mame/drivers/eva.cpp index 0e50c4a47ed..900cc0885a9 100644 --- a/src/mame/drivers/eva.cpp +++ b/src/mame/drivers/eva.cpp @@ -11,16 +11,18 @@ - 2 Nat.Semi. 20-pin SDIP, I/O expanders? 24-function board "EVA-24" - - COP400 family? MCU - - TMS5110A, TMS6100 CM63002 (have dump) + - COP420 MCU (custom label) + - TMS5110A, TMS6100 CM63002 + - VFD panel TODO: - - add sensors - - add EVA-24 (need MCU dump) + - add eva11/eva24 sensors + - add eva24 VFD ***************************************************************************/ #include "emu.h" +#include "cpu/cop400/cop400.h" #include "cpu/tms1000/tms1000.h" #include "machine/tms6100.h" #include "sound/tms5110.h" @@ -42,6 +44,13 @@ public: required_device m_tms5100; required_device m_tms6100; + // EVA-24 + DECLARE_READ8_MEMBER(eva24_read_g); + DECLARE_WRITE8_MEMBER(eva24_write_g); + DECLARE_WRITE8_MEMBER(eva24_write_d); + + u8 m_g; + // EVA-11 DECLARE_READ8_MEMBER(eva11_read_k); DECLARE_WRITE16_MEMBER(eva11_write_o); @@ -57,6 +66,11 @@ protected: void eva_state::machine_start() { + // zerofill + m_g = 0; + + // register for savestates + save_item(NAME(m_g)); } void eva_state::machine_reset() @@ -71,6 +85,29 @@ void eva_state::machine_reset() ***************************************************************************/ +// EVA-24 + +WRITE8_MEMBER(eva_state::eva24_write_g) +{ + // G3: TMS5100 PDC pin + m_tms5100->pdc_w(data >> 3 & 1); + m_g = data; +} + +READ8_MEMBER(eva_state::eva24_read_g) +{ + return m_g; +} + +WRITE8_MEMBER(eva_state::eva24_write_d) +{ + // D3210: TMS5100 CTL8421 + m_tms5100->ctl_w(space, 0, data & 0xf); +} + + +// EVA-11 + WRITE16_MEMBER(eva_state::eva11_write_r) { // R7: TMS5100 PDC pin @@ -101,6 +138,9 @@ READ8_MEMBER(eva_state::eva11_read_k) ***************************************************************************/ +static INPUT_PORTS_START( eva24 ) +INPUT_PORTS_END + static INPUT_PORTS_START( eva11 ) INPUT_PORTS_END @@ -123,6 +163,23 @@ static MACHINE_CONFIG_START( tms5110_route ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) MACHINE_CONFIG_END +static MACHINE_CONFIG_START( eva24 ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", COP420, XTAL_640kHz/2) // guessed + MCFG_COP400_CONFIG(COP400_CKI_DIVISOR_4, COP400_CKO_OSCILLATOR_OUTPUT, false) // guessed + MCFG_COP400_WRITE_D_CB(WRITE8(eva_state, eva24_write_d)) + MCFG_COP400_WRITE_G_CB(WRITE8(eva_state, eva24_write_g)) + MCFG_COP400_READ_G_CB(READ8(eva_state, eva24_read_g)) + + /* 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 + static MACHINE_CONFIG_START( eva11 ) /* basic machine hardware */ @@ -147,6 +204,14 @@ MACHINE_CONFIG_END ***************************************************************************/ +ROM_START( eva24 ) + ROM_REGION( 0x0400, "maincpu", 0 ) + ROM_LOAD( "4232345", 0x0000, 0x0400, CRC(0326c2fe) SHA1(c4c73badee68f682871b42ba4f5ca115cd68fb8a) ) + + ROM_REGION( 0x4000, "tms6100", 0 ) + ROM_LOAD( "cm63002.vsm", 0x0000, 0x4000, CRC(cb63c807) SHA1(df7323eebcd2a8a5401c2e0addbbabb700182302) ) +ROM_END + ROM_START( eva11 ) ROM_REGION( 0x0400, "maincpu", 0 ) ROM_LOAD( "32045b", 0x0000, 0x0400, CRC(eea36ebe) SHA1(094755b60965654ddc3e57cbd69f4749abd3b526) ) @@ -156,11 +221,12 @@ ROM_START( eva11 ) ROM_REGION( 365, "maincpu:opla", 0 ) ROM_LOAD( "tms1000_eva11_output.pla", 0, 365, CRC(f0f36970) SHA1(a6ad1f5e804ac98e5e1a1d07466b3db3a8d6c256) ) - ROM_REGION( 0x1000, "tms6100", ROMREGION_ERASEFF ) + ROM_REGION( 0x1000, "tms6100", 0 ) 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 ) +SYST( 1984, eva24, 0, 0, eva24, eva24, eva_state, 0, "Chrysler", "Electronic Voice Alert (24-function)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) +SYST( 1983, eva11, eva24, 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/mame.lst b/src/mame/mame.lst index a2c4544deb3..aeaf2c26721 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12180,6 +12180,7 @@ europc // 1988 Schneider Euro PC (CGA or Hercules) @source:eva.cpp eva11 // +eva24 // @source:evmbug.cpp evmbug // -- cgit v1.2.3