FPGA Mendongkrak Skor Tinggi Master Mesin Pinball

Bagaimana Anda mempertahankan skor tinggi di lemari arcade lama saat mematikan daya?Apakah mungkin untuk memasukkan skor tinggi baru ke dalam mesin pinball?Itu adalah b-plot dari sebuah episode Seinfield, jadi itu layak dilakukan, mengarahkan [matthew venn] ke lubang kelinci FPGA dan peta memori untuk menciptakan skor tinggi baru di mesin pinball.

Mesin yang dimaksud untuk eksperimen ini adalah Doctor Who dari Williams, yang meskipun merupakan mesin pinball Doctor Who bukanlah mesin yang hebat.Tetap saja, Daleks.Mesin ini ditenagai oleh Motorola 68B09E yang berjalan pada 2MHz, dengan RAM 8kB di alamat 0x0000.RAM ini didukung dengan beberapa baterai AA, dan untungnya ada dalam soket DIP, memungkinkan [matthew] membuat papan yang diisi dengan papan pengembangan FPGA yang berada di antara CPU dan RAM.

Teknik dasar untuk mencegat dan menulis skor tinggi baru untuk mesin pinball ini berasal dari [sprite_tm] luar biasa yang men-tweet skor tinggi dari kabinet tahun 1943.Idenya sederhana: cukup lihat FPGA pada satu alamat memori tertentu, dan kirimkan beberapa data ke komputer ketika data pada alamat tersebut diperbarui.Untuk mesin pinball Doctor Who, ini sedikit lebih sulit daripada kedengarannya: datanya tidak disimpan dalam hex, tetapi dikemas BCD.Namun, setelah sedikit bekerja, [matthew] mampu menulis skor tinggi baru dari skrip Python yang dijalankan di laptop.Semua kode (dan beberapa detail lainnya) ada di Github

Memperluas game arcade dengan memanfaatkan jalur alamat dan data bukanlah sesuatu yang sering kita lihat, tetapi hal ini telah dilakukan, yang paling terkenal adalah dengan Gereja Robotron.Di sini, beberapa peretasan MAME mengubah permainan Robotron menjadi Gereja bagi umat beriman untuk berkomitmen penuh kepada penyelamat dunia, yang akan tiba dalam 66 tahun dan menyelamatkan manusia yang tersisa dari kiamat robot.Peretasan mesin pinball Doctor Who ini melampaui versi MAME yang dimodifikasi, dan jika kita ingin membuat kapel nyata dengan permainan Robotron yang sebenarnya, inilah teknik yang akan kita gunakan.

Beberapa hari yang lalu ada cerita tentang penggunaan FRAM di Sega Saturn untuk mempertahankan penyimpanan game.Hal yang sama juga bisa dilakukan di sini.

mesin saya adalah Dr Who, tapi sebenarnya itu adalah Kekuatan Api teman saya Stuarrrt yang kami coba.Saya pikir ini akan berhasil pada milik saya tetapi saya harus melepas solder SRAM terlebih dahulu!

Sebagian besar kode permainan kehabisan EPROM.Gunakan penganalisis logika yang mengamati alamat, data, dan sinyal kontrol untuk mencari tahu di mana di RAM tempat skor tinggi berada, dan kemudian tulis program kecil pendek untuk memasukkan nilai yang Anda inginkan ke dalam area RAM.Bakar program ke dalam EPROM yang sesuai dan tukar untuk satu eksekusi.Kemudian ganti EPROM yang asli agar permainan kembali normal.Dibutuhkan sedikit waktu untuk menerapkannya, tetapi berfungsi dengan baik.Dan tidak, saya tidak akan mengatakan bagaimana atau di mana saya memverifikasi hal ini:) .

Mengapa harus melalui semua ini untuk menyimpan skor tinggi?Instal saja NVRAM dan selesaikan.Itu adalah perbaikan yang mudah untuk semua papan MPU Williams WPC.Ada apa dengan foto itu?Itu bahkan bukan gambar Doctor Who MPU.Ini adalah papan pengganti Rottendog MPU327-4 untuk Williams 3,4,6.Ia memiliki NVRAM dan tidak akan pernah kehilangan memorinya.

Ram papan mpu daya tembak untuk rentang tersebut adalah unit 256x4bit yang mereka pilih untuk dialamatkan pada nybble bawah dan membiarkan nybble atas ditarik tinggi – sehingga stok HSTD akan disimpan F5 F5 F0 F0 F0 F0.Mesin pinball kontemporer pabrikan lain yang memiliki daya tembak yang juga menggunakan ram 5101 akan mengalami masalah yang sama, tetapi Bally (misalnya) memilih untuk mengaktifkan nybble atas dan membiarkan yang lebih rendah sebagai F.

Mereka pasti memiliki RAM lebar byte penuh di suatu tempat di ruang alamat, jika tidak, Anda tidak dapat memasukkan alamat ke tumpukan dan kembali ke sana.Beberapa sistem tertanam lain yang pernah saya gunakan menggunakan RAM lebar yang menggerogoti tetapi memerlukan dua akses untuk mengambil byte penuh.CPU hanya melihat satu siklus bus.

Mereka melakukannya.Alamat dari $0000-$00FF adalah lebar penuh dengan 6810 atau 5114 atau dalam kombinasi secara internal dalam 6802. Penyimpanan nybble 5101 dari $0100-$01FF adalah untuk bagian yang didukung baterai karena merupakan bagian dengan kebutuhan daya yang lebih rendah.

“yang mana, meskipun merupakan mesin pinball Doctor Who, bukankah mesin itu sehebat itu” Apa????Dokter yang merupakan mesin yang hebat, bukan monster bash atau Wizard of oz, tetapi ini adalah mesin yang solid dan disukai oleh komunitas pinball

Saya setuju.Dari ratusan mesin pinball yang pernah saya mainkan.Doctor Who secara konsisten paling asyik dimainkan menurut saya.

Huh, itu sungguh luar biasa… setelah saya melakukan peretasan pada mesin hackerspaces lokal 1942, saya juga melakukan hal serupa dengan mesin pinball yang saya peroleh.Yang merupakan mesin Williams Dr. Who.Saya hanya tidak menggunakan FPGA tetapi menyiapkan sesuatu dengan kait, AVR (menurut saya) dan beberapa Linux SBC yang dapat melakukan nirkabel.

Juga, saya tidak setuju dengan Dr. Who yang tidak sehebat itu.Sebenarnya cukup bagus untuk replayability, menurut saya.

Dengan menggunakan situs web dan layanan kami, Anda secara tegas menyetujui penempatan kinerja, fungsi, dan cookie iklan kami.Belajarlah lagi


Waktu posting: 29 Agustus 2019
Obrolan Daring WhatsApp!