C64 Türkiye sayı 5, sayfa 10

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 10

NEREDEN : İSTANBUL NİCK / GRUP(LAR) : HADES / HI3S WEB SİTE : WWW.HI3S.ORG HTTP://HADES6510.SITEMYNET.COM

(C64ASM V1.1 ile compile edilecek şekilde yazılmıştır.) Herkese tekrar merhaba. Geçen sayımızda C64’ün yetersiz olan BASIC komutlarına yeni komutların nasıl eklendiğini görmüş ve 4 tane de yeni komut eklemiştik. Bu sayımızda da C64’e işe yarar birkaç komut daha ekliyoruz. Yeni komutlarımızın 9 tanesi sprite ile ilgili, 1 tanesi ise kursörü ekranda istediğiniz yere yerleştirmenizi sağlayan “CURSOR” komutu. Bildiğiniz gibi “SPRITE” C64’ün yazı ve grafiklerinden bağımsız olan, programlanabilen ve çeşitli özellikleri olan hardware tabanlı grafik elemanlarıdır. Oyunlarda yönettiğiniz kahramanlar, araçlar, düşmanlar, hareketli şekiller hep sprite’tır. C64’ün oyun bolluğu bu sprite’ların sayesindedir. Buraya kadar her şey güzel ama C64’ün “her güzelin bir kusuru vardır” sözünü doğrulayan bir kusuru vardır. Gerek sprite, gerek ses olsun C64’ün bu özelliklerini kullanabilmenizi sağlayan hiçbir komutu yoktur. Ekranda bir sprite gösterebilmek için en az 4 tane POKE komutu kullanmanız gerekmektedir. Yeni komutlarımız sizleri POKE komutu yazmaktan kurtaracaktır. Komutların kullanımı çok basittir. Aslında komutlar bu kadar fazla değildi. Bazı komutların parametreleri opsiyonel durumdaydı, yani kullanma zorunluluğu yoktu. Bu parametrelerin ayrı bir komut altında kullanılabilmesi için değişiklik yaptım. Sprite komutlarımızın neler olduğuna geçmeden önce biraz da “CURSOR” komutundan bahsedelim. C64’ün BASIC komutları arasında maalesef kursörle ilgili bir komut bulunmamaktadır. Ekranın herhangi bir yerine bir şeyler yazmak istediğinizde tırnak işaretleri arasında bol miktarda –kursör aşağı ve kursör sağa– karakterlerini kullanmanız gerekmektedir. Yeni komut ile bunların hiçbirisine gerek kalmayacak. Mesela CURSOR 10,20:PRINT “C64 TURKIYE” ile 10. satır 20. sütundan itibaren “C64 TURKIYE” yazısını yazmış oluyorsunuz. Konuyu daha fazla dağıtmadan SPRITE komutlarımızı açıklayalım. 1- SPRITE sprnum, açık/kapalı : Bu komut ile istediğiniz sprite’ı açıp kapatabilirsiniz. Sprite’ın ekranda gözükmesi için koordinatlarının uygun sınırlar arasında olması gereklidir. Mesela 24,20 (x,y) koordinatlarında bulunan bir sprite gösterilmeyecektir. (Laf aramızda eğer BORDER’leri ortadan kaldırırsa alt ve üst Y koordinatı sorun olmaz ☺ ) 2- SPRPOS sprnum, x-koor, y-koor : Yukarıda bahsettiğimiz koordinatları bu komutla girebilirsiniz. Bir sprite’ın ekranda tam olarak gözükeceği ilk koordinatlar x=24 y=50’dir. 3- SPRPNT sprnum, göstergeç : Sprite’ın şekil datalarının alınacağı hafıza adresini VIC’e bildirmek için kullanılır. Bu komut default pointer adresleri olan $07F8-$07FF arasını kullanır. Eğer VIC BANK ve/veya ekran belleğinin yeri değiştirilmişse sprite’ın şekli bozuk olacaktır. Aslında VIC BANK ve ekran belleği kontrolü yapan ve adresleri ayarlayan bir rutin programa eklenebilir. 4- SPREXP sprnum, x-genişletme, y-genişletme : Bu komut ile sprite’ınızın X ve Y eksenlerinde 2 kat genişleme özelliğini ayarlayabilirsiniz. 5- SPRMUL sprnum, açık/kapalı : Hangi sprite’ın multicolor modda görüneceğini bu komut ile ayarlayabilirsiniz. 6- SPRMCL renk1, renk2 : Bu komutla multicolor sprite renklerini girebilirsiniz.

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