From 2ce018ae9c41d4967cda1182faadeaf5cc9ac8fc Mon Sep 17 00:00:00 2001 From: Ariane Fugmann Date: Tue, 21 Jun 2016 21:13:48 +0200 Subject: [PATCH] M2COMM: hook up comm board in model2 (W.I.P.) --- scripts/target/mame/arcade.lua | 2 ++ src/mame/drivers/model2.cpp | 14 +++++++++++++- src/mame/includes/model2.h | 3 +++ src/mame/machine/m2comm.cpp | 2 ++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index b2d06ebc5b6..4ff951f8eea 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -3043,6 +3043,8 @@ files { MAME_DIR .. "src/mame/machine/s32comm.h", MAME_DIR .. "src/mame/machine/m1comm.cpp", MAME_DIR .. "src/mame/machine/m1comm.h", + MAME_DIR .. "src/mame/machine/m2comm.cpp", + MAME_DIR .. "src/mame/machine/m2comm.h", MAME_DIR .. "src/mame/audio/dsbz80.cpp", MAME_DIR .. "src/mame/audio/dsbz80.h", MAME_DIR .. "src/mame/drivers/model2.cpp", diff --git a/src/mame/drivers/model2.cpp b/src/mame/drivers/model2.cpp index f25666833f0..0755a89b557 100644 --- a/src/mame/drivers/model2.cpp +++ b/src/mame/drivers/model2.cpp @@ -1507,7 +1507,9 @@ static ADDRESS_MAP_START( model2_base_mem, AS_PROGRAM, 32, model2_state ) AM_RANGE(0x01800000, 0x01803fff) AM_READWRITE16(model2_palette_r,model2_palette_w,0xffffffff) AM_RANGE(0x01810000, 0x0181bfff) AM_RAM AM_SHARE("colorxlat") AM_RANGE(0x0181c000, 0x0181c003) AM_WRITE(model2_3d_zclip_w) - AM_RANGE(0x01a10000, 0x01a1ffff) AM_READWRITE(network_r, network_w) + AM_RANGE(0x01a10000, 0x01a13fff) AM_DEVREADWRITE8("m2comm", m2comm_device, share_r, share_w, 0xffffffff) + AM_RANGE(0x01a14000, 0x01a14003) AM_DEVREADWRITE8("m2comm", m2comm_device, cn_r, cn_w, 0x000000ff) + AM_RANGE(0x01a14000, 0x01a14003) AM_DEVREADWRITE8("m2comm", m2comm_device, fg_r, fg_w, 0x00ff0000) AM_RANGE(0x01d00000, 0x01d03fff) AM_RAM AM_SHARE("backup1") // Backup sram AM_RANGE(0x02000000, 0x03ffffff) AM_ROM AM_REGION("user1", 0) @@ -2229,6 +2231,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_interrupt) if(m_intena & 1<<0) m_maincpu->set_input_line(I960_IRQ0, ASSERT_LINE); model2_check_irq_state(); + if (m_m2comm != nullptr) + m_m2comm->check_vint_irq(); } else if(scanline == 0) { @@ -2418,6 +2422,8 @@ static MACHINE_CONFIG_START( model2o, model2_state ) MCFG_VIDEO_START_OVERRIDE(model2_state,model2) MCFG_SEGAM1AUDIO_ADD("m1audio") + + MCFG_M2COMM_ADD("m2comm") MACHINE_CONFIG_END /* 2A-CRX */ @@ -2469,6 +2475,8 @@ static MACHINE_CONFIG_START( model2a, model2_state ) MCFG_SCSP_IRQ_CB(WRITE8(model2_state,scsp_irq)) MCFG_SOUND_ROUTE(0, "lspeaker", 2.0) MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) + + MCFG_M2COMM_ADD("m2comm") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( manxttdx, model2a ) /* Includes a Model 1 Sound board for additional sounds - Deluxe version only */ @@ -2584,6 +2592,8 @@ static MACHINE_CONFIG_START( model2b, model2_state ) MCFG_SCSP_IRQ_CB(WRITE8(model2_state,scsp_irq)) MCFG_SOUND_ROUTE(0, "lspeaker", 2.0) MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) + + MCFG_M2COMM_ADD("m2comm") MACHINE_CONFIG_END @@ -2647,6 +2657,8 @@ static MACHINE_CONFIG_START( model2c, model2_state ) MCFG_SCSP_IRQ_CB(WRITE8(model2_state, scsp_irq)) MCFG_SOUND_ROUTE(0, "lspeaker", 2.0) MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) + + MCFG_M2COMM_ADD("m2comm") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( stcc, model2c ) diff --git a/src/mame/includes/model2.h b/src/mame/includes/model2.h index 1330c1245e2..f660ef419e1 100644 --- a/src/mame/includes/model2.h +++ b/src/mame/includes/model2.h @@ -8,6 +8,7 @@ #include "sound/scsp.h" #include "machine/315-5881_crypt.h" #include "machine/315-5838_317-0229_comp.h" +#include "machine/m2comm.h" class model2_renderer; struct raster_state; @@ -30,6 +31,7 @@ public: m_maincpu(*this,"maincpu"), m_dsbz80(*this, DSBZ80_TAG), m_m1audio(*this, "m1audio"), + m_m2comm(*this, "m2comm"), m_audiocpu(*this, "audiocpu"), m_tgp(*this, "tgp"), m_dsp(*this, "dsp"), @@ -58,6 +60,7 @@ public: required_device m_maincpu; optional_device m_dsbz80; // Z80-based MPEG Digital Sound Board optional_device m_m1audio; // Model 1 standard sound board + optional_device m_m2comm; // Model 2 communication board optional_device m_audiocpu; optional_device m_tgp; optional_device m_dsp; diff --git a/src/mame/machine/m2comm.cpp b/src/mame/machine/m2comm.cpp index 4c45669076c..a8afc14a773 100644 --- a/src/mame/machine/m2comm.cpp +++ b/src/mame/machine/m2comm.cpp @@ -163,6 +163,8 @@ Sega PC BD MODEL2 C-CRX COMMUNICATION 837-12839 18643A.7 Sega Touring Car Championship */ +#include "emu.h" +#include "emuopts.h" #include "machine/m2comm.h" //#define __M2COMM_VERBOSE__