ZSNESにおけるドンキーコングカントリー2のバグへの深層探求

2025-07-01

古いSNESエミュレータZSNESにおける不明瞭なバグは、ドンキーコングカントリー2の特定のレベルにある回転する樽に影響を与えます。著者は調査を行い、根本原因がZSNESによるオープンバス動作の不適切なエミュレーションにあることを発見しました。ゲームコードを逆アセンブルし、65816プロセッサの動作を分析することにより、著者は単一命令のアドレス指定モードが間違っていることを突き止めました。絶対アドレス指定ではなく、即値アドレス指定を使用するべきでした。この単純なエラーを修正することで、樽のメカニズムが修正されます。

続きを読む
ゲーム

セガジェネシスのYM2612サウンドチップのエミュレーション(パート1)

2025-03-29

この記事は、セガジェネシスのYamaha YM2612 FM合成チップ(OPN2)のエミュレーションに関するシリーズの最初の投稿です。著者は、この非常にエミュレーションが難しいチップの複雑さを詳細に説明し、Genesis内での統合とCPUとの相互作用に焦点を当てています。この記事では、YM2612のアーキテクチャを深く掘り下げ、6つのオーディオチャネル、チャネルあたりの4つのオペレータ、8つのアルゴリズム、LFO、タイマー、DACなどの追加機能について説明しています。68000とZ80 CPU間の相互作用、レジスタマッピング、読み書き動作、およびさまざまなGenesisモデルでの特定のゲーム(例:Earthworm JimとHellfire)におけるオーディオ問題の根本原因を調査します。最後に、著者はDACチャネルのエミュレーションについて説明し、YM2612のエミュレーションに取り組むすべての人に貴重な洞察を提供します。

続きを読む

ローパスフィルタによるセガCD PCMオーディオ品質の改善

2025-02-17

この記事では、セガCDのPCMサウンドチップの音質の悪さの原因を探り、解決策としてローパスフィルタを用いたオーディオ品質の改善を提案しています。様々なGenesisモデルにおけるオーディオハードウェアの違い、そしてローパスフィルタのオーディオ処理における役割を解説しています。実験を通して、異なる種類のローパスフィルタ(バターワースIIRフィルタ)の効果を比較し、コード例を示しています。最終的に、セガCDのPCMオーディオの音質を改善し、ソフトウェアでIIRフィルタを実装する際の注意点についてまとめています。

続きを読む