@tesla: fazlasıyla zor birşey 9 sprite'ı o şekilde alt borderda göstermek.
öncelikle bu konudaki tarihçeye göz atalım.
1) Mentallic / Panaromic Designs (1992)
http://noname.c64.org/csdb/release/?id=3310 Bu demoda ilk kez alt borderda 9 sprite gösterildi. Ghost byte denen bir trick kullanılmıştı. $d016 adresiyle oynaşarak alt border'a 7 pixel genişliğinde bir karakter çizilebiliyor. Bu yöntem ile 9 sprite varmış gibi sunulmuştu bu demoda. Normalde bu junk data olmasa alt border'a sprite hariç birşey basılamayacağı için oldukça inandırıcı bir sonuç doğuyor.
2) Irrational / Chorus (2005)
http://noname.c64.org/csdb/release/?id=19648 Hemen hemen aynı trick. Ancak bu defa 9 değil 10 sprite söz konusu.
3) Krestage 3 - More Weird Stuff / Crest (2007)
http://noname.c64.org/csdb/release/?id=48577 Bu daha gerçekçi bir 9 sprite gösterme trickine sahipti. Ancak tek dezavantajı her iki satırda bir 9.sprite'ı gösterebiliyordu. Commodore 64'deki sınırlama sadece spritelar yan yana dizildiğinde geçerlidir. Yoksa alt alta bloklar halinde 144 sprite'da kadar yolu var bu işin (şimdilik 144
). Crossbow normalde bir alt satırda görülmesi gereken sprite'ı bir üst satırda sağ borderda göstermeyi başardı. Ancak bu durumda bir alt satırda 9 sprite gösterilemeyeceği için bu satır iptal oluyor. Birer satır atlayarak, bir satırda aynı sprite'ı 2 kez göstermeyi başararak 9 sprite göstermiş oldu.
4) Nine / Chorus (2010)
http://noname.c64.org/csdb/release/?id=90322 Bu oldukça farklı bir durum. 9 sprite full gözüküyor ve serbestçe dolaşıyorlar. Spriteların 9'unun birden sağa sola kayabilmesi hikayeyi değiştiriyor. Neden? Çünkü zaten trick $d016 ile yapılıyor ve başka türlü sağa sola pixel pixel kaydırılamaz. Yani bu kadar serbest sağa sola hareket etmesi mantık dışı. Ancak şu olabilir. $d016 kullanmamıştır. CIA interruptlarıyla tam ghost byte'ı set ettiği yerin 1 cycle ilersinden yakalayarak tekrar değeri değiştirmeyi başarmıştır (bu mümkün mü emin bile değilim). $d016 ile de yana kaydırmıştır yumuşak bir biçimde. Her türlü tam bir çılgınlık diyebilirim.
Bu bahsettiğim ghost byte bulunulan bankta normal koşullarda en son bellek adresine denk geliyor, yani $3fff, $7fff, $bfff ya da $ffff. Ancak Clarence ECM modu kullanmış. Bu defa da $39ff, $79ff, $b9ff ya da $f9ff adreslerine denk geliyor. Clarence'ın efekti ilk bankta $39ff'i kullanıyor.
Özet: Evet, oldukça başarılı bir trick bulmuş Clarence!!!
Not: Bahsetmeyi unuttum, Cruzer / Camelot bu olayı ilk kullananlardandı (ılk miydi emin değilim). Onu da es geçmemek lazım. O bu şekilde 9. sprite diye değil de "bordera karakter bastım" şeklinde lanse etmişti. Trick aynı trick.