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ı.
Sayfa 24
Bu bit'i POKE ile kapatırsanız ekranınız 24 satır olur. Bu bit kaydırma modu için kullanılmakta. Ekranın hem üst hem de altından yarım satır alınıyor. Bunu kontrol etmek için POKE 53265, PEEK (53265) AND 247 (24 Satır)
PROGRAM ADI 1 PRG-3 61000 1 ©1040 DIM C<8,B)1REM KARAKTER MATRISI ©1050 1 <810> ©1060 REM EKRANI UFALT <108> ©1070 POKE AND 247 <a18> ©1088 1 81088 REM KARAKTERİ SAKLA 81100 FOR Izi TO 8 <e58> ©1116 FOR Js1 TO 8 ©1120 READ C<1.J)> <164> 011830 NEKT J.1 <185> 91148 1 ©1150 REM EKRANI TEMİZLE/BEYAZ KURSOR <155> ©1180 RRINT 01170 1 <130> 01180 REM KURSORU DIBE KOY <875> 01198 FOR TO 241PRİNT <157)> 1 <160> REM ILK KAYMA ICİN POZİSYON ©1220 POKE AND 248)4*7 <145> 61230 « <188> ©1240 REM KARAKTER MATRISI 01250 FOR Ks1 TO 8 <a2a> ©1260 FOR TO 8 <aa2> 01278 IF C<K.L)<8 THEN PRİNT CHR$C16)7 <ısa> 01275 PRINT <e24> 01280 PRİNT ©1290 NEKT L 01300 PRİNT <iaa> 81310 NEXT K <140> 01326 PRINT <ısa> ©1336 1 <036> ©1340 REM 8 BIT KAYMA <ı26> '01350 FOR TO 7? <a205> 01360 POKE AND 246)4P -<056> ©1370 * <076> 01388 1 <8686> 01390 FOR WHs8 TO 581NEKT W <148> ©1400 NEXT P <a814> 81410 1 <116> ©1420 REM TEKRARLA ©1430 GOTO 1228 <196> 01440 1 <146> 01450 REM KARAKTER DATA <a14> 01460 DATA 32.32.32,-32.-32.-32.32.32 <o32> 01470 DATA 32,32.-32,-32.32.-32.-32.32 <a245> 01480 DATA 32,-32,-32.-32.-32.-32.-32.-32 <096> 01490 DATA 32.32.-32.,-32,-32.-30,-32.32 — <005> ©1500 DATA 32.32,-32.32.32.32.-32.32 01510 DATA 32.32.,-32.32.32.32.-32.32 <036> 61520 DATA 32,32.-32,32.32,32.-32.32 <046> 01530 DATA
POKE 53265, PEEK (53265) OR 8 (25 Satır)
$D012 53266 (V 4 18) Karşılaştırma için raster değerini okuma/yazma.
Raster sicili iki amaçlıdır. Bu sicil size o anki raster pozisyonunun sağdan sekiz bit'ini verecektir. En önemli bit'in raster pozisyonu 53265'tedir. Raster sicili, yatay ve düşey kaydırmalarda görüntüdeki zamanlama değişiklikleri için, karışık modlu görüntü (yüksek çözünürlükte karakterler) ve diğer interrupt çeşitleri için kullanılır. Ekrandaki değişiklikler, raster ekranın görünebilir kısmında değilken yapılmalıdır. Görünebilir kısımlar 51 ve 251 arasındadır.
$D013 53267 (V + 19) Light-pen X pozisyonu. $D014
53268 (V + 20) Light-pen Y pozisyonu.
Bu adresler light-pen'in ekrandaki yerini gösterirler. Kalemden ayrıca interruptlar elde edilebilir.
53269 (V + 21) Sprite gösterimi
Bir sprite'ı görünebilir hale getirmek istiyorsanız buraya başvurmalısınız. Burada her bit bir sprite'ı kontrol eder. Yani sprite 0, bit 0, sprite
1, bit 1 vb. tarafından kontrol edilir. Sprite 4'ü ekranda görünebilir hale getirmek için: POKE 53269, PEEK (53269) OR 16
POKE 53269, PEEK (53269) AND (255-16) sadece sprite görünmez hale getirir. POKE 53269, PEEK (53269) OR 170 Sprite 1, 3, 5 ve 7'yi ekrana getirir. POKE 53269, PEEK (53269) AND (255-170) hepsini yok eder.
$D016 - VIC kontrol sicili. 7-6 kullanılmıyor 5 kullanılmıyor 4 çok-renklilik modu 1-açık 3 38/40 kolon yazı: 1-40 kolon 2-0 X pozisyonuna düz kaydırma
Bu adres de çoğunlukla usta grafik kullanıcıları tarafından ziyaret ediliyor. BİT 4 - ÇOK-RENKLİLİK MODU Yazı için çok-renklilik modunu