Commodore sayı 65, sayfa 46

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 46

Vedat Hallaç

Yeni bir sayı ve yeni fikirlerle karşınızdayız gene. İki aydır sürdürdüğümüz bu kaset turboları yazısının kaset kullanmak zorunda kalan arkadaşlara yardımcı olduğunu umuyorum. Aslında bir kaset turbosunda ilk olarak bakılacak özellik hızı ve güvenilirliğidir, ama hem de güvenilirlik bakımından PINKY Turbo'dan daha iyisi yapılmamış olduğundan, ve bu turbo her tarafta kolaylıkla bulunabildiğinden dolayı bu dizide ağırlık verdiğimiz turbolar, yükleme sırasında değişik efektler kullanabilenler. İki ay önce tam olarak nasıl çalıştığını anlattığım turbo kaydedici - yükleyici programın en büyük özelliği- yüzlerce kere tekrarlamama rağmen gene söylüyorum- interrupt'ları kullanarak yükleme yapması ve interrupt düzeyi dışındaki programların çalışmasına müsaade etmesi... Tercümesi: Bu turbo yükleyicisini kullandığınızda, yükleme sırasında blok veya bayt saydırabilir, ekranda yazı kaydırabilir, müzik çalabilirsiniz. Ekran açık olarak yükleme yapıldığı için ekran grafikleri veya yazı koyup yüklemek ise çocuk oyuncağı. Bu tür özellikleri kullanmak için interrupt kullanmadan program yazabilmek (interrupt'ları kapatmadan tabii ki) dışında başka bir şeye ihtiyacınız yok. Eğer yazı kaydırmak gibi bazı temel programlara ihtiyacınız varsa, Makina Dilinin Püf Noktaları yazısının önceki bölümlerini okumanızı Öneririm. Bu ay turbonun bu yeni özelliğini kullanmayı öğreneceğiz. Her tarafta kolaylıkla bulunduğu için basit bir ekran açık yükleyici yapmak istemedim. Programın biraz daha süslü ola-: bilmesi için 512 karakterden (maksimum) oluşmuş mesajları kaydırabilen ve yüklemekte olduğu baytı da ekrana yazabilen bir turbo yapmak iyi bir fikir gibi göründü bana. Eğer bir yazi kaydırma rutininin nasıl yapılacağını bilmiyorsanız, bu yazıyı okuyarak bir taşla iki kuş vurabilirsiniz. Biraz üstten anlatmakla birlikte, yazı kaydırma rutininin temel çalışma prensibini de anlatacağım burada çünkü. İşin en zor kısmını geçtik artık. Ne yapacağımıza karar verdiğimiz andan itibaren yapacak çok fazla bir şey kalmıyor geriye çünkü. Programa ilk olarak turboyu hiç hesaba katmadan başlayabilirsiniz. Mesela yüklenmekte olan baytı yazacak olan rutini hazırlayalım birlikte: Turbonun yükleyicisini incelediyseniz, yüklenmekte olan baytın $FB- $FC adreslerinde yüksek-alçak bayt (high-low bayt) formatında ($0213 için $13, $FC'de $02) bulunduğunu farketmişsinizdir. Yani yüklenmekte olan baytın hangi adrese yazılacağını ekrana yazmak için bu iki baytın değerini gerekli şekilde |hex (hexadecimal — onaltılık) ya da onluk düzende) ekrana yazmanız yeterlidir. Daha kısa sürmesi, daha basit olması ve en önemlisi işimize yaraması sebebiyle bu yazıda, baytı onaltılık düzende ekrana yazacak bir rutin kullanmaya karar verdim. Artık iki baytın değerini ekrana dört onaltılık hanede yazacak bir rutin yazmamız gerektiğini biliyoruz. Onaltılık düzenin her hanesi dört bitten oluşur. Bu nedenle baytların değerlerini dörder bit halinde işlememiz gerekir. İlk olarak yüksek baytı ($FC) A register'ına alırız ve atarız (PHA). Daha sonra AND $0F komutuyla son dört biti izole ederiz. Bu değeri Y”'ye alıp, 0-15 arası sayıların harf ve rakam karşılıkları bulunan bir tablodan ekrana basılacak karakteri okuyabiliriz. Yani Y'ye 0- 15 arası bir değer alıp (geri kalan bitleri atmıştık hatırlarsanız), tablo başından Y indeksiyle (Lda $XXXX,Y) aldığımız karakteri ekranda gerekli yere (son hanenin adresi) yazarsak ilk haneyi halletmiş oluruz. Bu işi yapan programı aşağıda görebilirsiniz.

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