Ana içeriğe geç
Programlama

ZX Spectrum 48K için grafik masaüstü ortamı geliştirildi

Öne çıkanlar

  • Arayüz, 48K ZX Spectrum üzerinde 69.888 T durumluk tek kare içine pencere taşıma işlemini sığdırdı.
  • Ekran yenileme optimizasyonları sayesinde pencere taşıma hızı 25 Hz değerinden 50 Hz seviyesine çıkarıldı.
  • Geliştirici, kesmelerin kaybolmasını önlemek için ekran belleği yazımlarında yığın işaretçisini koruyan bir yöntem kurdu.

Mindbox77 rumuzlu yazılımcı, 1982 model Sinclair ZX Spectrum 48K için Z80 makine dilinde baştan sona grafik bir masaüstü arayüzü kodladı. ZXDesk adı verilen sistem; pencereler, açılır menüler, olay kuyruğu, bellek yönetim havuzu ve çeşitli masaüstü uygulamalarını 48 kilobaytlık belleğe sığdırdı. Yazılım yalnızca öykünücülerde değil, orijinal donanım üzerinde de 50 Hz hızında sorunsuz çalışıyor.

Geliştirici, projeyi Atari ST üzerinde çalışan GEM arayüzünden esinlenerek tasarladı ancak 3,5 MHz Z80 işlemci ve Spectrum donanımına göre baştan kurdu. Donanım üzerindeki çizim ve işlem süreleri T durumu seviyesinde ölçüldü; ULA yongasının bellek erişimindeki yavaşlatıcı etkileri haritalandı. Pencere taşıma operasyonlarının tek bir 69.888 T durumluk kare periyoduna sığması için ekran çizim yordamları ve metin işleyicisi elden geçirildi.

Ekran belleğine doğrudan yığın işaretçisiyle yazma sırasında yaşanan kesme kayıpları da yeni bir teknikle giderildi. İşletim sistemi mimarisinde depolama katmanı; kaset, bellek diski ve esxDOS desteği sunan altı vektörle düzenlendi. Z80 tabanlı retro donanımlarda çalışan sistem, kapsamlı zamanlama ve donanım ölçüm kayıtlarıyla birlikte açık kaynak olarak paylaşıldı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.