0.135u2用の差分ソースがリリースされました。What's New日本語訳は以下の通り。HyperNeoGeoが動き出している他、サウンドのアップコンバート方法の改良など。
バグ情報は MAME Testers を日本語化したものです。
訳は全て非公式なものです。このページによるトラブルについて、筆者は一切責任を負いませんので予めご了承願います。
0.135u2出た
Sigma製SubmarineのWIP
Haze氏ページにSigma製のSubmarineというゲームのWIPが出ています。国内リリース情報が見つかりませんが、ネームエントリー画面を見ると出たっぽい雰囲気はあります。WIPは、当初不明だったカラーPROMが見つかり、色表示が正しくなっています。残りはスプライトの不具合などとのこと。
RB's Naomi WIP
R.Belmont氏のNaomi情報が更新。Guru氏ダンプのテトリスのWIPです。肝心のブロック部分はプロテクトデータが無いため未表示ですが、"七面鳥が絡む理由"のため来週取りかかる予定とのこと。
KaleさんWIP
Hyper Neo Geo 64ドライバについてKaleさんのところが更新されています。V-Blankレジスタの実装でパレットRAMの更新がされるようにした結果、侍魂、アスラのハングや表示系が大幅改善されています。さらに、追加でネットワークチェック用のIRQ11実装と、3DパケットのバイパスによりオフビートレーサーとラウンドトリップRVも2D表示が来ています。
m1.xml更新
Tafoidさんが管理しているM1用のゲーム定義ファイルm1.xmlが0.135u1の変更に合わせて更新されました。オリジナルのパックマンでは鳴らない音が出るということでjoymanとctrpllrpが追加されました。その他、細かなROM名の変更などもされています。
0.135u1出た
0.135u1用の差分ソースがリリースされました。What's New日本語訳は以下の通り。今回はてんこ盛りです。
ハイパーNeoGeo64 WIP
KaleさんWIPの更新で、ハイパーネオジオ64ドライバについての情報があがっています。いまのところ、ビーストバスターズセカンドナイトメアとアスラ斬魔伝のスクリーンショットが出ていますが、グラフィック表示はかなり限られています。ちなみに次のMAMEは、米国太平洋時間で木曜日夜に出そうかなーってアーロンさんが言ってました。
スラムダンク / Run & Gun 2 WIP
続いてスラムダンクに突入しました。
Kale氏が起動時のTMSチェックをスキップするようにしたところ、Run & Gun 2 / スラムダンクが動作しそうなのがわかった。スプライトの調子が悪く(ROMロード順かも)、ディスプレイイネーブルを書き出さない(プロテクト?)が、これらをバイパスして以下のショットのような感じになった。もしもこれがプロテクトでないとすると、シミュレーション無しで独自パレットやスプライトリスト、入力処理を行っているものが何なのか調べる必要があるだろう。
で、Kaleさんが速攻でプロテクトを直してスプライトを修正してます。
トイファイターの情報
RB氏WIPにトイファイターのプロテクト関係について書かれています。
1) MAME 0.134u1のトイファイター用プロテクションダンプは正しいものではない(Guru氏じゃなくて私の失敗)
2) あのDEMULチームのCah4e3氏によると、Sega自身がROM内に暗号化したバージョンとそうでないバージョンをごっちゃにしたままだったことが判明。ということは、プロテクションダンプ無しでプロテクトを外せるということになる。単にプロテクトのエミュレーション部分に対して、正しい場所のROMデータを読み込ませればよい
3) DEMUL 0.5.5とMAME 0.135のどちらでも、この方法でトイファイターのプロテクトを吸い出し無しで解除している。これ以上の作業は不要なり
Rushing Heroes WIP その2
Rushing Heroesの進捗状況の続報が出ています。HazeがROZに当たってる間、Kale氏がスプライトの修正、プロテクト解析などを行った模様です。
ROZレイヤーとゲームレイヤーの表示方法を探る必要あり。また、ROZタイルROMが不良(タイトル画面のグラフィックが無い)で、スプライトROMも不良の模様(ある位置からデータのずれがあって、一部キャラのアウトラインがおかしい)。
Haze氏と一緒にKonami GX GNWゲームの作業が順調に進んでいます。最新のニュースは、Haze氏がROZレイヤーを改良している間に、Rushing Heroesのスプライトを修正したのと、プロテクトを外せたことです(単純なワークRAM領域の入力バッファコピー)。グラフィック不具合はまだ多いですが、いちおうゲームは"プレイ可能"な状態にはなりました。
続・サッカースーパースターズWIP
Haze氏WIP再更新。たった半日でここまでもって行く解析力はすごいです。
machine/konamigx.cのコードは、これまで見た中でも最悪の部類だろう。
とはいうものの、Kale氏の協力を得ることができ、サッカースーパースターズの改良は更に進んだことで、かなりプレイできる状態になった。ただし、ROZレイヤーソースのクリッピングが未実装だったり、メインタイルマップのクリッピングがきつすぎて、画面右端が欠けるなど、まだいくつかの問題は残っている(この主な原因は、ゲームの解像度が576x224であるのに、KonamiGXのコードが384を最大解像度の前提としているため、それより大きい場合バッファオーバーフローが起こることによる)。
本来はデュアルスクリーン出力をサポートしなければいけないが、出力マルチプライヤはまだよくわかっていない。そのため、今のところシングルスクリーンとして動作している(Run and Gun / スラムダンクにも同様の問題がある)。
Rushing Heroes WIP
Haze氏WIP再々更新。Rushing Heroesに突入。
KonamiのRushing Heroesである。これは間違いなくプロテクトされている。しかし、今のところ本当に問題なのはプログラムデータROMの読み込み順が間違っているせいでハングすることだろう。どこまで行けるかやってみよう。
引き続きHaze氏WIP
8日、9日付け連続でHaze氏WIPが更新されています。ひとつはJaleco MegaSystem 32、もう一つはKonami System GXのROZレイヤーについてで、どちらも長く放置されていた問題です。また、テスターでもMegaSystem32の実機情報を募集されています。
Konamiのサッカースーパースターズを調べてみることにした。
これは "タイプ3"のGXゲームで、ROZレイヤーが追加されたものだ。とはいえ、これをドライバに実装するのはいささか悪夢のようだ。とりあえず、既存の(間違った)ROZ処理を削除して、独自のものを追加した。以下のスクリーンショットはROZレイヤーを表示させたものだ。
表示はかなりおかしく、ピッチが回転しても観客席が常に正面を向いている。ところが、これが元々の表示なのだ。私には、このゲームにプロテクトがあるかどうか、スプライトに問題があるのかどうか、果たしてこれらを正しくまとめて動作させることができるかはわからない。
Jaleco Megasystem 32には長い間プライオリティと影表示のバグがあったので、見直してみることにした。
最初に、Charles MacDonald氏のノートを元にメモリマップのクリーンアップを行い、プライオリティRAMを(一部だけ)使用しているテトリスプラス2の描画システムと同じプライオリティシステムを統合した。
テトリスプラス2のプライオリティシステムにより、影部分が隠れて若干プレイしやすくなった。しかし、個人的には影的な描画を実際に残すことで、これが忘れられないようにしておきたかった。
私が見た限り、影部分がプライオリティシステムと関連しているのは明らかだった。個人的な見解では、タイルマップの下にスプライトが配置されている箇所が影使用箇所であるというものだったので、そのまま実装したところ、ゲームパラダイスとテトリス2本は大きく改善した(これら以外では影は使用されていない模様)。
ただし、今のところ完璧な実装は考えておらず、プライオリティRAMの大部分はまだ未使用のままであり、本来は影が無いものまで表示されている可能性がある。とはいえ、全体的にはかなりの改善で、プライオリティRAMの解析が進むことで、いずれ解決されるのではないかと思う。
セカンドアースグラティアには、まだいろいろなプライオリティバグがあり、やはりこれもプライオリティRAMの処理の問題と見られる。いまのところ修正は出来ていない。
この作業を通じ、単体版のテトリスプラス2には影表示はサポートされておらず、Megasystem32版のみに実装されているという結論に至った。単体版を見ると、フェイクの影により、色付きの部分がグレーになってしまっているのがわかる(モードセレクト画面など)。もし、ハードウェア側でネイティブに影表示をサポートしているなら、こうならないはずであり、MS32版では正しい影表示を使用していることから、廉価版のハードウェアではこれを行えないのだろう。
このハードウェア自体、まだ多くの不明な点が残っていて、たとえば明るさの調整などにはいまだに手こずっている。これも恐らくプライオリティと関係しているようだ。他にも、タイルマップの無効化フラグ、ROZレイヤーのラッピング無効化フラグ、タイルマップディメンションの変更フラグ、その他いろいろなものが残っている。
Kale氏WIP - Haze氏に参加
KaleさんがHaze氏のサッカースーパースターズの改良に参加しました。
Haze氏のサッカースーパースターズ改良に参加しました。私はスプライトを担当しています。初めプロテクトされていると思っていたんですが、幸運にもされていないようで、単純に2画面のうちどちらに表示されているかを示すフラグが間違って設定されていたようです。このほかにも、ビットプレーンの順序も修正しました。これによって、ROZレイヤーは無いもののなんとか"動く"状態にはなっています。ただし、位置はかなりずれてます。
Haze氏WIP 閃激ストライカー修正
Haze氏ページにて、閃激ストライカーのスプライトなどのについて修正情報が出ています。
閃激ストライカーといえばMAMEでサポートされた当初よりスプライト表示に不具合の多いタイトルだった。前回、Kaneko Supernovaドライバを更新したとき、スプライトのズームに関係していると思われるフラグについて触れていたが、正しく修正することはできなかった。
最近TestersにギャルズパニックS2で入力テストモードの表示がおかしいという、一見無関係なレポートが寄せられた。
少し調べてみたところ、これには閃激ストライカーと同じフラグが設定されていることがわかった。テストモードは本来どのように表示されればよいかわかりやすいので、テストにはもってこいであった。
テストをいくつか行った結果、このフラグがスプライトに"縮小専用"モードを設定するものであることが判明した。これにより、縮小時の精度を向上させ、拡大を無効化する。ギャルズパニックS2のテストモードを修正して、閃激ストライカーも起動したところ、表示は大幅に改善されていた。墜落する敵が地面にぶつかるまで縮小表示され、爆発も正しく表示されるようになった。
このほかにも、Testersのレポートで、3面と5面のボスが正しく表示されていないというバグも修正を行った。
これらにより、閃激ストライカーの表示は以前よりもかなり改善された。これらに加えて、Super Novaグラフィックハードを使用するゲームで、ズームしたグラフィックに隙間が現れる(わかりやすいのはジャッキーチェンとギャルズパニック4)という精度系のエラーを調べてみたが、これといった解決策は見つからなかった。
MESSとKale氏WIP
MESS側の話題ですが、Kaleさんのページが更新されています。
この2ヶ月間はMESS側のプロジェクトで作業をしています。具体的には、NEC PC-6001、NEC-9801、Apricot Zi/F1です。これらは、概念的な欠陥のため全て動作せず、大規模なオーバーホールが必要(9801用のi386プロテクトモードなど)となっています。その間に、Yasu氏がプロ並みの技でSharp X1 Turob Model 40の吸い出しをしてくれました。これによりまず、"0x4ac00"という漢字ROMサイズのお馬鹿な制限が無くなり、漢字デコーディングの本当の動作がついに判明しました。実際には、0x3800から0x3fffの領域にキー値が配置されていて、そこに漢字実装用インデックスの上位ワードが含まれています。
m1.xml更新
Tafoidさんが管理しているM1用のゲーム定義ファイルm1.xmlが0.135の変更に合わせて更新されました。SDガンダムだけです。
Makaron WIP更新
ドリキャス・NAOMIエミュMakaronのWIP画像が更新、エアラインパイ六つのショットが出ています。マルチモニタ版、シングルモニタ版の両方がなぜか動作刷る模様。ただし専用BIOSの場合はF355のようにマルチボードの同期で問題が出るかもとのこと。
MAME 0.135出た
MAME 0.135がリリースされました。0.135の分のWhat's New-Jは次の通り。横幅がちょっとはみ出ていますが、今移行作業を行っている新ページではきれいに収まる予定です。
Super Hang-Onコンバージョン版
元DevのHaze氏が新しく見つかったスーパーハングオンについて見解を出しています。
最近Dumping Unionが吸い出しを行ったスーパーハングオンのバージョン違いがおもしろい。このゲームには未吸い出しの別バージョンがあるに違いない、ということは長年知られていた。MAMEでサポートしている海賊版が、ハングオンハードウェアで動作する未吸い出しセットが元になっていたからだ。また、海賊版のROMにステート変更コードが残っていることから、この未吸い出し版がサブCPUにFD1094を使っているのも明らかだった。
しかし、このセットと既存セットで、プレイ方法が全然異なることまでは予想していなかった。
新セットをエミュレートするという点で、当初私はこれが悪いニュースになると考えていた。既存のSystem16ゲームでは、全てサブCPUではなくメインCPUが暗号化されているため、ドライバにいくつかの変更を行ったが、そこで問題が発生した。
コードは、割り込みルーチンに入ろうとするところでクラッシュしており、復号キーのromcmpを行うと"固定ビット"問題が起きていた(これは吸い出し不良を示すことが多い)。この時点で、キー不良による復号処理の失敗という最悪のケースが疑われた。
幸いなことに事態はそこまで深刻ではなく、単に割り込み処理時のCPUリセットを間違えていただけと判明した(両者ともCPUを新アドレスにジャンプさせる)。問題は、CPUがリセットされているのにFD1094の暗号化ステートがリセットされないことだった。他のCPUが暗号化されたCPUをリセットさせるケースはこれが初めてだったので、この処理は用意されていなったのだ。
スーパーハングオンにおける、ゲーム内容の違いはスーパーチャージャーの有無である。これを有効にするとバイクの速度を280km/hから325km/hまで加速でき、バイク後方から炎が出る。
新バージョンでは、おかしなことにスーパーチャージャーを使わなくても325km/hまで出すことができ、通常のバイク速度自体も速く、スーパーチャージャーボタンの効果がない。このバージョンでは、テストモードにさえS.C(スーパーチャージャー)の入力がなく、代わりに左右のフットスイッチが設定されている。これらがスーパーチャージャーの役目を果たすのかと思って接続してみたが、これといった効果はなく、なんとも謎が多い。
この変更により、新版のゲーム内容はオリジナルのハングオンに非常に近くなっており、おそらくそれが変更に隠された秘密だろう。このバージョンはハングオン筐体の流用のためにデザインされたとみてまず間違いない。ハングオンの筐体にはスーパーチャージャーボタンは存在しない。旧筐体にはボタンがないためこのような変更が必要だったのだろう。
このバージョンを元にした海賊版では、理由はどうあれスーパーチャージャー動作が復活している。しかし、海賊版屋が上のような背景を知っていたかどうかはわからない。実際にプロテクトのされていないスーパーハングオンもあり、プロテクトされたハングオン入れ替え版をわざわざ複製するのはあまり筋が通っていない。思いつくことと言えば、彼らが独自のアップグレードキットを売ろうとしたことくらいだが、それならスーパーチャージャーボタンが有効化されていることの説明がつかない。どうやら、我々には知り得ない事情があったようだ。
このバージョンと海賊版の両方には、画面右側にスクロールに関するわずかな表示不具合がある。レーススタート時やコーナーなどで確認できるが、これがエミュレーション側の問題か、ハングオンハードウェアの制約、さらに改造キットのバグかどうかは不明だ(System16Aのテトリスのように、他のセガ製ゲームの入れ替え版でも明らかなバグは存在している)。
いずれにせよ、スーパーハングオンの稀少なバージョンがエミュレートされたことは喜ばしく、各作業に当たってくれたDumping Unionには感謝したい。
って、作業したのってUnionだっけ?
0.134u4出た
MAME v0.134u4のソース差分がリリースされました。what's new-Jは次の通り。
0.134u3出た
MAME v0.134u3のソース差分がリリースされました。what's new-Jはこちら。本体自体の更新はあまりありませんが、一部のコアとOSDコードが元作者の許諾を得た上で、BSDで再ライセンスされています。
0.134u2出た
MAME v0.134u2のソース差分がリリースされました。what's new-Jはこちら。
m1.xml更新
Tafoidさんが管理しているM1用のゲーム定義ファイルm1.xmlが0.134u1に合わせて更新されています。