FPGA Jacked ເຂົ້າໄປໃນເຄື່ອງ Pinball Masters ຄະແນນສູງ

ເຈົ້າຮັກສາຄະແນນສູງໃນຕູ້ອາເຄດເກົ່າໄດ້ແນວໃດເມື່ອຕັດສາຍໄຟ?ມັນເປັນໄປໄດ້ທີ່ຈະສີດຄະແນນສູງໃຫມ່ເຂົ້າໄປໃນເຄື່ອງ pinball ບໍ?ມັນແມ່ນແຜນການ b ຂອງຕອນຂອງ Seinfield, ສະນັ້ນມັນຕ້ອງຄຸ້ມຄ່າ, ນໍາພາ [matthew venn] ລົງຂຸມ rabbit ຂອງ FPGAs ແລະແຜນທີ່ຫນ່ວຍຄວາມຈໍາເພື່ອສ້າງຄະແນນສູງໃຫມ່ໃນເຄື່ອງ pinball.

ເຄື່ອງໃນຄໍາຖາມສໍາລັບການທົດລອງນີ້ແມ່ນ Doctor Who ຈາກ Williams, ເຊິ່ງເຖິງແມ່ນວ່າຈະເປັນ Doctor Who ເຄື່ອງ pinball ບໍ່ແມ່ນເຄື່ອງຈັກທີ່ຍິ່ງໃຫຍ່.ຍັງ, daleks.ເຄື່ອງນີ້ແມ່ນຂັບເຄື່ອນໂດຍ Motorola 68B09E ແລ່ນຢູ່ທີ່ 2MHz, ມີ 8kB ຂອງ RAM ທີ່ຢູ່ 0x0000.RAM ນີ້ສໍາຮອງດ້ວຍແບດເຕີຣີ້ AA ຈໍານວນຫນ້ອຍ, ແລະໂຊກດີຢູ່ໃນເຕົ້າສຽບ DIP, ຊ່ວຍໃຫ້ [matthew] ສາມາດສ້າງກະດານທີ່ໂຫລດດ້ວຍກະດານພັດທະນາ FPGA ທີ່ໄປລະຫວ່າງ CPU ແລະ RAM.

ເຕັກນິກພື້ນຖານສໍາລັບການຂັດຂວາງແລະຂຽນຄະແນນສູງໃຫມ່ສໍາລັບເຄື່ອງ pinball ນີ້ມາຈາກ [sprite_tm] ທີ່ບໍ່ຫນ້າເຊື່ອຜູ້ທີ່ກໍາລັງ tweeting ຄະແນນສູງຈາກ 1943 ຕູ້.ແນວຄວາມຄິດແມ່ນງ່າຍດາຍ: ພຽງແຕ່ມີ FPGA ເບິ່ງທີ່ຢູ່ຫນ່ວຍຄວາມຈໍາສະເພາະຫນຶ່ງ, ແລະສົ່ງຂໍ້ມູນບາງຢ່າງໄປຫາຄອມພິວເຕີເມື່ອຂໍ້ມູນທີ່ຢູ່ນັ້ນຖືກປັບປຸງ.ສໍາລັບເຄື່ອງ pinball ຂອງ Doctor Who, ນີ້ແມ່ນສຽງທີ່ຍາກກວ່າເລັກນ້ອຍ: ຂໍ້ມູນບໍ່ໄດ້ເກັບຮັກສາໄວ້ໃນ hex, ແຕ່ບັນຈຸ BCD.ຫຼັງຈາກການເຮັດວຽກເລັກນ້ອຍ, [matthew] ສາມາດຂຽນຄະແນນສູງໃຫມ່ຈາກ script Python ທີ່ແລ່ນຢູ່ໃນຄອມພິວເຕີ້.ລະຫັດທັງຫມົດ (ແລະລາຍລະອຽດເພີ່ມເຕີມຈໍານວນຫນ້ອຍ) ແມ່ນຜ່ານ Github

ການຂະຫຍາຍເກມອາເຂດໂດຍການແຕະໃສ່ທີ່ຢູ່ ແລະສາຍຂໍ້ມູນບໍ່ແມ່ນສິ່ງທີ່ພວກເຮົາເຫັນຫຼາຍ, ແຕ່ມັນໄດ້ຖືກເຮັດແລ້ວ, ທີ່ມີຊື່ສຽງຫຼາຍທີ່ສຸດກັບໂບດ Robotron.ທີ່ນີ້, hacks MAME ບໍ່ຫຼາຍປານໃດເຮັດໃຫ້ເກມຂອງ Robotron ເປັນສາດສະຫນາຈັກສໍາລັບຜູ້ຊື່ສັດທີ່ຈະສັນຍາຢ່າງເຕັມສ່ວນກັບຜູ້ຊ່ອຍໃຫ້ລອດຂອງໂລກ, ເນື່ອງຈາກມາຮອດໃນ 66 ປີແລະຊ່ວຍປະຢັດມະນຸດທີ່ຍັງເຫຼືອຈາກ apocalypse ຫຸ່ນຍົນ.ການແຮັກຂອງເຄື່ອງ Pinball ຂອງ Doctor Who ນີ້ເກີນກວ່າ MAME ລຸ້ນທີ່ດັດແປງແລ້ວ, ແລະຖ້າພວກເຮົາເຄີຍເຮັດໂບດຈິງກັບເກມ Robotron ທີ່ແທ້ຈິງ, ເຫຼົ່ານີ້ແມ່ນເຕັກນິກທີ່ພວກເຮົາຈະໃຊ້.

ສອງສາມມື້ທີ່ຜ່ານມາມີເລື່ອງກ່ຽວກັບການນໍາໃຊ້ FRAM ໃນ Sega Saturn ເພື່ອຮັກສາເກມບັນທຶກ.ດຽວກັນສາມາດເຮັດວຽກຢູ່ທີ່ນີ້ເຊັ່ນດຽວກັນ.

ເຄື່ອງຂອງຂ້ອຍແມ່ນ Dr Who, ແຕ່ຕົວຈິງແລ້ວມັນແມ່ນຄູ່ຮັກຂອງຂ້ອຍ Stuarrt's Fire Power ທີ່ພວກເຮົາພະຍາຍາມນີ້.ຂ້າ​ພະ​ເຈົ້າ​ຄິດ​ວ່າ​ມັນ​ຈະ​ເຮັດ​ວຽກ​ກ່ຽວ​ກັບ​ການ​ຂ້າ​ພະ​ເຈົ້າ​ແຕ່​ຂ້າ​ພະ​ເຈົ້າ​ຕ້ອງ unsolder SRAM ກ່ອນ​!

ສ່ວນໃຫຍ່ຂອງເກມມີລະຫັດຂອງເຂົາເຈົ້າແລ່ນອອກຈາກ EPROMs.ໃຊ້ເຄື່ອງວິເຄາະເຫດຜົນເບິ່ງທີ່ຢູ່, ຂໍ້ມູນແລະສັນຍານຄວບຄຸມເພື່ອຄົ້ນຫາບ່ອນທີ່ຢູ່ໃນ RAM ມີຄະແນນສູງ, ແລະຫຼັງຈາກນັ້ນຂຽນໂປຼແກຼມສັ້ນໆເພື່ອໃສ່ຄ່າທີ່ທ່ານຕ້ອງການເຂົ້າໄປໃນພື້ນທີ່ RAM.ໄຫມ້ໂຄງການເຂົ້າໄປໃນ EPROM ທີ່ເຫມາະສົມແລະແລກປ່ຽນໃນຫນຶ່ງການປະຕິບັດ.ຈາກນັ້ນປ່ຽນ EPROM ຕົ້ນສະບັບເພື່ອໃຫ້ເກມກັບຄືນສູ່ປົກກະຕິ.ມັນໃຊ້ເວລາພຽງເລັກນ້ອຍເພື່ອປະຕິບັດ, ແຕ່ເຮັດວຽກໄດ້ດີ.ແລະບໍ່, ຂ້ອຍບໍ່ເວົ້າວິທີຫຼືບ່ອນທີ່ຂ້ອຍກວດສອບນີ້:) .

ເປັນຫຍັງຕ້ອງຜ່ານທັງໝົດນີ້ເພື່ອບັນທຶກຄະແນນສູງ?ພຽງແຕ່ຕິດຕັ້ງ NVRAM ແລະເຮັດກັບມັນ.ນັ້ນແມ່ນການແກ້ໄຂງ່າຍສໍາລັບກະດານ Williams WPC MPU ທັງຫມົດ.ເປັນແນວໃດກັບຮູບ?ນັ້ນບໍ່ແມ່ນແຕ່ທ່ານໝໍຜູ້ທີ່ MPU ຮູບພາບ.ມັນເປັນກະດານທົດແທນ Rottendog MPU327-4 ສໍາລັບ Williams 3,4,6.ມັນມີ NVRAM ແລະຈະບໍ່ສູນເສຍຄວາມຊົງຈໍາຂອງມັນ.

ram ຂອງກະດານ mpu firepower ສໍາລັບຊ່ວງນັ້ນແມ່ນຫນ່ວຍງານ 256x4bit ທີ່ພວກເຂົາເລືອກທີ່ຈະແກ້ໄຂໃນ nybble ຕ່ໍາແລະປ່ອຍໃຫ້ nybble ເທິງດຶງສູງ - ດັ່ງນັ້ນຫຼັກຊັບ HSTD ຈະຖືກເກັບໄວ້ F5 F5 F0 F0 F0 F0.ເຄື່ອງ pinball ທີ່ທັນສະໄຫມຂອງຜູ້ຜະລິດອື່ນໆເພື່ອ firepower ທີ່ຍັງໃຊ້ ram 5101 ຈະມີບັນຫາດຽວກັນ, ແຕ່ Bally (ຕົວຢ່າງ) ເລືອກທີ່ຈະເຮັດໃຫ້ nybble ເທິງມີການເຄື່ອນໄຫວແລະປ່ອຍໃຫ້ຕ່ໍາເປັນ F.

ພວກເຂົາຕ້ອງມີ RAM ຄວາມກວ້າງຂອງ byte ເຕັມຢູ່ບ່ອນໃດຫນຶ່ງໃນພື້ນທີ່ທີ່ຢູ່, ຖ້າບໍ່ດັ່ງນັ້ນທ່ານບໍ່ສາມາດຍູ້ທີ່ຢູ່ເທິງ stack ແລະກັບຄືນໄປຫາມັນ.ບາງລະບົບຝັງຕົວອື່ນໆທີ່ຂ້ອຍເຄີຍເຮັດວຽກກັບ RAM ກວ້າງທີ່ໃຊ້ nibble ແຕ່ໄດ້ໃຊ້ສອງການເຂົ້າເຖິງເພື່ອດຶງເອົາ byte ເຕັມ.CPU ພຽງແຕ່ເຫັນວົງຈອນລົດເມດຽວເທົ່ານັ້ນ.

ພວກ​ເຂົາ​ເຮັດ.ທີ່ຢູ່ຈາກ $0000-$00FF ແມ່ນເຕັມຄວາມກວ້າງກັບ 6810's ຫຼື 5114's ຫຼືປະສົມປະສານພາຍໃນໃນ 6802. ການເກັບຮັກສາ nybble 5101 ຈາກ $0100-$01FF ແມ່ນສໍາລັບສ່ວນທີ່ຮອງຈາກຫມໍ້ໄຟເນື່ອງຈາກມັນເປັນສ່ວນທີ່ຕ້ອງການພະລັງງານຕ່ໍາ.

"ຊຶ່ງ, ເຖິງແມ່ນວ່າຈະເປັນທ່ານຫມໍທີ່ເຄື່ອງ pinball ບໍ່ແມ່ນເຄື່ອງທີ່ຍິ່ງໃຫຍ່ຂອງ" ແມ່ນຫຍັງ ????ທ່ານໝໍທີ່ເປັນເຄື່ອງຈັກທີ່ຍິ່ງໃຫຍ່, ບໍ່ມີເຄື່ອງປັ້ນດິນເຜົາ ຫຼື Wizard of oz, ແຕ່ເປັນເຄື່ອງທີ່ແຂງແກ່ນ ແລະເປັນທີ່ຮັກແພງຂອງຊຸມຊົນ pinball.

ຂ້ອຍ​ຍອມ​ຮັບ.ອອກຈາກເຄື່ອງ pinball ຫຼາຍຮ້ອຍເຄື່ອງ pinball ທີ່ຂ້າພະເຈົ້າໄດ້ຫຼິ້ນ.ທ່ານໝໍແມ່ນມີຄວາມມ່ວນທີ່ສຸດໃນການຫຼິ້ນໃນຄວາມຄິດເຫັນຂອງຂ້ອຍ.

Huh, ນັ້ນເປັນທີ່ຫນ້າເສຍໃຈ… ຫຼັງຈາກທີ່ຂ້ອຍໄດ້ hack ຢູ່ໃນເຄື່ອງ hackerspaces 1942 ທ້ອງຖິ່ນ, ຂ້ອຍຍັງໄດ້ເຮັດບາງສິ່ງບາງຢ່າງທີ່ຄ້າຍຄືກັນກັບເຄື່ອງ pinball ທີ່ຂ້ອຍໄດ້ມາ.ເຊິ່ງແມ່ນ Williams Dr. Who machine.ຂ້າ​ພະ​ເຈົ້າ​ພຽງ​ແຕ່​ບໍ່​ໄດ້​ນໍາ​ໃຊ້ FPGA ແຕ່ whipped ບາງ​ສິ່ງ​ບາງ​ຢ່າງ​ຂຶ້ນ​ກັບ latches​, AVR (ຂ້າ​ພະ​ເຈົ້າ​ຄິດ​ວ່າ​) ແລະ Linux SBC ບາງ​ຄົນ​ທີ່​ສາ​ມາດ​ເຮັດ​ໄດ້​ໄຮ້​ສາຍ​.

ນອກຈາກນີ້, ຂ້າພະເຈົ້າບໍ່ເຫັນດີນໍາທ່ານດຣ. ຜູ້ທີ່ບໍ່ໄດ້ເປັນທີ່ຍິ່ງໃຫຍ່.ໃນຄວາມເປັນຈິງ, ມັນດີຫຼາຍສໍາລັບການຫຼິ້ນຄືນ, ໃນຄວາມຄິດເຫັນຂອງຂ້ອຍ.

ໂດຍການນໍາໃຊ້ເວັບໄຊທ໌ແລະການບໍລິການຂອງພວກເຮົາ, ທ່ານຕົກລົງເຫັນດີຢ່າງຊັດເຈນກັບການຈັດຕໍາແຫນ່ງຂອງການປະຕິບັດ, ຫນ້າທີ່ແລະ cookies ໂຄສະນາຂອງພວກເຮົາ.ສຶກສາເພີ່ມເຕີມ


ເວລາປະກາດ: 29-08-2019
WhatsApp ສົນທະນາອອນໄລນ໌!