summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/goodejan.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/goodejan.cpp')
-rw-r--r--src/mame/drivers/goodejan.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/mame/drivers/goodejan.cpp b/src/mame/drivers/goodejan.cpp
index 9d3eb5f1284..0d546506d34 100644
--- a/src/mame/drivers/goodejan.cpp
+++ b/src/mame/drivers/goodejan.cpp
@@ -74,6 +74,7 @@ Secret menu hack [totmejan only] (I couldn't find official way to enter, so it's
#include "cpu/nec/nec.h"
#include "audio/seibu.h"
#include "sound/3812intf.h"
+#include "sound/okim6295.h"
#include "video/seibu_crtc.h"
@@ -634,7 +635,8 @@ static MACHINE_CONFIG_START( goodejan, goodejan_state )
MCFG_CPU_IO_MAP(goodejan_io_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", goodejan_state, irq)
- SEIBU_SOUND_SYSTEM_CPU(GOODEJAN_MHZ1/2)
+ MCFG_CPU_ADD("audiocpu", Z80, GOODEJAN_MHZ1/2)
+ MCFG_CPU_PROGRAM_MAP(seibu_sound_map)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
@@ -654,7 +656,19 @@ static MACHINE_CONFIG_START( goodejan, goodejan_state )
MCFG_PALETTE_FORMAT(xxxxBBBBGGGGRRRR)
/* sound hardware */
- SEIBU_SOUND_SYSTEM_YM3812_INTERFACE(GOODEJAN_MHZ1/2,GOODEJAN_MHZ2/16)
+ MCFG_SPEAKER_STANDARD_MONO("mono")
+
+ MCFG_SOUND_ADD("ymsnd", YM3812, GOODEJAN_MHZ1/2)
+ MCFG_YM3812_IRQ_HANDLER(DEVWRITELINE("seibu_sound", seibu_sound_device, fm_irqhandler))
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
+
+ MCFG_OKIM6295_ADD("oki", GOODEJAN_MHZ2/16, OKIM6295_PIN7_LOW)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
+
+ MCFG_DEVICE_ADD("seibu_sound", SEIBU_SOUND, 0)
+ MCFG_SEIBU_SOUND_CPU("audiocpu")
+ MCFG_SEIBU_SOUND_YM_READ_CB(DEVREAD8("ymsnd", ym3812_device, read))
+ MCFG_SEIBU_SOUND_YM_WRITE_CB(DEVWRITE8("ymsnd", ym3812_device, write))
MACHINE_CONFIG_END
static MACHINE_CONFIG_DERIVED( totmejan, goodejan )