カテゴリ「WIP」のアーカイブ(580件)(1/25 ページ)

鮫!鮫!鮫!、音出る

Hazeブログより。東亜プランの一部ゲームでは、Z80とプログラムROMを一体化したMCUチップが音を出していたため、内部のプログラムを吸い出すことができず長年音の出ない状態となっていました。

今回、Caps0ffというチームがチップを腑分け(デキャップ)に成功し、「鮫!鮫!鮫!」「ヴィマナ」「テキパキ」の3本についに本物のBGMと効果音が追加された模様。「ゴークス」と「フーピー」はチップが無いため作業してないとのこと。ちなみに、このデキャップチームは以前よく話題になった悪名高い連中とは異なります。サイトを見るとわかりますがとんでもないレベルなのがわかります。

Team Caps0ff

Nichibutsu続報

Kaleさんのニチブツドライバの更新ですが、ビデオ付きで追加されています。


アームドFドライバのスプライト色サイクルエフェクトを見つけたので実装しました。RAMベースのカラーテーブルでスプライトdefのバイト経由でルックアップします。このビデオにあるように、爆発やボーナスなどのかっちょいいエフェクトに使われています。まずはテラフォースから。

… 子連れ狼ではさらに活用されていて、赤忍者と普通忍者の爆発の違いを出すのにも使われています。 …

… アームドFではスプライトがとてもにぎやかになります。

Kale's MAME WIP

「コドゥレ」か「子連れ」か

KaleさんWIPにテラフォースと子連れ狼で使われているプロテクトチップ、1414M4の作業内容が出ています。テキスト表示に使われているもので、これまで欠けていたテキストが無事に出るようになりました。この辺の解析力の高さ、センス的なものはさすが。あと文字通りにローマ字化すれば「Kodure」ではありますが、どうも気持ち悪いのでKozureでと伝えておきました。

Way of the Lone Force

ドギューン!、V-V、ナックルバッシュの音出る

先日のバツグンのサウンドサポートに続いて、RobizaさんがドギューンやV-Vなどのサウンドも追加しました。ページはイタリア語なのでHazeが訳してあります。今回はさらにそれを日本語にしようというわけです。

バツグンは暗号化されていなかったので、AWJさんがCPUコアの必要機能を追加するとすぐに動きだしましたが、ナックルバッシュ、ドギューン、V-V、フィグゼイトはすべて暗号化されているのでさらに作業が必要でした。

Robizaさんによると、ナックルバッシュのサウンドCPUプログラムはバツグンのものに比べて、暗号化されていることをのぞけばとても似ていたため、まずその解読から取り掛かりました。これはすぐに見つかり、ドギューンとV-Vでも復号化テーブルが全く同じなのがわかったそうです。

このおかげで3タイトル同時に作業ができるようになり、起動時にサウンドCPUもブートさせるようにしました(サウンドCPUはメインCPUとハンドシェイクして、ゲームの起動前にDIPスイッチ情報を渡します)。

初期の段階では、復号化テーブルの命令が一部間違っていたため音に不具合がありましたが、これはすでに解決しています。

フィグゼイトのCPU用復号化テーブルは違うものを使っていましたが、Robizaさんがサウンドプログラム自体はドギューンのものとかなり近いことに気づき、現在約6割まで解読されたようです。ただし、今のところまだ起動しません。フィグゼイトではDIPスイッチではなくEEPROMを使っていて、背景データもプロテクトされています。

Haze WIP - Who Let the Dogyuun Out?

New list pack for M1

a2c-s438さんより送って頂いたM1用リストの追加と修正分をまとめました。更新内容はこちら。いつも投稿ありがとうございます。

New m1 lst pack including 3 lists made by a2c-s438 and one missed list for Motor Raid has been released. Please check the list WIP page for update details.

Download

バツグンの音が出る

Hazeタンページで取り上げられてますが、Alex JacksonさんによりバツグンのBGMが鳴るようになりました。ついに来た感じです。

AWJ(Alex Jackson)氏がNEC V20/V30コアにV25/V35拡張機能を追加しました。

この機能(タイマ、メモリマップレジスタバンキング、カスタム割り込みコントローラ)は一部の東亜プラン製ゲームで使われていて、今回これを実装することでバツグンの音が完全に出るようになりました。

バツグンはサウンドコードが暗号化されていないので、動かすのは一番簡単です。

V-V、フィグゼイト、ナックルバッシュ、ドギューンでも、このサウンドコードが完全に復号化されたことで追い風になっていくと思われ、プログラムの解析は時間の問題です。

残りの東亜プランゲーム(テキパキ、ヴィマナ、飛翔鮫、ゴークス、フーピーの日本版)はサウンドMCUを腑分けしなければいけないので、金銭的な支援が必要となるでしょう。

あと興味深いところでは、

* 2000年3月12日: Quench氏が「ゴークス」「V-V」「ドギューン」「バツグン」についてToaplan2ドライバを追加。
* 0.139u3: David Haywood氏、「バツグン」の間違ったVDPミキシングを修正。

そして、次の0.141u1でついに完全動作状態になります。

私が0.139u3でやったグラフィック修正とAWJ氏の完全サウンドエミュレーションが組み合わされ、ついに100%ゲームが動作するようになりました。完成までわずか11年です 🙂

Haze WIP - The Real Sound of Progress

不遇のIrem M107ドライバ

KaleさんとHazeのWIPにIrem M107基板の進捗情報です。見事なラインスクロールの動画もあがっています。

Irem M107ハードのドライバといえば長年不遇な扱いで、ワールドPKサッカーも動かないまま、ファイヤーバレルもスピード落ちすぎと、一応動作可能とはなってますが、音も壊れていて画面半分に謎のレイヤーがかぶっているという、動いているとはほど遠い状態でプレイもままならないものでした。コードを見てみると、メインCPUから未マッピングなラインへのトリガが継続して起きていて、サウンドへのR/Wに直接関係しているのがわかりました。これはサウンドCPUへ直接つながるリセットラインなので、簡単な修正です。

次にグラフィック系。私とHaze氏でコードを調べてみたところ、現状のロースクロール処理は完全な間違いで、その切り替えをするビットが全然違うものでした(ワールドPKサッカーで使用)。そこで、ネットに転がってる実機の映像を検証して、それが実際には列の選択をするのもので、さらに縦軸方向に擬似的な拡大エフェクトを行うものだと判明しました。

ファイヤーバレルのローエフェクト(2面の海や、6面の渓谷で使用)はまだ作業が必要で、スプライトの修正も少ししなければいけませんが、ファイヤーバレルは大体プレイ可能なところまで来たと思います。また、仮実装の段階ですが、ワールドPKサッカーの表示も改善しました。ファイヤーバレルはまだ完全ではありません。

New list pack for M1

a2c-s438さんより投稿して頂いたリストを含めてM1用リスト集を更新しました。更新内容はこちら。投稿ありがとうございました。

New m1 lst pack including 7 new lists made by a2c-s438 is available. Please check the list WIP page for update details.

Download

DVD時代に生きるMSX2

KaleさんWIP更新です。この前LD時代の麻雀のシリーズがありすぎねという話をされていましたが、WIPにDVD花札と麻雀が出ています。この世代なのに使っているビデオチップがMSX2のV9958というのが、このゲームの性格をよく表しているような、いないような…。

Kale's MAME WIP: Doing Versatile Damaging

Toaplan2.cの描画順序

Haze氏ページのtoaplan2.cについての解説が興味深いので採り上げておきます。

Toaplan2ドライバ(GP9001 VDPを使うゲーム)、特にそのプライオリティシステムは常に不具合のあるままでした。2つ前のリリースで、私は数多く残るハックを取り除くため、ドライバを書き直そうと決めました。実は書き直し自体はかなり以前からやってましたが、デュアルVDPを使った新しいコードではバツグンとドギューン!がうまく動作せず提出を見送ってたのです。

問題は、古いコードが全てのレイヤーを複数の手順で描画していた(スプライト描画関数を各プライオリティに対して呼び出すなど)ため、スプライト間のプライオリティのような基本的なものが正常に動作しないというものでした。各ゲームが好き勝手な順序でレイヤーを描画していたので、それぞれに調整が必要になっていたからです。

コードの整理により、これまでVDPの場合分けをしていた箇所を一回の呼び出しで全てのグラフィックを正しい順序で描画するようにできました。ただ、これでは各VDPからの出力をインタリーブするハックが内蔵関数によっておかしくなるため、バツグンとドギューン!の表示不具合が出るのです。バツグンはこれまでも正しく動作したことはないのですが、新コードだと一部の面が完全にプレイできないほどにおかしくなります。

もともと私はこの問題を修正してから提出しようと考えていたため、しばらく放置していたのです。その後、誰か別な人がToaplan2ドライバの「修正」を試みようですが、提出されたものはハック以外の何物でもなく(何面が動いているかを調べ、各レイヤーのプライオリティをさらにハックするもの)、控えめに言っても最悪なものだったため、私自身のコードを提出し、代わりにバツグンとドギューン!を動作不可ステータスに格下げすることにしました。新しいコードはこのドライバの他のゲームについても大幅に整理されているので、これが正しい解決策への基礎になっていくだろうと考えていました。数バージョンの間ゲームがプレイできなくても、このステップは無駄ではないのです。

これらをひとつにまとめるためいろいろ試してみましたが、しばらくの間ドライバは動作しないままでした。その一方で私はVDPのレンダリングコードをさらに整理して、新しいC++デバイスを使うよう全てをコンバートしました。さらに、GP9001をデバイスとして独自ファイルに抽出したのに伴い、2つのVDP出力を混合するPALのようなものが基板上にあるに違いないと考え、プライオリティミキシングを再調査することにしたのです。

最大の問題点は、各VDPの出力内容が不明なことでした。そこで、各VDPの出力を別々の画面に出力したところ、予想通りVDP単体のミキシングはそれぞれ正しいことがはっきりしました。しかし、VDPの出力がプライオリティデータを混合したものか、それともだたの色データだけのかが不明だったので、その後の解析でもデュアルミキシングについては進展がみられず、ほとんどあきらめかけていたのです。

このときQuench氏が大変有用な情報を提供してくれました。彼は、バツグン基板の2つのVDP間にあるPALの等価回路を解析してくれたのです。これによりVDPがプライオリティ情報を外部に出力しておらず、ミキシングは完全にパレットインデックスを元に行われているのが判明しました。

私は彼の回路を直接実装してみました。理論的には動くはずだったものの、実際の出力はぐちゃぐちゃで、ピクセルの位置もばらばらでした。原因は不明でした。1週間ほど時間をおいて原因を探り、少し異なった方法で実装してみても結果は同じでした。

回路は直接動作はしなかったものの、ここである情報が得られたため、この段階で全てが失われたわけではありませんでした。これにより、どのビットがPALに入力されているかが完全にわかったのです。つまり、ミキシング順を決定するのに使われる可能性のあるビットがわかったということです。

次にドライバの再構成に伴って、Quench氏が解析したPALへの入力ビットと同じビットを使うという、私独自の解決法を思いつきました。最初の段階では黒いドットがランダムに残っていましたが、そこはもう一つのVDPを表示させるところだとすぐにわかり、コードを修正したところ正しく動作するようになり、ついにゲームを最初から最後までテストしても、これまで分かっていた問題点が全て解決しているのが確認されました。

このミキシングにはもう一つの利点があって、バツグンの1面でゴミグラフィックを隠すために使っていたタイルナンバーハックを削除できるのです。偶然にも背景の裏側に表示されるようにゴミのパレットインデックスが設定されているからです。

ドギューンはまだ問題があり新コードでは動作しませんが、少しテストを行えば単純なミキシングシステムを使ってるのはほぼ間違いないと思われます。

これにより、バツグンが初めてハック無しで描画され、全ての面で正しく表示されることになりました。コード自体にはまだ最適化の余地があります(デバッグ時にはできるだけ冗長にしておくのです)。

バツグンの次の段階は、V30コアの未実装命令と機能、V35+の機能(レジスタ、バンキングなど)を追加することになるでしょう。いまのところこの作業はAWJ氏さんがされていると思いますが、最近は進展がないようです。これがあれば、完全なサウンドエミュレーションが可能になります。

David Haywood's WIP - Getting Your Priorities Right

New list pack for M1

新しいM1用リスト集を更新しました。合計で1012本です。更新内容はこちら。投稿いただいたみなさん、ありがとうございます。

New m1 lst pack is available. Thank you for contribution. Please check the list WIP page for update details.

Download

海釣り

最近唯一まともに更新されているKaleさんWIPの続報です。

セガマリンフィッシングを調べています。やっかいだったNaomiのI/Oエラー(0xc0279beにRAMチェックのプログラムフローがある)をバイパスする方法は以前わかっていましたが、これを使うと面白いことにMAMEのレンダラが一部のエレメントに対してアホになります(特に"レイマン"風な釣り人キャラとか、フォグエフェクトが多分無いこと)。

もちろんKaleさん以外にも動きはいろいろありますが、表には出てこない、ということです。

Kale's Mame WIP - The Scorfano Dance

Super NESドライバ進捗

KaleさんのWIP、次はNaomiだそうです。

またNaomiの作業してます。CRTCレジスタとHBLANKのIRQ発生を修正しました。たぶん後者の作業で仁義ストームが直ってます(実はテクスチャ追加前に起動しようとしていたので壊れていた)。あと、タイピング・オブ・ザ・デッドもチェックしましたが、以前表示されてなかったテキストが出るようになってます。ミラーリングも追加して、次のような感じになってます。

Kale's Mame WIP - I don’t wanna diiiie!

Super NESドライバ進捗

KaleさんWIPにSNESベースドライバの改良状況とスクリーンショットが多数出ています。

Super NESドライバの改良をまたやってます。今やってるのは大きなもので、マスタサイクルの"流用"を実装しています。これはハードウェア上のデバイスが行っている動作です。いちばんシンプルなもの(DMA)から始めてますが、きちんと結果が出てきていて、The Smufs、マリオペイント、パチ夫くんスペシャル2、スーパーカップサッカーが全て起動、リブルラブル、メジャータイトル、スーパーテトリス2+ボンブリスの入力系が動作しています。たぶん、逆に不具合が出ているものもあるかもしれませんが、一応全部実装してから調べたいと思っています…

Kale's Mame WIP - Dam of Pertusillo

タイムクライシス2 WIP

前回同様RBページにありますがOGさんとNaiboさんのWIPです。システム23のMAME上でのスクリーンショットが多数出ています。

Arbee's WIP Emporium

タイムクライシス2 WIP

RBさんページにOGさんお手製のタイムクライシス2用OpenGLビューアのショットが出ています。まだMAMEでの動作ではないですが、データフォーマットは既に判明している模様です。

Arbee's WIP Emporium

1001 List Files for M1

新しいM1用リスト集をリリースしました。ついに日本語・英語版共に1000本を超えました。更新内容はこちら。ページには書いていない細かな更新もいくつか行っています。更新は解凍したフォルダを本体と同じ場所にまるごと移せば完了です。多くの新リストを作成して頂いたszkさん、銀河任侠伝リストのAska-mさんありがとうございました。

Finally we have 1000+ list files for M1. Thank you all contributors for great work. Please check the list WIP page for update details (not listed all).

Download

アイマックス

KaleさんWIPにI'MAXのMACS(Multi Amenity Cassette System)の進捗状況が出ています。既存ドライバのハック削除とBIOS実装、BIOSとカートリッジROMのバンク切り替えの実装で、着せかえまーじゃんが途中まで動作可能になってるそうです。

Kale's Mame Wip

HNG64 WIP

Mameworldの不具合も直ったところで、AndrewさんページにHyperNeoGeo64の続報が上がっています。

Roads Edge/ラウンドトリップRVですが、サブテクスチャページのインデックスモードを部分的に実装したことで、テクスチャがほとんど直りました。このせいで最初のSNKロゴが変になっていますが、インデックス化の完全な動作がさらにわかれば簡単に直せるはずです。テクスチャが正しくなってかっこいい雰囲気ですが、まだ車のパレットは修正も必要です。

この他の面白いお知らせとしては、3Dカメラの投射マトリックス構成についてさらに情報が得られたということです。まだ未使用の値もありますが、かなり本物に近くなってきました。見た限りでは大体5%以下の許容範囲だと思います。以下のショットでは3Dラスタ化ジオメトリ(左側)が2Dスプライト(右側)に揃うはずの箇所です。上はHNG64のイントロ、下は3DのSNKロゴが登場する部分です。以前はもっと小さかったのを覚えているかもしれません。

AJG's Mameography

パチフィーバーWIP

doxさんWIPに三機電子工業製「パチフィーバー」の画面が出ています。超初期の16bitCPU、TMS9900が使用されていること、ROMは吸い出し不良、などが挙げられています。

doxDev: Fever

HNG64 WIP

Andrewさんページに、ハイパーネオジオ64の3D表示について進捗状況が出ています。まだ不完全なものの、侍魂をはじめ、全てのHNG64タイトルで3D表示が追加され、sams64_2は完全にプレイ可能な状態とのことです。

AJG's Mameography

Haze氏WIP

Haze氏ページにVSネットサッカーのWIPショットが出ています。

Olivier氏が一段目のプロテクトチェックをパスさせることに成功。データROMを入れ替えたところ画面が少し表示された。ROMの名称は間違っている模様。また、スプライトROMも間違いなく小さすぎと見られる。スプライトROMにはプレイヤーのグラフィックと頭部分しか含まれていないが、ゲーム内では他にも多く使用されている。

Me And You Versus The World

Luca Elia氏WIP

Luca氏ページに鋳薔薇のスクリーンショットが多数出ています。注意事項として、動作速度がAthlon 64 3000で最大でも5%、サウンドチップが未エミュレートで吸い出しもされていないので音が出ないこと、SH-3チップはSH-4をハックしたテスト版であること、ドライバは最低でも2016年以前にリリースするつもりはないことなどが記載されています。私も怖いのでこのくらいで…。

Ibara

Kale氏WIP

Kaleさんページに「サイクルマー坊」のWIP情報が出ています。ほとんど奇跡のようなタイトルです。ページによると、女子バレーボールハードウェアの改良版の模様。Taito 8741 MCUのため、まだ完全には動作していないそうです。

Rivincita di Natale