Bu sitedeki ESP32 yapılarını Raspberry Pi lehine sık sık geçiyoruz (yeni sekmede açılır) veya RP2040 (yeni sekmede açılır)temelli deha dilimleri, ama bunun gitmesine izin veremezdik. Jeroen Domburg’un beyni spritesmods.com (yeni sekmede açılır) tarafından dikkatimize sunuldu ve Hackaday (yeni sekmede açılır)bu 3D baskılı langırt makinesinin içindeki küçük mikro denetleyicinin, birkaç metal topu fırlatmaktan daha fazlasını yapabileceği ortaya çıktı.
Bunun nedeni, Digital Illusions’ın 1992 DOS klasik Pinball Fantezilerini harekete geçirecek kadar güçlü bir X86 öykünücüsü çalıştırıyor olmasıdır. Domburg, üç dilde yorumlar, bazı şakalar ve bazı boşluklar içeren kodla karşı karşıya kaldığından, yapının programlama kısmı oldukça zor görünüyor.
Domburg, “Pinball Fantasies tamamen elle kodlanmış x86 montajında yazılmıştır” diye yazıyor. son derece ayrıntılı yazı (yeni sekmede açılır) projenin. “İstediğim gibi [to] Minik langırt masasının beyni olarak bir ESP32S3 kullanın, bunu doğrudan kullanamadım; o çipteki Xtensa çekirdeği, x86 komutlarından ne yapacağını bilmiyor. Bu yüzden ilk fikrim, kodu yavaşça C’ye dönüştürmekti: x86 derleme dosyalarını bir araya getirmek, onları bir C dosyaları çerçevesine bağlamak, ardından her şey dönüştürülünceye ve elimde kalan tek şey temiz C olana kadar rutinleri derlemeden C’ye yavaşça dönüştürmekti. kodu.”
Tabii ki, bu işe yaramadı, bu yüzden Domburg, kodu belirli bir VM için yazılmış gibi yorumlayarak ve ardından o makineyi taklit ederek tack değiştirdi. C ile yazılmış bir 8086 öykünücüsü kullanarak, oyunun kullandığı grafikleri, IO ve DOS çağrılarını ekledi ve daha fazlasını değil. Domburg, yol boyunca, topun bulunduğu masanın yalnızca bir dilimini gösterirken, tüm langırt destesinin bellekte tutulduğunu keşfetti, yani isterseniz tüm masayı görüntülemek için ince ayar yapılabilir.
Donanım, çift çekirdekli 240MHz Xtensa LX7 işlemciye, yarım meg RAM’e ve kullanışlı bir entegre paralel LCD arabirimine sahip bir ESP32-S3’ü içeriyordu. Bu ekran 320×640 LCD, ayrıca ses için küçük bir amfi ve hoparlör ve giriş sağlamak için bazı düğmelerdir. İsteğe bağlı ekstralar arasında, gerçek langırt başlatma hareketini sağlamak için ikinci bir LCD ve bir piston bulunur. Kasa 3D baskıdır ve bir tane oluşturmaya başlamak istiyorsanız, hakkında daha fazla bilgi bulacaksınız. Domburg’un Github’ı (yeni sekmede açılır).