20年7月8日(水) 17:04
DPCM チャネルを実装しているときに、誤ってビットをレジスタから間違った方向にシフトしてしまいました。これが結果でした。
I accidentally discovered what Double Dribble was probably intended to sound like.
20年8月27日木 1:25 pm
OK、それで私はいくつかの実験をしました:
実際の任天堂の動作でより良い音になることを確認しました:
スーパーマリオブラザーズ3
忍者外伝
忍者外伝2
仁華外伝3
グラディウスII(声)
スーパー C (オーケストラ・ヒット)
タイニートゥーンアドベンチャーズ
タイニートゥーンアドベンチャーズ 2
カービィの冒険
ロロの冒険 3
悪魔城ドラキュラIII ドラキュラの呪い/悪魔城伝説(パスワードミュージック笑いエフェクト)
ビット順序が逆であってもなくても同じように聞こえます
ドラえもん ギガゾンビの逆襲
地球に縛られた; ファミコンウォーズ ; ファイアーエムブレム (両方のゲーム) – 4 つのゲームすべてに同じサンプル
ビット順序に関係なくひどい音になります(おそらく別のエンコードエラー?)
フェスターのクエスト
ジャストブリード
ビット順序を逆にすると音が良くなることを確認
シリウスへの旅
バットマン
バットマン – ジョーカーの帰還
ギミック
ユーフォリア – サーガ
グレムリン 2
悪魔城伝説 (ドラムス)
悪魔城ドラキュラ2 – シモンズクエスト
悪魔城ドラキュラ3 – ドラキュラの呪い (ドラムス)
スケート・オア・ダイ
グラディウスⅡ(ドラムス)
コントラ
スーパーC(ドラム)
頬袋にゃんがく
@nyan_gak
DPCMのbit反転の件、ざっくり聴き比べ。任天堂「ドクターマリオ」「ファミコンウォーズ」→OK、デコ「大怪獣デブラス」→OK、サンソフト「ダイナマイトバットマン」→NG、コナミ「がんばれゴエモン!からくり道中」「コナミワイワイワールド」「魂斗羅」→NG コ、コナミとサンソフト、マジか…oh
https://twitter.com/5chan_nel (5ch newer account)
違いが良くわからん
分かりやすい例だと、
ギミック、へべれけ、暴れん坊天狗、サマーカーニバル’92烈火 等のソフトのサンプルのbit順を
反転させるとクリアなサウンドになる。
まあRF接続の実記だと分かりにくいかもね。分かりにくいから長年認知されていなかった
まあなんというか1バイトのブロックごとに逆再生になっていた感じ
雷更新世
@pleist
ファミコンのDPCMで誤ってバイト順が逆になってるゲームがあるらしい。そうかDPCMって狭い範囲で逆でも総計は合うから低周波数成分は正常になってまあそんなもんか程度には聞こえちゃうんだ。製品版12:53修正後14:27。 ▶ NES Sound: The DMC – Behind the Code
https://youtu.be/mJnz6dEWwIw?t=12m52s
@YouTube
より
https://twitter.com/5chan_nel (5ch newer account)
聞きやすいのもそうだが内容もよくまとまってて分かりやすい
思ったより自然な声だったのな
まあ、味があってそれも良かったじゃない
2A03 の DPCM って 1bit D/A(デルタ変調)やから、パラシリでシフト順が逆に
なっても大差はない、というのが正解ちゃうかな?
大差がないから開発も気づかなかったってのが1の話
さっきググって知った
てのとちゃうのか
仕様の上での問題で
後続の移植作の方がサウンドとしては正しい表現になってるってことでいいのか?
例えばギミック!とか
SNESの話だろ?
ファミコンにも原始的なものだけどΔPCMが載ってる
中期以降のソフトはドラムなどに使われてる
水戸黄門もΔPCMだよ
燃えプロは音声合成のチップ載せてるけど
安く早く作れるように
言われてみりゃその通りだな
7bit PCMを1bitにする仕様
32bitマルチじゃなくても
当時の子供たちがそれで満足したかどうかだ
今あーだこーだ言うのはナンセンス
アレでもまだバグの上だったのか
たまにやらかす
大学生の76%がiPhoneを使用「Androidはダサくて使えない。陰キャやオタクが使ってそう」 »
ファミコン発売37年後に判明した事実
何らかの奇妙な理由 (これについては後ほど説明します) により、Double Dribble の前述の音声サンプルは実際には破損しています。音声の発音の多くが不明瞭になり、フリースローのサンプルが「遅すぎる」ようになります。
この原因は実際にはソフトウェアにあるのではなく、ハードウェアの状況にあります。2A03 は各バイトのビットを右から左に読み取り、事実上ビット順序を逆転させることによって DPCM サンプルを出力します。たとえば、00111111 ( 3F ) は11111100 ( FC ) として読み取られます。これにより、ほとんどの開発者は各バイトが左から右に読み取られると想定していたため、適切にフォーマットされたサンプルが誤って出力される原因になります。面白いことに、これは32 年間発見されず、まったくの偶然によってのみ発見されました。
実際、これは Double Dribble にのみ影響するわけではないことは注目に値します。驚くほど幅広い種類のNESゲーム がまさにこの問題に悩まされています。
Double Dribble (NES) – The Cutting Room Floor
https://tcrf.net/Double_Dribble_%28NES%29