Bu sayfadaki yazılar
Sayfanın metni
Sayfa 13
Bilindiği gibi Commodore 64'ün karakter seti 40 kolon ekranda gösterilmektedir. Yani ekrandaki satır sayısını da gözönüne alırsak kursor 1000 karelik bir matriste hareket etmektedir. Commodore 128'in ise hem 40 hem de 80 kolonluk ekran gösterim olanağı vardır. Bu bilgisayar 40 kolon modunda C 64 gibi yüksek çözünürlükte grafikler sunabiliyorken 80 kolon modu yalnızca yazı gösterimi için düşünülmüş ve çeşitli iş, kelime işlem ve diğer yardımcı programları tarafından kullanılan bir gösterim olmuştur. Ekranda ne kadar çok karakter gösterebiliyorsak o kadar iyidir mantığını düşünecek olursak neden AMIGA veya diğer iş bilgisayarlarının en az 60-80 kolonluk bir karakter ekranlarına sahip olduğunu kolaylıkla anlarız.
Ancak bizim programımız ne 40 ne de 80, aksine alışık olmadığınız 20 kolon ekran gösterimi sağlıyor.
Neden bir kimse 40 kolon varken 20 kolon ekran ister? Birinci neden kelime ne kadar büyükse onu okumanın o kadar kolay olmasıdır. Ayrıca bir kimsenin dikkatini bir noktaya çekmek için 20 kolon ideal bir ekran oluşturmakta. Son olarak eski bir C 64 kullanıcısı iseniz bu süre içinde monitöre veya televizyona yakından bakmaktan gözleriniz çok az bozulmuş olacağından 20 kolona geçmenin zamanı gelmiş demektir.
20 kolon programı hafızaya alındıktan sonra 20 ve 40 kolon arasında geçiş yapmak hem program modunda hem de direk modda çok kolaydır.
PROGRAMIN YAZILMASI:
20 kolon ekran BASIC yükleyici olarak yazılmış bir makine dili programıdır. Programı yazarken özellikle data satırlarında hata yapmamak için BDE'yi kullanmayı ihmal etmeyin. Programı yazmayı bitirdikten sonra her zaman olduğu gibi RUN etmeden evvel diskete veya kasede kaydetmeyi unutmamalısınız.
C 64'te 20 kolonluk bir ekranın nasıl göründüğüne tanık olmaya hazır olduğunuzda, programı normal şekilde yükleyip çalıştırın. BASIC program makine dili rutinini hafıza yazmayı bitirdikten sonra karşınızda gerçek bir 20 kolon ekran bulacaksınız. Bu arada ekrana iki adet SYStem adresi yazılacaktır. Birincisi (SYS 49152) 20 kolon ekrana geçmek için: ikincisi (SYS 49391) de 40 kolona dönmek için kullanılmaktadır.
Şimdi bir LIST komutu vermeyi deneyin. Bunu yazarken tuhaf karakterler göreceksiniz. RETURN'e basın.
Programınızın 20 kolon listesi 20 kolon olarak çıkacaktır.
LIST'komutunu yazarken tuhaf karakterler gözükmesi program çalışma şekliyle ilgilidir. Bilgisayara göre aslında 20 kolon gerçek değildir. Bilgisayar ne zaman ekrana bir şey yazacak olursa (direk mod hariç) program her harfi iki kere yazmaktadır. Bu da bir kere normal modda bir kere de reverse modunda yazarak başarılmaktadır. Program karakter setini yeniden düzenliyor böylece normal mod harfin sol yarısını, reversed mod ise sağ yarısını yazıyor. İki yarım da yeni CHAROUT rutini tarafından yanyana yazıldığında sonuçta ortaya bir büyük karakter çıkıyor.
Şunu deneyin: Bir A yazın. Sonra da reverse moduna geçin (CTRL-9) ve tekrar A tuşuna basın. A harfinin tamamı büyük olarak görünecektir.
Şimdi yine normal moda geçen (CTRL-0) ve PRINT"COMMODORE DERGİSİ" yazın. Yine yazdığınızı bu esnada okuyamayacaksınız. Ancak RETURN'e bastığınızda COMMODORE DERGİSİ ekrana doğru biçimde yazılacaktır.
Şimdi SYS 49391 yazarak 40 kolona dönün. Şimdi 20 kolon nasıl meydana geldiğini daha iyi anlayacaksınız.
Programın kendisi 49152 ($C000)'-
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 12
REM TABLANITN ©0075 47005 REH ALT PROGRAMİ çaray 47008 REM (865) 090106 470818 FOR TO 1388 STEP Nel THEN TO BİPOKE S, GET THEN G cası> 40080 REM TEMİZLEME ALT PROGRAMI IF Vee*T* THEN 48618 REM TF THEN GÖSÜR <tös) 48836 FOR YO TEPOKE 00108 POKE THEN 18 çasa> a arr 40198 638 IF Csasa ÖR OR C-246 OR cana OR OR THEN casa; 48500 RETURN — ©0120 1F OR OR OR REM HESAPLAMA ALT PROGRAMI çase> OR OR THEN 48082 REM 60136 IF C-248 OR OR OR 48083 GET THEN 49800 > C«228 OR THEN 49005 IF OR ISA THEN IF Cr2d6 OR OR OR 48008. OR OR THEN cadı) 43007 ISE THEN ©8148 POKE S.R THEN — 88186 IF THEN asala Hed TO 60168 IF C-298 OR Ce23a OR OR — OR OR C-237 OR C-233 OR POKE II YAN Aİ PEEK CANSU 5S OR C-224 THEN 228 > SoTO (08 <taa> PÖKE IF İsi THEN POKE 8,2 W> ©8238 1F 1x2 THEN POKE 49100 NEKT ©0240 108 50000 REM BASILAN KARAKTER KONTROLU 10000 REM PROGRAM TANITIMI 50003 REM <e36> 10016 REN — IF THEN 18826 PRİNT İF DOE THEN İF THEN PORTUMU KULLANAC IF THEN AKSINIZ IF TREN tes 18840 PRİNT CRVSONDHESAPLAMACRYSO 50630 İF THEN İF THEN FF) VE KOMUT POKE sAN LART 18056 PRINT "YAPACAKLARI HARFİ GİRMENİZİ REM TABLANIN BEKLER REM <183> 18068 PRİNT TABCBO)*DATA ADRESİ 88168 POKE NI çaaı> 10878 PRİNT “GİRİNİZ CASPACE > REM KOMUTLARIN EKRAN YAZILMASI <isa> KAER REM ------ çere> 18875 POKE 56334 ,PEEK AND. HİTİF OR T PEEKCİ) AND TO LENCE HEN 18875 cananı 188 RETLİRN TO 2006086 REM VERİLEN KOOR. PRİNT 280186 REM — ese T 28028 POKE E2018 POKE OR ETURN (26334) OR 40086 REM KARAKTER CAGIRMA ALT PROGRAMİ 63000 REM TANIMLANMAKTA OLAN KARAKTERİN 48005 REM —-------> 63081 REM EKRANDA GOSTERİMİ 48008 REM ---- çıza> 48818 GET THEN | 63003 48020 IF OR THEN 63009 AND TEZ AND <tab> 40030 FOR TÜ 3 IF THEN POKE OR 218 ANEL OR BN CSS) TERETÜRN 40035 FOR YÜS7 TN 8 STEP -I ©3008 AND THEN PÖKE 40658 REM SİLME 48848 83815 REM —- <815> 40038 NEXT 5 ©2028 FOR TO 11866 STEP sese TO 48060 GÖSUB