[ オリジナルレポート ]

BugID: #05694

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
サウンド解決済み修正済み2014-09-08 14:282014-11-05 02:06
 
テスターRichard42担当者 ソース
バージョン0.154発生バージョン修正バージョン0.156
修正コミットプルリク
フラグ
セット All sets in coco12.c and coco3.c
セット詳細
 
概 要SC77526チップでカセットを選択すると音声出力レベルがおかしくなる。
詳 細The coco hardware has a fundamental design defect whereby it is impossible to read the joystick axis positions without perturbing the output audio signal, if a sound waveform is currently being played. I have written a game engine which uses the Coco's hardware in a way which minimizes the audio signal disturbance for certain cases. In order to do this, it relies on the specific behavior of the Coco's SC77256 DAC chip, but this behavior is not emulated correctly in MESS. As such, my software produces a moderately loud buzzing sound in MESS which is much quieter when run on a real Coco computer.

Page 42 and 43 of the Tandy Color Computer 3 service manual state that the SC77526 chip internally biases the Sound 1 and 2 inputs (from the Cassette and Cartridge sound lines) at the midpoint of the 3.9v output range. I tested a real Coco 3 machine using a DVM to verify that this is the behavior of the real chip. However, the logic in the MESS emulator brings the output audio value to 0 whenever the Cassette or Cartridge audio lines are selected, and they are playing no sound.

I have written a patch to correctly model the behavior of a real Coco for the Cassette input. When this patch is applied to the latest SVN version of MESS (I am using r31981), the emulator correctly attenuates the buzzing sound when running my game engine. I have attached the patch file to this bug report.
再現手順 
追加情報 
 
添付ファイルdiff filecoco3-cassette-sound-fix.diff (2014-09-08 14:28)