Wie bewahrt man Highscores in einem alten Spielhallenschrank, wenn man den Strom abschaltet?Ist es möglich, neue Highscores in einen Flipperautomaten einzuspeisen?Es war der B-Plot einer Episode von Seinfield, also muss es sich lohnen, [Matthew Venn] in den Kaninchenbau von FPGAs und Memory Maps zu führen, um neue Highscores in einem Flipperautomaten zu erstellen.
Der fragliche Automat für dieses Experiment ist Doctor Who von Williams, der, obwohl er ein Doctor Who-Flipper ist, kein so 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, sodass [Matthew] ein Board herstellen kann, das mit einem FPGA-Entwicklungsboard beladen ist, das 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: Schauen Sie sich einfach mit einem FPGA eine bestimmte Speicheradresse an 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 klingt: Die Daten werden nicht in Hex gespeichert, sondern BCD gepackt.Nach ein wenig Arbeit war [matthew] jedoch in der Lage, neue Highscores aus einem Python-Skript zu schreiben, das auf einem Laptop ausgeführt wurde.Der gesamte Code (und ein paar weitere Details) sind auf einem Github zu finden
Das Erweitern von Arcade-Spielen durch Anzapfen von Adress- und Datenleitungen ist etwas, das wir nicht oft sehen, aber es wurde getan, am bekanntesten mit der Church of Robotron.Hier verwandeln ein paar MAME-Hacks ein Robotron-Spiel 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 Roboter-Apokalypse 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, sind dies die Techniken, die wir verwenden werden.
Vor ein paar Tagen gab es eine Geschichte über die Verwendung von FRAM in Sega Saturn, um Spielstände aufzubewahren.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, es wird bei mir funktionieren, aber ich muss zuerst das SRAM auslöten!
Der Code der meisten Spiele läuft aus EPROMs heraus.Verwenden Sie einen Logikanalysator, der Adress-, Daten- und Steuersignale beobachtet, um herauszufinden, wo sich im RAM die Highscores befinden, und schreiben Sie dann ein kurzes kleines Programm, um den gewünschten Wert in den RAM-Bereich einzufügen.Das Programm in ein geeignetes EPROM brennen und für eine Ausführung einlagern.Ersetzen Sie dann das ursprüngliche EPROM, damit das Spiel wieder normal läuft.Die Umsetzung dauert ein wenig, funktioniert aber einwandfrei.Und nein, ich werde nicht sagen, wie oder wo ich das überprüft habe .
Warum all das durchmachen, um einen Highscore zu retten?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 ist ein Rottendog MPU327-4 Ersatzboard für Williams 3,4,6.Es hat NVRAM und wird nie seinen Speicher verlieren.
Der RAM des Firepower-MPU-Boards für diesen Bereich ist eine 256x4-Bit-Einheit, die sie auf dem unteren Nibble adressieren und das obere Nibble hochgezogen lassen – also würde das Standard-HSTD F5 F5 F0 F0 F0 F0 gespeichert werden.Moderne Flipperautomaten anderer Hersteller mit Feuerkraft, die ebenfalls den 5101-RAM verwenden, hätten das gleiche Problem, aber Bally (zum Beispiel) entscheidet sich dafür, das obere Nibble aktiv zu machen und das untere als F zu belassen.
Sie müssen irgendwo im Adressraum ein RAM mit voller Bytebreite gehabt haben, sonst könnten Sie keine Adresse auf den Stapel schieben und zu ihm zurückkehren.Einige andere eingebettete Systeme, an denen ich gearbeitet habe, verwendeten RAM mit Nibble-Breite, benötigten jedoch zwei Zugriffe, um das vollständige Byte abzurufen.Die CPU sah jedoch nur einen einzigen Buszyklus.
Tun sie.Die Adresse von $0000-$00FF hat die volle Breite entweder mit 6810er oder 5114er oder in Kombination intern in einem 6802. Der 5101-Nibble-Speicher von $0100-$01FF ist für den batteriegestützten Teil, da er einen Teil mit geringerem Strombedarf hat.
„der, obwohl er ein Doctor Who Flipperautomat ist, kein so toller Automat ist“ Was????Doctor, der eine großartige Maschine ist, es ist kein Monster Bash oder Wizard of Oz, aber es ist eine solide und beliebte Maschine der Flipper-Community
Ich stimme zu.Von all den Flippern Hunderte von Flipperautomaten, die ich gespielt habe.Doctor Who macht meiner Meinung nach immer am meisten Spaß.
Huh, das war ein Mindfuck … nachdem ich diesen Hack auf der lokalen Hackerspaces 1942-Maschine gemacht hatte, machte ich auch etwas Ähnliches mit dem Flipperautomaten, den ich erworben hatte.Das ist eine Dr. Who-Maschine von Williams.Ich habe einfach kein FPGA verwendet, sondern etwas mit Latches, einem AVR (glaube ich) und einem Linux-SBC, der drahtlos arbeiten kann, auf die Beine gestellt.
Außerdem bin ich anderer Meinung, dass Dr. Who nicht so toll ist.Es ist meiner Meinung nach eigentlich ziemlich gut für die Wiederspielbarkeit.
Durch die Nutzung unserer Website und Dienste stimmen Sie ausdrücklich der Platzierung unserer Leistungs-, Funktions- und Werbe-Cookies zu.Mehr erfahren
Postzeit: 29. August 2019