Bu sayfadaki yazılar
Sayfanın metni
Sayfa 56
Yeni kolon sayısı * yeni satır sayısı = 2000
Eğer bu işlemin sonucu 2000'den fazla ya da az olursa bazı sorunlarla karşılaşabiliriz. Aşağıda 33 satır x 60 karakterlik ekranı elde etmemizi sağlayacak bir program bulunmakta.
40 REM 60*33 20 1 30 POKE A,1:POKE 40 POKE A,6:POKE B.,33 50 END
Program çalıştıktan sonra bir satırdaki karakter sayısı 60'a inecek, satır sayısı da 33'e çıkacak. Böylece tam sekiz fazladan satır elde ettik, fakat bu fazladan elde ettiğimiz satırları eğer çok iyi bir monitöre sahipsek görebiliriz. Monitörümüz çok iyi değilse elde ettiğimiz satırların ancak üç veya dördünü görebiliriz. ile yaptığımız denemede ekranda en fazla 33 satır görebildik.
8*16 karakter
Bildiğimiz gibi karakterler 8*8'lik matrislerde yer alırlar. Fakat aşağıda göreceğimiz metodla karakter matrislerini 8*16 şekline getirmemiz mümkündür. İlk önce matrislerin boyutlarını kontrol eden yazmaçlara bakalım. 22: Matris gösterim (yatay) 23: Matris gösterim (dikey) Her yazmaçta bir karakter matrisinde kaç piksel (ekran noktası) olması gerektiği belirtilir. Her iki yazmacın da açılış değeri sekizdir. Biz bu yazmaçlardan, 22 numaralı yazmacın ilk dört bitiyle, 23 numaralı yazmacın ilk beş biti üzerinde duracağız. Aşağıda verilen programı yazın
(Program Döküm Ekindedir)
Aşağıdaki programı bir oyun programında kullanabilirsiniz: (Program Döküm Ekindedir)
Şimdilik 80-kolon gösterimle ilgili konuları bitiriyoruz, yazımızın daha sonraki bölümlerinde tekrar 80-kolon ile ilgili bilgiler vermeye çalışacağız. 40-kolonda grafik çizimlerine başlamadan evvel C-128'de C-64 moduna geçtiğinizde yapabileceğiniz bazı enteresan işleri görelim. Bildiğimiz gibi C-128'in en büyük avantajlarından birisi C-64 ile tam uyumluluğudur. C-64 moduna geçtiğinizde C-64 için yapılmış tüm yazılımları kullanabilirsiniz.
C-64 modunda yüksek hız
C-128, 40-kolon gösterimde VIC-8564 işlemcisini kullanıyor. Normal C-64'lerde bu işi gören işlemci ise VIC-6567'dir. C-128'deki bu yeni işlemci normal C-64'ün VIC'i ile uyumludur. Yani yeni VIC eski VIC'in yaptığı işlerin aynısını yapabilir. Yeni VIC'te iki yeni yazmaç bulunuyor ve bu yeni yazmaçlar C-128'in C-64 modunda iken kullanılabiliyorlar. 48 numaralı yazmacın özel bir görevi var.
48: İşlemci-saat C-64'te olduğu gibi, C-128 saati de bütün bilgisayarı kontrol eder, 48 numaralı yazmaçla C-128'in hızını 1 MHz'den 2 MHz'e çıkarabilirsiniz. Burada ilginç olan bu yazmacı kullanarak C-64 modunda da hızı 2 MHz'e çıkarabilmenizdir. Bunun anlamı elinizdeki C-64 programlarınızı normalin iki katı hızla çalıştırabilmenizdir. Bundan başka hız değişimi zaman kaybına neden olan yordamlarda hızlanacaktır. Fakat ufak bir sorunumuz yok değil: Bilgisayarımızın hızını iki katına çıkardığımızda VIC ekrandaki görüntüyü tazelemede geç kalıyor, başka bir deyişle bu hıza yetişmiyor. Bu yüzden bilgisayarınızı, ekrandaki görüntüye ihtiyacınız yoksa 2 MHz hıza çıkarın, mesela programınızın ağır çalışmasına neden olan ve ekrana ihtiyaç göstermeyen bir kısmında bilgisayarı hızlandırıp, ekran lazım olduğunda bilgisayarı tekrar eski hızına döndürebilirsiniz. Bilgisayar 2 MHz hızında iken ekranda saçma sapan bir görüntü yer alacak-bu gayet normaldir. Bilgisayarı hızlandıran veya yavaşlatan POKE'lar şunlar:
POKE 53296,1 (2 MHZ, hızlı) POKE 52296,0 (4 MHz, normal)
Bu POKE'ların etkisini görmek için şu küçük programı yazın. 10 TI$="000000": 20 : 30 FOR X=1 TO 10000 40 NEXT X 50 : 60 PRINT TI$ Bu programın döngüyü tamamlamak için 14 saniyeye ihtiyacı var. Şimdi programa şu satırları ekleyelim, 20 POKE 53296, 1:REM HIZLI 50 POKE 53296, 0:REM NORMAL Şimdi aynı döngünün sona ermesi için yedi saniye gerekmekte.
C-64 modunda sayısal tuş takımı
C-64 modunda iken klavyenin sağında yer alan sayısal tuş takımını kullanamıyoruz, fakat POKE 53295, 248 komutu ile sayısal tuş takımını da çalışır hale getirebiliriz, fakat tekrar bir problemle karşı karşıyayız. Ne yazık ki bu sayısal tuş takımındaki tuşlar üstlerinde gösterilen karakterlerle uyuşmuyorlar. 53295 numaralı hafıza adresi VIC-8564'ün 47 numaralı yazmacına karşı gelmekte. Biz üstteki POKE komutu ile bu adrese C-128 modundaki değeri veriyoruz. Bir sonraki sayıda görüşmek üzere hoşçakalın. C1
000000“
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 57
İZ Zar
TUNA ERTEMALP
Bu sayıda iki önemli konuya değineceğiz. Biri BANK SWITCHING, diğeri de yeni karakter seti tanımlamaları. Her ikisini de birer program yardımıyla göreceğiz. Lütfen program açıklamalarını da dikkatle okuyunuz. Çünkü orada çok önemli açıklamalar olacaktır. BANK SWITCHING denen olay, on ikinci sayımızda da ucundan değindiğimiz bir özellik. Hatırlarsanız, VIC'in adresleme kapasitesinin 16K olduğunu, bu nedenle de Commodore 64'ün tüm belleğinin 16K'lık 4 bölümden oluştuğunu, bunlara BANK 0...BANK 3 adlarının verildiğini belirtmiştik. Dizimizin içinde de birçok kereler, BANK 0'ın bilgisayarımızın normalde kullandığı bölge olduğunu, öteki BANK'ları kullanmanın bazı özel işlemler gerektirdiğini söylemiştik. Hattâ bu nedenle, grafik ekranımızı 8192 ($2000) adresinden başlatmıştık. İşte bu BANK'lardan birini seçme işlemine BANK SWITCHING adı verilir. Bu işlemde kullanılacak POKE komutlarını daha önceden vermiştik. Şimdi de bir bütün olarak yapılacak işlemleri yürüteceğiz. Tamamen programımızın üstünden, satır satır açıklama yapacağız. Programda genel olarak çok açık bir programlama tekniği kullanılmıştır. Örneğin her BANK 16K olduğuna göre, uzunluğu 16*1024 = 16384 olacaktır. Ancak programda, 16384 sayısı yerine, anlama kolaylığı sağlaması açısından 16*1024 işlemi kullanılmıştır. Ayrıca, değişken isimleri de olduğunca anlaşılır seçilmiştir. Lütfen dikkatle okuyun...