x86CSS: Sadece CSS ile x86 Emülatörü Tarayıcıda
Tarayıcıda sadece CSS kullanarak x86 işlemciyi taklit eden x86CSS duyuruldu. Projenin arkasında Lyra Rebane var ve sayfa üstünde çalışan C kodu, GCC ile 8086 makine koduna derlenip tamamen CSS mantığıyla yürütülüyor. JavaScript zorunlu değil; gösterim amaçlı bir zamanlayıcı eklenmiş olsa da devre dışı bıraktığınızda da çalışıyor. Şu an destek yalnızca Chromium tabanlı tarayıcılarla sınırlı.
Nasıl çalışıyor?
Rebane, modern CSS’in if koşulları, style query’ler ve @function gibi yeni yeteneklerinden yararlanıyor. Bu özellikler henüz her tarayıcıda bulunmadığından proje bugün itibarıyla Chrome/Chromium’da stabil şekilde açılıyor. CSS tarafındaki saat için bir JS alternatifi var ama zorunlu değil; CSS animasyonu ve stil kapsayıcı sorgularıyla saat üretilebiliyor.
x86CSS, orijinal 16 bit Intel 8086 komut setinin “büyük kısmını” uyguluyor; bazı yönergeler ve bayraklar (ör. CF/OF) performans nedeniyle atlanmış. Varsayılan bellek 0x600 bayt (1,5 KB) ve program 0x100 adresine yükleniyor. Kendi yazılımınızı çalıştırmak için gcc-ia16 ile derleyip depo içindeki Python betikleriyle sayfayı oluşturmanız yeterli. Proje GPL-3.0 lisansıyla GitHub’da açık kaynak.
Pratik mi, yoksa gösteri mi?
Bu yaklaşım teknik olarak etkileyici olsa da pratik bir emülasyon ortamı değil; yavaş çalışıyor ve DOSBox tarzı bir ekosistem sunmuyor. Doom henüz mümkün değil; Rebane, bunun “eğlence ve sanat” için yapıldığını vurguluyor. Yine de tarayıcıda “yalnızca CSS” ile makine kodu çalıştırma fikrinin somut bir kanıtı.
Karşılaştırmak için: Tarayıcıda PC/yazılım çalıştırma girişimleri genelde JavaScript ya da WebAssembly tabanlı. v86 gibi projeler ile Fabrice Bellard’ın 2011’de tarayıcı içinde Linux önyükleyen JS tabanlı x86 emülatörü buna örnek. x86CSS, ek JS/WASM katmanı olmadan, salt CSS ile bu çizgiyi daha da ileri taşıyor.
Kaynak: www.techspot.com
Kaynak: Techolay