MAME - What's New-J 0.107.txt
0.107 ----- 注:MAMEが新レンダリングシステムに移行してからの最初のフルリリースです。今までと は作が違っていてもあたふたせずに、ドキュメントやnewvideo.txtを読めば、基本の設定 方法がわかるはずです。それでも何か問題がある場合は、-vオプションを付けて起動して、 その結果と問題の内容を http://mametesters.org にお知らせ下さい。 MAMETestersの修正バグ --------------------- xxmissio0106u12yel [quzz] laser0106u10ora [gregf] kof10th0106u1ora [f205v] pignewt0106u3gra [Machone] cheatwatchpoint0106u11ora [ShimaPong] ソースの変更点 -------------- - Taito Wolfドライバのキーボード入力修正。[Ville Linde] - yunsung16.c (bomk kickで必要) にタイルマップのflipx追加と、実物のDIP同様のプロ テクト用のDIPスイッチへ変更。[Pierpaolo Prazzoli] - PGMドライバのクラッシュ修正。[David Haywood] - ninjak2のスプライトオーバードローエフェクトを正しくエミュレート。オープニング エフェクトや今までバグっていた面が修正されています。ドライバをタイルマップにも 変換しました。[Pierpaolo Prazzoli] - magicflyドライバをさらにアップデート。ドキュメントの改良と入力ポートのマッピン グ。[Roberto Fresca] - コマンドラインの設定がUIのガンマと明るさの範囲になるように修正。[Aaron Giles] - デフォルトのフリッカ値を0に変更。[Aaron Giles] - パレットビューのスクロールを修正。[Aaron Giles] - MAMEウィンドウが最小化されたときのアサーションを修正。[Aaron Giles] - サブウィンドウのサイズ変更ができなかったバグを修正。[Aaron Giles] - Missile Commandドライバを回路を元に書き直し: [Aaron Giles] * CPUを正確に (下位スキャンライン32本のスローダウン) * 正確なフレームレートとIRQシグナルタイミング * 一部のセットでサービスモード動作。6502のバグのあるものは動作せず * ビットマップマッピングを正確に。3ビットアクセス用サイクルカウント * ビットモード書き込み用にビットマップをPROMアクセスに使用 新規クローンセット ------------------ ヘッドオン (Sidam 海賊版) [David Haywood] Super Crash (ヘッドオン 海賊版) [David Haywood] ボーダーライン (Sidam 海賊版) [David Haywood] ルナレスキュー (Model Racing 海賊版) [David Haywood] Agent X (プロトタイプ) [Aaron Giles] 新規に追加されたGAME_NOT_WORKINGゲーム -------------------------------------- Ripper Ribbit [Guru] Chicken Farm [Guru] Crazzy Clownz [Guru] Super Bubble 2003 [Pierpaolo Prazzoli] Legend of Heroes [Pierpaolo Prazzoli] Hidden Catch 3 [Pierpaolo Prazzoli] Pro Golf [Pierpaolo Prazzoli] Midnight Landing [David Haywood] 0.106u13 -------- MAMETestersの修正バグ --------------------- resolutionrating0106u12yel [Aaron Giles] ソースの変更点 -------------- - -listxmlのDTDをさらに修正。[Krick] - 以前にダンプしていたPLDを多くのゲームに追加。[MASH] - デバッガのコメントコードで初期化されなかった変数を修正。割り当てのクリーン アップ。[Nathan Woods] - 新レンダラのマルチセッションサポートを改良。[Nathan Woods] - schaserにカラーPROM実装とDIPスイッチの修正。[Roberto Fresca] - 前回のリリースで、Direct3Dモードの-prescale設定にあったバグ修正。[Aaron Giles] - 光線銃ゲームで照準が黒くなるバグを修正。[Aaron Giles] -「テンペスト」で背景の星が表示されるようにスパークル回路を再実装。 [Aaron Giles] - ベクターゲームで、背景の明るさのデフォルト設定削除。オーバーレイを薄く表示させ たい場合は明るさを上げてください。[Aaron Giles] -「クリスタルキャッスル」の改良: [Aaron Giles] * EAROMを正しく接続(POSTをパスします) *“POTATO”チップの動作を推測。クリスタルキャッスルファンな方は、4面と5面の切り 替えで画面が上にスクロールしていく場面が実機に比べてどんな具合かTestersへ報告 ください - Cloud 9ドライバを、Crystal Castlesドライバと同じように書き直し。これは明らかに 同一のハードウェアの初期版です: [Aaron Giles] * Firebeast基板の解析をもとに、ビデオRAMバンキングを正確に実装。これらは全く同 じもののようです * カラーマッピングの解析をして、正しく実装 * EAROMを4bitに減少 * DIPスイッチ修正 - xxmissioドライバを最近のやり方へ更新。[Aaron Giles] 新規サポート、またはGAME_NOT_WORKINGが取れたゲーム -------------------------------------------------- Firebeast (プロトタイプ) [F.J. McCloud] ディッガーマン (プロトタイプ) [MAME32Plus] 0.106u12 -------- MAMETestersの修正バグ --------------------- gaelco20106u1ora [David Haywood] ソースの変更点 -------------- - これまでにダンプされた大量のPLDを、ドライバ全体のいろんなゲームに追加。[MASH] - Magic Flyドライバのグラフィック改善。[Roberto Fresca] -「リーサルエンフォーサーズ」でプレイヤー2のファイアボタンINPUT_PORT修正。 [Cananas] - 光線銃の画面外でのリロード座標を変更。互換性を上げるため左上から右上に移動。 [Cananas] - 6840モジュールの割り込みクリーニング関数を修正。[El Condor] - 複数の入力タイプを持つゲームについて、-listxml出力に複数コントロール出力追加。 また、ドライバで定義されているアナログコントロールの情報をさらに追加: 最小値、 最大値、感度、キーデルタ、リバース これにより、XMLの“control”アトリビュートをエレメントに移行し、2つ以上の “control”エレメントが入力セクションに存在できるようにしました。[uRebelScum] - -listxmlのスクリーン情報を改良。マルチスクリーンはそれぞれの属性を伴ってリスト で表示されます。これまでの縦画面・横画面だけでなく、画面回転の詳細も追加しまし た。幅と高さは回転する前の素のゲーム画面について出力します。[Krick] - コマンドラインの明るさ、コントラスト、ガンマ設定がUIに影響していたバグを修正。 [Aaron Giles] - ベクターゲームで、コントラスト調整で最大の明るさにならなかったバグを修正。 [Aaron Giles] - Crystal Castleドライバを回路図を元に書き直し: [Aaron Giles] * クロックスピードとフレームレートを訂正 * ミキサーPROMを使うビデオシステムを再実装 * 同期PROMを使って、正しいタイミングで割り込みを発生するように変更 * 同期PROMはこのほかに、正確な表示エリアとVBLANKタイミングの決定に使用 * WP PROMを使ったVRAM書き込みプロテクトを実装 * プレイヤー2のトラックボールを正しく実装 * コインカウンタ修正 * レジスタウェイトをベースにパレットを算出 * 回路図に合わせて、ウォッチドッグを8 VBLANKに設定 * ステートセーブサポート * 回路図より、完全なメモリ空間をマッピング - JEDの構文解析コードのバグで、チェックサムヒューズが指定した番号を超えるバグを 修正。一部のプログラムは、データの終わり以降も追加のヒューズデータを書き込みま すが、これはチェックサムの対象ではありません。また、チェックサムのパースをより フレキシブルにして、ファイルチェックサムに追加の0があるJEDファイルを扱えるよう にしました。[Aaron Giles] - xml2infoユーティリティーを削除。-listinfoフォーマットは2年前にすでに削除されて います。新しい方法に移行する時です。[Aaron Giles] - 実行ファイルに拡張子を付けないプラットフォームに対する共通性を進めるため、コア のmakefileにEXEビルド用の特定ルールを再追加(?) [Aaron Giles] - デュアルとトリプルスクリーンのレイアウトにギャップレスの設定を追加。 [Aaron Giles] - Direct3Dコードがテクスチャのクランプを正しく設定しているようなので、1ピクセル の境界線を削除。これにより「ダライアス」のレイアウトで画面の境目が切れる現象を 無くせます。これは、画面の端のピクセルが周りの黒い境界線とでバイリニアフィルタ リングをしたために起こっていました。[Aaron Giles] -“-effect none”の設定でエラーメッセージが出ないように修正。[Aaron Giles] - VIDEO_PIXEL_ASPECT_RATIO_*フラグをドライバから削除。このフラグは一貫性がなく使 用されていて、必要な場合は画面の幅と高さ、向きから導き出せるため。 [Aaron Giles] - オンスクリーンディスプレイでENTERを押すとデフォルトの値に戻すように変更。 [Aaron Giles] - 全オプションを中央の一カ所(windows/config.c)にに移動。また、クリーンアップと オプションの並び順を前よりも意味がある順序に並び替え。[Aaron Giles] - windows.txtを書き直しして、新しいオプションの反映と、既存オプションについても 現在の実装方法に沿って動作方法をアップデート。[Aaron Giles] 0.106u11 -------- MAMETestersの修正バグ --------------------- kikstart0106u7gra [Canim] ソースの変更点 -------------- - BIOSセット、ROMセット、ディスクのXML出力が定義した順番になるように変更。 [MadSkunk] - 新しいスクリーンショット保存コードのバグを修正。[Nathan Woods] - MPU4ドライバのメモリマップとクロックスピードを改良。[El Condor] - クリッピングをOSDレイヤー依存からコアに移動。PUSH_CLIPとPOP_CLIPが不要になった ので削除しました。またU/V座標をプリミティブに追加しています。[Aaron Giles] - 背景とオーバーレイの表示が設定通りになるように描画順序を修正。オーバーレンダリ ングされる背景ピース(gollyghoなど)は、将来サポートされないかもしれません。 [Aaron Giles] - DirectDrawでブレンド表示が必要な場合、オフスクリーンのシステムメモリバッファに 描画するように変更。そのため、こうしたケースでは少しのスローダウンで全てのエ フェクトにアクセスできます。[Aaron Giles] - コマンドラインオプション -effect <ファイル名> を追加。RGBマルチオーバーレイと して使うPNGファイルを設定します。これにより、スキャンラインとRGBのアパーチャマ スクエフェクト表示が可能になります。これらのオーバーレイはゲーム画面に合わせて 回転され、他のアートワークには影響を与えず、ゲーム画面だけに適用されます。また、 これはオリジナルのrender_target解像度のときのみ動作するので、Direct3DとGDIモー ドでは画面ピクセルと1:1のマッピングをします。 DirectDrawモードでは、イメージのソースピクセルに1:1のマッピングをします(n:1の マッピングは -prescale n になります。例えば、-prescale 2 なら2ピクセルの高さの スキャンラインオーバーレイを使用します)。[Aaron Giles] - UIのオンスクリーンディスプレイに、画面毎の明るさ、コントラスト、ガンマ設定を追 加。これには、RGBデータをテクスチャにコピーするとき、OSDレンダリングコードがルッ クアップテーブルを使うようにする変更が必要です。デフォルト値は、コマンドライン または設定オプションで、-brightness、-contrast、-gammaを使って設定できます。こ れらのオプションは最終的な出力の画面領域だけに影響して、アートワークやUIなどは そのままなので注意してください。OSDで設定した値は各ゲーム毎に.cfgファイルに保 存されます。[Aaron Giles] - フルクリーン用の明るさ、コントラスト、ガンマ設定を追加。各画面毎のオプションと は異なり、DirectXを使ったフルスクリーンだけで動作して、アートワークやユーザイ ンターフェースなど、全体に影響します。-full_screen_brightness、 -full_screen_contrast、-full_screen_ganmmaオプションで設定します。 [Aaron Giles] - パレットシステムに汎用のペン変更通知コールバック追加。[Aaron Giles] - 新しいコントラスト制御によりベクター強度設定が不要になったので削除。 [Aaron Giles] - 各スクリーン毎にXとYのオフセットとスケール設定追加。これにより、コンテナ内の実 際のスクリーン位置をコントロールできます。ゲームに合わせた領域よりも外側を表示 するには、コアの表示領域よりも大きなスクリーンサイズをセットアップする必要があ ります。参考としてWilliamsドライバをアップデートしてあります。Eugene Jarvis氏 によれば、「ロボトロン」でモニタの表示を右側に調整するとスタックが表示されると のことですが、MAMEでも再現されるようになりました。OSDで設定した値は各ゲーム毎 にcfgファイルに保存されます。[Aaron Giles] - MAMEが動作状態になる前にUI以外のレンダリングが起きないように変更。このときは各 スクリーンの縁部分に1ピクセルの境界線が表示されます。[Aaron Giles] - option_get_int_range() と option_get_float_range() 関数追加。これは、これまで 呼び出し側で必要だった引数の範囲チェックをします。また、オプションのパース失敗 時に0ではなく、デフォルト値を設定するように変更しました。[Aaron Giles] - サブウィンドウがプライマリウィンドウの子として生成されないように変更。この設定 でマルチスクリーンが動作するか再確認をお願いします。[Aaron Giles] - ユーザーインターフェースをサブスクリーンに移動するオプション追加。選択された画 面は表示設定に保存されます。[Aaron Giles] 新規クローンセット ------------------ エメラルディア (World) [Brian Troha] 新規に追加されたGAME_NOT_WORKINGゲーム -------------------------------------- Magic Fly [Roberto Fresca] 7 e Mezzo [Roberto Fresca] 0.106u10 -------- MAMETestersの修正バグ --------------------- coininputs0106u6gra [Canim] champbwl0106u9gre [Pierpaolo Prazzoli] ソースの変更点 -------------- - デュアルスクリーン対応:Dynax製ゲーム、TX1、RockMS、Nichibutsu麻雀ゲーム、 「サブズ」[David Haywood] -「ペアーズラブ」のDIPスイッチを完全に。[Roberto Fresca] - Taito JCシステムのバグ修正をいろいろ。[Ville Linde] - スクリーンショット用コードをクリーンアップ。デバッガコマンドと再接続。 [Nathan Woods] - centipedドライバにステートセーブ追加。minivadr、zaxxonドライバでステートセーブ 可能に。[Buddabing, Aaron Giles] - Atari computerドライバのPIAアドレッシングリグレッション修正。[Nathan Woods] - ROMロードとグラフィック復号化時中に、黒画面の代わりに簡単なプログレス表示追加。 [Aaron Giles] - 選択したビュー、回転、アートワークの状態をゲームのcfgファイルに保存する機能追 加。[Aaron Giles] - レンダラが初期化以前にUIエレメントを表示しないように変更。[Aaron Giles] - キーボードLEDが再び動作するように修正。[Aaron Giles] - フルスクリーンブライトネス調整のバックサポート追加。[Aaron Giles] - パレットビューで+/-キーをサポート。パレットやグラフィックが大量にあるときに、 列・行のヘッダを示すチェックマークを追加。[Aaron Giles] - グラフィック・パレットビューアでのUIキーをユーザ設定できるように変更。 [Aaron Giles] - 親セットとのアートワーク共有を修正。[Aaron Giles] - dotron、skydiver、spacewar、gorf、atarifb、sspeedr、gollygho、spyhuntの各ドラ イバで新アートワークシステムをサポート。[Aaron Giles] - 完全に単一色のオーバーレイをピースとして簡単に再利用できるように改良。 [Aaron Giles] - 全ての内部レイアウト設定を.layファイルにコンバート。残りの全ドライバも新レイア ウトに移行。[Aaron Giles] - -listxmlにマルチスクリーンの情報を出力するように更新。[Aaron Giles] 新規クローンセット ------------------ クルージンワールド (version 2.4) [Aaron Giles] 0.106u9 ------- ソースの変更点 -------------- -「ペアーズラブ」のアドレスエラー修正('buffered RAM'プロテクトのシミュレーショ ン?)[David Haywood] -「グランドクロス」のアドレスエラー修正(サウンドIRQが原因。ただ、以前にAaron氏 がミュージックプレーヤを外したのは関係あるのだろうか?)。新しいサウンドコアを 書くのではなく、今のところはIRQを無効にしたのみ。[David Haywood] - デバッグビルドがDeco MLCゲームでクラッシュするのを修正。[David Haywood] -「テクモボウル」、Gaelco 2、「X-MEN」(6人版)、Megatechドライバでデュアルスク リーン対応。[David Haywood] - VIDEO_UPDATEがフラグセットを返すように変更。今のところ定義されているフラグは一 つだけで、画面表示が直前の更新から変化していないかを示します。ほとんどのドライ バは0を返せば良いでしょう。[Nathan Woods] - MSM5205 ADPCMデコーダで、シグナルのオーバーフローを防ぐためにのバウンドチェッ クをしないように変更。MSM5205のデータシートには、このような動作はせず、チップ にはオーバーフロープロテクトが無いことがはっきり記載されています。また、処理さ れた信号が12ビットでも、チップ内蔵のDAコンバータは10ビットになります。 [Nicola Salmoria] - Sega Model 2ドライバの更新: [Ville Linde] - i960のバグ修正 - SHARCの改良とバグ修正 - ジオメトリDSPのHLEをとりあえず追加 - ビデオハードエミュレーションをvidhrdw/model2.cに移動して、初期的な3Dグラフィッ クエミュレーションを追加 - Taito JCドライバの更新: [Ville Linde] - M68040 FPUエミュレーションを改良 - TMS320C51コアを改良 - 2Dグラフィックエミュレーションを追加 - 全ゲームに入力追加 - 全ゲームでサウンドを正しく実装 -“早送り”機能追加(デフォルトはInsertキー)。キーを押している間、フレームスキッ プを最大にして、速度制限をオフにします。エミュレーションをスキップする場合に便 利です。[Aaron Giles] - 拡大モードを切り替えたときに、丸め誤差のせいでフォント表示がおかしくなっていた のを修正。[Aaron Giles] - makefileで、レイアウトの依存関係の処理をクリーンアップ。[Aaron Giles] - Direct3Dモードで矩形クリッピング時のバグ修正。[Aaron Giles] - PunchoutとPlaychoiceドライバでスクリーン0がメインの画面になるように入れ替え。 [Aaron Giles] -「ダライアス」で、2つのスクリーンに3つの画面を表示できるように、のレイアウトに “左半分”と“右半分”を追加。ただし、UIかコマンドラインで-view0と-view1を使っ てはっきりと設定する必要があります。[Aaron Giles] - 起動時のUI画面でテキストの計算を一回だけに変更。これにより、"game doesn't work"を表示するときのCPU使用量を大幅に減らすことができます。[Aaron Giles] - グラフィックとタイルマップ表示時のポーズ・ポーズ解除をサポート。[Aaron Giles] - コントロールレイヤーにターゲット毎のget/setコールを追加。これにより、アートワー クレイヤー表示の動的な操作や、画面サイズの変更オプションなどが可能になります。 これらの設定を操作するメニュー項目を追加しました。[Aaron Giles] - グローバルな設定からoption.use_artworkを削除しました。これは、OSDレイヤーが直 接操作するようになりました。[Aaron Giles] - ラッピングしないテクスチャからはみ出したピクセルによって、最大のテクスチャサイ ズを超えることがあったのを修正。[Aaron Giles] - 最大のテクスチャサイズという考えをコアレンダラに追加して、OSDレイヤーが処理で きない場合に巨大なテクスチャが要求されるのを防ぐようにしました。[Aaron Giles] 0.106u8 ------- MAMETestersの修正バグ --------------------- listxmlvaridation0106u7ora [Aaron Giles, VGR] screenshot0106u5ora [Aaron Giles] ソースの変更点 -------------- - -listxmlで他のオプション同様に、出力するゲームをワイルドカードで指定できるよう にしました。[Aaron Giles, Buddabing] - より全般的な6840モジュールの改良。[El Condor] - MESS専用のAtari FDCコードをMESS専用ファイルに移動。またバグも修正。 [Nathan Woods] - Psikyo4とBackfireドライバでマルチスクリーンをサポート。[David Haywood] - 共通コードをtaito_en.c (Taito Ensoniqサウンドシステム)に移動。[David Haywood] - DirectDrawレンダラに16bit色表示追加(switchresがoff、またはウィンドウ表示の時 のみ使用)。ソフトウェアラスタライザの16bitラインレンダリングを修正。 [Aaron Giles] - ddrawでビュー変更したときにスクリーンの縁部分がきちんと消去されないバグを修正。 [Aaron Giles] - UIをシングルスクリーンに限定。[Aaron Giles] - パレット/グラフィック/タイルマップビューアを再実装。F4で表示しますが、動作は異 なります。 モード変更はEnterキーを押してください。それぞれのモードで使う新しいキー設定は 以下の通り: * パレット/カラーテーブルモード: [ ] - パレットとカラーテーブルモードを切り替えます up/down - 1ラインずつ上下にスクロール pgup/pgdn - 1ページずつ上下にスクロール home/end - リストの先頭、または終端に移動 enter - グラフィックビューアに切り替え * グラフィックモード: [ ] - グラフィックセットの切り替え up/down - 1ラインずつ上下にスクロール pgup/pgdn - 1ページずつ上下にスクロール home/end - リストの先頭、または終端に移動 left/right - 色変更 r - 時計回りに90度回転 - + - 一列に表示するタイル数の増減 enter - タイルマップビューアに切り替え * タイルマップモード: [ ] - タイルマップの切り替え up/down/left/right - 8ピクセルずつスクロール shift+up/down/left/right - 1ピクセルずつスクロール control+up/down/left/right - 64ピクセルずつスクロール r - 時計回りに90度回転 - + - 拡大率の増減 enter - パレット/カラーテーブルモードに切り替え グラフィックとタイルマップモードでは、整数の倍率でデータを表示するため、レンダ ターゲットの解像度に応じて表示領域が制限されます。-video ddrawについては、 -prescaleで画面を拡大することで、表示領域のピクセル数を増やせます。また、 -video d3dではレンダターゲットは画面自体の解像度になります。[Aaron Giles] - -video ddrawとハードウェアストレッチ無しで動作する場合に、実際のアスペクト比で 表示するための拡大処理を改良。[Aaron Giles] - OSDレイヤーがレンダリストを保持しているときに、古くなったデータが参照されない ように、内部テクスチャへの参照追跡をさらに追加。[Aaron Giles] - cygwin用のコンパイルオプションをwindows.makに移動。[Aaron Giles] - マシンドライバからアスペクト比の定義を削除。この情報はrender/viewシステムによ り指定するようになりました。特殊なアスペクト比のゲームは、そのゲーム専用のスク リーン位置を指定するレイアウトを設定します。 - スクリーンショットが正しく回転するようにしました。また、マルチスクリーンゲーム では、それぞれの画面毎にスクリーンショットを保存するようにしました。(たとえば、 cyberbalでは両画面が表示されているときにスクリーンショットを撮ると、2つのPNG ファイルにそれぞれの画面を保存します)[Aaron Giles] - ビルトインレイアウトの処理方法を変更。実際の.layファイルを入れるlayoutディレク トリをソースに追加しました。これらはコンパイル時に.lhファイルにコンバートされ、 ドライバ側から#includeして参照されます。ビルトインの横画面、縦画面、デュアルス クリーンのレイアウトは、以前のように動的に生成するのではなく、この方法で処理す るようにしました。ゲーム固有のアスペクト比などをサポートするため、XMLの属性指 定読み込み時に、ほとんどの変数の置き換えを限られた形で行います。[Aaron Giles] - デフォルトのレイアウト選択を改良。マルチスクリーンゲームをシングルモニタで表示 する場合、一つの画面に全てのスクリーンを表示するレイアウトがデフォルトになりま す。また、マルチモニタ環境では、モニタ毎に1画面を表示します。[Aaron Giles] - punchoutドライバをデュアルスクリーン対応に変換。また、タイルマップを使うように ビデオ部分を書き直し。[Aaron Giles] - PlayChoice 10とvsnesドライバにデュアルスクリーンサポート追加。[Aaron Giles] - マシンドライバレベルでデフォルトレイアウトを指定するMDRV_DEFAULT_LAYOUTを追加。 [Aaron Giles] - DariusとNinja Warriorsドライバにトリプルスクリーンサポート追加。またWarrior Bladeドライバでデュアルスクリーンをサポート。[Aaron Giles] - palette_set_brightnessを使うドライバのパレットを修正。[Aaron Giles] - 実際のモニタ数以上の画面で動作する際のロジックを変更。シングルモニタに複数のフ ルスクリーン表示を配置しようとするのではなく、フルスクリーンにできるだけ多くの 画面がフィットするようにします。[Aaron Giles] - クリアが必要な最低限の画面領域のセットを導き出す方法を最適化しました。複雑な ビューやマルチスクリーンでも動作します。[Aaron Giles] 0.106u7 ------- MAMETestersの修正バグ --------------------- namcond1_0106u3yel [Aaron Giles] ソースの変更点 -------------- - Sang Hoドライバの改良である程度プレイ可能。[David Haywood, Tomasz Slanina] - Pasha Pasha 2ドライバで一つずつずれるエラーを修正。[Pierpaolo Prazzoli] - 6309逆アセンブラで正確なバイト数を使用するように一部の命令フォームを修正。 [Nicola Salmoria] - DirectDrawの再サポート。以前のサポート方法とは違い、DirectX 7以降が必要です。 レンダリングに使用するビデオシステムを制御する新オプションを追加しました。 -video d3dと指定するとDirect3D、また-video ddrawと指定するとDirectDrawを使用し ます。さらに、-video gdiとすると強制的にGDIを使用してレンダリングします。同様 にDirectDrawでのストレッチ表示を制御するために、-hwstretchオプションを再追加し ました。DirectDrawを使っている場合でも-prescaleオプションを使えるようにしてあ ります。マルチスクリーン環境でも動作するようになっています。[Aaron Giles] - rendersw.cで描画先からの読み込みを防止するオプションを追加。これにより、多くの ブレンドやエフェクト処理を行うことができなくなりますが、ビデオメモリターゲット のソフトウェアレンダラを指定することが可能になり、パフォーマンスの低下を防ぐこ とができます。また、処理の重いアルファブレンディング処理を回避することで、ソフ トウェアレンダリング全体のパフォーマンスも上がります。[Aaron Giles] - フォントロジックを改良。低解像度での小型フォントの拡大縮小を適切に処理します。 完璧ではありませんが、新DirectDrawを使う場合、ほとんどのゲームでうまく動作しま す。このときは常に最小の解像度でゲームを描画します。[Aaron Giles] - Partial Updateが変になっていたバグを修正。全て正常になっているはずです。 [Aaron Giles] 0.106u6 ------- MAMETestersの修正バグ --------------------- wboysys2_0106u4gra [Canim] ソースの変更点 -------------- - MSVCでのx64コンパイルサポートのマイナーな修正。[Malice] - astdeluxとomegraceのビルトインオーバーレイを新レンダシステム用に更新。 - mcr68ドライバの入力を修正。[Peale] - 新デバッガのカスタムレジスタリストを修正。[Tim Schuerewegen] - GCC 4.xでV60コアがきちんと動作するように一時的な対応(GCC 4.1.1でテスト)。 [R. Belmont] - drc blitterを改良。[Olivier Galibert] -「Polygonet Commanders」の改良: [R. Belmont] * Z80のIRQ/NMIを修正 * メモリマップを新しい方法に更新 * ネットワークステータスビット追加。起動テストをパスしてDSP56kが未実装命令コー ドでクラッシュするまでうまく動作します - Atari/Max-A-Flexドライバを今風にするため、いろいろなクリーンアップ。 [Nathan Woods] - Sega multi-32ドライバでマルチスクリーンをサポートするようにアップデート。 [Aaron Giles] - 新レンダラの不具合に集中するため、とりあえずマルチスレッディングを無効にしまし た。インフラ部分は全てそのままなので、window.cのENABLE_THREADSフラグを立てれば 有効にできます。[Aaron Giles] - レンダターゲットの設定時に“フィットするように拡大”するのをサポート。この結果、 “-keepaspect”オプションを再追加しています。[Aaron Giles] - プレスケールエフェクトに固定機能を追加。これにより必要以上に大きなテクスチャを 生成しようとしなくなります。プレスケールの段階でフィルタがかからないように明示 的にレンダステートをリセットする必要があります。また、一部のビデオカードでフィ ルタがかからないように、StretchRectの使用方法を修正しました。[Aaron Giles] - レンダターゲット設定時のピクセルの縦横比の動作を修正(誤った方向に訂正されてい ました)。[Aaron Giles] - スレッドプライオリティロジックをticker.cから本来の場所であるwinmain.cに移動し ました。[Aaron Giles] 新規サポート、またはGAME_NOT_WORKINGが取れたゲーム -------------------------------------------------- Pasha Pasha 2 [Pierpaolo Prazzoli] Rock Tris [Pierpaolo Prazzoli] 麻雀クリスタル(X-TAL)7 / Mahjong Diamond 7 [Luca Elia] ジャンピューター'96 (Japan) [Luca Elia] わたしはすずめちゃん [Luca Elia] 新規クローンセット ------------------ スペースフューリー (revision B) [Highwayman] Double Point (Dong Bang Electron) [David Haywood] 新規に追加されたGAME_NOT_WORKINGゲーム -------------------------------------- Red Corsair [David Haywood] Puzzle Star? (Sang Ho) [David Haywood, Tomasz Slanina] Sexy Boom [David Haywood, Tomasz Slanina] Super Free Kick [David Haywood] High Seas Havoc [David Haywood] Bombs Away [David Haywood, Andrew Gardner] 0.106u5 ------- 注意: このバージョンより、Windows版MAMEは別々のスレッド上で動作します。これに関 係して、特に速度制限しない場合などで問題が起こるかもしれません。普通に使用してい るときのクラッシュや謎の動作などを見つけた場合は、http://mametesters.orgに報告し てください。 MAMETestersの修正バグ --------------------- cheat_menu0106u3ora [Aaron Giles] cheat_file_option0106u3ora [Aaron Giles] ソースの変更点 -------------- - decocassドライバのクリーンアップ: [Juergen Buchmueller] - ハードコードテーブルを全て削除 - cexplore.pro 32バイトPROMをリバースエンジニア - windows.makの64ビットビルドサポートを修正。[Malice] - 新configシステムにより、gamenameが勝手に再割り当てされるバグを修正。 [Nathan Woods] - 設定したオプションがパースされたときのコールバックを指定する機能を追加。これは MESSでシステム固有のコマンドラインオプションを追加するのに使用します。 [Nathan Woods] - さらに一般的な6840の改良。[El Condor] - Pasha Pahsa 2ドライバの改良。[Pierpaolo Prazzoli] - テスト用のOSDのロックを追加: [Aaron Giles] - osd_lock_alloc() - ロックの割り当て - osd_lock_acquire() - ロックを捕捉して、成功するまでブロックする - osd_lock_try() - ロックの捕捉を試みて、成功したかどうかを返す - osd_lock_release() - ロックを解放する - osd_lock_free() - ロックが使用したメモリを解放する OSDレイヤーがマルチスレッドを使っていない場合、これらは無効にされます (osd_lock_acquireはTRUEを返し、残りは偽の値) - 起動時のUI画面をESCキーでキャンセルして終了できなかったのを修正。[Aaron Giles] - レンダリングの変更と修正: [Aaron Giles] - 新関数 render_view_item_get_state() 追加。指定したアイテムの状態を返す - render_target_get_primitives が新しい構造体 render_primitive_list を返すよう に変更。この構造体は osd_lock と共にプリミティブのリストを保持します。 osd_lockはリストの処理中に保持する必要があります - ゲーム動作中の画面回転"Rotate View"オプションをvideoメニューに追加。 - ウィンドウ生成と管理を別スレッドに移動しました: これにより、ソフトウェアレン ダリングとDirect3Dコールは全てメインゲームとは別スレッドによって処理します。 マルチCPUやデュアルコアを有効に使えます - 速度制限の動作について、未処理項目がすでにあるときにレンダリングをスキップす るように変更; これにより"早送り"エフェクトが改善されます - -prescaleオプションを追加。画面描画の前にゲーム画面のビットマップを予め拡大し ます; これにより-filterを有効にしたときの"ぼやけた"表示をなくすことができます が、いくらか速度を犠牲にします。設定は今のところ整数値のみをサポートしていま す("auto"はまだありません) 新規サポート、またはGAME_NOT_WORKINGが取れたゲーム -------------------------------------------------- Hard Times [Pierpaolo Prazzoli] 0.106u4 ------- MAMETestersの修正バグ --------------------- atarigt0106u3red [Aaron Giles] bestmatch0106u3ora [Aaron Giles] midyunit0106u3red [Aaron Giles] ソースの変更点 -------------- - 新しい関数 mame_dubug_is_active() を追加。デバッガでポーズ中かをコアコードから 確認できます。[Aaron Giles] - コマンドラインで無効なドライバ名を指定したときのクラッシュを修正。他の移植版で も使えるように、類似名の照合ロジックをdriver.cに集めました。[Aaron Giles] - 以前のようにZIPファイルのドラッグ&ドロップで動作するように、ドライバ名から正 しくパスを取り出してROMパスに追加するようにしました。[Aaron Giles] - レンダラのアップデート: [Aaron Giles] - 起動時に機能検出で間違った警告を表示していたバグを修正 - 一部のグラフィックカードで対応できないため、追加のバーテックスパディング削除 - Direct3D 9とDirect3D 8のサポート追加; デフォルトはD3D 9ですが、対応していない ときは自動的 にD3D 8を使用します - D3Dのバージョン指定用新オプション -d3dversion 追加 - フィルタリングすると画面のエッジ部分が化けるカードがあるため、全テクスチャの 周囲に1ピクセルの黒いボーダーを追加 - 速度制限なしでD3D 9を使っている場合に、“do not wait”機能を有効にしました; これにより、速度制限しないときのスピードが大幅に上昇しますが、フルスクリーン でしか動作しないようです - トライアングルファンからトライアングルストリップに変更しました - レンダリングのステートが必ず最小限に設定されるように改良 - デバイスをロストしたときにリセットするコードを追加しました。フルスクリーンモー ドから切り替え、マルチモニタモードで解像度を変更したときの修正ができまs - 新関数 verbose_printf() 追加。グローバルの詳細をチェックして画面出力する代わり に使用します。グローバルチェックしている部分を全て新関数で置き換えました。 [Aaron Giles] 新規サポート、またはGAME_NOT_WORKINGが取れたゲーム -------------------------------------------------- Card Line [Tomasz Slanina] 0.106u3 ------- 注意: このビルドよりデフォルトで新レンダリングシステムを使用します。今の時点で主 に重要視しているのは動作速度ではなく互換性です。速度制限をしないときの速度は、以 前の-ddrawシステムと比べて落ちてます。これは、以前のようにグラフィックハードがビ ジー状態になっても、描画をスキップする良い仕組みがまだないためです。もし、表示に 不具合があったり、MAME起動時に警告メッセージが表示される場合は http://mametesters.org に報告してください。 注意その2: コマンドラインとINIファイルの読み込みコードを書き換えました。パラメー タ処理の問題を見つけた場合は http://mametesters.org に報告してください。 MAMETestersの修正バグ --------------------- colmns970105gra [Mariusz Wojcieszek] ソースの変更点 -------------- - osd_free_executable()にサイズ引数追加。 [Olivier Galibert] - dgpixゲームでのフラッシュROMの書き込みを修正。[Pierpaolo Prazzoli] - jalmah.cのDIPスイッチをさらに修正・改良: [Roberto Fresca] Kakumei: - 画面反転のDIPスイッチ追加 Daireika, urashima & mjzoomin: - 画面反転のDIPスイッチ追加 - テスト・サービスモードのDIPスイッチ追加 - コインエイジを修正 - 1942、1943、1945kiiiドライバにステートセーブサポート追加。[Lee Mitchell] - 15bitダイレクトRGMモードが動作するようにblitterを修正。[Nathan Woods] - リソーストラッキングコード、auto_malloc()、auto_strdup()などを別モジュール restrack.cに再構成。[Nathan Woods] - スタックが少ないシステムでもうまく動作するように、サイズの大きいスタックバッ ファをヒープバッファに移動。[Lawrence Gold] - 親セットとクローンセットの両方でNO_DUMPのROMがあるときのROMチェックを修正。 [Hobbes@Play] - MSVCコンパイラサポートの改良: [AtariAce] - nec.cから_MSC_VER用のプラグマを削除 - winprefix.hから_MSC_VER用の#include を削除 - makefileでgccの代わりにclでvconv.exeをブートするように変更 - libへのコールを/libのリンクを使うように変更(?) - vconvでVC71以降の/arch:SSE2のみを使うように更新 - winmain.cのプロファイラコードをクリーンアップ - MAMEがshell32に直接依存しないように修正 - MSVC 5.0でもコンパイルできるようにプリプロセッサ定義をいくつか改良 - 以下のドライバでDIPスイッチを大量に更新: actfancr, aliens, angelkds, argus, asuka, bwing, compgolf, cop01, dblewing, dec8, dogfgt, dooyong, fuukifg2, homedata, jcross, kaneko16, m92, mainevt, megasys1, metro, ms32, nmk16, paradise, seta, seta2, shisen, snk, ssv, system1, taito_b, taito_f2, taito_l, tecmo, thedeep, thepit, ultraman [Brian Troha, Guru, Yasuhiro Ogawa] - デバッグビルドで、割り当てたデータにランダムなデータを配置するコードを追加。 [Aaron Giles] - x86アセンブラコードがかなり残っていたのを削除。同様にmakefileのNASMへの参照も 削除。[Aaron Giles] - オプションの構文解析コードをより柔軟性と汎用性があるように書き直し。新コアソー スファイルoptions.cにより、キーと値の組み合わせからなるデータベースの追加と管 理が可能になり、ランタイムでクエリーができます。既存のフロントエンドオプション 全てをこのコード経由にしました。 旧レンダラ用のバウンドチェックはかなりいいかげんで、複雑なオプションは結果的に 未接続になっていました。まだ旧レンダラを使っている場合は、注意してください。 [Aaron Giles] - fronthlp.cを再構成して、さらに汎用的になりました。抽象化がもう一段階進めば、コ アへ昇格するかもしれません。[Aaron Giles] - 新レンダラでマルチスクリーンを制御する新オプション: [Aaron Giles] -numscreens ウィンドウをいくつ作るかを指定する -screen0/screen1/... 各ウィンドウのスクリーン名を指定する -resolution0/resolution1/... 各ウィンドウの解像度を指定する -aspect0/aspect1/... 各スクリーンのアスペクト比を指定する -view0/view1/... 各スクリーンの起動時のビューを指定する - 新レンダラによりosd_skip_this_frame()を廃止します。直後のフレームをスキップす る必要があるときはosd_update()がTRUEを返します。[Aaron Giles] - 新レンダラシステムの修正: [Aaron Giles] - 新レンダラをデフォルトで有効に設定 - 起動時に未初期化のメモリによりクラッシュしたのを修正 - 処理の順番が間違っていたため終了時にクラッシュしたのを修正 - 15bitダイレクトRGBゲームのレンダリングを修正 - フレームスキップ時に変になる問題を修正 - 表示領域が1つずれるエラーを修正 - クワッドプリミティブの正確なクリッピングを追加 - 余分な描画を避けるためにクリアステップを最適化 - ソフトウェアレンダリングでメジャーなブレンド形式を全てサポートするように改良 - -filterオプションのサポート - スナップショット機能の再接続。ただし、screen 0のみで回転は無し - 新ビデオオプションメニューでUIの問題があったのを修正 - 正確なエフェクトを生成するため、ブレンディングモードをさらに強力に定義 - スクリーンビットマップのテクスチャを示すフラグを追加 新規サポート、またはGAME_NOT_WORKINGが取れたゲーム -------------------------------------------------- Mario Lemieux Hockey (Mega-Tech) [David Haywood, Guru] ハイウェイチェイス (デコカセ) [David Widel, Juergen Buchmueller] Critter Crusher / タタコット [Mariusz Wojcieszek, gbluma] 大怪獣の逆襲 [Tomasz Slanina, Guru] 新規クローンセット ------------------ Turtle Ship (North America) [Brian Troha] 0.106u2 ------- 重要なお知らせ: このバージョンで、ビデオシステムは完全に入れ替え、再設計したもの になっています。古いビデオシステムがまだデフォルトですが、一部の機能は動作しませ んので、バグの報告は不要です。旧システムはすぐに廃止予定です。新システムは makefileのNEW_RENDERフラグを設定するとコンパイルされます。 ■■新システムはまだ作業途中です!■■ ビデオカードに関係した問題(特定のハードでは動かないとか、表示が変になるなど)を 除いて、今のところまだバグを追う段階ではありません。現在動作しない事柄のリストは render.cの最初の部分にすでにまとめてあります。また、さらに多くのこともこれから調 べていく必要があります。 ハードウェアアクセラレーションを使って新ビデオシステムを動作させるには、DirectX 8以上に対応したマシンが必要です。 MAMETestersの修正バグ --------------------- suchipi0106u1gra [Roberto Fresca] ソースの変更点 -------------- - SHARCコアのサーキュラーバッファをサポート。またマイナーなバグをいくつか修正。 [Ville Linde] - Nintendo SherifffドライバでカラーPROMをサポート。[Stefan Jokisch] - ディスクリートサウンドの更新: [Derrick Renaud] - 現在の構造体の使い方に合わせて、外部のディスクリートサウンド構造体にTypedef追 加。また、ネームポリューションを防ぐために、ほとんどのドライバでこれらを静的 に定義 - 新しくDISCRETE_555_VC01モジュールを作成。これは「ボーダーライン」で使用する 555とオペアンプオシレータ回路です - 新型ビデオレンダリングシステムを追加。新ファイル、render.cにロジックが含まれて います。 メジャーな変更は以下の通り: [Aaron Giles] - OSDレイヤーがosd_initの時に、一つ以上のrender_targetsの割り当てを担うようにな りました。新システムでは以前のosd_create_displayとosd_close_displayは使いま せん。そのため、初期化はosd_initのときに行う必要があります。 - 以前のosd_update_video_and_audioコールはシンプルにosd_updateコールに置き換え ました。この新型コールは現在のエミュレートされた時間であるmame_timeをOSDレイ ヤーへ渡します。速度制限や速度の計算はフレームレートに代わって、これを使って ください - osd_updateは、レンダリングシステムを呼び出し、現在のフレームでそれぞれの render_targetについて描画する必要があるプリミティブのリストをリクエストする必 要があります。プリミティブはクリップする矩形領域、ライン、レクトリニア四角形 のみのシンプルなものです。 - 必要なら、OSDレイヤーはMAMEのソフトウェアラスタライザへコールバックもできます。 ラスタライザコードはインクルードモジュールとして提供されるので、特定のプラッ トフォームに依存するビデオモード向けに最適化や調整ができます。 windows/rendsoft.cに使用例があります - 新規のレイアウトファイルフォーマット、.layを追加。これはXMLベースで、これまで の.artファイルを置き換えるものです。.layファイルはrender_targetがどのように レンダリングするかを記述します。レイアウトファイルは複数の“ビュー”を持つこ とができ、それぞれ様々な要素の描画方法を定義できます。これらのビューは新規に 追加した“Video Options”メニューからランタイムで選ぶことができます。 - ビルトインのUIフォントは.BDFフォントでオーバーライドできます。.BDFファイルを “ui.bdf”に改名して、MAMEディレクトリに置くだけです。それなりの解像度で動かす 場合、ポイントが大きめのフォント選べば、拡大してもきれいに表示されます - Windowsでの実装はDirect3D 8をレンダリングの優先メカニズムとして使用します。デ フォルトでは、以前のように解像度を変更するのではなく、現在の解像度でレンダリ ングします。これはコマンドラインで、-switchersを追加することで変更できます - 新レンダラにはまだ不完全・未完成な機能が多く残っています。そのため、これはま だデフォルトにしていません。不完全な機能のリストはrender.cにあります 新規クローンセット ------------------ WWF: Wrestlemania (rev 1.20 08/02/95) [Corrado Tomaselli] ヘビースマッシュ (Asia version -4) [Corrado Tomaselli] マッドエイリアン (ハイウェイチェイス) [Stefan Jokisch] 新規に追加されたGAME_NOT_WORKINGゲーム -------------------------------------- Pasha Pasha 2 [Pierpaolo Prazzoli] Trivia Madness [Pierpaolo Prazzoli] 0.106u1 ------- 重要なお知らせ: システムでビデオ関係の大幅な変更を開始しました。既存のビデオコー ドの大部分は動作すると思いますが、作業が終了するまで一部の機能は動作しなかったり、 動いても正常ではなくなるかもしれません。このリリースでは特に、Direct3D blitをし ない場合のRGBエフェクトが壊れています。当座は、ビデオシステムについての問題は報 告しないでください。安定したMAMEが希望の場合はリリース0.106を使ってください。以 上お知らせしておきます。 MAMETestersの修正バグ --------------------- gladiatr0105u4gra [Don Maeby] ソースの変更点 -------------- - taito_xドライバのアップデート: [AWJ] - twinhawkのサウンド修正 - 最近追加されたDIPスイッチの間違いを訂正 - supermanとtwinhawkにPORT_DIPLOCATIONSを追加 - MSVCコンパイラサポートの改良: [Nathan Woods] - vconvがバージョン情報に基づいて複数バージョンのMSVCをサポートするように改良 - パラメータトランスレーションをさらに追加 - vconvでビルドするときに、makefileがコンパイル中とリンク中のメッセージを表示す るように改良 - WindowsのblitterでDRCエンジンを使うようにコンバート。この変更によりRGBエフェク トは公式的に動作不可。[Nathan Woods] - 無効なファイルネームで-debugscriptコマンドラインオプションを使ったときにクラッ シュするバグを修正。[Nathan Woods] - DIP_PORTLOCATION()マクロのオーダリングが一定になるように訂正。マルチビットDIP スイッチは、一次LSBで定義してください。inptport.hにこれについてのコメント追加。 [AWJ, Aaron Giles] - デコカセゲームの背景色修正。[Nicola Salmoria] - micro3dドライバがクラッシュする可能性があったのを修正。[MamePlus!] - CHD-CDサポートの改良: [R. Belmont] - RAW CDセクタ変換サポートをさらに追加。例えば、ゲーム側から、RAW CHD-CDより 2048バイトのデータセクタをリクエストしても正確なデータが得られます - CHDMANのエラーメッセージを逆に入れ換え。非RAW CHD-CDは廃止予定になりました。 - susumeで、オリジナルのKonamiディスクからRAW CHD-CDを直接読み込むようにしました。 - Polygonet Commanderドライバの改良: [Andrew Gardner] - dsp56コアにchange_PC()コール追加 - ハックっぽいdsp56kの初期化、有効化、無効化を削除 -「Polygonet Commanders」のdsp56kに関連付けたバンキングハードを予備的に実装 - 6840エミュレータのMSBアクセスとラッチリーディングを修正。[El Condor] - N64オーディオ出力の改良: [R. Belmont] - オーディオインタフェースをステレオDMADAC(実際のもの)に書き換えにより、コー ドがかなりシンプルになりました - AI割り込みの意味づけを修正 - 誤ってIPT_LIGHTGUNを使っていたゲームを大量にIP_AD_STICKに変更。[Aaron Giles] - きちんとしたマルチスクリーンサポートのための準備。Machine構造体のvisible_area とrefresh_rateの値は配列として定義するように変更(1つにつき1画面)。 machine_configも同様の入れ換えで、以下のフィールドを削除: frames_per_second aspect_x, aspect_y screen_width, screen_height default_visible_area vblank_duration - これらは全て、新しいscreen_config構造体に保存します。[Aaron Giles] - 新レンダーシステムのサポートを改良するため、ユーザインタフェースコードを再構成。 [Aaron Giles]