カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
サウンド解決済み修正済み2009-04-01 02:322024-12-07 11:02
 
テスターsxevious担当者hapソースnamco/baraduke.cpp
バージョン0.130u2発生バージョン修正バージョン0.273
修正コミット ea6503dプルリク
フラグ
セット aliensec, baraduke
セット詳細
aliensec - バラデューク / Alien Sector
baraduke - バラデューク
 
概 要バラデュークのボイス処理について。
詳 細The "I'm your friend" speech at the start of a game is currently handled via a kludge for reads to MCU address 0x1105.
再現手順 
追加情報After some study of the MCU code it appears this location is a DMA sample counter indicating how many 4-bit samples have been transferred so it is likely a feature of the sound chip for each channel (offset 5 = DMA counter). Baraduke seems to use this to indicate when 32 4-bit samples (16 bytes) have been transferred in order to send the next chunk of data from ROM to sample waveform RAM at 0x1040. The MCU code at 0x8495 does the channel setup and the code at 0x84EE does the sample playback. There are two samples in ROM, one at 0x8538 (I'm your friend) and the other at 0x8CD9 (a growl sound) both end with 0xB1.
For both sounds channels 0-3 are setup with values 0E 40 18 9A (left volume=E, waveform select=4, frequency=189A (6298Hz), right volume=0)

Note none of the other games which use this sound chip (Metro-Cross, Sky Kid, Dragon Buster, Pac-Land, NS86 games or NS1 games) seem to use this functionality.

Attached is the "I'm your friend" speech, extracted from the 63701 MCU ROM and converted to 8-bit mono PCM at 6298Hz which is how it should sound.
 
添付ファイルwav fileB1.wav (2009-04-01 02:32)
wav fileB2.wav (2009-04-01 02:34)