summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/sothello.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/sothello.cpp')
-rw-r--r--src/mame/drivers/sothello.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/mame/drivers/sothello.cpp b/src/mame/drivers/sothello.cpp
index 28d1e676f80..ff48bcdb680 100644
--- a/src/mame/drivers/sothello.cpp
+++ b/src/mame/drivers/sothello.cpp
@@ -30,7 +30,7 @@
| |
+---------------------------------------------------------------------------------+
-CPU : Z80A(x2) HD68B09P
+CPU : Z80A(x2) 68B09
Sound: YM2203?(surface scratched) + M5205
OSC : 8.0000MHz(X1) 21.477 MHz(X2) 384kHz(X3)
@@ -97,7 +97,12 @@ private:
#define VDP_MEM 0x40000
-
+#define MAIN_CLOCK (XTAL_21_4772MHz)
+#define MAINCPU_CLOCK (XTAL_21_4772MHz/6)
+#define SOUNDCPU_CLOCK (XTAL_21_4772MHz/6)
+#define YM_CLOCK (XTAL_21_4772MHz/12)
+#define MSM_CLOCK (XTAL_384kHz)
+#define SUBCPU_CLOCK (XTAL_8MHz/4)
/* main Z80 */
@@ -193,7 +198,7 @@ WRITE8_MEMBER(sothello_state::msm_cfg_w)
bit 2 = S2 1
bit 3 = S1 2
*/
- m_msm->playmode_w(bitswap<8>((data>>1), 7,6,5,4,3,0,1,2));
+ m_msm->playmode_w(BITSWAP8((data>>1), 7,6,5,4,3,0,1,2));
m_msm->reset_w(data & 1);
}
@@ -347,30 +352,30 @@ void sothello_state::machine_reset()
static MACHINE_CONFIG_START( sothello )
/* basic machine hardware */
- MCFG_CPU_ADD("maincpu", Z80, XTAL_21_4772MHz / 6)
+ MCFG_CPU_ADD("maincpu", Z80, MAINCPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(maincpu_mem_map)
MCFG_CPU_IO_MAP(maincpu_io_map)
- MCFG_CPU_ADD("soundcpu", Z80, XTAL_21_4772MHz / 6)
+ MCFG_CPU_ADD("soundcpu", Z80, SOUNDCPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(soundcpu_mem_map)
MCFG_CPU_IO_MAP(soundcpu_io_map)
- MCFG_CPU_ADD("subcpu", MC6809, XTAL_8MHz) // divided by 4 internally
+ MCFG_CPU_ADD("subcpu", M6809, SUBCPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(subcpu_mem_map)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
/* video hardware */
- MCFG_V9938_ADD("v9938", "screen", VDP_MEM, XTAL_21_4772MHz)
+ MCFG_V9938_ADD("v9938", "screen", VDP_MEM, MAIN_CLOCK)
MCFG_V99X8_INTERRUPT_CALLBACK(INPUTLINE("maincpu", 0))
- MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", XTAL_21_4772MHz)
+ MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", MAIN_CLOCK)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
- MCFG_SOUND_ADD("ymsnd", YM2203, XTAL_21_4772MHz / 12)
+ MCFG_SOUND_ADD("ymsnd", YM2203, YM_CLOCK)
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("subcpu", 0))
MCFG_AY8910_PORT_A_READ_CB(IOPORT("DSWA"))
MCFG_AY8910_PORT_B_READ_CB(IOPORT("DSWB"))
@@ -381,7 +386,7 @@ static MACHINE_CONFIG_START( sothello )
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
- MCFG_SOUND_ADD("msm", MSM5205, XTAL_384kHz)
+ MCFG_SOUND_ADD("msm", MSM5205, MSM_CLOCK)
MCFG_MSM5205_VCLK_CB(WRITELINE(sothello_state, adpcm_int)) /* interrupt function */
MCFG_MSM5205_PRESCALER_SELECTOR(S48_4B) /* changed on the fly */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)