FPGA collegato al flipper Masters i punteggi più alti

Come si preservano i punteggi più alti in un vecchio cabinato arcade quando si scollega l'alimentazione?È possibile inserire nuovi record in un flipper?Era la trama secondaria di un episodio di Seinfield, quindi vale la pena farlo, portando [matthew venn] nella tana del coniglio degli FPGA e delle mappe di memoria per creare nuovi punteggi migliori in un flipper.

La macchina in questione per questo esperimento è Doctor Who della Williams, che, nonostante sia un flipper Doctor Who, non è una macchina eccezionale.Comunque, daleks.Questa macchina è alimentata da un Motorola 68B09E che funziona a 2 MHz, con 8kB di RAM all'indirizzo 0x0000.Questa RAM è supportata da alcune batterie AA e fortunatamente si trova in una presa DIP, consentendo a [Matthew] di fabbricare una scheda caricata con una scheda di sviluppo FPGA che va tra la CPU e la RAM.

La tecnica di base per intercettare e scrivere un nuovo record per questo flipper viene dall'incredibile [sprite_tm] che twitta i punteggi più alti da un cabinato del 1943.L'idea è semplice: basta dare un'occhiata all'FPGA a uno specifico indirizzo di memoria e inviare alcuni dati a un computer quando i dati a quell'indirizzo vengono aggiornati.Per il flipper Doctor Who, questo è leggermente più difficile di quanto sembri: i dati non sono memorizzati in formato esadecimale, ma compresso in BCD.Dopo un po' di lavoro, però, [matthew] è riuscito a scrivere nuovi punteggi migliori da uno script Python in esecuzione su un laptop.Tutto il codice (e qualche dettaglio in più) è su Github

Estendere i giochi arcade sfruttando indirizzi e linee dati non è qualcosa che vediamo spesso, ma è stato fatto, soprattutto con la Chiesa di Robotron.Qui, alcuni hack MAME trasformano un gioco di Robotron in una chiesa in cui i fedeli si impegnano completamente per il salvatore del mondo, che arriverà tra 66 anni e salverà gli esseri umani rimasti dall'apocalisse dei robot.Questo hack del flipper Doctor Who va oltre una versione modificata di MAME, e se mai vogliamo realizzare una vera cappella con un vero gioco di Robotron, queste sono le tecniche che useremo.

Pochi giorni fa si parlava dell'utilizzo della FRAM in Sega Saturn per preservare i salvataggi del gioco.Lo stesso potrebbe funzionare anche qui.

la mia macchina è un Dr Who, ma in realtà è stato il Fire Power del mio amico Stuarrrt su cui l'abbiamo provato.Penso che funzionerà sul mio, ma devo prima dissaldare la SRAM!

La maggior parte dei giochi ha il codice esaurito nelle EPROM.Utilizzare un analizzatore logico osservando indirizzi, dati e segnali di controllo per capire dove si trovano i punteggi più alti nella RAM, quindi scrivere un breve programma per inserire il valore desiderato nell'area RAM.Masterizzare il programma in una EPROM adatta e scambiarla per un'esecuzione.Quindi sostituisci la EPROM originale in modo che il gioco torni alla normalità.Ci vuole un po' di tempo per l'implementazione, ma funziona perfettamente.E no, non dirò come o dove l'ho verificato:) .

Perché affrontare tutto questo per salvare un punteggio elevato?Basta installare una NVRAM e il gioco è fatto.Questa è una soluzione semplice per tutte le schede MPU Williams WPC.Cosa significa la foto?Quella nella foto non è nemmeno una MPU di Doctor Who.È una scheda sostitutiva Rottendog MPU327-4 per Williams 3,4,6.Ha NVRAM e non perderà mai la sua memoria.

La ram della scheda mpu Firepower per quell'intervallo è un'unità da 256x4 bit che hanno scelto di indirizzare sul nybble inferiore e lasciare il nybble superiore tirato in alto, quindi l'HSTD di serie verrebbe memorizzato F5 F5 F0 F0 F0 F0.I flipper contemporanei alla potenza di fuoco di altri produttori che utilizzavano anche il pistone 5101 avrebbero lo stesso problema, ma Bally (ad esempio) ha scelto di rendere attivo il nybble superiore e lasciare quello inferiore come F.

Dovevano avere una RAM a larghezza di byte completa da qualche parte nello spazio degli indirizzi, altrimenti non sarebbe stato possibile inserire un indirizzo nello stack e ritornarvi.Alcuni altri sistemi embedded su cui lavoravo utilizzavano RAM di tipo nibble wide ma richiedevano due accessi per recuperare l'intero byte.La CPU però ha rilevato un solo ciclo di bus.

Loro fanno.L'indirizzo da $ 0000 a $ 00FF è a larghezza intera con 6810 o 5114 o in combinazione internamente in un 6802. La memoria nybble 5101 da $ 0100 a $ 01FF è per la parte alimentata a batteria poiché è una parte con requisiti di alimentazione inferiori.

“che, pur essendo un flipper di Doctor Who, non è poi così eccezionale come macchina” Cosa????Dottore, è una macchina fantastica, non è un Monster Bash o il Mago di Oz, ma è una macchina solida e amata dalla comunità dei flipper.

Sono d'accordo.Tra tutti i flipper, centinaia di flipper con cui ho giocato.Secondo me Doctor Who è decisamente il più divertente da interpretare.

Eh, è stato uno schifo... dopo aver fatto quell'hack sulla macchina del 1942 degli hackerspace locali, ho fatto qualcosa di simile anche con il flipper che avevo acquistato.Che è una macchina Williams Dr. Who.Semplicemente non ho usato un FPGA ma ho montato qualcosa con latch, un AVR (credo) e alcuni SBC Linux che potessero funzionare senza fili.

Inoltre, non sono d'accordo sul fatto che il Dr. Who non sia così eccezionale.In realtà è piuttosto carino per la rigiocabilità, secondo me.

Utilizzando il nostro sito Web e i nostri servizi, accetti espressamente l'inserimento dei nostri cookie prestazionali, funzionali e pubblicitari.Saperne di più


Orario di pubblicazione: 29 agosto 2019
Chatta in linea di WhatsApp!