Commodore sayı 57, sayfa 45

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 45

C64 için MAKİNE DİLİNİN PÜF NOKTALARI:

Merhaba C64'cüler. İşte yine bir dergide makine

dili'nin püf noktalarını açıklamaya devam ediyoruz. Daha önce de belirttiğimiz gibi bu köşede amacımız makine dilini öğretmekten çok, demo veya intro türü programlarda kullanılan teknikleri ayrıntılı olarak göstermek. Şimdiye kadar interrupt'ların ne olduklarını ve nasıl kullanıldıklarını öğrenmiş ve bunlara örnek olarak bir 'Smooth Scroll' programını incelemiştik. Fakat çoğunuzun da fark ettiği gibi bu yazı kaydırma rutininin, ana mantığı açıklama dışında göz alıcı veya dikkat çekici hiçbir özelliği yoktu. Yani bir intro veya demo programcısının kullanabileceği kadar usta işi bir rutin değildi. Bu yüzden bu sayımızda, gerçekten ilgi çekici bir görüntü yaratan 'renkli şeritler' rutinini açıklayacağım. Bu rutin tek başına yeterince göz doldurmayacağından, renkli şeritlerin üzerinde 2x2 boyutunda karakterleri kaydıracak bir yazı kaydırma rutini de programa dahil edilmiş durumda. (Dergimizi sürekli takip edenler bu karakter setlerini düzenlemenizi sağlayacak bir editör programını yayımladığımızı hatırlayacaklardır. Programımız bu editörle tamamen uyumlu olarak çalışıyor.) Programı çalıştırdığınızda geçen sayılarda yayınladığımız (veya kendi hazırladığınız) bir karakter setini $3000 adresine yüklemiş olmazsanız yalnızca renkli şeritleri görebilirsiniz. Programın ayrıntılı açıklamasına geçmeden önce C64 kullanarak renkli şeritler yaratmanın neden çok zor olduğunu anlatmaya çalışayım. Bildiğiniz gibi Commodore'unuz ekranda görüntü elde edebilmek için bir elektron ışığı ile tarama sistemini kullanıyor. Eğer biz bu elektron herhangi bir satıra girerken (veya girmeden hemen önce) ekran ve arkaplan renklerini değiştirebilirsek o satırda istediğimiz rengi elde edebiliriz. Ve bu sistemi diğer satırlara uygulayarak istediğimiz sayıda renkli şerit elde edebiliriz. Fakat iki satır arasında bulunan renk değiştirme sırasında bir ufacık bir kayma bile olursa bu kayma bütün satırlarınızı etkiler. Tabii ki bu yana kayma ile kolayca başa çıkabiliriz. Bir satırdaki herhangi bir işlemden sonra

Ldx#4s08 loop Dex Bne loop

KARAKTER seti AMA ?

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