FPGA нь Pinball Machine Masters-д өндөр оноо авсан

Цахилгааныг салгах үед хуучин аркад кабинетийн өндөр оноог хэрхэн хадгалах вэ?Pinball машинд шинэ өндөр оноо оруулах боломжтой юу?Энэ бол Seinfield-ийн нэг анги байсан тул [Матай Венн] туулайн цоорхойг дагуулан FPGA болон санах ойн газрын зураг дээр пинболын машинд шинэ өндөр оноо бий болгохын тулд үүнийг хийх нь зүйтэй байх ёстой.

Энэхүү туршилтын гол машин бол Уильямсаас гаралтай Doctor Who бөгөөд хэдийгээр Doctor Who Pinball машин байсан ч тийм ч гайхалтай машин биш юм.Гэсэн хэдий ч, Далекс.Энэ машин нь 0x0000 хаягаар 8 кБ RAM-тай, 2 МГц давтамжтайгаар ажилладаг Motorola 68B09E-ээр ажилладаг.Энэхүү RAM нь хэд хэдэн АА батерейгаар нөөцлөгдсөн бөгөөд азаар DIP залгуурт байгаа нь [Матай] CPU болон RAM хоёрын хооронд байрлах FPGA хөгжүүлэлтийн самбар бүхий хавтанг бүтээх боломжийг олгодог.

Энэхүү пинболын машиныг таслан зогсоож, шинэ өндөр оноо бичих үндсэн арга нь 1943 оны кабинетаас өндөр оноог жиргэж буй гайхалтай [sprite_tm]-ээс гаралтай.Санаа нь энгийн: зүгээр л нэг санах ойн хаягийг FPGA-г хараад, тухайн хаяг дахь өгөгдөл шинэчлэгдэх үед зарим өгөгдлийг компьютерт илгээнэ үү.Doctor Who Pinball машины хувьд энэ нь сонсогдож байснаас арай хэцүү юм: өгөгдөл нь hex хэлбэрээр хадгалагдаагүй, харин BCD-д багцлагдсан.Бага зэрэг ажилласны дараа [матью] зөөврийн компьютер дээр ажиллаж байгаа Python скриптээс шинэ өндөр оноо бичиж чадсан.Бүх код (мөн хэд хэдэн дэлгэрэнгүй мэдээлэл) Github дээр дууссан

Хаяг болон өгөгдлийн шугамыг товших замаар аркад тоглоомуудыг өргөтгөх нь бидний тийм ч их харагддаггүй зүйл боловч үүнийг хамгийн алдартай нь Роботроны сүм хийв.Энд цөөн хэдэн MAME хакерууд 66 жилийн дараа ирж, үлдсэн хүмүүсийг роботын сүйрлээс аврах дэлхийн аврагчид өөрсдийгөө бүрэн зориулах Роботрон тоглоомыг Сүм болгон хувиргадаг.Doctor Who пинболын машиныг хакердсан нь MAME-ийн өөрчилсөн хувилбараас давсан бөгөөд хэрвээ бид хэзээ нэгэн цагт Robotron-ын жинхэнэ тоглоомоор жинхэнэ сүм хийд хийх гэж байгаа бол эдгээр нь бидний ашиглах арга техник юм.

Хэдхэн хоногийн өмнө тоглоомын хадгалалтыг хадгалахын тулд Sega Saturn-д FRAM ашиглах тухай түүх гарч байсан.Энд ч мөн адил ажиллаж болно.

Миний машин бол Dr Who, гэхдээ үнэндээ энэ бол миний хань Стюарртын Галын хүч байсан юм.Энэ нь минийх дээр ажиллах болно гэж бодож байна, гэхдээ би эхлээд SRAM-г задлах хэрэгтэй!

Ихэнх тоглоомуудын код EPROM дуусч байна.Логик анализатор ашиглан хаяг, өгөгдөл, хяналтын дохиог ашиглан RAM-ийн хаана өндөр оноо байгааг олж мэдээд дараа нь богино хэмжээний програм бичээд хүссэн утгыг RAM хэсэгт оруулна.Хөтөлбөрийг тохиромжтой EPROM болгон шатааж, нэг гүйцэтгэлээр соль.Дараа нь анхны EPROM-г солихын тулд тоглоом хэвийн байдалдаа орно.Үүнийг хэрэгжүүлэхэд бага зэрэг хугацаа шаардагдах боловч зүгээр л ажилладаг.Үгүй ээ, би үүнийг хэрхэн, хаана баталгаажуулсанаа хэлэхгүй:) .

Яагаад өндөр оноо аврахын тулд энэ бүхнийг даван туулах ёстой вэ?Зүгээр л NVRAM суулгаад үүнийг дуусга.Энэ нь бүх Williams WPC MPU хавтангуудад хялбар засвар юм.Зураг нь юу вэ?Энэ нь Доктор Хэн МПУ-ын зураг дээр ч биш юм.Энэ бол Williams 3,4,6-д зориулсан Rottendo MPU327-4 солих хавтан юм.Энэ нь NVRAM-тай бөгөөд санах ойгоо хэзээ ч алдахгүй.

Энэ мужид зориулсан галын хүчтэй mpu хавтангийн ram нь 256x4 битийн хэмжээтэй нэгж бөгөөд тэд доод nybble дээр хаяглаж, дээд nybble-ийг өндөрт татахаар сонгосон тул HSTD нөөцийг F5 F5 F0 F0 F0 F0 гэж хадгалах болно.Бусад үйлдвэрлэгчийн 5101 хуцыг ашигладаг галын хүч бүхий орчин үеийн Pinball машинууд ижил асуудалтай байх боловч Bally (жишээ нь) дээд nybble-ийг идэвхтэй болгож, доод хэсгийг F гэж үлдээхээр сонгосон.

Тэд хаягийн зайн хаа нэгтээ бүтэн байт өргөнтэй RAM-тай байх ёстой, эс тэгвээс та стек дээрх хаягийг түлхэж, түүн рүү буцах боломжгүй.Миний ажиллаж байсан бусад суулгагдсан системүүд өргөн RAM ашигладаг боловч бүтэн байтыг авахын тулд хоёр хандалт хийсэн.CPU нь зөвхөн нэг автобусны циклийг харсан.

Тэд хийнэ.$0000-$00FF хүртэлх хаяг нь бүрэн өргөн нь 6810 эсвэл 5114 эсвэл 6802 дотор хосолсон байна. 0100-$01FF хүртэлх 5101 nybble хадгалах сан нь бага эрчим хүч шаарддаг тул батерейгаар хамгаалагдсан хэсэгт зориулагдсан.

"Энэ нь Doctor Who байсан ч пинболын машин тийм ч гайхалтай биш юм" Юу????Доктор бол гайхалтай машин, ямар ч мангас баш эсвэл шидтэн биш, гэхдээ энэ нь пинболын нийгэмлэгийн хатуу бөгөөд хайртай машин юм.

Би зөвшөөрч байна.Миний тоглож байсан олон зуун пинболын машинуудаас.Миний бодлоор Doctor Who тоглоход хамгийн хөгжилтэй байдаг.

Хөөх, энэ бол үнэхээр тэнэг байсан ... би орон нутгийн хакерын орон зай 1942 машин дээр хакердсаны дараа би олж авсан пинболын машинтай ижил төстэй зүйл хийсэн.Энэ нь Williams Dr. Who машин юм.Би зүгээр л FPGA ашиглаагүй боловч түгжээ, AVR (миний бодлоор) болон утасгүй ажиллах боломжтой Linux SBC-ээр ямар нэгэн зүйл хийсэн.

Мөн Доктор нь тийм ч мундаг биш гэдэгтэй санал нийлэхгүй байна.Миний бодлоор энэ нь дахин тоглуулах чадварын хувьд үнэхээр сайхан юм.

Манай вэбсайт болон үйлчилгээг ашигласнаар та бидний гүйцэтгэл, ажиллагаа, сурталчилгааны күүки байршуулахыг шууд зөвшөөрч байна.Илүү их судла


Шуудангийн цаг: 2019 оны 8-р сарын 29
WhatsApp онлайн чат!