added TI Y2404, for now assuming it's identical to SN76489A

(tp84 reference is here http://www.mametesters.org/view.php?id=941 )
This commit is contained in:
Michaël Banaan Ananas 2012-01-10 21:48:39 +00:00
parent 1e8bc4660d
commit 61c0cd9ef1
4 changed files with 42 additions and 24 deletions

View File

@ -152,6 +152,7 @@ INLINE sn76496_state *get_safe_token(device_t *device)
assert(device != NULL);
assert(device->type() == SN76496 ||
device->type() == U8106 ||
device->type() == Y2404 ||
device->type() == SN76489 ||
device->type() == SN76489A ||
device->type() == SN76494 ||
@ -440,14 +441,19 @@ static DEVICE_START( sn76489 )
generic_start(device, 0x4000, 0x01, 0x02, TRUE, FALSE, 8, TRUE); // SN76489 not verified yet. todo: verify;
}
static DEVICE_START( u8106 )
{
generic_start(device, 0x4000, 0x01, 0x02, TRUE, FALSE, 8, TRUE); // U8106 not verified yet. todo: verify; (a custom marked sn76489? only used on mr. do and maybe other universal games)
}
static DEVICE_START( sn76489a )
{
generic_start(device, 0x10000, 0x04, 0x08, FALSE, FALSE, 8, TRUE); // SN76489A: whitenoise verified, phase verified, periodic verified (by plgdavid)
}
static DEVICE_START( u8106 ) // a custom marked sn76489? only used on mr. do and maybe other universal games
static DEVICE_START( y2404 )
{
generic_start(device, 0x4000, 0x01, 0x02, TRUE, FALSE, 8, TRUE); // SN76489 not verified yet. todo: verify;
generic_start(device, 0x10000, 0x04, 0x08, FALSE, FALSE, 8, TRUE); // Y2404 not verified yet. todo: verify; (don't be fooled by the Y, it's a TI chip, not Yamaha)
}
static DEVICE_START( sn76494 )
@ -531,7 +537,17 @@ DEVICE_GET_INFO( u8106 )
switch (state)
{
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( u8106 ); break;
case DEVINFO_STR_NAME: strcpy(info->s, "U8106 (SN76489)"); break;
case DEVINFO_STR_NAME: strcpy(info->s, "U8106"); break;
default: DEVICE_GET_INFO_CALL(sn76496); break;
}
}
DEVICE_GET_INFO( y2404 )
{
switch (state)
{
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( y2404 ); break;
case DEVINFO_STR_NAME: strcpy(info->s, "Y2404"); break;
default: DEVICE_GET_INFO_CALL(sn76496); break;
}
}
@ -589,6 +605,7 @@ DEVICE_GET_INFO( segapsg )
DEFINE_LEGACY_SOUND_DEVICE(SN76496, sn76496);
DEFINE_LEGACY_SOUND_DEVICE(U8106, u8106);
DEFINE_LEGACY_SOUND_DEVICE(Y2404, y2404);
DEFINE_LEGACY_SOUND_DEVICE(SN76489, sn76489);
DEFINE_LEGACY_SOUND_DEVICE(SN76489A, sn76489a);
DEFINE_LEGACY_SOUND_DEVICE(SN76494, sn76494);

View File

@ -11,6 +11,7 @@ WRITE8_DEVICE_HANDLER( sn76496_stereo_w );
DECLARE_LEGACY_SOUND_DEVICE(SN76496, sn76496);
DECLARE_LEGACY_SOUND_DEVICE(U8106, u8106);
DECLARE_LEGACY_SOUND_DEVICE(Y2404, y2404);
DECLARE_LEGACY_SOUND_DEVICE(SN76489, sn76489);
DECLARE_LEGACY_SOUND_DEVICE(SN76489A, sn76489a);
DECLARE_LEGACY_SOUND_DEVICE(SN76494, sn76494);

View File

@ -385,9 +385,9 @@ static MACHINE_CONFIG_START( pachifev, pachifev_state )
MCFG_SOUND_CONFIG(msm5205_config)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
#endif
MCFG_SOUND_ADD("sn76_1", SN76489A, XTAL_10_738635MHz/3) /* guess */
MCFG_SOUND_ADD("sn76_1", Y2404, XTAL_10_738635MHz/3) /* guess */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MCFG_SOUND_ADD("sn76_2", SN76489A, XTAL_10_738635MHz/3) /* guess */
MCFG_SOUND_ADD("sn76_2", Y2404, XTAL_10_738635MHz/3) /* guess */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END

View File

@ -327,13 +327,13 @@ static MACHINE_CONFIG_START( tp84, tp84_state )
/* audio hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("sn1", SN76489A, XTAL_14_31818MHz/8) /* verified on pcb */
MCFG_SOUND_ADD("sn1", Y2404, XTAL_14_31818MHz/8) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "filter1", 0.75)
MCFG_SOUND_ADD("sn2", SN76489A, XTAL_14_31818MHz/8) /* verified on pcb */
MCFG_SOUND_ADD("sn2", Y2404, XTAL_14_31818MHz/8) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "filter2", 0.75)
MCFG_SOUND_ADD("sn3", SN76489A, XTAL_14_31818MHz/8) /* verified on pcb */
MCFG_SOUND_ADD("sn3", Y2404, XTAL_14_31818MHz/8) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "filter3", 0.75)
MCFG_SOUND_ADD("filter1", FILTER_RC, 0)