Bu introdaki olay; görsellikten ziyade, kullanılan teknik açısından değerlendirilmesini gerektiriyor. Bu konuda topu matahari'ye atıyoruz...
Teşekkürler Alcofribas.
Bu intro'nun 2 çarpıcı özelliği var:
1.) Aynı anda "double buffer" ve "overscan" tekniklerini kullanmasına rağmen 64K'lık CPC464'de bile çalışabiliyor olması.Konuyu biraz açalım... Amstrad CPC serisi bilgisayarların standart ekran hafızası 16K. Eğer bu intro'da olduğu üzere border'ı da ekran hafızasına katmak
(overscan) isterseniz, o zaman 2 adet 16K'ya
(toplam 32K'ya) ihtiyacınız var demektir. Görüntünün 50Hz flicker-free olabilmesi için double buffer gerektiğine göre, toplamda 2x32K=64K'ya ihtiyaç var. - İyi güzel de, 64K'nın tamamı ekran hafızası olarak kullanıldıysa, kod nerede?
İşin sırrı şu; overscan yapmak için açtığınız 32K'nın sadece 24K'sını "o anki refresh sırasında" ekrana basabiliyorsunuz.
"Geri kalan 8K bize yeter de artar!" diye düşünüyorsanız, acele etmeyiniz. Zira, geriye kalan boş 8K lineer değil! Overscan sayesinde ekrana basılan 272 adet raster'ın her birinin sonunda 8K/272=30 byte'lık boş bir alan kalıyor. Bu bağlamda, çalışan kodun 30'ar byte'lık parçalar halinde yazılması gerekiyor. Intro'nun takdir edilecek ilk yanı bu.
2.) 50Hz'de çalışan bu intro'da flicker-free olarak tazelenen alanın 16K olması.Robocop'taki tekniğe benzer şekilde sadece PUSH/POP ile ekranın tazelendiğini varsaysak bile,
-ki burada kullanılan teknik o değil-, fondaki müziğin getirdiği ekstra iş yüküne rağmen 16.384 byte'lık alanda dalgalanarak kayan yazıyı 1 saniyede 50 kez hesaplayıp ekrana basmak büyük cambazlık.
Özetle;- C64 ve benzeri 8-bit sistemlerin sahip olduğu "yetenekli" hardware video register'ların Amstrad'da olmaması,
- Standart raster line display dışında video ile ilgili her işin Z80 tarafından yapılması zorunluluğu,
- Amstrad camiasının çok küçük olması, dolayısıyla da yetenekli/ilgili coder sayısının yok denecek kadar az olması,
ilk bakışta basit gibi gözüken bu tür intro'ların, ancak 30 yıl sonra Amstrad'da
ilk kez yapılabilmesinin nedenini sanırım açıklar