Commodore sayı 42, sayfa 25

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 25

POKE 53270, PEEK (53270) OR 16 ile açıp

POKE 53270, PEEK (53270) AND 239 ile kapatabilirsiniz. Normalde her 1000 ekran pozisyonunun veya bloğun, bir arkaplan rengi veya bir yazı rengi olmak üzere sadece iki rengi olabilir. Örneğin, bilgisayarınızı açtığınızda her bloğun arkaplan rengi koyu mavi, yazı rengi ise açık mavidir. Bu adresi POKE ederek iki adet fazladan renk kazanabilirsiniz. Böylece bir ekran rengi (adr. 53281) ve üç karakter rengine sahip oluyorsunuz (adr. 53281-53284). Fakat bazı dezavantajlarınız var. Çok-renklilik modu sadece karakter setinin ilk 64 karakteri ile çalışıyor ve renkleri tarif edebilmek için aşağıdaki iki bit'e ihtiyaç duyuyor. (Şekil 1)

%00000000 76543210

Ekrana yazılan her harf aslında içinde bazı pixeller açık bazılarıysa kapalı olan 8 x 8 pixellik bloklardır. Açık olan pixeller gördüğünüz harfi meydana getirir. Yukarıdaki örnek pixel satırında 1, 4, 6 ve 7 numaralı pixeller açıktır. Çok-renklilik modunda bunlar çiftler halindedir. (Şekil 2)

© Ol |O (e) e. 76) 15 4) (3 2) (1 O A B Cc D

A kutusu bilgisayara rengi arkaplan 2'den (adr. 53283) almasını söyler. B gerekli bilgiyi ekran rengi olan 0'dan (adr. 53281) alır. C rengin arkaplan 1'den (adr. 53282) geldiğini belirtir ve D kendisi için gerekli bilgiyi 55296-56295 arasında her ekran konumu için farklı olarak alır. Bu iki-bit halinde okuma nedeniyle ekran çözünürlüğü azalırken renk sayısı artacaktır.

ÇOK-RENKLİ BİTMAP MODU

Burada iki adres birden yetkili: 53270 ve 53265. Yukarıda olduğu gibi mod için de aynı bit-çifti prensipleri kullanılmakta. Etkin hale getirmek için:

POKE 53270, PEEK (53270) OR 16 POKE 53265, PEEK (53265) OR 32

Yatay çözünürlüğün azaldığını unutmayın.

BİT 3 - 38/40 KOLON MODU SEÇİMİ Bu bit'i 0 ile POKE etmek ekran alanını daraltacaktır. Düzgün bir kaydırma işleminden önce bu yolla ekranın her iki yanında boşluk kazanabilirsiniz. BİT 2 - KAYDIRMA Program 2'ye 1365 POKE 53270, (PEEK (53270) AND 248)+P satırını ekleyerek Sprite'ı çapraz kaydırabilirsiniz. Tabii yine gerçekten düzgün bir kaydırma yapmak için bir makine dili rutini gerekli olacak. 53265 adresindeki BASIC örnek sadece yazı ve klavye grafik karakterleri kaydırmanız içindir.

$D017 53271 (V 4-23) 0-7 arasındaki sprite'ları dikey olarak iki katı büyütme.

Sprite — 0'ı büyütmek için: POKE 53271, PEEK (53271) OR 1

Sprite'ı normal büyüklüğüne döndürmek için:

POKE 53271, PEEK (53271) AND (255-1)

7 ve 1 için: POKE 53271, PEEK (53271) OR 130 komutlarını verebilirsiniz.

$D018 53272 (V 4-24)

1 sprite'larını büyütmek

VIC belleği kontrol sicili 7-4 video matrix taban adresi (VIC içinde) 3-1 karakter noktadata taban adresi (VIC içinde) Hem ekran hem de karakter belleğinden bu adres sorumludur.

POKE 53272,23 ekranı küçük karakterlere

POKE 53272,21 ekranı büyük karakterlere döndürür. Bu adresle ilgili bir kullanım daha önce 648 numaralı adreste gösterilmişti. Aynı zamanda ekran bellek adresi olan 53272'nin son dört biti bu işi üzerine almıştır. Ekranın yerini değiştirmek için şu komutu kullanın: POKE 53272, (PEEK (53272) AND 15) OR A

A, aşağıdaki tablodaki ondalık sayılardan biri olabilir. (Şekil 3)

A Adres — | Heksadesimal n o | 30000 16 1024 80400 32 2048 80800 48 3072 80000 64 4096 $1000 80 5120 $1400 96 6144 n112 7168 $1000 128 8192 82000 144 9216 82400 160 10240 82800 176 11264 82000 .192 12288 83000 208 13312 83400 224 14336 83800 240 15360 83000.

Normalde, A'nın değeri 16'dır ve ekran 1024'ten başlar. Kendi karakter setinizi yaratmak için — 3-1 numaralı bitleri değiştirme- POKE 53272, (PEEK(53272) AND 240) OR B

B'yi aşağıdan ondalık bir sayı olarak seçebilirsiniz. (Şekil 4)

B normal olarak 4'e ayarlıdır.

DO19

53273 (V-425) VIC Interrupt flag sicili (bit - 1:IRQ) 7 herhangi bir VIC IRQ şartına ayarlı 3 light-pen ile başlatılan IRQ flag'ı 2 sprite-sprite çarpışması IRQ flag'ı 1 sprite-arkaplan çarpışması IRQ

Bu adres en iyi olarak makine dili programlarıyla kullanılabilir, çünkü buradaki değerler BASIC için fazla hızlı değişmekte.

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