Commodore sayı 18, sayfa 65

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 65

DATA SATIRLARI ÜRETİMİ

Özellikle makine dili bir programı BASIC programımıza DATA satırları olarak eklemek istediğinizde çok faydalı olabilecek bu programı, Program Döküm Eki'- nde bulabilirsiniz. Programımızı yazımızın başında söylediğimiz yöntemler ile yaptığımız için detaylı bir açıklamasını vermeyeceğiz. Programı yazdıktan sonra çalıştırmadan evvel muhakkak SAVE edin, çünkü program çalışmasını biftirdiğinde kendisini de tamamen silmiş olacak. DATA satırları haline getireceğiniz makine dili programın başlama ve bitiş adreslerini bilmeniz gerekiyor. Bundan başka hafıza düzenlemesini de (normalde BANKO) bilmeniz lazım. Bu bilgilerden sonra ilk satır numarasının kaç olması gerektiğini ve satırların kaçar kaçar artması gerektiğini de programa vermeniz gerekiyor. Yalnız ilk satır numarası olarak en küçük 1300 verin, aksi takdirde program çalışması sırasında kendisinin üstüne yazar. Programımız çalışmasını bitirdiğinde kendisini DE-LETE kornutu ile silip öyle duracak. Program çalışmasını bitirdikten sonra istediğinize göre RENUMBER komutu ile program satır numaralarını değiştirebilirsiniz. Şimdi bazı adreslerin işlevlerini görelim.

C128 Anlamı 208 198 Klavyeden gelen karakterlerin sayısı. 842-851 631-640 Klavye tamponu; maksimum 10 byte saklanabilir. 2592 649 Klavye tamponunun maksimum büyüklüğü (410)

çalışan bir programı da kendi kendisini değiştirecek şekilde programlamak mümkün ancak modunda bunu gerçekleştirmek çok daha kolay, çünkü C64 modunda iken program satırlarını değiştirmeniz halinde tüm değişkenler sıfırlanır. C128'de ayrı bir hafıza bölgesi (BANK 1) değişkenler için ayrıldığı için değişkenlerin sıfırlanması sorunu ile karşılaşmıyoruz. Gelelim klavye tamponuna, klavye tamponu genelde bize yeterli olan on byte uzunluğundadır, eğer on byfe size yeterli olmazsa kullandığınız komutların kısa şekillerini kullanabilirsiniz. Diyelim buna rağmen on byte ihtiyacınızı karşılamadı, o zaman TAB-bit hafızasını silerek klavye tamponunu maksimum yirmi byte uzunluğa çıkarabilirsiniz. Ancak klavye tamponu yirmi byte uzunluğa çıktıktan sonra TAB tuşu doğru olarak işlemez. Klavye tamponunun genişletilmiş hali ile bu bölge hafızada 842-861 adresleri arasında yer alır. Klavye tamponunu POKE 2592,20 komutu ile değiştirebilirsiniz.

PROGRAM KİLİTLERİ

Yaptığımız programların başkaları tarafından kurcalanmasını veya kopya edilmesini İstemiyorsak r.e yapabiliriz? İlk olarak POKE komutları vasıtası ile, daha sonra ise özel programlar aracılığı ile programlarımızı kilitlemeye çalışacağız. Hemen belirtelim, göreceğimiz koruma teknikleri sadece bir önlem niteliğindedir programınızı yüzde yüz bu yöntemlerle koruyamayabilirsiniz ama hiç olmazsa bu İşle uğraşan bir kişinin işini oldukça zorlaştırırsınız. POKE komutları kullanarak yapacağımız program kilieemesinin ufak bir dezajantajı var, program içinde kullandığınız POKE komutlarının işe yarayabilmesi İçin önce programın çalışması gerekir.

LIST KOMUTUNU ENGELLEME

C128'de hafızanın üçüncü sayfasında LİST komutu için olan vektörü işaret eden bir göstergeç vardır. Bu vektör 774/775 (80306/$0307) adreslerine sahiptir.

POKE 774,61:POKE 775,255

komutlarını yazın ve LİST komutunu verin. Karşınızda açılış ekranını bulacaksınız. Şimdi;

POKE 774,38:POKE 775,255

komutunu girip LİST komutunu yazdığınızda sadece programınızın satır numaralarını göreceksiniz. Gördüğünüz gibi göstergeçleri değiştirerek inanılmaz şeyler başarabilirsiniz.

65

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