Bu sayfadaki yazılar
Sayfanın metni
Sayfa 45
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.
Cu ün BASIC'inde bulunmayan grafik komutları, SIMONS' BASIC vs. gibi programlarla giderilmeye çalışılmıştır. Hatta sadece grafik programlamasına yönelik komutlar içeren programlar bile geliştirilmiştir. Ancak, şu veya bu şekilde hepsi de insanın isteyebileceği her özelliği taşımamaktadır. Bu tip programları kullanırken bile, arada sırada bazı POKE komutlarına başvurmak zorunda kahıyoruz. Bunun başlıca sebebi de, insan 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 kullanarak yapılan işlemler çok yavaş kalmakta. Eğer bu ayki yazımızda anlamadığınız noktalar olursa üzülmeyin, nasıl olsa ileride tüm konuları daha ayrı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-
Tuna ERTEMALP rist gibi kullanabilirsiniz. VİC'in 47 yazmacı (register) vardır. Bunlar, C64'ün grafik işlemlerinin hemen hemen hepsinden sorumludurlar. Kimisi bir byte olarak, kimisi de bit'- leri düzeyinde önem taşır. VIC yazmaç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 gerekir. Ö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ı, sonra 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 ikilik sistemde bulacaksınız. Gerektiği zaman, o yazmaçı oluşturan bit'lerin görevleri de verilecektir. Bu sırada en sağdaki bit'e 0, en soldakine de 7 numarası verilecektir. Bu yazım tarzı, tüm bilgisayar dünyasında kullanılan tarzdır. Artık başlayalım...
YAZMAÇ: 0 (800) TANIM: 0 numaralı X koordinatı. AÇIKLAMA: Bu yazmaç, O 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österilebilir. 256-511 arası koordinatları gösterebilmek için, dokuzuncu bir bit gerekir ve bu bit, 16 numaralı yazmaçın içindedir.
AÇILIŞ: 0 (7000000000)
YAZMAÇ: 1 ($01) TANIM: 0 numaralı sprite'ın Y koordinatı. AÇIKLAMA: Bu yazmaç, 0 numaralı sprite'ın ekrandaki Y koordinatını 0- 255 arası değerlerle gösterir. X koordinatı gibi bir dokuzuncu bit gerektirmemektedir. AÇILIŞ: 0 (4400000000)
YAZMAÇ: 2 (802) TANIM: | numaralı sprite'in X koordinatı. AÇILIŞ: 0 (900000000) YAZMAÇ: 3 (803) TANIM: | numaralı sprite'in Y koordinatı. AÇILIŞ: 0 (9000000000)
YAZMAÇ: 4 (804) TANIM: 2 numaralı sprite'ın X koordinatı. AÇILIŞ: 0 (4400000000) YAZMAÇ: 5 (805) TANIM: 2 numaralı sprite'ın Y koordinatı. AÇILIŞ: 0 (9000000000)
YAZMAÇ: 6 (806)
TANIM: 3 numaralı sprite'ın X koordinatı. AÇILIŞ: 0 (4400000000)
YAZMAÇ: 7
(807) TANIM: 3 numaralı sprite'ın Y koordinatı.
AÇILIŞ: 0 (900000000)
Klavyeyle gezinmek için ← ve → tuşları.