Commodore sayı 12, sayfa 60

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 60

Komuttaki yerine 0-15 arası sayılar koyacaksınız. Normalde 0 numaralı ekran kullanılır. Denemeler yaparsanız, ekranın gene karmakarışık olduğunu göreceksiniz. Bunun da sebebi, ekran editörünün yaptığımızdan haberi olmaması. Grafik hafızasını da, gene 24 numaralı VIC yazmacını kullanarak kaydırıyoruz. Grafik hafızası 8K yer kapladığına göre, 16K'nın içine iki kere sığabilmekte. Bunlara 0 ve 1 numaralarını verirsek sadece bir bit'e gerek duyduğumuzu görürüz. İşte o bit, 24. yazmacın üçüncü bit'i. Bu iş için de bir formülümüz var.

POKE 53248 4 24,PEEK(53248 4 24) AND 247 OR X*8

*X” yerine ya 0 ya da 1 gelecek. Diyelim ki, VIC'ın başlangıç adresini, CIA 2 ile oynayıp $8000 yaptınız. Yukarıda da X yerine 1 koydunuz. Bu durumda grafik hafızası, $8000-$BFFF arasının ikinci yarısında, yani $A000-$BFFF arasında olacaktır.

Tüm hafızayı göz önüne aldığınızda, C64'ün içine 8 grafik sayfası sığacağını görürsünüz. Ancak bunlardan ilki, C64'ün yaşam fonksiyonlarını kontrol eden bilgilerin bulunduğu $0000-$0800 arasını da kapladığı için kullanılamaz. Geriye kalan 7 tanesi bize yeter...

Bugünlük son olarak da, karakter üretecinin kaydırılmasına bir bakalım. Karakter üretici 2K'lık iki bloktan oluşur. Daha önce de belirttiğimiz gibi, bunlar büyük ve küçük harf setlerini içerir. Toplam 4K'lık bu set, 16K'nın içinde 2K'lık adımlarla kaydırılabilir. Dolayısıyla, 16K'nın içinde, karakter setinin başlayabileceği toplam 8 değişik adres vardır. Bunlara 0-7 arası rakamlar verirsek, aşağıdaki formülü kullanarak 24. yazmacın 1-3 numaralı bit'lerini etkileyebilir ve karakter setini kaydırabiliriz.

POKE 53248 4 24,PEEK(53248 * 24) AND 241 OR X*2

Burada da, *x” yerine 0-7 arası sayılar koyacaksınız. Dikkat ettiyseniz, 24 numaralı yazmacın üçüncü bit'i hem grafik ekranını hem de karakter setini kaydırırken kullanılıyor. Yani bu iki bölgenin kayması birbirine bağımlı. Dikkat etmeniz gereken bir nokta daha var. Tüm bu kaydırma işlemleri sırasında, eski bölgedeki bilgiler yeni bölgeye taşınmıyor. Eski bölge içeriğini olduğu gibi saklarken, yeni bölge yeni bilgiler almayı bekliyor. Bu aylık da bu kadar. Gelecek ay, daha zevkli konulara başlıyoruz. Bunca teknik bilgiden sonra, grafik ekranının yapısını, noktaların nasıl oluştuğunu, nasıl renklendirildiğini, temel geometrik şekil çizildiğini görmeye başlayacağız. Hepinizin güzel bir ay geçirmesini dilerim... O

Klavyeyle gezinmek için ← ve → tuşları.