1 Temmuz 1986 Tarihli Commodore Gazetesi Sayfa 6

1 Temmuz 1986 tarihli Commodore Gazetesi Sayfa 6
Metin içeriği (otomatik olarak oluşturulmuştur)

Commodore 64'ünüzün en ilginç ozellıklerınden biri hiç kuşkusuz cinlerdir (sprites). Ekran cinleri ken yaratabileceğiniz ve diğer ekran ıçerıklerınden ve birbirlerinden bağımsız hareket ettirilebilen grafik dizaynlardır. Ekranda bir defasında toplam 8 ekran cini sergilenebilir. D Ekran cinleri renklerini; boyutlarını; fon karakterleri ve birbirlerine göre önceliklerini değiştirebilirler. İki ekran cini arasındaki ve ekran cinleriyle fon arasındaki çarpışmalar otomatik ola- rak saptanır. Üstelik her ekran cini için — normal — çok renkli ekran cini modları arasında seçim yapma imkanınız vardır. Tüm bu fonk- siyonlar VIC (Video kontrolü 6567) ve sicillerinin yardımıyla kolayca gerçek- leştirilebilir. Ancak önce ekran cinle- rinin yapısına bir göz atalım. Daha önce de söylediğimiz gibi bir defasındea ekranda aynı anda sekiz farklı ekran cinini sergileyebilirsiniz. Her ekran cinine özel bir numara (0- 7) ayrılmıştır; bu numara ekran cinine kullanmakta olduğunuz program bo- yunca eşlik edecektir. Her normal ekran cini 504 noktadan oluşur. Bu 504 nokta birbirlerinden ba- ğımsız olarak kontrol edilir ve değer- leri tekrar tekrar değiştirilebilir. Bunun için 24x21'lik bir nokta matrisi kulla- nılır. Bu yüzden her ekran cini 24 nok- ta genişlikte ve 24 nokta yükseklikte- dir. Bu mafris içerisinde çeşitli grafik- ler ya da şekiller yaratabilirsiniz. Cin Tasarlamak O halde nasıl var edeceğiz bir ci- ni? Tanımlayarak... Cinleri tanımla- mak zor zanaaittır.Bu yüzden okurları- mıza biraz sabırlı olmalarını tavsiye edeceğiz. Her cinin bellekte 24 x21 nokta ola- rak saklandığını söylemiştik (eğer çok renkli ise 12x21). Her noktaya bir bit tekabül ediyor (çok renklide 1 nokta- ya iki bit). 8 bit bir bayt oluşturduğu- na göre cinin kapladığı toplam ala- nın eni 24/8-3 bayfttır Cini tanımlamanın ilk adımı bu tab- lodaki hangi noktaların (karelerin) ha- rekete geçirileceğine karar vermek. Basit bir örnek olsun diye adam şek- lindeki bir cin üzerinde karar kılalım. Bu şekilde ilk harekete geçmiş nok- tanın 2. satırda 2. blokta dördüncü (numaralarına 0'dan başladığı için 3 no. ile gösterilen) nokta. Yani bU SO- tırda 2. bloğu 00004000 şeklinde gös- terebiliriz. Bunun ondalık karşılığı ise 8 (sanırım daha önce anlamadıysanız şimdi anlamışsınızdır: Şekildeki 2. sa- tırdaki 128,64,32,16,8,4,2,1 gibi sayı- ların ne anlama geldiğini). 2. satırdaki yanık noktalar ise, 4.5.6. noktalar; yani bi satırda ikinci bloğun aldığı değer 00 1 1000. Bunun on- dalık karşılığı 16484 4-28 ilk. Böylelikle bütün satırları tarayarak adam şeklindeki cinimizin bellekte hangi noktaları harekete geçirilmesiy- le yaratılacağını şematize etmiş olu- yoruz. Sonunda yazacağımız programda bu değerleri bilgisayara bir dizi DATA komutuyla girmek işten bile değil (bkz. döküm Cin Belleğin Neresinde? Bizirn kullandığımız 24 x 21'lik mafris her rastgele herhangi 504 bellek nok- tasını temsil ediyordu. Bunları belleğin neresine yükleyeceğiz? Yani hangi gerçek bellek noktalarını kullanaca- ğız? Aslında ilk önce RAM'ın (bizim yaza- bildiğimiz belleğin) herhangi bir böl- gesini kullanabiliriz. Ama sık kullanı- lan, trafiği sıkışık bir bölge seçecek olursak, başka bir işlem bizim yazdık- larımızı değiştirip ekran cinimizi yok edebilir. Bunun için RAM'ın ücra bir kö- şesını kullanmakta yarar vardır. RAM'- ın “en tepedeki” 13. öbeğinden baş- layan bölgesi böyle bir bölgedir. İlk 12 öbeği İse işlemci kendi ıhîıyaçlorı için kullanılmaktadır. “Öbek” demek? Tam olarak biz de onloycı— madık ama, anlaşılan bellek bölge- lerini saymakta kullanılan bir terim. 1 öbek— 64 bayt . Yani ilk ekran ci- nimİzi (O numaralı olanı) 13 x64- 832 numaralı bellek noktasından başlaya- rak depo[oyocagı Ama işimiz daha bitmedi. Bilgisaya- Ta da cin tasarımımızı oraya yerleştir- diğimizi söylememiz gerekiyor. Bu bil- commodore |

Bu sayıdan diğer sayfalar: