FPGA in Pinball Machine Masters Highscores integriert

Wie bewahrt man Highscores in einem alten Arcade-Schrank auf, wenn man den Strom abschaltet?Ist es möglich, einem Flipper neue Highscores zu verleihen?Es war der B-Plot einer Episode von Seinfield, also muss es sich lohnen, ihn zu machen, indem er [Matthew Venn] durch das Kaninchenloch von FPGAs und Speicherkarten führt, um in einem Flipper neue Highscores zu erzielen.

Der für dieses Experiment in Frage kommende Automat ist Doctor Who von Williams, der, obwohl er ein Doctor Who-Flipper ist, kein besonders toller Automat ist.Trotzdem, Daleks.Diese Maschine wird von einem Motorola 68B09E mit 2 MHz und 8 KB RAM an der Adresse 0x0000 angetrieben.Dieser RAM ist mit ein paar AA-Batterien gesichert und befindet sich glücklicherweise in einem DIP-Sockel, was es [Matthew] ermöglicht, eine Platine herzustellen, die mit einer FPGA-Entwicklungsplatine bestückt ist, die zwischen CPU und RAM geschaltet wird.

Die grundlegende Technik zum Abfangen und Schreiben eines neuen Highscores für diesen Flipper stammt von dem unglaublichen [sprite_tm], der Highscores aus einem Schrank von 1943 twittert.Die Idee ist einfach: Lassen Sie ein FPGA einfach eine bestimmte Speicheradresse prüfen und senden Sie einige Daten an einen Computer, wenn die Daten an dieser Adresse aktualisiert werden.Für den Doctor Who-Flipper ist das etwas schwieriger, als es sich anhört: Die Daten werden nicht im Hex-Format, sondern im BCD-Format gespeichert.Nach ein wenig Arbeit konnte [Matthew] jedoch mithilfe eines Python-Skripts, das auf einem Laptop ausgeführt wurde, neue Highscores schreiben.Der gesamte Code (und ein paar weitere Details) ist auf Github verfügbar

Die Erweiterung von Arcade-Spielen durch das Anzapfen von Adress- und Datenleitungen sehen wir nicht oft, aber es wurde bereits gemacht, am bekanntesten ist die Church of Robotron.Hier verwandeln ein paar MAME-Hacks eine Partie Robotron in eine Kirche, in der sich die Gläubigen voll und ganz dem Retter der Welt widmen können, der in 66 Jahren eintreffen und die verbleibenden Menschen vor der Roboterapokalypse retten soll.Dieser Hack eines Doctor Who-Flipperautomaten geht über eine modifizierte Version von MAME hinaus, und wenn wir jemals eine echte Kapelle mit einem echten Robotron-Spiel bauen wollen, werden wir diese Techniken verwenden.

Vor ein paar Tagen gab es eine Geschichte über die Verwendung von FRAM in Sega Saturn, um Spielstände zu bewahren.Dasselbe könnte auch hier funktionieren.

Meine Maschine ist eine Dr. Who, aber eigentlich war es die Fire Power meines Kumpels Stuarrrt, an der wir das ausprobiert haben.Ich denke, dass es bei mir funktionieren wird, aber ich muss zuerst das SRAM auslöten!

Der Code der meisten Spiele hat keine EPROMs mehr.Verwenden Sie einen Logikanalysator, der Adressen, Daten und Steuersignale überwacht, um herauszufinden, wo im RAM die Highscores gespeichert sind, und schreiben Sie dann ein kurzes kleines Programm, um den gewünschten Wert in den RAM-Bereich einzufügen.Brennen Sie das Programm in ein geeignetes EPROM und tauschen Sie es für eine Ausführung aus.Ersetzen Sie dann das ursprüngliche EPROM, damit das Spiel wieder normal läuft.Die Umsetzung nimmt etwas Zeit in Anspruch, funktioniert aber einwandfrei.Und nein, ich werde nicht sagen, wie oder wo ich das überprüft habe:) :) .

Warum das alles durchmachen, um einen Highscore zu speichern?Installieren Sie einfach ein NVRAM und fertig.Das ist eine einfache Lösung für alle Williams WPC MPU-Boards.Was ist mit dem Foto?Das ist nicht einmal eine abgebildete Doctor Who-MPU.Es handelt sich um eine Rottendog MPU327-4 Ersatzplatine für Williams 3,4,6.Es verfügt über NVRAM und wird seinen Speicher nie verlieren.

Der RAM des Firepower-MPU-Boards für diesen Bereich ist eine 256x4-Bit-Einheit, die sie auf dem unteren Nybble adressieren und das obere Nybble hochgezogen lassen – so würde der Standard-HSTD F5 F5 F0 F0 F0 F0 gespeichert werden.Moderne Flipperautomaten anderer Hersteller, die ebenfalls den 5101-Stößel verwenden, hätten das gleiche Problem, aber Bally (z. B.) entschied sich dafür, das obere Nibble aktiv zu machen und das untere auf F zu belassen.

Sie müssen irgendwo im Adressraum über einen RAM mit voller Bytebreite verfügen, andernfalls könnten Sie eine Adresse nicht auf den Stapel verschieben und dorthin zurückkehren.Einige andere eingebettete Systeme, an denen ich früher gearbeitet habe, verwendeten Nibble-Wide-RAM, benötigten jedoch zwei Zugriffe, um das gesamte Byte abzurufen.Die CPU sah jedoch nur einen einzigen Buszyklus.

Tun sie.Die Adresse von $0000-$00FF hat die volle Breite entweder mit 6810 oder 5114 oder intern in Kombination in einem 6802. Der 5101-Nybble-Speicher von $0100-$01FF ist für den batteriegepufferten Teil, da es sich um einen Teil mit geringerem Strombedarf handelt.

„Obwohl es sich um einen Doctor Who-Flipper handelt, ist er kein besonders toller Automat.“ Was????Doctor Who ist ein großartiger Automat, kein Monster Bash oder Wizard of Oz, aber ein solider und beliebter Automat der Flipper-Community

Ich stimme zu.Von all den Flippern habe ich Hunderte von Flipperautomaten gespielt.Doctor Who macht meiner Meinung nach durchweg am meisten Spaß.

Huh, das war ein Wahnsinn ... nachdem ich diesen Hack auf dem lokalen Hackerspaces-1942-Automaten gemacht hatte, habe ich auch etwas Ähnliches mit dem Flipper gemacht, den ich erworben hatte.Das ist eine Williams Dr. Who-Maschine.Ich habe einfach kein FPGA verwendet, sondern etwas mit Latches, einem AVR (glaube ich) und einem Linux-SBC entwickelt, das drahtlos funktioniert.

Ich bin auch nicht der Meinung, dass der Dr. Who nicht so toll ist.Für den Wiederspielwert ist es meiner Meinung nach eigentlich ziemlich gut.

Durch die Nutzung unserer Website und Dienste stimmen Sie der Platzierung unserer Leistungs-, Funktionalitäts- und Werbe-Cookies ausdrücklich zu.Erfahren Sie mehr


Zeitpunkt der Veröffentlichung: 02.09.2019
WhatsApp Online-Chat!