Commodore sayı 6, sayfa 30

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 30

(2*-16K) ihiyacı vardır. 14 bitlik adresin 1000 byte'lık ekran belleğini aramak için gerekli olan 10 bit'lik kısmı dahili bir sayıcı tarafından sağlanır. Ekran belleğinin 10K'lık bellek içinde nerede yer aldığını ise 24 no.lu saklayıcının yüksek anlamlı 4 biti (VM13,VM12,VM11,VM10) belirler. (Bkz. Reference Guide Sh. 436 Character pointer address.) Bundan sonra VIC'in yapması gerekli iş bu 14 bitlik adresi kullanarak ekran belleğinden elde ettiği karakter işaretçilerini karakter nokta kodlarının saklandığı tablodan; daha önce de bahsettiğimiz gibi her karakter için 8 byte olmak üzere 256 karakter için 4048 byte yer kullanılır. Bilindiği gibi C-64 dışarı normal video işareti verir. Bu işaret normal TV setlerindeki seçmeli tarama yöntemine uygundur. Dolayısıyla ekrandaki 40 karakterlik her karakter satırı 8 adet video tarama satırından oluşur. VIC ise her karakter satırının ilk tarama satırının taranması sırasında o satırdaki karakterlerin 8 byte'lik karakter nokta kodlarının ilk byte'ını ikinci tarama satırında ise ikinci byte'ını okur. Bu olay 8 tarama satırı taranana kadar sürer. Karakter nokta adreslerinin oluşturulmasını anlatırken, bu nokta biraz daha açıklığa kavuşacaktır. 2K'lık bellek adreslemek için 11 bit adrese ihtiyacımız var demiştik. (Bkz. Ref. Guide Sh. 437-Character Data Address.) Bu 11 bitin yüksek anlamlı 8 biti daha önce ekran belleğinden okunan karakter işaretçisi tarafından belirlenir. O karaktere ait olan 8 byte'lik bloğun 14 bitlik başlangıç adresini bulmak ve sırayla bu 8 byte'i bellekten okumak şöyle yapılır. Karakter kodlarının saklandığı 2K'lık bloğun 16K'lık bellek için nerede yer aldığını belirlemek için 3 bite ihtiyacımız vardır. (2-8) 8x2k-16K dolayısıyla 16 k içinde teorik olarak 8 adet karakter seti tanımlamak mümkündür. Fakat pratikte bazı sınırlamalar vardır). Bu 3 bit 24 no.lu saklayıcının alçak anlamlı 3 bitinden (CB13, CBll, Bkz. Sh. 455) elde edilir. 2 K'lık belleği adresleyebilmek için de 11 bitlik adrese ihtiyacımız vardır.

(2! —2048)

Alçak anlamlı 3 bit ise dahali bir ta- Tama satır sayıcısı tarafından belirlenir. (2'-8) 3 bit ile her karakter için 8 satır veya 8 byte'lık bilgi edilebilir. Bu 3 bitlik tarama satır sayıcısı her karakter satırının ilk tarama satırında 0 olur ve her tarama satırında | artırılarak O karakter satırının son tarama satırında 7'ye (111) eşit olur. Bina ilaveten 8 bitlik her ekran bellek gözüne bağımlı olarak 4 bitlik bir renk bilgisi de renk belleğinde saklanır. Renk belleği | K'lıktır. Dolayısıyla ekran belleği aslında 8 değil 12 bit genişliğindedir. Daha önce belirttiğimiz gibi VIC'- in çeşitli çalışma modları var. Bunlardan herhangi birinin seçilmesi saklayıcılardaki 3 bitin uygun olarak | veya O yapılması ile olur. Bunlar (Bkz. Şekiller) ECM (Extended Colar Saklayıcı 17 Bit 6 BMM (Bit map mode) — Saklayıcı 17 Bit 5 MCM (Multi color mode) — Saklayıcı 22 Bit 4 Aşağıdaki tablo mod seçiminde yardımcı olabilir.

MCM BMM ECM

0 0 O Standart Karakter Modu

0 Çok Renkli Karakter Modu 1 Genişletilmiş Renk Modu © Standart Bit Map Modu © Çok Renkli Bit Map Modu

(Dikkat ECM ve MCM bitleri aynı anda 1 yapılmamalıdır.) Tüm karakter display bit map modları ve sprite'ların yönetilmesi için gerekli bilgileri yakında çıkacak olan Reference Guide'ın Türkçe çevirisinde 6569 kısmında bulabilirsiniz.

-o0- --00

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