Commodore sayı 78, sayfa 18

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 18

Bilgisayarın Hızını Ne Belirler? Sık sık “Commodore 64 1MHZ'dir. AMI-

GA 7.14 Mhz'de çalışır” gibi cümlelere her zaman karşılaşırsınız. MHz (MegaHertz)'in

$0000-$03FF: Sistem değişkenleri. Sakın buraları ellemeyin. Sistem gidıklanıyor.

$0400-$07E7: Karakter ekranı bilgileri. Ekranda görünecek harfler burada saklanır (siz değiştirmezseniz).

$07E8-$07F7: Kullanılmaz. Sekiz baytlık data alnı olarak kullanabilirsiniz.

$07F8-$07FF: Spriteların grafik datalarının bellekteki yerini belirleyen baytlar. Sonra sık sık kullanacaksınız.

uçabilir.

$0800-$9FFF: BASIC program, değişken ve dizi belleği. Eğer üst sınırı aşağı çekmezseniz programlarınızı buralara yazmayın,

$A000-$BFFF: BASIC yorumlayıcısı rutinlerini içeren ROM. Altındaki RAM'i daha sonra kullanacağız.

$C000-$CFFF: Bellekte tehlikesizce kullanılabilen (neredeyse) tek bölge. Programların çoğu burada çalışacak şekilde yazılır.

$D0O00-$D3FF: VIC registerlerinin yuvası.

$D400-$D7FF: SID registerlerinin adesleri.

leri.

$D800-$DBFF: Renk RAM'ini oluşturan dört bitlik bellek adresokumakta kullanılır.

$DC00-$DCFF: CIA#I registerleri. Klavye ve joystick portlarını

CLAH2 registerleri. Kaset ve disketten sorumludur.

alan.

$DE00-$DFFF: Gelecekte eklenebilecek çipler için giriş/çıkış alanı. Yani çipin registerları için ayrılmış kullanılamayacak durumda bir rutinlerinin yer aldığı — yer.

$E000-$FFFF: KERNAL ROM. Tüm klavye, kaset, okuma

Bilgisayarın hayati — organı.

Tablo-2: Commodorc'unuzun bellek haritası. Tabii ki bulabileceğiniz en basit haliyle. Makine dilinde ustalaştıkça, dahâ karmaşık bellek haritalarına bu satırlarda rastlayabileceksiniz.

bilgisayarın hızını belirten bir birim olduğunu artık öğrenmişsinizdir. Ama MHZ'in gerçekte ne olduğunu hiç merak ettiniz mi? Merak etmiyorsanız da kurtuluşunuz yok, çünkü bu garip yazıda bu konuya da değinmeden edemeyeceğim. Umarım kafanızı fazla karıştırmam(!). Yazının başlarında CPU'nun PC yardımıyla bellekten veri alıp durduğunu söylemiştim. Ama orada bahsetmediğim bir nokta vardı. Sanırım bu sizin de kafanızı kurcalamıştır. CPU'nun PC'yi neye göre artırdığını ya da belleği ne zamanlar okuduğundan hiç bahsetmedim. Aslında CPU bu zamanlama konusunda bile pek serbest değildir. Sistem saati adı verilen sinyali bacaklarından biriyle inceleyen CPU, bu saatin belli anlarında belli işleri yapmak üzere hazırlanmıştır. CPU hızını belirleyen MHz'de aslında bu saatin frekansından başka bir şey değildir. Tabii ki CPU'nun uyduğu bu saat ne kadar hızlı çalışırsa, bilgisayarınız işlemleri o kadar hızlı yapar. Hemen ““O zaman saat frekansını artıralım!” diye atlamayın. Bilgisayarınız daha hızlı bir şekilde güvenlik içinde çalışabilseydi, Commodore firması bu işi sizden önce yapardı. Saat frekansını sınırlayan en önemli faktör, belleğin hızıdır. Eğer bellek verilen saat frekansına ayak uyduramayacak kadar yavaşsa, CPU”nuza durmadan hatalı veri iletir. Sonuç olarak bilgisayarınız en kısa zamanda kilitlenir.

Sonunda Bellek Haritası:

Son olarak kısa bir bölümde belleği $0000'dan başlayarak sonuna kada bölge belge inceleyelim isterseniz. İlk olarak göz önüne almamız gereken bölge olan $0000-$03FF sistem tarafından değişken bölgesi olarak kullanılır. Burada ufak tefek boş alanlar bulabilirsiniz, ama ben sizin yerinizde olsam bu bölgeyi rahat bırakırdım. Çünkü en ufak hatalı kullanımınızda ya programınız çalışmaz ya da sistemi kız- Sırada ekrandaki düşük çözünürlükü görüntüyü saklayan $0400-$07E8 var. Bu bölgedeki her bayt, ekrandaki harflerden (daha doğrusu karakterlerden) birini aklında tutar. Mesela POKE 1024,1 yazıp RETURN'e bastığınız zaman ekranın sol üst köşesinde “A” harfi belirir. 1'i 1024 ($0400) yerine 1025 ($0401) adresine yazmış olsaydınız bir yandan “A” harfi belirecekti. 1064 adresi ise bir satır altta en sola harfi basacaktır. X ve Y koordinatına basılacak harfin hangi adrese geleceğini şu formülle hesaplayabilirsiniz:

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