Chris Smith yaklaşık iki yıldır zx spectrum ula’sını ters mühendislikle çözmeye çalışıyor ve ilk adım olan 48k modellere ait ULA’nın tüm işleyişini çözmüş. Projeye başlamaktaki amacı ULA emülasyonuna son noktayı koyacak dökümantasyonu hazırlamaktı (lakin ULA BOOK yolda, ben de preorder edenlerden biriyim). Bunu uygularken ULA’nın ingiltere patent kurumunda tutulan X-RAY görüntülerini de almış hatta bunların bir kısmını usenet’e göndermişti, biz de bakıp “vay be” demiş, ama özünde bişey anlamamıştık.
Fakat Chris ULA’nın zayıf noktalarını ve kullanılmayan özelliklerini de keşfetmiş bulunuyor. Buna göre spectrumda kullanılmayan birsürü port olduğu ve bunları kullanarak ula’ya yeni görevler bindirebileceğini farketmiş ve hemen bir grup spectrumcu ile ULA64’ü uydurmuşlar.
Uzun bir yazı olacak, en iyisi detayları okuyun….
Ula64 özellikleri bir süredir web’de yayınlanıyordu fakat ortada henüz bir cihaz yok. Ula64 sayesinde zx spectrum ekranında aynı anda 64 renk gösterilebiliyor. Şu anda bu özelliği destekleyen iki emülatör var bile. Chris ise ula64’ü kesinlikle pin-compatible olacak şekilde planlamakta. Yani eski ulayı söküp yerine yeni ula64’ü takmak yeterli olacak. Ayrıca FPGA tabanlı yeni zxspectrum projesi olan Harlequin’de ULA64 destekleyecek.
ULA64’ün güzel yanı %100 geri uyumluluğu olması. Yani eğer elinizde bir ula64 programı var ise bunu normal speccy bilgisayarlarda normal ULA ile de izleyebileceksiniz sadece temel16 renk görünecek. Standart palette görünmeyen renkler en yakın tona yuvarlanacak. Ula64 ekranda aynı anda 64 renk gösterse de bu 64 renk 255 renklik bir ana paletten seçilebiliyor. Bu yeni bir ekran modundan çok var olan mod’un attribute yani renk bilgisini taşıyan bölümüne 7 bitlik bir katman eklemesi olduğundan “Clash” denilen limitasyon ortadan kalkmıyor. (Spectrumcular bu özelliği/limitasyonu özellikle tutmak istediler)
Henüz ortada gerçek donanım olmadığı halde yeni oyun yazarları ula64 desteklemeye başladı bile. İlk ula64 destekli oyun “Subaquatic” ünlü Mojon Twins tarafından yapıldı:
http://www.worldofspectrum.org/forums/showthread.php?p=397910
normal bir spectrumda çalışınca:
Ula64’lü bir spectrumda çalışırsa:
Bunun haricinde bazı “techdemo”lar da mevcut:
256 rengi aynı anda gösteren programcık:
Benim de yoğunca tartıştığım fakat bir sonuç alamadığım durum ise gri tonlar. Mantık öyle basit ki fazla esneyemiyor fakat bu sistem çok uyumlu oluyor. Fakat bu sistemle grinin ve mavi’nin sadece 4 tonu olabiliyor. Fakat diğer tüm renklerin 8’er tonu olacak.
Aşağıdaki programcık ise printer buffer’ına sığan bir makine kodu üretiyor. Böylece Eski oyunları da yeniden renklendirmek mümkün. Üretilen kodu oyun yüklenmeden önce çalıştırırsanız oyun açıldığında sizin tasarladığınız palete göre çalışıyor:
Bu modu destekleyen henüz sadece iki emülatör var, biri zx spin:
http://sites.google.com/site/pauldunn/ZXSpin_07m.zip
Diğeri ise Fuse, multiplatform olan bu emulatörün son sürümü ula64 destekliyor.
Ula64 ya da resmi adıyla UlaPlus sitesi aşağıda, oyunlara ait reklendirme dosyalar ve bazı oyunlardan örnek ekran görüntülerini aşağıdaki sitede görebilirsiniz:
http://sites.google.com/site/ulaplus/home