最新のソースではバリバリ音がでることはなかった.
該当部分のログが下記.
08> 040A06 06.ADPCM RAM 02
08> 040A0C 06.ADPCM RAM 02
2本目をとる
CD Audio Play を停める (command 0xde 発行???)
READ(6) + ADPCM DMA 発生
scsi command 0xd8 の引数がおかしい.
M S F ?? flag
d8 00 00 00 3f 8d 00 00 00 00
flag は 0x40 か 0x80 であるのが正常で 0x00 は想定外.
ここでは audio CD の制御をとめればいいらしい.
D8> 00:00:3F
drive stop
drive stop
08> 040A0C 06.ADPCM RAM 02
#5 の記述は今回の不具合に直接の関係はないことを確認.
このCDのユーザーデータのセクタ数は 0x040a50 個で、 seek にいく lba 0x040a0c はCDとして末尾の方である.
ここのdataが全て0になってでてくるが、ためしに lba を 0x040999 に変えた場合は正常なデータがでる.
原因は CD イメージ転送ソフトの discimage 末尾付近のデータの転送にバグがあると判断. upergrafx 側のバグではない可能性が非常に高い.
CDイメージ転送ソフトで末尾150セクタを転送していなかったことが判明.
修正したソフトで転送し直したら直った.
セクタ番号 0x409ba から 0x40a4f までが使えなかった.