カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
サウンド仮承認未処理2015-02-17 02:582023-01-26 14:46
 
テスターenik担当者 ソースsega/sms.cpp
バージョン0.158発生バージョン修正バージョン
修正コミットプルリク
フラグ
セット sg1000m3, smsj, sms1krfm
セット詳細
 
概 要FM音源の音量がPSG比べて小さすぎる。
詳 細The volume of the FM sound, generated by the YM2413 chip, is much lower than volume of the PSG sound, generated by the SN76489 PSG chip. On real hardware, FM volume seems to be a bit lower than PSG's, IMO. Official games in general support only one chip even when the two chips are available, so the user may adjust the volume at OS/hardware level as a workaround, but a correct sound balance becomes important for homebrew hacks like the one produced by ValleyBell, that changed the Sonic 1 ROM to add FM music and use PSG for sound effects.
再現手順Play a game that supports FM sound (when available) on a driver that only supports PSG sound (like sms1) and play again the same game on a driver that also supports FM sound (like smsj).

Compare the volume of both emulated sound chips with the following video, that is a comparison of the PSG sound and FM sound of a modded Brazilian sms1 console with the FM sound of a Japanese sms console:
追加情報These are the relevant lines that set the sound balance in the current src/mess/drivers/sms.c file:

static MACHINE_CONFIG_START( sms_ntsc_base, sms_state )
(...)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")

MCFG_SOUND_ADD("segapsg", SEGAPSG, XTAL_53_693175MHz/15)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
(...)
MACHINE_CONFIG_END

static MACHINE_CONFIG_DERIVED( sms1_ntsc, sms_ntsc_base )
(...)
MACHINE_CONFIG_END

static MACHINE_CONFIG_DERIVED( sms1_kr, sms1_ntsc )
(...)
MACHINE_CONFIG_END

static MACHINE_CONFIG_DERIVED( sms1_krfm, sms1_kr )
MCFG_SOUND_ADD("ym2413", YM2413, XTAL_53_693175MHz/15)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
MACHINE_CONFIG_END


For comparison, these are the lines that set the sound balance for Sega Mega Drive, that has the same PSG chip, but with another Yamaha chip variant:

File src/mame/machine/megadriv.c:

MACHINE_CONFIG_FRAGMENT( md_ntsc )
(...)
/* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")

MCFG_SOUND_ADD("ymsnd", YM2612, MASTER_CLOCK_NTSC/7) /* 7.67 MHz */
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)

/* sound hardware */
MCFG_SOUND_ADD("snsnd", SEGAPSG, MASTER_CLOCK_NTSC/15)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25) /* 3.58 MHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker",0.25) /* 3.58 MHz */
MACHINE_CONFIG_END
 
添付ファイル