mirror of
https://github.com/holub/mame
synced 2025-05-24 23:05:32 +03:00
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:
parent
1e8bc4660d
commit
61c0cd9ef1
@ -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 )
|
||||
@ -499,10 +505,10 @@ DEVICE_GET_INFO( sn76496 )
|
||||
|
||||
/* --- the following bits of info are returned as NULL-terminated strings --- */
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SN76496"); break;
|
||||
case DEVINFO_STR_FAMILY: strcpy(info->s, "TI PSG"); break;
|
||||
case DEVINFO_STR_VERSION: strcpy(info->s, "1.1"); break;
|
||||
case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
|
||||
case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
|
||||
case DEVINFO_STR_FAMILY: strcpy(info->s, "TI PSG"); break;
|
||||
case DEVINFO_STR_VERSION: strcpy(info->s, "1.1"); break;
|
||||
case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break;
|
||||
case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -512,7 +518,7 @@ DEVICE_GET_INFO( sn76489 )
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( sn76489 ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SN76489"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -520,9 +526,9 @@ DEVICE_GET_INFO( sn76489a )
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( sn76489a ); break;
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( sn76489a ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SN76489A"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -531,8 +537,18 @@ 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;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); 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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -542,7 +558,7 @@ DEVICE_GET_INFO( sn76494 )
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( sn76494 ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SN76494"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -552,7 +568,7 @@ DEVICE_GET_INFO( sn94624 )
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( sn94624 ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SN94624"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -562,7 +578,7 @@ DEVICE_GET_INFO( ncr7496 )
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( ncr7496 ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "NCR7496"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -570,9 +586,9 @@ DEVICE_GET_INFO( gamegear )
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( gamegear ); break;
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( gamegear ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "Game Gear PSG"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -580,15 +596,16 @@ DEVICE_GET_INFO( segapsg )
|
||||
{
|
||||
switch (state)
|
||||
{
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( segapsg ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SEGA VDP PSG"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( segapsg ); break;
|
||||
case DEVINFO_STR_NAME: strcpy(info->s, "SEGA VDP PSG"); break;
|
||||
default: DEVICE_GET_INFO_CALL(sn76496); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user