FPGA Gejack In Pinball Machine Meesters hoë tellings

Hoe behou jy hoë tellings in 'n ou arkadekas wanneer jy die krag ontkoppel?Is dit moontlik om nuwe hoë tellings in 'n flipper te spuit?Dit was die b-plot van 'n episode van Seinfield, so dit moet die moeite werd wees om te doen, wat [matthew venn] in die konyngat van FPGA's en geheuekaarte lei om nuwe hoë tellings in 'n flippermasjien te skep.

Die masjien ter sprake vir hierdie eksperiment is Doctor Who van Williams, wat, al is dit 'n Doctor Who-flippermasjien, nie so 'n wonderlike masjien is nie.Tog, daleks.Hierdie masjien word aangedryf deur 'n Motorola 68B09E wat teen 2MHz werk, met 8kB RAM by adres 0x0000.Hierdie RAM is gerugsteun met 'n paar AA-batterye, en is gelukkig in 'n DIP-sok, wat [matthew] toelaat om 'n bord te vervaardig wat gelaai is met 'n FPGA-ontwikkelingsbord wat tussen die SVE en RAM gaan.

Die basiese tegniek om 'n nuwe hoë telling vir hierdie flipper te onderskep en te skryf, kom van die ongelooflike [sprite_tm] wat hoë tellings uit 'n 1943-kabinet tweet.Die idee is eenvoudig: laat net 'n FPGA kyk na een spesifieke geheue-adres, en stuur 'n paar data na 'n rekenaar wanneer die data by daardie adres opgedateer word.Vir die Doctor Who-flippermasjien is dit effens moeiliker as wat dit klink: die data word nie in hex gestoor nie, maar verpak BCD.Na 'n bietjie werk kon [matthew] egter nuwe hoë tellings skryf vanaf 'n Python-skrif wat op 'n skootrekenaar loop.Al die kode (en nog 'n paar besonderhede) is verby op 'n Github

Om arcade-speletjies uit te brei deur adres- en datalyne te gebruik, is nie iets wat ons baie sien nie, maar dit is gedoen, veral bekend met die Church of Robotron.Hier verander 'n paar MAME-hacks 'n speletjie Robotron in 'n Kerk vir die gelowiges om hulself ten volle te verbind tot die redder van die wêreld, wat oor 66 jaar sal arriveer en die oorblywende mense van die robotapokalips red.Hierdie hack van 'n Doctor Who-flippermasjien gaan verder as 'n gemodifiseerde weergawe van MAME, en as ons ooit 'n regte kapel gaan maak met 'n regte speletjie Robotron, is dit die tegnieke wat ons gaan gebruik.

'N Paar dae gelede was daar 'n storie oor die gebruik van FRAM in Sega Saturn om spelbesparings te bewaar.Dieselfde kan ook hier werk.

my masjien is 'n Dr Who, maar eintlik was dit my maat Stuarrrt se Fire Power waarop ons dit probeer het.Ek dink dit sal op myne werk, maar ek moet eers die SRAM ontsoldeer!

Die meeste van die speletjies se kode loop uit EPROMs.Gebruik 'n logika-ontleder wat na adres, data en beheerseine kyk om uit te vind waar in RAM die hoë tellings woon, en skryf dan 'n kort programjie om die waarde wat jy wil in die RAM-area in te voeg.Brand die program in 'n geskikte EPROM en ruil in vir een uitvoering.Vervang dan die oorspronklike EPROM sodat die spel weer normaal is.Dit neem 'n bietjie tyd om te implementeer, maar werk net goed.En nee, ek gaan nie sê hoe of waar ek dit geverifieer het nie:) .

Waarom dit alles deurmaak om 'n hoë telling te bespaar?Installeer net 'n NVRAM en wees klaar daarmee.Dit is 'n maklike oplossing vir alle Williams WPC MPU-borde.Wat gaan aan met die foto?Dit is nie eens 'n Doctor Who MPU op die foto nie.Dit is 'n Rottendog MPU327-4 vervangingsbord vir Williams 3,4,6.Dit het NVRAM en sal nooit sy geheue verloor nie.

Die vuurkrag mpu-bord se ram vir daardie reeks is 'n 256x4bit-eenheid wat hulle gekies het om op die onderste nybble aan te spreek en die boonste nybble hoog te laat trek – so die voorraad HSTD sou F5 F5 F0 F0 F0 F0 gestoor word.Ander vervaardigers se kontemporêre flippermasjiene tot vuurkrag wat ook die 5101-ram gebruik het, sou dieselfde probleem hê, maar Bally (byvoorbeeld) kies om die boonste nybble aktief te maak en die onderste een as F te laat.

Hulle moes 'n volle greepwydte RAM iewers in die adresruimte gehad het, anders kon jy nie 'n adres op die stapel stoot en daarheen terugkeer nie.Sommige ander ingebedde stelsels waaraan ek gewerk het, het 'n wye RAM gebruik, maar het twee toegange geneem om die volle greep te haal.Die SVE het egter net 'n enkele bussiklus gesien.

Hulle doen.Die adres van $0000-$00FF is volle breedte met óf 6810's óf 5114's of in kombinasie intern in 'n 6802. Die 5101 nybble-berging van $0100-$01FF is vir die battery-ondersteunde deel aangesien dit 'n laer kragvereiste-deel is.

“wat, ten spyte daarvan dat dit 'n Doctor Who flipper masjien is nie so groot van 'n masjien is nie” Wat????Dokter wat 'n wonderlike masjien is, dit is geen monster bash of Wizard of oz nie, maar dit is 'n soliede en geliefde masjien deur die flipper gemeenskap

Ek stem saam.Uit al die flipperbal honderde flippermasjiene wat ek al gespeel het.Doctor Who is volgens my die heel lekkerste om te speel.

Huh, dit was 'n mindfuck ... nadat ek daardie hack op die plaaslike hackerspaces 1942-masjien gedoen het, het ek ook iets soortgelyks gedoen met die flippermasjien wat ek aangeskaf het.Wat is 'n Williams Dr. Who masjien.Ek het net nie 'n FPGA gebruik nie, maar iets opgetel met grendels, 'n AVR (dink ek) en 'n paar Linux SBC wat draadloos kon doen.

Ook, ek stem nie saam oor die Dr. Wie nie so groot is nie.Dit is eintlik nogal lekker vir herspeelbaarheid, na my mening.

Deur ons webwerf en dienste te gebruik, stem jy uitdruklik in tot die plasing van ons prestasie, funksionaliteit en advertensiekoekies.Leer meer


Postyd: Sep-02-2019
WhatsApp aanlynklets!