0.78u4 ------ 引き続きテストをお願いします。今回のような時期では特に重要です。 アーロンのアップデート第2弾 [Aaron Giles] ----------------------------------------- 変更点: * 暗黙のアドレスシフトがあるCPU(例:TMS34010は右に3ビット、TMS32031左に2ビッ トなど)について、メモリマップとinsatll_memory_read/write_hander()の呼び出し についてアドレスシフトを自動で行うようにしました。これで、コードを汚していた マクロを大量に減らすことができます。適用されるCPUコアは、ADSP210x、CCPU、 PICI16C5x、TMS3201x、TMS3202x、TMS32031、TMS340x0です。ただし、CPUコア自体は リード・ライトルーチンへシフトした値をまだ渡す必要があります。対象コアを使う 全ドライバから、邪魔ものだったマクロとビットシフトが削除されています。 * ハーバードアーキテクチャCPUのデータメモリの実装が完了しました。 適用されるCPUは、ADSP210x、TMS3201x、TMS3202x、PIC16C5x、CCPUで、これらのコア について、プログラムとデータのメモリを完全に分割しました。これにより、メモリ マップで使っていた余計なマクロをごっそり削除することができました。 * memory_set_bankhandlerを廃止しました。これを使用していたドライバは全て install_mem_read_handlerを必要に応じて使うようにコンバート済みです。 メモリシステムの最後の8bit用ハックが削除されたことになります。この結果、8bit CPUのバンクメモリの読み書きがインラインで処理されるため、若干スピードアップ するはずです。 * 動的メモリ割り当てシステムの更新。古い方法ではリード・ライトハンドラのパース に依存していましたが、ポピュレートが済んでからトップレベルのメモリマップを 参照して、マップ済みの16k毎にメモリを割り当てます。一見するとこの方がメモリを 多く割り当てそうですが、誤差範囲以内に収まっています。さらに、プログラムア ドレス空間のmemory_regionが、非パースアドレス空間をサポートするのに必要最小 限であるかのチェックが追加されました。 * メモリブロックのセーブ・リストアを完全統合。以前は独自のメモリマップチェック ルーチンを持っていましたがこれを廃止し、新たに動的なメモリアロケータによりメ モリブロックを割り当ててレジストするようにしました。この方法だと、セーブステー トが前より大きく(さらに互換性もなく)なると思われますが、ディスクスペース自 体はちっぽけなのでこれで行くことにします。 * アドレス空間については、CPUが与えられた空間のアドレスバス幅として0以外の値を 返すかどうかに基づき動的に決定されるようになりました。 * I8039CPUコアのアドレスバス幅を修正。 * TMS32026のエントリ追加と、内部RAMが新システムで動作するように更新。 これによりTaito Airシステムが以前の状態にもどりました。 * gottlieb.cのメモリハンドラで、ミラーエリアを追加するのではなく、 アドレス空間マスキングを使うように修正。 ソース全般の変更: ------------------ ■ST-Vのアルファブレンディングを一部追加。[Mariusz Wojcieszek] bakubaku、mausukeの背景、shienryuの雲、他 ■マッピー時代のNamcoシステムを大幅更新。[Nicola Salmoria] - ほとんどのゲームをmappy.cにマージしました。以下のファイルが不要になってます: drivers/superpac.c vidhrdw/superpac.c machine/superpac.c drivers/grobda.c vidhrdw/grobda.c machine/grobda.c drivers/phozon.c vidhrdw/phozon.c machine/phozon.c machine/mappy.c - machine/namcoio.cを追加。このファイルは全ゲームで使っている56XXと58XX I/Oカス タムチップを実装しています。チップのシミュレートを正確にしたため、通常時の微妙 な動作、テストモードの微妙じゃない動作などが修正されています(マッピーのグリッ ド表示など) - 全ゲームの入力とDIPをチェック・修正しました -「トイポップ」以外のゲームのイースターエッグを書き出しました - 割り込みとサブCPUのリセットハンドリングを修正。これにより、リセットせずにテス トモードに入るとエラーが出るゲームがあります - 回路図があるものについては詳細なメモリマップを追加 - 全ドライバをタイルマップにコンバート -「フォゾン」のカクテルモード追加と、「ギャプラス」のハックではない実装 -「スーパーパックマン」のプライオリティ修正。以前のコードではゴーストの目が一番 手前でしたが、これではゴースト同士が重なるときに不具合が出ていました -「ギャプラス」の面進めDIPの追加と動作 -「フォゾン」で多分だれも気づいていなかったSEの修正 - MAME testersの修正分: mappy37b4gre mappy37b8gre phozon37b8gre motos054gre - warpwarp.cもタイルマップコンバート及び、イースターエッグを追加。 ■SH-2を若干スピードアップ。[Carlos Santillan] ■「Miss Bubble 2」と「豪血寺一族 / Power Instinct」(海賊版 set 2)のサウンド改善。 [Quench] ■「スカイダイバー」にディスクリートサウンド追加。[Derrick Renaud] ■「バーディートライ」のスプライト改善にチャレンジ。[Pierpaolo Prazzoli] ■u3でのcompgolfのバグを修正。[Pierpaolo Prazzoli] ■「クロスパング」のDIPスイッチ。[Pierpaolo Prazzoli]