FPGA, Pinball Machine Masters'a Yüksek Puanlar Kazandırdı

Eski bir atari salonu dolabındaki elektriği kestiğinizde yüksek puanları nasıl korursunuz?Bir tilt makinesine yeni yüksek puanlar enjekte etmek mümkün mü?Bu, Seinfield'ın bir bölümünün b-planıydı, bu yüzden, bir tilt makinesinde yeni yüksek puanlar yaratmak için [matthew Venn'i] FPGA'lerin ve hafıza haritalarının tavşan deliğinden aşağıya doğru yönlendirmeye değer olmalı.

Bu deney için söz konusu makine, Williams'tan Doctor Who'dur ve Doctor Who tilt makinesi olmasına rağmen o kadar da iyi bir makine değildir.Yine de Dalekler.Bu makine, 0x0000 adresinde 8kB RAM'e sahip, 2MHz'de çalışan Motorola 68B09E tarafından desteklenmektedir.Bu RAM birkaç adet AA pil ile yedekleniyor ve şans eseri bir DIP soketinde bulunuyor, bu da [matthew'un] CPU ile RAM arasına giren bir FPGA geliştirme kartıyla yüklü bir kart üretmesine olanak tanıyor.

Bu tilt makinesi için yeni bir yüksek puanı yakalamanın ve yazmanın temel tekniği, 1943'teki bir kabineden yüksek puanlar tweetleyen inanılmaz [sprite_tm]'den geliyor.Fikir basit: FPGA'nin belirli bir bellek adresine bakmasını sağlayın ve bu adresteki veriler güncellendiğinde bir bilgisayara bazı veriler gönderin.Doctor Who tilt makinesi için bu göründüğünden biraz daha zordur: veriler onaltılı olarak değil, paketlenmiş BCD'de depolanır.Ancak biraz çalıştıktan sonra [matthew] dizüstü bilgisayarda çalışan bir Python betiğinden yeni yüksek puanlar yazmayı başardı.Tüm kod (ve birkaç ayrıntı daha) Github'da bitti

Atari oyunlarını adres ve veri hatlarından yararlanarak genişletmek çok sık gördüğümüz bir şey değil, ancak en ünlüsü Robotron Kilisesi ile yapıldı.Burada, birkaç MAME hack'i, 66 yıl sonra gelecek ve geri kalan insanları robot kıyametinden kurtaracak olan dünyanın kurtarıcısına inananların kendilerini tamamen adamaları için bir Robotron oyununu bir Kiliseye dönüştürüyor.Doctor Who tilt makinesinin bu hack'i, MAME'in modifiye edilmiş bir versiyonunun ötesine geçiyor ve eğer gerçek bir Robotron oyunuyla gerçek bir şapel yapacaksak, kullanacağımız teknikler bunlar.

Birkaç gün önce, oyun kayıtlarını korumak için Sega Saturn'de FRAM'in kullanılmasıyla ilgili bir hikaye vardı.Aynı şey burada da işe yarayabilir.

makinem bir Dr Who, ama aslında bunu denediğimiz makine arkadaşım Stuarrrrt'ın Ateş Gücüydü.Benimkinde çalışacağını düşünüyorum ama önce SRAM'ı lehimlemem gerekiyor!

Oyunların çoğunda kodların EPROM'ları tükeniyor.Yüksek puanların RAM'de nerede bulunduğunu bulmak için adresi, verileri ve kontrol sinyallerini izleyen bir mantık analizörü kullanın ve ardından istediğiniz değeri RAM alanına eklemek için kısa, küçük bir program yazın.Programı uygun bir EPROM'a yazın ve tek bir yürütme için değiştirin.Daha sonra oyunun normale dönmesi için orijinal EPROM'u değiştirin.Uygulaması biraz zaman alıyor ama gayet iyi çalışıyor.Ve hayır, bunu nasıl veya nerede doğruladığımı söylemeyeceğim:) .

Yüksek bir puanı kurtarmak için neden tüm bunları yapasınız ki?Sadece bir NVRAM yükleyin ve işiniz bitsin.Bu, tüm Williams WPC MPU kartları için kolay bir düzeltmedir.Fotoğrafta ne var?Resimde görülen Doctor Who MPU'su bile değil.Williams 3,4,6 için Rottendog MPU327-4 yedek kartıdır.NVRAM'a sahiptir ve hafızasını asla kaybetmez.

Ateş gücü mpu kartının bu aralık için koçu, alt nybble'da adreslemeyi seçtikleri ve üst nybble'ı yükseğe çekilmiş halde bıraktığı 256x4bit'lik bir birimdir - böylece stok HSTD, F5 F5 F0 F0 F0 F0 olarak depolanır.Diğer üreticilerin ateş gücüne yönelik 5101 şahmerdanını kullanan çağdaş tilt makinelerinde de aynı sorun olacaktı, ancak Bally (örneğin) üstteki nybble'ı aktif hale getirmeyi ve alttakini F olarak bırakmayı seçti.

Adres alanının bir yerinde tam bayt genişliğinde bir RAM'e sahip olmalılar, aksi takdirde yığına bir adres gönderip ona geri dönemezsiniz.Üzerinde çalıştığım diğer bazı gömülü sistemler, yarım baytlık RAM kullanıyordu ancak tam baytı almak için iki erişime ihtiyaç duyuyordu.CPU yalnızca tek bir veri yolu döngüsü gördü.

Onlar yapar.$0000-$00FF arası adres, 6810'lar veya 5114'ler ile tam genişliktedir veya dahili olarak bir 6802'nin birleşimidir. $0100-$01FF arası 5101 nybble depolama, daha düşük güç gereksinimi olan bir parça olduğundan pil destekli parça içindir.

“ki bu bir Doctor Who tilt makinesi olmasına rağmen o kadar da iyi bir makine değil” Ne????Harika bir makine olan Doctor, canavar saldırısı ya da Oz Büyücüsü değil, ama tilt camiası tarafından sağlam ve sevilen bir makine

Kabul ediyorum.Oynadığım yüzlerce tilt makinesi arasında.Bence Doctor Who oynaması en eğlenceli oyundur.

Hah, bu tam bir saçmalıktı... Yerel hackerspaces 1942 makinesinde bu hacklemeyi yaptıktan sonra, satın aldığım tilt makinesinde de benzer bir şey yaptım.Bu bir Williams Dr. Who makinesi.Sadece bir FPGA kullanmadım ama mandallar, bir AVR (sanırım) ve kablosuz bağlantı yapabilen bir miktar Linux SBC ile bir şeyler hazırladım.

Ayrıca Dr. Who'nun o kadar da iyi olmadığı fikrine katılmıyorum.Bana göre tekrar oynanabilirlik açısından oldukça güzel.

Web sitemizi ve hizmetlerimizi kullanarak performans, işlevsellik ve reklam çerezlerimizin yerleştirilmesini açıkça kabul etmiş olursunuz.Daha fazla bilgi edin


Gönderim zamanı: Ağu-29-2019
WhatsApp Çevrimiçi Sohbet!