Ana Sayfa

Kulaklıkta Doom Oynamak: İmkansızı Başarmak

1 dk okuma

Bir geliştirici, 1993 yapımı klasik oyun DOOM'u bir kulaklıkta çalıştırmayı başardı ve hatta oyunu internet üzerinden uzaktan oynanabilir hale getiren bir sistem kurdu. Bu proje, sadece açık kaynaklı yazılıma sahip tek kulaklık olan Pinebuds Pro ile mümkün oldu. Kulaklıkta ekran bulunmadığı için veri aktarımı Bluetooth yerine daha hızlı olan UART bağlantısı üzerinden gerçekleştirildi. Ancak DOOM'un 320x200 çözünürlüğündeki 8-bit framebuffer'ı 96KB yer kaplarken, 2.4mbps'lik UART bant genişliği sadece 3 kare/saniye sunabiliyordu. Bu sorunu aşmak için modern video kodekleri yerine MJPEG akışı kullanıldı ve gömülü cihazlar için optimize edilmiş bir JPEG kodlayıcı entegre edildi.

Projenin önündeki diğer önemli engellerden biri de donanım sınırlamalarıydı. Kulaklığın Cortex-M4F işlemcisi, varsayılan 100mhz hızından 300mhz'e çıkarılmasına rağmen JPEG kodlama konusunda zorlanarak kare hızını yaklaşık 18 FPS ile sınırladı. Bellek tarafında ise DOOM'un ihtiyaç duyduğu 4MB RAM'e karşılık kulaklıkta sadece 992KB RAM bulunuyordu. Geliştirici, önbellekleme sistemini devre dışı bırakma, sabit değişkenleri flash bellekten okuma gibi çeşitli optimizasyonlarla bu bellek kısıtlamasını aştı. Ayrıca, DOOM'un 4.2MB'lık orijinal WAD dosyasının kulaklığın 4MB'lık depolama alanına sığmaması nedeniyle, fragglet tarafından geliştirilen 1.7MB boyutundaki "Squashware" adlı optimize edilmiş WAD dosyasını kullanarak depolama sorununu da çözdü. Bu sayede, tüm oyun dosyaları kulaklığın flash belleğine rahatlıkla sığdırılabildi.

İçgörü

Bu proje, sınırlı donanım kaynaklarına sahip cihazlarda bile karmaşık yazılımların çalıştırılabileceğini ve yaratıcı mühendislik çözümleriyle imkansız görünen hedeflere ulaşılabileceğini gösteriyor.

Kaynak