ピンボール マシンに組み込まれた FPGA がハイスコアを達成

古いアーケード筐体で電源を切ったときにハイスコアを維持するにはどうすればよいですか?ピンボール マシンに新しいハイスコアを注入することは可能ですか?これは『サインフィールド』のエピソードの B プロットだったので、[マシュー ベン] を FPGA とメモリ マップのウサギの穴に導き、ピンボール マシンで新たなハイスコアを生み出すという、やる価値のあるものに違いありません。

この実験で問題となっているマシンはウィリアムズ社のドクター・フーですが、ドクター・フーのピンボールマシンではありますが、それほど優れたマシンではありません。それにしてもダーレク。このマシンには、2MHz で動作する Motorola 68B09E が搭載されており、アドレス 0x0000 に 8kB の RAM が搭載されています。この RAM は数本の単三電池でバックアップされており、幸いなことに DIP ソケットにあるため、[マシュー] は CPU と RAM の間にある FPGA 開発ボードを搭載したボードを製造することができました。

このピンボール マシンの新しいハイスコアを傍受して書き込むための基本テクニックは、1943 年のキャビネットからハイスコアをツイートしている信じられないほどの [sprite_tm] から来ています。アイデアは簡単です。FPGA に 1 つの特定のメモリ アドレスを調べさせ、そのアドレスのデータが更新されたときにコンピュータにデータを送信するだけです。Doctor Who ピンボール マシンの場合、これは思っているよりも少し難しくなります。データは 16 進数ではなく、パックされた BCD で保存されます。しかし、少しの作業の後、[matthew] はラップトップで実行されている Python スクリプトから新しいハイスコアを書き込むことができました。すべてのコード (およびいくつかの詳細) は Github にあります

アドレスとデータ行を利用してアーケード ゲームを拡張することは、あまり多くは見られませんが、最も有名なのは、Church of Robotron で行われています。ここでは、いくつかの MAME ハックにより、ロボットロンのゲームが、66 年後に到来し、残された人間をロボット黙示録から救う予定の世界の救世主に完全に献身する信者のための教会に変わります。ドクター・フーのピンボール マシンのこのハックは、MAME の改造バージョンを超えており、実際の Robotron ゲームで本物の礼拝堂を作るつもりなら、これらのテクニックを使用することになります。

数日前、セガサターンでゲームセーブを保存するためにFRAMを使用するという話がありました。ここでも同じことができます。

私のマシンはドクター・フーですが、実際にこれを試したのは私の仲間のスチュアラートのファイア・パワーでした。私の場合はうまくいくと思いますが、まず SRAM のはんだを外さなければなりません。

ほとんどのゲームではコードの EPROM が不足しています。アドレス、データ、および制御信号を監視するロジック アナライザーを使用して、RAM のどこにハイスコアが存在するかを特定し、必要な値を RAM 領域に挿入する短いプログラムを作成します。プログラムを適切な EPROM に書き込み、1 回の実行で交換します。次に、元の EPROM を交換して、ゲームが通常の状態に戻ります。実装には少し時間がかかりますが、問題なく動作します。いいえ、私がこれをどこでどのように確認したかを言うつもりはありません:) .

ハイスコ​​アを維持するためになぜこんなことをする必要があるのでしょうか?NVRAM をインストールするだけで完了です。これは、すべての Williams WPC MPU ボードにとって簡単な修正です。写真は何ですか?それはドクター・フーの MPU の写真ですらない。ウィリアムズ 3、4、6 用の Rottendog MPU327-4 交換ボードです。NVRAMを搭載しており、メモリが失われることはありません。

その範囲の Firepower MPU ボードの RAM は、下位ニブルでアドレス指定し、上位ニブルを High にプルしたままにすることを選択した 256x4 ビット ユニットです。そのため、ストック HSTD は F5 F5 F0 F0 F0 F0 に格納されます。5101 ラムを使用した他のメーカーの最新のピンボール マシンでも同じ問題が発生しますが、Bally は (たとえば) 上部のニブルをアクティブにし、下部のニブルを F のままにすることを選択しました。

アドレス空間のどこかにフルバイト幅の RAM があったに違いありません。そうでないと、アドレスをスタックにプッシュしてそこに戻ることができません。私が以前作業していた他の組み込みシステムではニブル幅の RAM を使用していましたが、全バイトをフェッチするには 2 回のアクセスが必要でした。ただし、CPU は 1 つのバス サイクルしか認識しませんでした。

そうです。$0000 ~ $00FF のアドレスは、6810 または 5114 のいずれか、または 6802 の内部で組み合わせた場合は全幅です。$0100 ~ $01FF の 5101 ニブル ストレージは、電力要件が低い部品であるため、バッテリ バックアップ部品用です。

「ドクター・フーのピンボールマシンであるにもかかわらず、それほど素晴らしいマシンではありません」 え?ドクターは素晴らしいマシンです。モンスターバッシュやオズの魔法使いではありませんが、ピンボールコミュニティからは堅実で愛されているマシンです

同意します。私がプレイしたピンボールマシンの中で、何百ものピンボールマシンがあります。私の意見では、『ドクター・フー』はプレイするのが常に最も楽しいです。

ああ、それは気のせいだった…地元のハッカースペースの 1942 マシンでそのハッキングを行った後、入手したピンボール マシンでも同様のことを行いました。それはウィリアムズのドクター・フーのマシンです。FPGA は使用しませんでしたが、ラッチ、AVR (だと思います)、およびワイヤレスで動作する Linux SBC を使ったものを作りました。

また、ドクター・フーがそれほど素晴らしいものではないという意見にも私は同意しません。私の意見では、リプレイ性としては非常に優れています。

当社の Web サイトおよびサービスを使用すると、当社のパフォーマンス、機能性、および広告用 Cookie の配置に明示的に同意したことになります。もっと詳しく知る


投稿時間: 2019 年 9 月 2 日
WhatsAppオンラインチャット!