Commodore sayı 57, sayfa 47

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 47

Lda $C0E2, X Lda $C0E2, X Bit $D021 Clc Renkver Burada iki kez renk okumamız herhangi bir hatadan dolayı değil. Yalnızca zaman harcıyoruz. Bit komutu da burada yalnızca biraz zaman harcatmaya yarıyor. JMP komutu yerine de CLC ve BCC komutları ardışık olarak kullanılıyor. Bu hem zamanlamayı ayarlıyor hem de size değişik bir sistem göstermeye yarıyor. Renkson Lda #$C8 Sta $D016 Lda #$15 Sta $D018 renk şeritleri koyduğumuz ve yazı kaydırdığımız 16 satır bittiğine göre X pozisyonunu sıfırlayıp karakter setini normale çevirmenin zamanı geldi demektir.

Lda $COF8 And # $07 Tay Dey

$C0F8 adresinde saklanan X pozisyonunu bir sola alıyoruz. Hızlı kayan yazılar isteyenler buraya bir-iki DEY koyabilirler. Bmi Satırsonu Eğer X pozisyonu 0'dan küçükse yeni harfleri X koordinatını ayarlamak gerekiyor. Bu komutla da bu işleri yaptırıyoruz. Ora #$C0 Sta $C0F8 Jmp Bitir eğer X pozisyonu 0-7 aralığındaysa bunu $D016'ya yazılabilecek hale getirip, gerektiği zaman kullanmak üzere $C0F8 adresine yazıyoruz. Multicolor kullanıcıları, buradaki ORA $C0 komutunu ORA yapmayı unutmayın. Satırsonu Lda Sta $C0F8 eğer X pozisyonunu 0'dan küçükse öncelikle X pozisyonunu en sağa alıyoruz. Ldy lda $0401, y Sta $0400, y $0429, y Sta $0428, y Bne ve ekranın ilk iki satırını bir sağa kaydırdık. Harfal Lda $C100 Cmp #$FF Bne yaz Lda #$00 Sta Harfal+1 Lda #$C1 Sta Harfal+2

Bne Harfal burada tanıdığımız bir harf alma rutini var. Zaten yazacağınız tüm yazı kaydırma rutinlerinde bu sistemi kullanmanız kaçınılmaz. Bu yüzden bu satırlara alışmaya bakın. "| Yaz

Kaydır

Ora $COF7 Sta $0428

Clc Ade Sta $0429

yazdığımız mesajın her harfi dört karakterden oluştuğundan harfleri yazma sistemini incelemeniz gerekiyor. Kullandığımız sistemde harfin ilk kolonu harfin kendisi ve reverse'ünden oluşuyor. Yani harf ilk kez okunmuşsa harfin kodu ve $80 fazlasını ekrana yazmalıyız. Eğer harf ikinci kez okunduysa $40 fazlasını (Shift-harf) ve bunun $80 fazlasını (yani reverse'ünü)

basıyor. Lda $COF7

Eor #$40 Sta $C0F7 Bne Bitir her harfin okunuşundan sonra harfin kendisinin mi yoksa shift'inin mi basılacağına $C0F7 adresi karar veriyor. Buraya her gelişinde $C0F7 adresinin değeri $40 veya $80 arasında değiştiriliyor. Eğer değer $00 olduysa gelecek harfin okunması gerektiği için harfi okuyan komutun adresini bir artırıyoruz. Inc Harfal-1 Bne Bitir Inc Harfal-2 Inc $D019 Jmp $EA81 Ve kontrolü Kernal'a veriyoruz. Unutmayın, programda ekran rengini ayarlamanız gerekiyor. Bir uyarı daha: Eğer programın RASTER giriş satırını $31'den farklı bir yere alacaksanız bu satırın ($31+N*8) formülüne uymasına dikkat edin. Hepinize programcılık hayatınızda başarılar dilerim.

Bitir

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