Bu sayfadaki yazılar
Sayfanın metni
Sayfa 102
197 = %11000101
Yani bunun ekrandaki görüntüsü X'ler dolu o'lar boş pikselleri sembolize edecek olursa;
XXoooXoX
şeklinde olacaktır. Ekrana örnek olarak ard arda bir dolu bir boş piksel çizmek istediğimiz durumda ise tersten bir hesap yaparak byte değerine ulaşabiliriz.
XoXoXoXo -> %10101010 = 170
Bir diğer konu byte'ların nasıl dizileceği konusu. Yani her 8 piksellik alan hangi sırayla ekrana basılıyor. Bu da Commodore'da programlama ile yeni tanışan insanların genelde sıkıntıya düştüğü bir başka konu.
Dizilim öncelikle aşağıya doğru başlar. Yani 8 pikseli temsil eden bir byte, diğerinin altına yerleşir. Ancak bu tüm ekran için değil yalnızca 8x8 piksellik bir alan için geçerlidir.
Commodore'un 320x200 çözünürlüğündeki ekranı aşağıdaki resimde de göründüğü gibi 8x8 piksellik karakter alanları halinde 40x25'lik 1000 adet parçaya bölünmüştür.
Parçalardan her biri ise 8x8 pikselden oluşmaktadır. İşte bu her 8x8'lik alan hafızada peş peşe gelen 8 byte ile ifade edilir. Örnek olarak ekrana yazılan bir A harfi şu şekilde bytelara çevrilebilir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 103
Görüldüğü üzere 8x8'lik bir alanı bu şekilde peş peşe 8 byte ile ifade edebiliyoruz. Peki hafızada bundan sonra yazılacak 9. byte ekranda nereye denk gelecek? Bu karakterin bitişiğindeki karakter alanının en üst 8 pikseline denk gelecek. Yani biz peş peşe iki kez şekildeki sayıları yazacak olursak;
24, 60, 102, 126, 102, 102, 0, 24, 60, 102, 126, 102, 102, 0
Bu 16 byte bize yan yana iki A harfi gösterecektir. Bu durumun tek bir istisnası olabilir. O da bu byteların satır sonuna, yani 40. karaktere denk gelmeleri durumudur. Bu durumda ise bir alttaki karakter satırından devam eder byte dizilimi. Eğer byteların 320x200'lük alandaki koordinatlarını ifade edecek olursak aşağıdaki gibi bir sonuçla karşılaşırız. Buradaki parantez içindeki değerler sırasıyla piksel cinsinden x ve y değerleridir. Unutulmaması gereken şey, her bir byte'ın verilen x koordinatı değerinden itibaren 8 pikseli kapsadığıdır.
byte:0 -> (0,0)
byte:1 -> (0,1)
byte:2 -> (0,2)
byte:3 -> (0,3)
byte:4 -> (0,4)
byte:5 -> (0,5)
byte:6 -> (0,6)
byte:7 -> (0,7)
byte:8 -> (8,0)
byte:9 -> (8,1)
byte:10 -> (8,2)
byte:11 -> (8,3)
byte:12 -> (8,4)