mirror of
https://github.com/holub/mame
synced 2025-04-29 19:37:17 +03:00
add/verify msm5205_playmode_w
This commit is contained in:
parent
a21d4c2470
commit
63e9f77b11
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
|
|
||||||
This hardware seems to be a derivative of MSX2 'on steroids'.
|
This hardware seems to be a derivative of MSX2 'on steroids'.
|
||||||
|
It has many similarites with sothello.c and tonton.c
|
||||||
|
|
||||||
|
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
@ -357,9 +358,15 @@ WRITE8_MEMBER(kurukuru_state::kurukuru_adpcm_data_w)
|
|||||||
|
|
||||||
WRITE8_MEMBER(kurukuru_state::kurukuru_adpcm_reset_w)
|
WRITE8_MEMBER(kurukuru_state::kurukuru_adpcm_reset_w)
|
||||||
{
|
{
|
||||||
// d0: reset adpcm chip
|
device_t *device = machine().device("adpcm");
|
||||||
// other bits: ?
|
/*
|
||||||
msm5205_reset_w(machine().device("adpcm"), data & 1);
|
bit 0 = RESET
|
||||||
|
bit 1 = 4B/3B
|
||||||
|
bit 2 = S2
|
||||||
|
bit 3 = S1
|
||||||
|
*/
|
||||||
|
msm5205_playmode_w(device, BITSWAP8((data>>1), 7,6,5,4,3,0,1,2));
|
||||||
|
msm5205_reset_w(device, data & 1);
|
||||||
update_sound_irq(m_sound_irq_cause);
|
update_sound_irq(m_sound_irq_cause);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -512,7 +519,7 @@ static const ay8910_interface ym2149_intf =
|
|||||||
static const msm5205_interface msm5205_config =
|
static const msm5205_interface msm5205_config =
|
||||||
{
|
{
|
||||||
kurukuru_msm5205_vck,
|
kurukuru_msm5205_vck,
|
||||||
MSM5205_S48_4B /* 8 kHz? */
|
MSM5205_S48_4B /* changed on the fly */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,10 +49,12 @@ public:
|
|||||||
: driver_device(mconfig, type, tag),
|
: driver_device(mconfig, type, tag),
|
||||||
m_v9938(*this, "v9938") { }
|
m_v9938(*this, "v9938") { }
|
||||||
|
|
||||||
|
required_device<v9938_device> m_v9938;
|
||||||
|
|
||||||
int m_subcpu_status;
|
int m_subcpu_status;
|
||||||
int m_soundcpu_busy;
|
int m_soundcpu_busy;
|
||||||
int m_msm_data;
|
int m_msm_data;
|
||||||
required_device<v9938_device> m_v9938;
|
|
||||||
DECLARE_WRITE8_MEMBER(bank_w);
|
DECLARE_WRITE8_MEMBER(bank_w);
|
||||||
DECLARE_READ8_MEMBER(subcpu_halt_set);
|
DECLARE_READ8_MEMBER(subcpu_halt_set);
|
||||||
DECLARE_READ8_MEMBER(subcpu_halt_clear);
|
DECLARE_READ8_MEMBER(subcpu_halt_clear);
|
||||||
@ -65,6 +67,7 @@ public:
|
|||||||
DECLARE_WRITE8_MEMBER(subcpu_status_w);
|
DECLARE_WRITE8_MEMBER(subcpu_status_w);
|
||||||
DECLARE_READ8_MEMBER(subcpu_status_r);
|
DECLARE_READ8_MEMBER(subcpu_status_r);
|
||||||
DECLARE_WRITE8_MEMBER(msm_cfg_w);
|
DECLARE_WRITE8_MEMBER(msm_cfg_w);
|
||||||
|
|
||||||
virtual void machine_reset();
|
virtual void machine_reset();
|
||||||
TIMER_CALLBACK_MEMBER(subcpu_suspend);
|
TIMER_CALLBACK_MEMBER(subcpu_suspend);
|
||||||
TIMER_CALLBACK_MEMBER(subcpu_resume);
|
TIMER_CALLBACK_MEMBER(subcpu_resume);
|
||||||
@ -167,7 +170,7 @@ WRITE8_MEMBER(sothello_state::msm_cfg_w)
|
|||||||
bit 2 = S2 1
|
bit 2 = S2 1
|
||||||
bit 3 = S1 2
|
bit 3 = S1 2
|
||||||
*/
|
*/
|
||||||
msm5205_playmode_w(device, BITSWAP8((data>>1), 7,6,5,4,3,0,1,2)); /* or maybe 7,6,5,4,3,0,2,1 ??? */
|
msm5205_playmode_w(device, BITSWAP8((data>>1), 7,6,5,4,3,0,1,2));
|
||||||
msm5205_reset_w(device,data&1);
|
msm5205_reset_w(device,data&1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +368,6 @@ static const ym2203_interface ym2203_config =
|
|||||||
static MACHINE_CONFIG_START( sothello, sothello_state )
|
static MACHINE_CONFIG_START( sothello, sothello_state )
|
||||||
|
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
|
|
||||||
MCFG_CPU_ADD("maincpu",Z80, MAINCPU_CLOCK)
|
MCFG_CPU_ADD("maincpu",Z80, MAINCPU_CLOCK)
|
||||||
MCFG_CPU_PROGRAM_MAP(maincpu_mem_map)
|
MCFG_CPU_PROGRAM_MAP(maincpu_mem_map)
|
||||||
MCFG_CPU_IO_MAP(maincpu_io_map)
|
MCFG_CPU_IO_MAP(maincpu_io_map)
|
||||||
@ -380,7 +382,7 @@ static MACHINE_CONFIG_START( sothello, sothello_state )
|
|||||||
|
|
||||||
MCFG_QUANTUM_TIME(attotime::from_hz(600))
|
MCFG_QUANTUM_TIME(attotime::from_hz(600))
|
||||||
|
|
||||||
|
/* video hardware */
|
||||||
MCFG_V9938_ADD("v9938", "screen", VDP_MEM)
|
MCFG_V9938_ADD("v9938", "screen", VDP_MEM)
|
||||||
MCFG_V99X8_INTERRUPT_CALLBACK_STATIC(sothello_vdp_interrupt)
|
MCFG_V99X8_INTERRUPT_CALLBACK_STATIC(sothello_vdp_interrupt)
|
||||||
|
|
||||||
@ -408,7 +410,6 @@ static MACHINE_CONFIG_START( sothello, sothello_state )
|
|||||||
MCFG_SOUND_ADD("msm",MSM5205, MSM_CLOCK)
|
MCFG_SOUND_ADD("msm",MSM5205, MSM_CLOCK)
|
||||||
MCFG_SOUND_CONFIG(msm_interface)
|
MCFG_SOUND_CONFIG(msm_interface)
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||||
|
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
Loading…
Reference in New Issue
Block a user