Na-jack ang FPGA sa Pinball Machine Masters Matataas na Marka

Paano mo mapapanatili ang matataas na marka sa isang lumang arcade cabinet kapag dinidiskonekta ang power?Posible bang mag-iniksyon ng mga bagong matataas na marka sa isang pinball machine?Ito ay ang b-plot ng isang episode ng Seinfield, kaya dapat sulit itong gawin, na humantong [matthew venn] pababa sa rabbit hole ng mga FPGA at memory maps upang lumikha ng mga bagong matataas na marka sa isang pinball machine.

Ang machine na pinag-uusapan para sa eksperimentong ito ay Doctor Who mula sa Williams, na, sa kabila ng pagiging isang Doctor Who pinball machine ay hindi ganoon kahusay sa isang makina.Still, daleks.Ang makina na ito ay pinapagana ng isang Motorola 68B09E na tumatakbo sa 2MHz, na may 8kB ng RAM sa address na 0x0000.Ang RAM na ito ay naka-back up gamit ang ilang AA na baterya, at sa kabutihang-palad ay nasa isang DIP socket, na nagpapahintulot kay [matthew] na gumawa ng isang board na puno ng isang FPGA development board na napupunta sa pagitan ng CPU at RAM.

Ang pangunahing pamamaraan para sa pagharang at pagsulat ng bagong mataas na marka para sa pinball machine na ito ay nagmula sa hindi kapani-paniwalang [sprite_tm] na nag-tweet ng matataas na marka mula sa isang cabinet noong 1943.Ang ideya ay simple: tingnan lamang ng FPGA ang isang partikular na memory address, at magpadala ng ilang data sa isang computer kapag na-update ang data sa address na iyon.Para sa Pinball machine ng Doctor Who, ito ay bahagyang mas mahirap kaysa sa sinasabi nito: ang data ay hindi nakaimbak sa hex, ngunit naka-pack na BCD.Gayunpaman, pagkatapos ng kaunting trabaho, nakapagsulat si [matthew] ng mga bagong matataas na marka mula sa script ng Python na tumatakbo sa isang laptop.Ang lahat ng code (at ilang higit pang mga detalye) ay tapos na sa isang Github

Ang pagpapalawak ng mga laro sa arcade sa pamamagitan ng pag-tap sa address at mga linya ng data ay hindi isang bagay na madalas nating nakikita, ngunit nagawa na ito, pinakatanyag sa Church of Robotron.Dito, ginawang Simbahan ng ilang MAME hack ang laro ng Robotron para sa mga mananampalataya upang ganap na italaga ang kanilang sarili sa tagapagligtas ng mundo, dahil sa pagdating sa 66 na taon at iligtas ang natitirang mga tao mula sa robot apocalypse.Ang hack na ito ng isang Doctor Who pinball machine ay higit pa sa isang modded na bersyon ng MAME, at kung gagawa tayo ng tunay na kapilya na may totoong laro ng Robotron, ito ang mga diskarteng gagamitin natin.

Ilang araw na ang nakalipas ay may kuwento tungkol sa paggamit ng FRAM sa Sega Saturn para mapanatili ang mga pag-save ng laro.Ang parehong ay maaaring gumana dito pati na rin.

ang aking makina ay isang Dr Who, ngunit ang totoo ay ang Fire Power ng aking asawa na si Stuarrrt na sinubukan namin ito.Sa tingin ko ito ay gagana sa akin ngunit kailangan kong i-unsolder muna ang SRAM!

Karamihan sa mga laro ay nauubusan ng mga EPROM ang kanilang code.Gumamit ng isang logic analyzer na nanonood ng address, data at mga signal ng kontrol upang malaman kung saan nakatira ang mga matataas na marka sa RAM, at pagkatapos ay magsulat ng isang maikling programa upang ipasok ang halaga na gusto mo sa lugar ng RAM.I-burn ang program sa isang angkop na EPROM at magpalit para sa isang execution.Pagkatapos ay palitan ang orihinal na EPROM para bumalik sa normal ang laro.Ito ay tumatagal ng kaunting oras upang ipatupad, ngunit gumagana nang maayos.At hindi, hindi ko sasabihin kung paano o saan ko ito na-verify:) .

Bakit dumaan sa lahat ng ito para makatipid ng mataas na marka?Mag-install lamang ng isang NVRAM at gawin ito.Iyon ay isang madaling ayusin para sa lahat ng Williams WPC MPU boards.Anong meron sa litrato?Hindi iyon kahit isang Doctor Who MPU ang nakalarawan.Ito ay isang Rottendog MPU327-4 replacement board para sa Williams 3,4,6.Mayroon itong NVRAM at hinding-hindi mawawala ang memorya nito.

Ang ram ng firepower mpu board para sa hanay na iyon ay isang 256x4bit na unit na pinili nilang tugunan sa ibabang nybble at iwanan ang itaas na nybble na hinila nang mataas – kaya ang stock HSTD ay maiimbak F5 F5 F0 F0 F0 F0.Ang mga kontemporaryong pinball machine ng ibang manufacturer sa firepower na gumamit din ng 5101 ram ay magkakaroon ng parehong isyu, ngunit pinili ni Bally (halimbawa) na gawing aktibo ang upper nybble at iwanan ang ibaba bilang F.

Dapat ay mayroon silang isang buong byte na lapad ng RAM sa isang lugar sa puwang ng address, kung hindi, hindi ka maaaring itulak ang isang address sa stack at bumalik dito.Ang ilang iba pang mga naka-embed na system na ginamit ko ay ginamit sa nibble wide RAM ngunit kumuha ng dalawang access upang makuha ang buong byte.Ang CPU ay nakakita lamang ng isang solong ikot ng bus.

ginagawa nila.Ang address mula $0000-$00FF ay buong lapad na may alinman sa 6810's o 5114's o pinagsama sa loob ng isang 6802. Ang 5101 nybble storage mula $0100-$01FF ay para sa battery backed na bahagi dahil ito ay isang mas mababang bahagi na kinakailangan ng kuryente.

“na, sa kabila ng pagiging isang Doctor Who pinball machine ay hindi ganoon kagaling sa isang makina” Ano????Doktor na isang mahusay na makina, hindi ito monster bash o Wizard of oz, ngunit ito ay isang solid at minamahal na makina ng komunidad ng pinball

Sumasang-ayon ako.Sa lahat ng daan-daang pinball na pinball machine na nilaro ko.Doctor Who ay pare-pareho ang pinaka-masaya upang i-play sa aking opinyon.

Huh, mindfuck iyon… pagkatapos kong gawin ang pag-hack na iyon sa lokal na hackerspaces 1942 machine, gumawa din ako ng katulad sa pinball machine na nakuha ko.Alin ang isang Williams Dr. Who machine.Hindi lang ako gumamit ng FPGA ngunit may pinalo na may mga trangka, isang AVR (sa tingin ko) at ilang Linux SBC na maaaring gumawa ng wireless.

Gayundin, hindi ako sumasang-ayon sa Dr. Sino ang hindi na mahusay.Ito ay talagang maganda para sa replayability, sa aking opinyon.

Sa pamamagitan ng paggamit ng aming website at mga serbisyo, hayagang sumasang-ayon ka sa paglalagay ng aming pagganap, pagpapagana at cookies sa advertising.Matuto pa


Oras ng post: Set-02-2019
WhatsApp Online Chat!