MAME - What's New-J 0.123u5.txt
0.123u5 ------- MAMETestersの修正バグ --------------------- 01216 [Tomasz Slanina] 00898 [couriersud] 01436 [Aaron Giles] 01480 [robiza] 01482 [Zsolt Vasvari] 01429 [RansAckeR] 00593 [RansAckeR] 01478 [RansAckeR] ソースの変更点 -------------- -「Electric Yo-Yo」のちらつき修正。qixドライバで、MC6845のVSYNC通知を割り込みと してして使うように変更。[Zsolt Vasvari] - device_get_infoとdevice_set_infoの一部からmachine引数を削除。デバイスで情報を 保持するようになったため。[Aaron Giles] - デバイスインターフェイスについて、トークンとデバイスコールバックへの各ビットで はなく、device_config *を渡すように変更。これに合わせて、既存のデバイスを全て 更新。[Aaron Giles] - インデックスによる画面参照を削除するためと、ビデオシステムがスクリーンデバイスを 確実にベースとするように多くの変更: [Zsolt Vasvari] * vblank_state_changed_funcで、device_configをとるように変更 * VBLANKコールバックの第一引数としてのrunnning_machineを削除 * running_machineからvideo_dataを削除 * private state screen informationがpublicのものに従属 * video_globalとvideo_privateを一つの構造体に統合 * screen_stateのポピュレートをmame.cからvideo.cに移動 * defstateを削除; デフォルトのスクリーンパラメータはscreen_configが直接持ちます * refreshをパブリックから内部ビデオステートに移動して、frame_periodに改名 * これまでrefreshにアクセスしていた全てのドライバについて、 video_screen_get_frame_period()を使うように変更 * VIDEO_UPDATE定数がスクリーンデバイスを渡すように変更 * running_machineにconst device_config *primary_screenを追加 * video_screen_*関数の第一引数にdevice_configを取るように変更; スクリーン番号に 0を使っていた呼び出し元全てを、machine->primary_screenに変更 * ゲーム情報画面とオーバーレイUIで、スクリーン番号の代えてスクリーンタグを表示 するように変更 * video_screen_get_visible_area()を追加 * render.cでスクリーンデバイスを使うように変更 * ドライバによるmachine->screen[]配列への直接参照を削除 * video_screen_auto_bitmap_alloc(screen)を追加 * Dynax/「ドンデンラバー」系の更新をVIDEO_EOFからVIDEO_UPDATEに変更。これにより パレットの問題が修正された模様 *「カルノフ」のスワップしたビデオRAMを正しく実装 -- 「バーガータイム」同じアイ ディア * public screen_stateオブジェクトを削除 -- 全て関数経由でアクセスします * running_machineから、screen[]オブジェクトを削除 * 定数MAX_SCREENSを削除 -- ハードコードした上限は廃止しました - MC6845で、device_configのみを扱うように変更。これによる以下の結果は他のデバイ スについても当てはまります: [Zsolt Vasvari] - running_machineを使わない - mc6845_tをprivateに変更 - device_configを渡すのはデバイスの型安全ではないので、渡されたデバイスが有効な 型かどうかをチェックする関数、get_safe_token()をmc6845.cに追加 -「ギャラガ」でビデオタイミングがわずかにずれたことでクラッシュしていたのを修正。 [Zsolt Vasvari] - アドレスマップをトークンにコンバート。address_map構造体について、グローバルな マップ幅の情報を保持し、各アドレス範囲に対応するエントリリストに依存するよう変 更。これらの構造体の生成と破棄のため、新関数address_map_alloc()と address_map_free()を導入。必要な箇所についてコードを全て更新。[Aaron Giles] - アドレスマップ内の、porttagtohandler*()のインスタンスを修正。ドライバでは代わ りとしてAM_READ_PORT()を使って下さい。[Aaron Giles] - ADDRESS_MAP_STARTと同様に、ADDRESS_MAP_EXTERN()でもデータビット数を指定するた めにADDRESS_MAP_EXTERN()が必要です。[Aaron Giles] - ADDRESS_MAP_FLAGS()を削除。これまでの処理を置き換えるため、新マクロを3つ追加。 ADDRESS_MAP_GLOBAL_MASK(mask)は、全てのアドレスについて、アドレス空間幅のグロー バルなマスクを指定します。ADDRESS_MAP_UNMAP_LOW/HIGHは未マップの読み込み動作を 指定します(これらは0か~0で復帰)。[Aaron Giles] - 内部メモリマッピングの動作について、2つのマップを管理する方法から、単一のアド レスマップにバイト位置をずらした値も合わせて保持する方法に変更。[Aaron Giles] - MC6845がスクリーン番号からスクリーンタグを取るように変更。 [Zsolt Vasvari] - Voodooで、スクリーン用にdevice_configを取るように変更。[Zsolt Vasvari] - TMS34010がスクリーン番号からスクリーンタグを取るように変更。[Zsolt Vasvari] - 以下のマクロを置き換え (SMH == スタティックメモリハンドラ) MRA*_BANK*/MRA*_BANK* -> SMH_BANK* MRA*_RAM/MRA*_ROM -> SMH_RAM MRA*_ROM/MWA*_ROM -> SMH_ROM MRA*_NOP/MWA*_NOP -> SMH_NOP MRA*_UNMAP/MWA*_UNMAP -> SMH_UNMAP これにより、フェイクの型定義による余計な定数が必要なくなります。[Aaron Giles] - メモリシステム用の定数をmemory.cに移動。[Aaron Giles] - atarigenとtms34061をハンドルベースにコンバート。[Zsolt Vasvari] - MAMEの不要な関数を増やさないために、コンパイル時にPowerPC MMUを有効にする方法を 変更。[Nathan Woods] - メモリシステムをさらにクリーンアップ: [Aaron Giles] * バイトオフセットに対するアドレスを全体で明示的に変更 * 未使用のパラメータを削除 * 初期化プロセスを統合化 * メモリブロックの最大数を削除 * バンク処理を集約 * マスクしたハンドラとchange_pcをアクセサに追加 * 指定したアドレス空間/データバス幅/エンディアン設定について、これらのアクセサ へのポインタを返すmemory_get_accessors()を追加 - 6845の派生版追加: MC6845-1, H46505, HD6845 and SY6545-1 [Zsolt Vasvari] - 照準の処理コードをvideo.cから独自モジュールに移動。照準のロジックをシンプルに して、スクリーンデバイスベースに変更。[Zsolt Vasvari] - MultiPCMのクリッピングについてサチュレート演算処理とエンベロープが途切れるのを 修正。[ElSemi] - ドライバのデフォルト値が演算されている場合のミキサ設定の読み込みを修正。 [Nicola Salmoria] - cpu_scalebyfcount()を削除。入力ポートがフレームコールバックを登録するように変 更。これは、スロットル時と更新時の直後に呼び出されます。これは、実時間とエミュ レートされた時間との厳密な"同期点"となります。アナログポートとデジタルポートの 処理は全てここに集約しました。直前のフレーム更新からの時間のトラッキングを追加 して、それを現在のフレームの時間を見積もるために使用しています。これは、 cpu_scalebyfcount()を使わずにアナログポートのスケーリングをするために使われま す。ただし、フレームレートが変化する場合(ベクターゲーム)については完全ではあり ませんが、他の場合ではうまく動作します。[Aaron Giles] - VBLANKの終了時間の計算とvideo_screen_get_vblank()を修正 -- これらは、 MDRV_SCREEN_VBLANK_TIMEを使うゲームを想定していませんでした。[Zsolt Vasvari] - 68000のプリフェッチ命令を修正。これまでの動作は正しくありませんでした。 [Aaron Giles] - slapstic処理について、常にopbaseのハンドラを設定して、slapstic領域でのコードの 実行をより積極的にキャッチするように変更。全てのドライバで、固定ROMから slapsticのROM領域を異なるROMセクションに分けるように更新。[Aaron Giles] - superqix.cの変更: [Mike Haaland] - 画面描画の問題を修正するため、vblankの割り込みを3に変更 - メモリ設定にmemory_configure_bank()を使用 - セーブステート追加 - u4でwhat'snewにはあったものの、ミスで追加されていなかったクロック周波数の変更を 追加。[Corrado Tomaselli] -「Electric Yo-Yo」の角部分を隠すためにレイアウト追加。[Mr. Do!] - Genesis/MegaDrive版の「バーチャレーシング」を動作させるため、Sega Virtua Processorをサポート。MESSで使用。これはSSP1601のCPUコアで構成されています。 またmegadriv.cを更新: [notaz] * SVPが実際にはSSP1601を含むことから、SSP1610をSSP1601と置き換え。ただ、現在の SSP1610はただのプレースホルダ(ほとんど実装されていない状態)です。 * megadriv.cを変更して、Genesis/MegaDrive+SVPの組み合わせように新ドライバ追加。 また、SVPのメモリコントローラと、メモリマップを追加。 -「Deal 'Em」の入力変更第二弾(デフォルトの筐体ではうまく動作しますが、完全に修正 するには条件付き入力が必要です)。また、resnetコードへの変換。残念ながら、これ ではまだ透過処理が直っていません。[James Wallace] - punchout.c、bankp.c、baraduke.cで入力のシンプル化、DIPスイッチの改良、DIP配置 の追加。[RansAckeR] - asuka.cで、memory_configure_bank()によりcpu2のバンクを設定するための MACHINE_START( asuka )を作成。「カダッシュ」とクローンでは背景が正しくロードさ れないのを除いて、それ以外の全てのゲームでセーブステートをサポート。 [Mike Haaland] - M68000のビルドロジックについて、有効にした場合だけインクルードするように修正。 [Fabio Priuli] 新規サポート、またはNOT_WORKINGが取れたゲーム --------------------------------------------- Amuse (Version 50.08 IBA) [Pierpaolo Prazzoli] Joker Poker (Version 16.03B) [Pierpaolo Prazzoli] Super Bowl (Version 16.03B) [Pierpaolo Prazzoli] Pit Boss II [Mariusz Wojcieszek] Super Pit Boss [Mariusz Wojcieszek] Pit Boss Megastar [Mariusz Wojcieszek] Megatouch IV [Mariusz Wojcieszek] Megatouch IV Tournament Edition [Mariusz Wojcieszek] Megatouch 6 [Mariusz Wojcieszek] 新規クローンセット ------------------ ライデンファイターズ (Austria) [Corrado Tomaselli]