FPGA Jacked Into Pinball Machine Masters High Scores

Hvordan bevarer du høje scores i et gammelt arkadeskab, når du afbryder strømmen?Er det muligt at injicere nye highscores i en flippermaskine?Det var b-plottet i en episode af Seinfield, så det skal være værd at gøre, der fører [matthew venn] ned i kaninhullet af FPGA'er og hukommelseskort for at skabe nye highscores i en pinball-maskine.

Den maskine, der er tale om til dette eksperiment, er Doctor Who fra Williams, som på trods af at den er en Doctor Who-flipperspil ikke er den store maskine.Alligevel, daleks.Denne maskine er drevet af en Motorola 68B09E, der kører ved 2MHz, med 8kB RAM på adressen 0x0000.Denne RAM er sikkerhedskopieret med et par AA-batterier og er heldigvis i en DIP-socket, hvilket gør det muligt for [matthew] at lave et kort fyldt op med et FPGA-udviklingskort, der går mellem CPU'en og RAM.

Den grundlæggende teknik til at opsnappe og skrive en ny highscore til denne flippermaskine kommer fra den utrolige [sprite_tm], der tweeter highscores fra et kabinet fra 1943.Ideen er enkel: Bare få et FPGA-kig på en bestemt hukommelsesadresse, og send nogle data til en computer, når dataene på den adresse er opdateret.For Doctor Who-flippermaskinen er dette lidt sværere, end det lyder: dataene er ikke gemt i hex, men pakket BCD.Efter lidt arbejde var [matthew] dog i stand til at skrive nye highscores fra et Python-script, der kørte på en bærbar computer.Al koden (og et par flere detaljer) er overstået på en Github

At udvide arkadespil ved at trykke på adresse- og datalinjer er ikke noget, vi ser meget af, men det er blevet gjort, mest berømt med Church of Robotron.Her forvandler et par MAME-hacks et spil Robotron til en kirke, hvor de troende kan forpligte sig fuldt ud til verdens frelser, der skal ankomme om 66 år og redde de resterende mennesker fra robotapokalypsen.Dette hack af en Doctor Who-flippermaskine går ud over en modificeret version af MAME, og hvis vi nogensinde skal lave et rigtigt kapel med et rigtigt spil Robotron, er det disse teknikker, vi kommer til at bruge.

For nogle dage siden var der en historie om at bruge FRAM i Sega Saturn til at bevare spilgemmer.Det samme kunne også fungere her.

min maskine er en Dr Who, men faktisk var det min makker Stuarrrts Fire Power, vi prøvede dette på.Jeg tror, ​​det vil fungere på min, men jeg er nødt til at aflodde SRAM først!

De fleste af spillene har deres kode ved at løbe tør for EPROMs.Brug en logisk analysator til at se adresse, data og kontrolsignaler til at finde ud af, hvor i RAM de højeste scorer bor, og skriv derefter et kort lille program for at indsætte den værdi, du ønsker i RAM-området.Brænd programmet ind i en passende EPROM og skift ind med én udførelse.Udskift derefter den originale EPROM, så spillet er tilbage til det normale.Det tager lidt tid at implementere, men det fungerer fint.Og nej, jeg vil ikke sige, hvordan eller hvor jeg bekræftede dette:) .

Hvorfor gå igennem alt dette for at gemme en høj score?Bare installer en NVRAM og vær færdig med den.Det er en nem løsning til alle Williams WPC MPU-kort.Hvad er der med billedet?Det er ikke engang en Doctor Who MPU på billedet.Det er et Rottendog MPU327-4 erstatningskort til Williams 3,4,6.Den har NVRAM og vil aldrig miste sin hukommelse.

Firepower mpu-kortets ram for det område er en 256x4bit enhed, som de valgte at adressere på den nederste nybble og lade den øverste nybble blive trukket højt - så lager HSTD ville blive lagret F5 F5 F0 F0 F0 F0.Andre producenters moderne pinball-maskiner til ildkraft, der også brugte 5101 ram ville have samme problem, men Bally (for eksempel) vælger at gøre den øvre nybble aktiv og lade den nederste være F.

De må have haft en fuld byte-bredde RAM et sted i adresserummet, ellers kunne man ikke skubbe en adresse på stakken og vende tilbage til den.Nogle andre indlejrede systemer, som jeg plejede at arbejde på, brugte nibble wide RAM, men tog to adgange for at hente den fulde byte.CPU'en så dog kun en enkelt buscyklus.

De gør.Adressen fra $0000-$00FF er i fuld bredde med enten 6810'er eller 5114'er eller i kombination internt i en 6802. 5101 nybble-lageret fra $0100-$01FF er til den batteristøttede del, da det er en del med lavere strømbehov.

"som, på trods af at den er en Doctor Who-flippermaskine, ikke er den store maskine" Hvad????Doktor, der er en fantastisk maskine, dens ingen monsterbash eller Wizard of oz, men den er en solid og elsket maskine af flipperklubben

Jeg er enig.Ud af alle de hundredvis af pinball-maskiner, jeg har spillet.Doctor Who er efter min mening den sjoveste at spille.

Huh, det var en mindfuck... efter jeg lavede det hack på den lokale hackerspaces 1942-maskine, gjorde jeg også noget lignende med den flippermaskine, jeg købte.Hvilket er en Williams Dr. Who-maskine.Jeg brugte bare ikke en FPGA, men piskede noget op med låse, en AVR (tror jeg) og noget Linux SBC, der kunne gøre trådløst.

Jeg er også uenig i, at Dr. Who ikke er så stor.Det er faktisk ret rart for genspilbarhed, efter min mening.

Ved at bruge vores hjemmeside og tjenester accepterer du udtrykkeligt placeringen af ​​vores ydeevne, funktionalitet og annonceringscookies.Lær mere


Indlægstid: 29. august 2019
WhatsApp online chat!