Commodore sayı 23, sayfa 58

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 58

Bilgisayarın bir tuşa basılana kadar beklemesini sağlayan bir program yapalım.

10 203,63 20 GET A$;

FRE FONKSİYONU

Bilgisayarı ilk açtığınızda “38911 bytes free” yani yaklaşık olarak 39Kbyte boş yerimiz olduğunu görürüz. Ama

PRINT FRE (0)

PRINT FRE(0) komutunu verdiğimizde cevap olarak -26627 değerini alırız. Bu değere göre bilgisayarın boş hafızası olmadığı gibi, 26627 byte kaybetmiş görünüyor. FRE fonksiyonunun verdiği cevabı düzeltebilmek için 2'nin 16'ıncı kuvvetine, yani 65536 sayısına FRE fonksiyonundan aldığımız cevabı eklemek gerekir. FRE fonksiyonunun niçin böyle bir hata yaptığını anlamak için nasıl çalıştığını bilmemiz gerekiyor. Artık kullanılmayan karakter dizileri çıkarılıp hafızada boş yer açılır. Bu işleme “GARBAGE COLLECTION” adı veriliyor. Bu işlemden sonra boş hafıza alanı hesaplanıyor. Bunun için $33/$34 adreslerinde tutulan dizilerin başlangıç adresinden $31/$32 adreslerinde tutulan dizilerin bitim adresi çıkarılıyor. 16-bit şeklinde elde edilen netice “floating point” şekline çevriliyor. Çeviri yapıldığı anda elde edilen netice hatalı hale geliyor. Çünkü integer halindeki sonucumuz floating point çevrimi sırasında işaretli (+ veya -) olarak ele alındığından -32768 ile 32767 arası bir sayı haline geliyor. Eğer sayımız bu işleme tabi tutulmasaydı, 0 ile 65536 arasında bir değer taşıyacaktı. FRE fonksiyonunun nasıl çalıştığını ve neyin hataya sebep olduğunu gördük. Program Eki'ndeki PROGRAMI çalıştığında FRE fonksiyonu doğru çalışır hale gelecek.

OYUNLAR İÇİN KOLAYLIKLAR

Bazı PEEK ve POKE komutları sayesinde oyunları kısa yoldan bitirmek isterseniz oyun programını yükledikten sonra söylediklerimizi uygulayın.

KRAKOUT Puan tablosuna adınızı yazmak yerine (C) yazarsanız ilk 25 düzey için sonsuz hak elde edersiniz. TRAILBLAZER

SYS64738 Sonsuz zaman için POKE 29738,234 POKE 29739,234 Sonsuz atlama hakkı POKE 30889,234 POKE 30890,234 POKE 30891,234 SYS 25729 oyunu başlatır.

JACK THE NIPPER

Açılış ekranında iken ZAPIT yazarsanız ekranın kenarları beyazlaşır ve oyun süresince hiç ölmezsiniz. PANTHER

SYS64738 POKE 15324,234 SYS 4096

İlk üç düzeyde hiç saldırıya uğramayacaksınız. NEMESİS Oyunu yükleyin. Ateş tuşuna basmadan evvel SHIFT tuşuna basıp dört defa boşluk tuşuna basın. Sol üst köşede bir şeyler gözükecek. Kaç oyuncu istediğinizi seçin. Oyunculardan birinin gemisi görünmez olacak. MISSION CTRL, Commodore tuşu, 2, O, R, L, 1, K tuşlarına aynı anda basın. MUTANIS Oyunu yükleyin ve bilgisayarı RESET'leyin. POKE 9273,234 POKE 9274,234 SYS 4096 Artık sonsuz hakkınız var. THE EQUALISER Oyun başladıktan sonra C tuşuna basarken RESTORE tuşuna her basışınızda bir sonraki düzeye geçersiniz. Böylece oyuna istediğiniz düzeyden devam edebilirsiniz.

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