stcc: hooked up Z80 digital sound board [R. Belmont]

This commit is contained in:
R. Belmont 2012-12-31 22:38:00 +00:00
parent af232a3c30
commit 13f2c9b37d
2 changed files with 22 additions and 9 deletions

View File

@ -1013,6 +1013,11 @@ WRITE32_MEMBER(model2_state::model2_serial_w)
{ {
if (ACCESSING_BITS_0_7 && (offset == 0)) if (ACCESSING_BITS_0_7 && (offset == 0))
{ {
if (m_dsbz80 != NULL)
{
m_dsbz80->latch_w(space, 0, data&0xff);
}
scsp_midi_in(machine().device("scsp"), space, 0, data&0xff, 0); scsp_midi_in(machine().device("scsp"), space, 0, data&0xff, 0);
// give the 68k time to notice // give the 68k time to notice
@ -2220,6 +2225,12 @@ static MACHINE_CONFIG_START( model2c, model2_state )
MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
MACHINE_CONFIG_END MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( stcc, model2c )
MCFG_DSBZ80_ADD(DSBZ80_TAG)
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
MACHINE_CONFIG_END
/* ROM definitions */ /* ROM definitions */
/* /*
@ -3379,8 +3390,8 @@ ROM_START( stcc ) /* Sega Touring Car Championship, Model 2C - Defaults to Japan
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x080000, 0x20000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) ) ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x080000, 0x20000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) )
ROM_REGION( 0x20000, "cpu3", 0) // DSB program ROM_REGION( 0x20000, "mpegcpu", 0) // DSB program
ROM_LOAD16_WORD_SWAP("epr-19275.2s", 0x000000, 0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) ) ROM_LOAD("epr-19275.2s", 0x000000, 0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) )
ROM_REGION( 0x20000, "cpu4", 0) // Communication program ROM_REGION( 0x20000, "cpu4", 0) // Communication program
ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000, 0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a)) ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000, 0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a))
@ -3438,8 +3449,8 @@ ROM_START( stcca ) /* Sega Touring Car Championship Revision A, Model 2C - Defau
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x080000, 0x20000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) ) ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x080000, 0x20000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) )
ROM_REGION( 0x20000, "cpu3", 0) // DSB program ROM_REGION( 0x20000, "mpegcpu", 0) // DSB program
ROM_LOAD16_WORD_SWAP("epr-19275.2s", 0x000000, 0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) ) ROM_LOAD("epr-19275.2s", 0x000000, 0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) )
ROM_REGION( 0x20000, "cpu4", 0) // Communication program ROM_REGION( 0x20000, "cpu4", 0) // Communication program
ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000, 0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a)) ROM_LOAD16_WORD_SWAP("epr-18643a.7", 0x000000, 0x20000, CRC(b5e048ec) SHA1(8182e05a2ffebd590a936c1359c81e60caa79c2a))
@ -3497,7 +3508,7 @@ ROM_START( stccb ) /* Sega Touring Car Championship Revision unknown, Model 2C -
ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program ROM_REGION( 0x100000, "audiocpu", 0 ) // Sound program
ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x080000, 0x20000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) ) ROM_LOAD16_WORD_SWAP("epr-19274.31", 0x080000, 0x20000, CRC(2dcc08ae) SHA1(bad26e2c994f2d4db5d9be0e34cf21a8bf5aa7e9) )
ROM_REGION( 0x20000, "cpu3", 0) // DSB program ROM_REGION( 0x20000, "mpegcpu", 0) // DSB program
ROM_LOAD16_WORD_SWAP("epr-19275.2s", 0x000000, 0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) ) ROM_LOAD16_WORD_SWAP("epr-19275.2s", 0x000000, 0x20000, CRC(ee809d3f) SHA1(347080858fbfe9955002f382603a1b86a52d26d5) )
ROM_REGION( 0x20000, "cpu4", 0) // Communication program ROM_REGION( 0x20000, "cpu4", 0) // Communication program
@ -5379,9 +5390,9 @@ GAME( 1995, rchase2, 0, model2b, rchase2, model2_state,rchase2, ROT0, "S
// Model 2C-CRX (TGPx4, SCSP sound board) // Model 2C-CRX (TGPx4, SCSP sound board)
GAME( 1996, skisuprg, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1996, skisuprg, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, stcc, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1996, stcc, 0, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, stcca, stcc, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1996, stcca, stcc, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, stccb, stcc, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Unknown Revision)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1996, stccb, stcc, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Unknown Revision)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1996, waverunr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1996, waverunr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, hotd, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1997, hotd, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )
GAME( 1997, overrev, 0, model2c, srallyc, model2_state,overrev, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) GAME( 1997, overrev, 0, model2c, srallyc, model2_state,overrev, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS )

View File

@ -1,5 +1,5 @@
#include "video/poly.h" #include "video/poly.h"
#include "audio/dsbz80.h"
struct raster_state; struct raster_state;
struct geo_state; struct geo_state;
@ -19,6 +19,7 @@ public:
m_textureram1(*this, "textureram1"), m_textureram1(*this, "textureram1"),
m_lumaram(*this, "lumaram"), m_lumaram(*this, "lumaram"),
m_soundram(*this, "soundram"), m_soundram(*this, "soundram"),
m_dsbz80(*this, DSBZ80_TAG),
m_tgp_program(*this, "tgp_program"){ } m_tgp_program(*this, "tgp_program"){ }
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
@ -30,6 +31,7 @@ public:
required_shared_ptr<UINT32> m_textureram1; required_shared_ptr<UINT32> m_textureram1;
required_shared_ptr<UINT32> m_lumaram; required_shared_ptr<UINT32> m_lumaram;
optional_shared_ptr<UINT16> m_soundram; optional_shared_ptr<UINT16> m_soundram;
optional_device<dsbz80_device> m_dsbz80; // Z80-based MPEG Digital Sound Board
optional_shared_ptr<UINT32> m_tgp_program; optional_shared_ptr<UINT32> m_tgp_program;
UINT32 m_intreq; UINT32 m_intreq;