FPGA empatado em máquina de pinball masters pontuações altas

Como você preserva altas pontuações em um antigo gabinete de arcade ao desconectar a energia?É possível injetar novos recordes em uma máquina de pinball?Foi o b-plot de um episódio de Seinfield, então tem que valer a pena, levando [matthew venn] pela toca do coelho de FPGAs e mapas de memória para criar novos recordes em uma máquina de pinball.

A máquina em questão para este experimento é Doctor Who da Williams, que apesar de ser uma máquina de pinball Doctor Who não é uma máquina tão boa.Ainda assim, daleks.Esta máquina é alimentada por um Motorola 68B09E rodando a 2MHz, com 8kB de RAM no endereço 0x0000.Esta RAM foi apoiada com algumas pilhas AA e, felizmente, está em um soquete DIP, permitindo que [matthew] fabrique uma placa carregada com uma placa de desenvolvimento FPGA que fica entre a CPU e a RAM.

A técnica básica para interceptar e escrever uma nova pontuação máxima para esta máquina de pinball vem do incrível [sprite_tm] que está twittando pontuações altas de um gabinete de 1943.A ideia é simples: basta fazer um FPGA olhar para um endereço de memória específico e enviar alguns dados para um computador quando os dados naquele endereço forem atualizados.Para a máquina de pinball Doctor Who, isso é um pouco mais difícil do que parece: os dados não são armazenados em hexadecimal, mas BCD compactado.Depois de um pouco de trabalho, porém, [matthew] conseguiu escrever novas pontuações altas a partir de um script Python executado em um laptop.Todo o código (e mais alguns detalhes) está no Github

Estender os jogos de arcade tocando em linhas de endereço e dados não é algo que vemos muito, mas foi feito, mais notoriamente com a Igreja de Robotron.Aqui, alguns hacks do MAME transformam um jogo de Robotron em uma Igreja para os fiéis se comprometerem totalmente com o salvador do mundo, que deve chegar em 66 anos e salvar os humanos restantes do apocalipse dos robôs.Este hack de uma máquina de pinball de Doctor Who vai além de uma versão modificada do MAME, e se algum dia formos fazer uma capela real com um jogo real de Robotron, essas são as técnicas que usaremos.

Poucos dias atrás, havia uma história sobre o uso de FRAM no Sega Saturn para preservar os jogos salvos.O mesmo poderia funcionar aqui também.

minha máquina é um Dr Who, mas na verdade foi o Fire Power do meu amigo Stuarrrt que testamos.Eu acho que vai funcionar no meu, mas eu tenho que dessoldar a SRAM primeiro!

A maioria dos jogos tem seu código ficando sem EPROMs.Use um analisador lógico observando o endereço, os dados e os sinais de controle para descobrir onde estão as pontuações mais altas na RAM e, em seguida, escreva um pequeno programa curto para inserir o valor desejado na área da RAM.Grave o programa em uma EPROM adequada e troque por uma execução.Em seguida, substitua a EPROM original para que o jogo volte ao normal.Demora um pouco para implementar, mas funciona muito bem.E não, não vou dizer como ou onde verifiquei isso:) .

Por que passar por tudo isso para salvar uma pontuação alta?Basta instalar uma NVRAM e pronto.Essa é uma solução fácil para todas as placas Williams WPC MPU.O que há com a foto?Isso nem é um Doctor Who MPU retratado.É uma placa de substituição Rottendog MPU327-4 para Williams 3,4,6.Ele tem NVRAM e nunca perderá sua memória.

A memória RAM da placa mpu de poder de fogo para esse intervalo é uma unidade de 256x4 bits que eles escolheram para endereçar no nybble inferior e deixar o nybble superior puxado para cima - para que o HSTD de estoque fosse armazenado F5 F5 F0 F0 F0 F0.As máquinas de pinball contemporâneas de outros fabricantes que também usavam o ram 5101 teriam o mesmo problema, mas Bally (por exemplo) optou por ativar o nybble superior e deixar o inferior como F.

Eles devem ter uma RAM de largura de byte completa em algum lugar no espaço de endereço, caso contrário você não poderia empurrar um endereço na pilha e retornar a ele.Alguns outros sistemas embarcados em que eu costumava trabalhar usavam RAM ampla, mas precisavam de dois acessos para buscar o byte completo.A CPU viu apenas um único ciclo de barramento.

Eles fazem.O endereço de $0000-$00FF é de largura total com 6810's ou 5114's ou em combinação internamente em um 6802. O armazenamento 5101 nybble de $0100-$01FF é para a parte com bateria, pois é uma parte de menor consumo de energia.

“que, apesar de ser uma máquina de pinball de Doctor Who não é uma máquina tão boa” O que????Doutor que é uma grande máquina, não é uma festança de monstros ou Mágico de oz, mas é uma máquina sólida e amada pela comunidade de pinball

Concordo.De todas as centenas de máquinas de pinball que joguei.Doctor Who é consistentemente o mais divertido de se jogar na minha opinião.

Huh, isso foi uma foda… depois que eu fiz aquele hack na máquina local do hackerspaces 1942, eu também fiz algo parecido com a máquina de pinball que adquiri.Que é uma máquina Williams Dr. Who.Eu simplesmente não usei um FPGA, mas preparei algo com travas, um AVR (eu acho) e algum SBC Linux que poderia fazer wireless.

Além disso, discordo sobre o Dr. Who não ser tão bom.É realmente muito bom para replayability, na minha opinião.

Ao usar nosso site e serviços, você concorda expressamente com a colocação de nossos cookies de desempenho, funcionalidade e publicidade.Saber mais


Horário da postagem: 02 de setembro de 2019
Bate-papo on-line do WhatsApp!