FPGA Jacked Into Pinball Machine ทำคะแนนสูงสุดได้

คุณจะรักษาคะแนนสูงไว้ในตู้อาร์เคดเก่าเมื่อตัดการเชื่อมต่อไฟได้อย่างไรเป็นไปได้ไหมที่จะเพิ่มคะแนนสูงสุดใหม่ลงในเครื่องพินบอล?มันเป็นพล็อต b ของตอนหนึ่งของ Seinfield ดังนั้นจึงคุ้มค่าที่จะทำ โดยนำ [matthew venn] ลงหลุมกระต่ายของ FPGA และแผนที่หน่วยความจำเพื่อสร้างคะแนนสูงสุดใหม่ในเครื่องพินบอล

เครื่องจักรที่เป็นปัญหาสำหรับการทดลองนี้คือ Doctor Who จาก Williams ซึ่งแม้จะเป็นเครื่องพินบอลของ Doctor Who ก็ไม่ได้ยอดเยี่ยมขนาดนั้นยังไงก็เดลิกซ์เครื่องนี้ใช้พลังงานจาก Motorola 68B09E ที่ทำงานที่ความเร็ว 2MHz พร้อมด้วย RAM ขนาด 8kB ที่ที่อยู่ 0x0000RAM นี้สำรองข้อมูลด้วยแบตเตอรี่ AA สองสามก้อน และโชคดีที่อยู่ในซ็อกเก็ต DIP ช่วยให้ [matthew] สร้างบอร์ดที่โหลดด้วยบอร์ดพัฒนา FPGA ที่อยู่ระหว่าง CPU และ RAM

เทคนิคพื้นฐานในการสกัดกั้นและเขียนคะแนนสูงสุดใหม่สำหรับเครื่องพินบอลนี้มาจาก [sprite_tm] ที่น่าทึ่งซึ่งทวีตคะแนนสูงสุดจากตู้พินบอลในปี 1943แนวคิดนั้นง่ายมาก: เพียงแค่ให้ FPGA ดูที่อยู่หน่วยความจำหนึ่งที่อยู่ แล้วส่งข้อมูลบางส่วนไปยังคอมพิวเตอร์เมื่อมีการอัปเดตข้อมูลในที่อยู่นั้นสำหรับเครื่องพินบอล Doctor Who สิ่งนี้ยากกว่าที่คิดเล็กน้อย ข้อมูลไม่ได้จัดเก็บไว้ในฐานสิบหก แต่อัดแน่นด้วย BCDหลังจากทำงานไปสักหน่อย [matthew] ก็สามารถเขียนคะแนนสูงสุดใหม่จากสคริปต์ Python ที่ทำงานบนแล็ปท็อปได้โค้ดทั้งหมด (และรายละเอียดเพิ่มเติมเล็กน้อย) อยู่บน Github

การขยายเกมอาร์เคดโดยการแตะที่ที่อยู่และสายข้อมูลไม่ใช่สิ่งที่เราเห็นบ่อยนัก แต่ได้ทำไปแล้ว โดยมีชื่อเสียงมากที่สุดใน Church of Robotronที่นี่ การแฮ็ก MAME บางส่วนเปลี่ยนเกม Robotron ให้เป็นโบสถ์สำหรับผู้ศรัทธาที่จะอุทิศตนอย่างเต็มที่กับผู้กอบกู้โลก ซึ่งจะครบกำหนดใน 66 ปี และช่วยเหลือมนุษย์ที่เหลือจากการเปิดเผยของหุ่นยนต์การแฮ็กเครื่องพินบอล Doctor Who นี้ก้าวไปไกลกว่า MAME เวอร์ชันดัดแปลง และหากเราจะสร้างโบสถ์เล็กๆ ที่แท้จริงด้วยเกม Robotron จริงๆ เทคนิคเหล่านี้คือเราจะใช้

ไม่กี่วันก่อนมีเรื่องราวเกี่ยวกับการใช้ FRAM ใน Sega Saturn เพื่อรักษาการบันทึกเกมก็สามารถทำงานที่นี่ได้เช่นกัน

เครื่องของฉันคือ Dr Who แต่จริงๆ แล้วมันเป็นพลังไฟของเพื่อนของฉัน Stuarrrt ที่เราลองใช้ฉันคิดว่ามันจะได้ผลกับฉัน แต่ฉันต้องปลด SRAM ก่อน!

เกมส่วนใหญ่มีโค้ด EPROM หมดใช้เครื่องวิเคราะห์ลอจิกเพื่อดูที่อยู่ ข้อมูล และสัญญาณควบคุมเพื่อดูว่าคะแนนสูงสุดอยู่ที่ใดใน RAM จากนั้นเขียนโปรแกรมสั้นๆ สั้นๆ เพื่อแทรกค่าที่คุณต้องการลงในพื้นที่ RAMเบิร์นโปรแกรมลงใน EPROM ที่เหมาะสมและสลับเพื่อดำเนินการครั้งเดียวจากนั้นเปลี่ยน EPROM เดิมเพื่อให้เกมกลับมาเป็นปกติใช้เวลาเพียงเล็กน้อยในการดำเนินการ แต่ก็ใช้ได้ดีและไม่ ฉันจะไม่บอกว่าฉันตรวจสอบเรื่องนี้อย่างไรหรือที่ไหน- .

ทำไมต้องทำทั้งหมดนี้เพื่อรักษาคะแนนสูง?เพียงติดตั้ง NVRAM แล้วจัดการมันให้เสร็จนั่นเป็นวิธีแก้ไขที่ง่ายดายสำหรับบอร์ด Williams WPC MPU ทั้งหมดอะไรกับรูปถ่าย?นั่นไม่ใช่แม้แต่ภาพ Doctor Who MPUเป็นบอร์ดทดแทน Rottendog MPU327-4 สำหรับ Williams 3,4,6มี NVRAM และจะไม่สูญเสียหน่วยความจำ

RAM ของบอร์ด mpu สำหรับช่วงนั้นเป็นหน่วย 256x4 บิตที่พวกเขาเลือกที่จะจัดการกับ nybble ด้านล่างและปล่อยให้ nybble ด้านบนถูกดึงให้สูง ดังนั้นหุ้น HSTD จะถูกเก็บไว้ F5 F5 F0 F0 F0 F0เครื่องพินบอลร่วมสมัยของผู้ผลิตรายอื่นที่ใช้อำนาจการยิงซึ่งใช้ ram 5101 เช่นกันจะมีปัญหาเดียวกัน แต่ Bally (เช่น) เลือกที่จะให้ nybble ด้านบนทำงานและปล่อยให้อันล่างเป็น F

พวกเขาจะต้องมี RAM ความกว้างไบต์เต็มที่ไหนสักแห่งในพื้นที่ที่อยู่ มิฉะนั้น คุณจะไม่สามารถส่งที่อยู่ในสแต็กและกลับไปที่ที่อยู่นั้นได้ระบบฝังตัวอื่นๆ บางระบบที่ฉันเคยทำงานกับ RAM แบบ nibble wide แต่เข้าถึงได้สองครั้งเพื่อดึงข้อมูลไบต์เต็มCPU เห็นรอบบัสเพียงรอบเดียวเท่านั้น

พวกเขาทำ.ที่อยู่ตั้งแต่ $0000-$00FF เป็นแบบเต็มความกว้างด้วย 6810's หรือ 5114's หรือใช้ร่วมกับภายใน 6802 พื้นที่เก็บข้อมูล nybble 5101 จาก $0100-$01FF ใช้สำหรับชิ้นส่วนที่สำรองแบตเตอรี่ เนื่องจากเป็นชิ้นส่วนที่ต้องการพลังงานน้อยกว่า

“ซึ่งถึงแม้จะเป็นเครื่องพินบอลของ Doctor Who ก็ไม่ได้เก่งขนาดนั้น” อะไรนะ????หมอที่เป็นเครื่องจักรที่ยอดเยี่ยม ไม่ใช่สัตว์ประหลาดทุบตีหรือ Wizard of oz แต่เป็นเครื่องจักรที่แข็งแกร่งและเป็นที่รักของชุมชนพินบอล

ฉันเห็นด้วย.จากเครื่องพินบอลหลายร้อยเครื่องที่ฉันเคยเล่นDoctor Who เป็นเกมที่สนุกที่สุดในความคิดของฉันเสมอ

อืม นั่นมันช่างบ้าบอจริงๆ… หลังจากที่ฉันแฮ็กเครื่องแฮกเกอร์สเปซ 1942 ในพื้นที่นั้น ฉันก็ทำอะไรบางอย่างที่คล้ายกับเครื่องพินบอลที่ฉันได้รับมาด้วยซึ่งเป็นเครื่องของ Dr. Who วิลเลียมส์ฉันไม่ได้ใช้ FPGA แต่เพิ่มสลัก, AVR (ฉันคิดว่า) และ Linux SBC บางตัวที่สามารถทำแบบไร้สายได้

นอกจากนี้ฉันไม่เห็นด้วยกับคุณหมอที่ไม่เก่งขนาดนั้นจริงๆ มันค่อนข้างดีสำหรับการเล่นซ้ำในความคิดของฉัน

การใช้เว็บไซต์และบริการของเรา แสดงว่าคุณยอมรับโดยชัดแจ้งต่อการวางคุกกี้ประสิทธิภาพ ฟังก์ชันการทำงาน และการโฆษณาของเราเรียนรู้เพิ่มเติม


เวลาโพสต์: Aug-29-2019
แชทออนไลน์ WhatsApp!