ピンボール マシンにジャックされた FPGA がハイスコアをマスター

電源を切っても、古いアーケード キャビネットでハイ スコアを維持するにはどうすればよいですか?ピンボール マシンに新しいハイ スコアを注入することは可能ですか?これはセインフィールドのエピソードの b プロットだったので、[マシュー ベン] を FPGA とメモリ マップのうさぎの穴に導き、ピンボール マシンで新しいハイ スコアを作成することは、やりがいのあることでした。

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

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

アドレスとデータ ラインを利用してアーケード ゲームを拡張することはあまり見られませんが、Church of Robotron で行われたことで最も有名です。ここでは、いくつかの MAME ハックがロボトロンのゲームを教会に変え、忠実な人々が世界の救世主に完全にコミットするようにします.66 年後に到着し、残りの人間をロボットの黙示録から救う予定です.ドクター・フーのピンボール マシンのこのハックは、MAME のモッド バージョンを超えています。ロボトロンの実際のゲームで本物のチャペルを作るつもりなら、これらのテクニックを使用します。

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

私のマシンは Dr. Who ですが、実際に試してみたのは仲間の Stuarrrt の Fire Power でした。私の場合はうまくいくと思いますが、最初にSRAMのはんだを外さなければなりません!

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

ハイスコ​​アを保存するために、これらすべてを実行する必要はありません。NVRAMをインストールするだけで完了です。これは、すべての Williams WPC MPU ボードで簡単に修正できます。写真はどうした?それは MPU が描いたドクター・フーでさえありません。Williams 3,4,6用のRottendog MPU327-4交換用ボードです。NVRAM があり、メモリが失われることはありません。

その範囲の火力 mpu ボードの ram は 256x4 ビット ユニットであり、下位ニブルでアドレス指定し、上位ニブルを高くしたままにすることを選択したため、ストック HSTD は F5 F5 F0 F0 F0 F0 に格納されます。5101 ram を使用した他のメーカーの最新のピンボール マシンでも同じ問題が発生する可能性がありますが、バリー (たとえば) は上部のニブルをアクティブにし、下部のニブルを F のままにすることを選択します。

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

彼らはそうします。$0000 ~ $00FF のアドレスは、6810 または 5114 のいずれか、または 6802 の内部で組み合わせた全幅です。

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

同意します。すべてのピンボールのうち、私がプレイした何百ものピンボール マシン。私の意見では、ドクター・フーは一貫してプレイするのが最も楽しいです。

ハッカースペースの 1942 マシンでハッキングを行った後、入手したピンボール マシンでも同様のことを行いました。ウィリアムズ博士のマシンです。FPGA を使用せず、ラッチ、AVR (と思われる)、およびワイヤレスを実行できる Linux SBC を使用して何かを作り上げました。

また、ドクター・フーがそれほど素晴らしいものではないことに同意しません。私の意見では、実際には再生可能性が非常に優れています。

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


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