FPGA Jacked Into Pinball Machine Masters High Scores

Hur bevarar man höga poäng i ett gammalt arkadskåp när man kopplar bort strömmen?Är det möjligt att injicera nya höga poäng i ett flipperspel?Det var b-plotten i ett avsnitt av Seinfield, så det måste vara värt att göra det, som leder [matthew venn] ner i kaninhålet med FPGA:er och minneskartor för att skapa nya höga poäng i en flipperspelsmaskin.

Maskinen i fråga för detta experiment är Doctor Who från Williams, som trots att den är en Doctor Who-flipper inte är en så stor maskin.Ändå, daleks.Den här maskinen drivs av en Motorola 68B09E som körs på 2MHz, med 8kB RAM-minne på adressen 0x0000.Detta RAM-minne säkerhetskopierades med några AA-batterier, och som tur är är det i ett DIP-uttag, vilket gör att [matthew] kan skapa ett kort laddat med ett FPGA-utvecklingskort som går mellan CPU och RAM.

Den grundläggande tekniken för att fånga upp och skriva ett nytt highscore för denna flipperspelsmaskin kommer från den otroliga [sprite_tm] som twittrar höga poäng från ett kabinett från 1943.Tanken är enkel: låt bara en FPGA titta på en specifik minnesadress och skicka lite data till en dator när data på den adressen uppdateras.För Doctor Who-flipperspelet är detta något svårare än det låter: data lagras inte i hexadecimalt format, utan packat BCD.Efter lite arbete kunde [matthew] dock skriva nya höga poäng från ett Python-skript som kördes på en bärbar dator.All kod (och några fler detaljer) är över på en Github

Att utöka arkadspel genom att knacka på adress- och datalinjer är inte något vi ser mycket av, men det har gjorts, mest känt med Church of Robotron.Här förvandlar några MAME-hack ett spel Robotron till en kyrka för de troende att helt och hållet engagera sig i världens frälsare, som kommer att anlända om 66 år och rädda de återstående människorna från robotapokalypsen.Det här hacket på en Doctor Who-flipperspel går längre än en modad version av MAME, och om vi någonsin ska göra ett riktigt kapell med ett riktigt spel Robotron, är det dessa tekniker vi kommer att använda.

För några dagar sedan fanns det en historia om att använda FRAM i Sega Saturn för att bevara spelräddningar.Samma skulle kunna fungera här också.

min maskin är en Dr Who, men det var faktiskt min kompis Stuarrrts Fire Power vi provade detta på.Jag tror att det kommer att fungera på min men jag måste lossa SRAM först!

De flesta av spelen har sin kod slut på EPROM.Använd en logisk analysator som tittar på adress, data och kontrollsignaler för att ta reda på var i RAM-minnet de högsta poängen bor, och skriv sedan ett kort litet program för att infoga det värde du vill ha i RAM-området.Bränn programmet till ett lämpligt EPROM och byt in för en körning.Byt sedan ut det ursprungliga EPROM så att spelet är tillbaka till det normala.Det tar lite tid att implementera, men det fungerar bra.Och nej, jag tänker inte säga hur eller var jag verifierade detta:) .

Varför gå igenom allt detta för att spara en hög poäng?Installera bara ett NVRAM och bli klar med det.Det är en enkel lösning för alla Williams WPC MPU-kort.Vad är det med fotot?Det är inte ens en Doctor Who MPU på bilden.Det är en Rottendog MPU327-4 ersättningskort för Williams 3,4,6.Den har NVRAM och kommer aldrig att förlora minnet.

Firepower mpu-kortets ram för det intervallet är en 256x4-bitars enhet som de valde att adressera på den nedre nybblen och lämna den övre nybblen dragen högt – så lager-HSTD skulle lagras F5 F5 F0 F0 F0 F0.Andra tillverkares samtida flipperspel till eldkraft som också använde 5101 ram skulle ha samma problem, men Bally (till exempel) väljer att göra den övre nybblen aktiv och lämna den nedre som F.

De måste ha haft en full byte bredd RAM någonstans i adressutrymmet, annars kunde du inte trycka en adress på stacken och gå tillbaka till den.Vissa andra inbäddade system som jag brukade arbeta med använde napp brett RAM men tog två åtkomster för att hämta hela byten.CPU:n såg dock bara en enda busscykel.

Dom gör.Adressen från $0000-$00FF är full bredd med antingen 6810's eller 5114's eller i kombination internt i en 6802. 5101 nybble-lagringen från $0100-$01FF är för den batteristödda delen eftersom det är en del med lägre strömbehov.

"som trots att den är en Doctor Who-flipper inte är en så stor maskin" Vad????Doktor som är en fantastisk maskin, det är inget monsterbash eller Wizard of oz, men det är en solid och älskad maskin av flippersamhället

Jag håller med.Av alla flipperspel hundratals flipperspel jag har spelat.Doctor Who är genomgående den roligaste att spela enligt mig.

Huh, det var ett mindfuck... efter att jag gjorde det där hacket på den lokala hackerspaces 1942-maskinen, gjorde jag också något liknande med flipperspelet jag köpte.Vilket är en Williams Dr. Who-maskin.Jag använde helt enkelt inte en FPGA utan piskade ihop något med spärrar, en AVR (tror jag) och lite Linux SBC som kunde göra trådlöst.

Dessutom håller jag inte med om att doktorn som inte är så stor.Det är faktiskt ganska bra för omspelbarhet, enligt mig.

Genom att använda vår webbplats och tjänster samtycker du uttryckligen till placeringen av våra prestanda, funktionalitet och reklamcookies.Läs mer


Posttid: 2019-02-02
WhatsApp onlinechatt!