FPGA incorporado á máquina de pinball Masters puntuacións altas

Como se conservan as puntuacións altas nun armario arcade antigo ao desconectar a alimentación?É posible inxectar novas puntuacións altas nunha máquina de pinball?Era a trama b dun episodio de Seinfield, polo que ten que valer a pena, levando a [matthew venn] pola madriguera de FPGA e mapas de memoria para crear novas puntuacións altas nunha máquina de pinball.

A máquina en cuestión para este experimento é Doctor Who de Williams, que, a pesar de ser unha máquina de pinball de Doutor Who non é tan grande como unha máquina.Aínda así, daleks.Esta máquina está alimentada por un Motorola 68B09E que funciona a 2 MHz, con 8 kB de RAM no enderezo 0x0000.Esta memoria RAM realizouse cunhas poucas baterías AA e, afortunadamente, está nun socket DIP, o que permite que [matthew] fabrique unha placa cargada cunha placa de desenvolvemento FPGA que vai entre a CPU e a RAM.

A técnica básica para interceptar e escribir unha nova puntuación alta para esta máquina de pinball provén do incrible [sprite_tm] que está a tuitear puntuacións altas desde un gabinete de 1943.A idea é sinxela: basta con ter unha FPGA que mire un enderezo de memoria específico e envíe algúns datos a un ordenador cando se actualicen os datos nese enderezo.Para a máquina de pinball de Doctor Who, isto é un pouco máis difícil do que parece: os datos non se almacenan en hexadecimal, senón que están empaquetados en BCD.Con todo, despois dun pouco de traballo, [matthew] puido escribir novas puntuacións altas a partir dun script de Python que se executa nun portátil.Todo o código (e algúns detalles máis) rematou nun Github

Estender os xogos de arcade tocando as liñas de enderezos e datos non é algo que vemos moito, pero fíxose, o máis famoso coa Igrexa de Robotron.Aquí, algúns trucos de MAME converten un xogo de Robotron nunha Igrexa para que os fieis se comprometan plenamente co salvador do mundo, que chegará en 66 anos e salvará aos humanos restantes da apocalipse do robot.Este truco dunha máquina de pinball de Doctor Who vai máis aló dunha versión modificada de MAME, e se algunha vez imos facer unha auténtica capela cun xogo real de Robotron, estas son as técnicas que imos utilizar.

Poucos días atrás, houbo unha historia sobre o uso de FRAM en Sega Saturn para preservar as partidas gardadas.O mesmo podería funcionar aquí tamén.

A miña máquina é un Dr Who, pero en realidade foi o Fire Power do meu compañeiro Stuarrrt o que probamos.Creo que funcionará no meu, pero primeiro teño que dessoldar a SRAM.

A maioría dos xogos teñen o seu código sen EPROM.Use un analizador lóxico observando enderezos, datos e sinais de control para descubrir onde viven na memoria RAM as puntuacións máis altas e, a continuación, escriba un pequeno programa curto para inserir o valor que desexa na área RAM.Grava o programa nunha EPROM axeitada e cámbiao por unha execución.Despois substitúe a EPROM orixinal para que o xogo volva á normalidade.Leva un pouco de tempo implementar, pero funciona ben.E non, non vou dicir como nin onde comprobei isto:) .

Por que pasar por todo isto para gardar unha puntuación alta?Só ten que instalar unha NVRAM e rematar con ela.Esta é unha solución sinxela para todas as placas MPU Williams WPC.Que pasa coa foto?Ese nin sequera é un MPU de Doctor Who na imaxe.É unha placa de substitución Rottendog MPU327-4 para Williams 3,4,6.Ten NVRAM e nunca perderá a súa memoria.

A memoria RAM da placa mpu de potencia de lume para ese rango é unha unidade de 256 x 4 bits que elixiron abordar no nybble inferior e deixar o nybble superior elevado, polo que o stock HSTD almacenaríase F5 F5 F0 F0 F0 F0.As máquinas de pinball contemporáneas doutros fabricantes que tamén usaban o ram 5101 terían o mesmo problema, pero Bally (por exemplo) optou por activar o nybble superior e deixar o inferior como F.

Deben ter unha RAM de ancho de bytes completo nalgún lugar do espazo de enderezos, se non, non podería empurrar un enderezo na pila e volver a el.Algúns outros sistemas integrados nos que adoitaba traballar usaban RAM de gran tamaño pero necesitaron dous accesos para obter o byte completo.A CPU só viu un único ciclo de bus.

Eles fan.O enderezo de $ 0000- $ 00FF é de ancho total con 6810 ou 5114 ou en combinación interna nun 6802. O almacenamento nybble 5101 de $ 0100- $ 01FF é para a parte con batería, xa que é unha parte con menor consumo de enerxía.

"que, a pesar de ser unha máquina de pinball de Doctor Who, non é unha máquina tan grande" ¿Que????Doutor que é unha gran máquina, non é un monstruo nin o Mago de Oz, pero é unha máquina sólida e querida pola comunidade de pinball.

Estou de acordo.De todos os centos de pinballs aos que xoguei.Doutor Who é sempre o máis divertido de xogar na miña opinión.

Huh, iso foi un carallo... despois de facer ese hack na máquina local de hackerspaces 1942, tamén fixen algo semellante coa máquina de pinball que adquirei.Que é unha máquina Williams Dr. Who.Simplemente non usei unha FPGA, pero fixen algo con pestillos, un AVR (creo) e algún SBC de Linux que podería facer sen fíos.

Ademais, non estou de acordo en que o Dr Who non sexa tan grande.Na miña opinión, é moi bo para a reprodución.

Ao usar o noso sitio web e servizos, aceptas expresamente a colocación das nosas cookies de rendemento, funcionalidade e publicidade.Aprender máis


Hora de publicación: 29-ago-2019
Chat en liña de WhatsApp!