Commodore sayı 15, sayfa 45

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 45

SYS 49155, karakter, renk Karakter: Karakter numarası (0-255) Renk: Karakter rengi (0-16)

Bu yordam hem 40-kolon hem de 80-kolon için çalışır, bunun anlamı bir komutla her iki ekranı da aynı anda programlayabilirsiniz demektir. Şimdi karakterleri ekranın çeşitli satırlarına nasıl koyacağımızı öğrenelim. Karakterin yeri hafızadaki 224 ve 225 numaralı (o anki Kursor'un yeri) adreslerden okunabilir. Eğer bir karakterin belirli bir yerde olmasını istiyorsanız, bu adreslerle biraz oynamak yeterli olacaktır.

Aşağıda bunu yapabilecek küçük bir program veriyoruz.

(Program Döküm Eki/PROGRAM 2)

KOL değişkeni: 0-79 (0-39) SR değişkeni: 0-24

Programda kullanılan bazı adresler şunlardır:

238 Ekranın maksimum uzunluğu 224 Kursor'un yeri - alçak 225 Kursor'un yeri - yüksek 49155 Başlangıç adresi - ROM yordamı

Taklit edilmiş POKE

Aşağıda vereceğimiz program sayesinde normalde POKE yapamadığımız video RAM bölgesine bizim yaptığımız POKE komutu ile POKE yapmak mümkün olacaktır.

(Program Döküm Eki/PROGRAM 3)

Hazırlamış olduğumuz POKE komutunun formatı şu şekildedir:

SYS karakter, LO, HI Karakter byte değeri (0-255) İstenilen adresin alçak byte'ı İstenilen adresin yüksek byte'ı

Şu ufak programı deneyin:

40 İNPUT“ADRES”;AD 20 — AD-(256* HI) 30 SYS

Video RAM'deki herhangi bir byte'ın içeriği şu şekildedir: BİT 0: Parlaklık BİT 1: Mavi BİT 2: Yeşil BİT 3: Kırmızı BİT 4: Yanıp sönme BİT 5: Altı çizilmiş BİT 6: Reverse video BİT 7: İkinci karakter seti

İlk dört bit'in kullanımı oldukça açıktır, bu bitleri birleştirerek mümkün olan 16 rengi elde edebilirsiniz. Dördüncü bit'i 1 yaparak karakterinizin yanıp sönmesini sağlayabilirsiniz. Biraz eğlenmek için üstte verdiğimiz programın 30'uncu satırını şöyle değiştirin:

30 SYS 042 342 4.L0.HI

Programı çalıştırarak adrese 2048 değerini verin, şimdi ekranda açık kırmızı renkte olarak karakter yanıp sönmeye başlayacaktır. BİT 7 ile karakter setini değiştirebilirsiniz. Normalde bunu SHIFT/C= tuşu ile yapıyoruz. 40-kolon ekranın aksine 80-kolon ekranda aynı anda her iki karakter setinin de bulunması mümkündür. Bunun anlamı da çalışabileceğiniz karakter sayısının 512 adet olduğudur.

Karakter üretimi

Aşağıda vereceğimiz program karakter üreticiyi video RAM'den okuyacaktır.

(Program Döküm Eki/PROGRAM 4) Programımızda kullanılan değişkenler:

BA: Karakter üreticinin başlangıcı A: VDC'nin başlangıcı AD: Karakter üreticide o anda bulunan adres HI: AD değişkenindeki adresin yüksek byte'ı LD: AD değişkenindeki adresin alçak byte'ı CH: Karakter satırının okunuş değeri W: Sayaç Programı çalıştırdığınızda bütün karakterler ekrana genişletilmiş matrisler halinde basılacaktır. Her karakteri sekiz boşluğun izlediğine dikkat edeceksiniz. Bundan başka 80-kolon karakter üreticinin VIC-20 veya C-64'ünkilerden farklı olduğuna dikkat edin. Her karakter 18 byte'dan meydana gelmektedir. Bu fazladan olan sekiz byte normalde kullanılmamaktadır, bunlar bazı özel durumlarda kullanılacaktır, VDC 8563 hem 8 matrislik hem de 16*8 matrislik karakterler üretebilmektedir.

Büyütülmüş karakterler

Aşağıda yer alan program ile genişletilmiş karakterler elde edeceksiniz. (Program Döküm Eki / PROGRAM 5) Bir sonraki yazımızda biraz daha 80-kolon gösterimden bahsedeceğiz, şimdi C-64'te oynayabileceğiniz bazı oyunları kolaylaştıracak yararlı POKE komutlarına geçiyoruz. Oyunumuzun adı PSYCASTRIA, başlık ekranında iken, yani bilgisayara RUN komutunu verdikten sonra ilk çıkan ekranda L, T, D, N tuşlarına aynı anda basıp bırakın. Bu tuşlar İngilizce olarak şu kelimelere karşılık gelmektedir: Love Tracey Dianne Nicolson. Bu tuşlara aynı anda bastığınızda size sorulacak olan şifre yerine THEVOICE kelimesini yazdığınızda CHEATING MODE'a girmiş olacaksınız, böylece de gemimiz görünmez olacaktır.

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