Commodore 64 ile Geçen bölümümüzde, bit ve byte seviyesinde işlem yapmanın ana hatlarını görmüştük. Artık grafik özelliklerine başlayabiliriz. C64’ün BASIC'inde bulunmayan grafik komutları, SIMONS' BASIC vs. gibi programlarla giderilmeye ça- lışılmıştır. Hatta sadece grafik prog- ramlamasına yönelik komutlar içeren programlar bile geliştirilmiştir. An- cak, şu veya bu şekilde hepsi de insa- nın isteyebileceği her özelliği taşıma- maktadır. Bu tip programları kulla- nirken bile, arada sırada bazı POKE komutlarına başvurmak zorunda ka- lıyoruz. Bunun başlıca sebebi de, in- san hayalgücünün birkaç komutla sı- nırlandırılamayacağı. Fakat bu POKE komutlarını kullanabilmek için, C64'ün grafik özelliklerini düzenleyen ünitesini (VIC — Video Interface Chip) çok iyi bilmelisiniz. Bundan sonra da makine dilini öğrenmeniz yararınıza olur, çünkü birkaç sayı sonra da gö- receğiniz gibi, BASIC ile POKE kul- lanarak yapılan işlemler çok yavaş kalmakta. Eğer bu ayki yazımızda anlamadı- Bınız noktalar olursa üzülmeyin, na- sıl olsa ileride tüm konuları daha ay- rıntılı olarak göreceğiz. Yazımızın bu bölümünün amacı, sizleri VIC ile ve onun byte'ları, bit'leri ile tanıştırmak, görevlerini bir liste halinde sunmak. Hatta daha sonra bu listeyi bir tür fih- — TTT ç Grafik (2) Tuna ERTEMALP rist gibi kullanabilirsiniz. VİC'in 47 yazmacı (register) vardır. Bunlar, C64'ün grafik işlemlerinin he- men hemen hepsinden sorumludurlar. Kimisi bir byte olarak, kimisi de bit'- leri düzeyinde önem taşır. VIC yaz- maçları 53248 ($D000) adresinde baş- lar. Her bir yazmaç, 0-46 arası bir sı- ra numarası alır. Bir yazmaçın adres olarak yerini bulmak isterseniz, 53248 ile sıra numarasını toplamanız gere- kir. Örneğin en son yazmaç, 53248 4 46 — 53294 adresinde bulunmaktadır. Aşağıdaki listede, her yazmaçın sı- ra numarasını önce ondalık sayı, son- ra da parantez içinde onaltılık sayı olarak vereceğiz. Daha sonra tanımı, açıklaması ve bilgisayar açıldığı anda sahip olduğu açılış değerini vereceğiz. Bu değeri de, hem onluk, hem de iki- lik sistemde bulacaksınız. Gerektiği zaman, o yazmaçı oluş- turan bit'lerin görevleri de verilecek- tir. Bu sırada en sağdaki bit'e Ü, en soldakine de 7 numarası verilecektir. Bu yazım tarzı, tüm bilgisayar dünya- sında kullanılan tarzdır. Artık başlayalım... YAZMAÇ: 0 ($00) TANIM: O numaralı sprite'ın X ko- ordinatı. AÇIKLAMA: Bu yazmaç, Ü0 numaralı sprite'ın ekrandaki X koordinatının alt 8 bit'ini taşır. Dolayısıyla 0-255 arası koordinatlar bu yazmaç ile gös- terilebilir. 256-511 arası | dinatl YAZMAÇ: 1 ($01) TANIM: O numaralı sprite'ın Y ko- ordinatı. AÇIKLAMA: Bu yazmaç, Ü numaralı sprite'ın ekrandaki Y koordinatını Ü- 255 arası değerlerle gösterir. X koor- dinatı gibi bir dokuzuncu bit gerektir- memektedir. AÇILIŞ: 0 (000000000) YAZMAÇ: 2 ($02) TANIM: | numaralı sprite'ın X ko- ordinatı. AÇILIŞ: O (000000000) YAZMAÇ: 3 ($03) TANIM: | numaralı sprite'ın Y ko- ordinatı. AÇILIŞ: O (00000000) YAZMAÇ: 4 (504) TANIM: 2 numaralı sprite'ın X ko- ordinatı. AÇILIŞ: 0 (M000000000) YAZMAÇ: 5 (505) TANIM: 2 numaralı sprite'ın Y ko- ordinatı. AÇILIŞ: O (7000000000) YAZMAÇ: 6 (306) TANIM: 3 numaralı sprite'ın X ko- ordinatı. AÇILIŞ: 0 (9000000000) rı gösterebilmek için, dokuzuncu bir bit gerekir ve bu bit, 16 numaralı yaz- maçın içindedir. AÇILIŞ: 0 (000000000) YAZMAÇ: 7 (S07) TANIM: 3 numaralı sprite'in Y ko- ordinatı. AÇILIŞ: 0 (9000000000) 45