Commodore sayı 19, sayfa 63

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 63

Bildiğiniz gibi BASIC'te satır numaraları birbirlerini izleyen sırada artarlar, ancak 64000'den büyük satır numaralarını kullanmak mümkün değildir. Bu du- TUMU program koruma tekniğinde avantajımıza kullanabiliriz. Program döküm ekinde bulacağınız 5 numaralı programı korumak istediğiniz programınızın sonuna ekleyin. RUN 63000 vererek programımızı çalıştırın, sizden sıra ile saklayacağınız programın satır numaralarını değiştirme, aynen bırakma, bu işlemlere son verme seçeneklerinden birirti seçmeniz istenecek. Ancak programımızın bazı sakıncalı tarafları bulunuyor:

* GOTO ve GOSUB satır numaraları hesaplanmıyor. * Eğer 64000'den büyük bir satır numarası girerseniz bir daha bu satırı silemezsiniz. * 1'den küçük satır numaralarına atlama yapa: mazsınız.

Programımızın çalışma prensibi oldukça basit: Programımız bütün BASIC satırlarını kontrol ediyor, eğer satır numarası değiştirildiyse yeni satır numarasını ZN değişkenine veriyor ve bu değer 63110 numaralı satırda yüksek/alçak byte düzenine göre yerleştiriliyor. Daha sonra yeni değer BASIC hafıza bölgesinde eski değerin üzerine POKE yapılıyor. Koruma işlemini gerçekleştirdikten sonra DELETE 6300- komutu ile koruma programını sildikten sonra programınızı yeni hali ile SAVE edin. Artık programınız yüklendiğinde sizin vermiş olduğunuz satır numaralarına sahip olacaktır. Eğer yeni satır numarası ola- Tak 65535 verirseniz, program bu satıra geldiğinde END komutu ile karşılaşmış gibi olur, bundan başka bu satır yok olarak göründüğünden bu satırda yazılı olanları da görmek mümkün olmayacaktır. Programlarımızı çeşitli POKE komutları kullanarak veya bazı ufak programcıklar vasıtası ile nasıl koruyabileceğimizi gördük. Son olarak programımız LIST edildiğinde LIST edene nasıl sürprizler hazırlayacağgımızı göreceğiz. Aşağıdaki komut grubunu direkt modda yazın.

KEY1,CHRS(27) 4 CHRS(79) 4 “<RVSON > <SHIFT- M> <RVSOFF >” 4 CHRS(34) 4 CHRS(20)

Şimdi programınızı yazarken istediğiniz yerlerde F1 tuşuna basın. Programınızı LİST ettiğinizde oldukça ilginç bir görüntü ile karşılaşırsınız. Programınız LIST edildiğinde bir mesaj çıkmasını isterseniz, aşağıdaki örnekleri inceleyin.

40 REM”FA <UP ><RVSON> Bu bir denemedir. 400 REM”FA <CTRL4* 200 >

Şimdiye kadarki program koruma yöntemlerimizde koruma işlemini ya program üzerinde yapmaya çalıştık ya da POKE komutları ile gerçekleştirmeye çalıştık. Bir başka yöntem olarak da disket üzerinde gerçekleştireceklerimiz ile kopyalama işlemini oldukça zorlaştırmaya çalışacağız.

İlk yöntem olarak disket üzerindeki bir TRACK'ı tah- TİP edeceğiz, ancak bu işi yaparken disket sürücüye sizin için önemli olmayan bir disket takın. Aşağıdaki programı çalıştırdığınızda sizden tahrip etmek istediğiniz track numarası sorulacak. Bu track'de herhangi bir program bulunuyorsa çalışmaz hale geleceğinden bir disket monitörü ile kindinize boş bir track bulmanızı tavsiye ederiz. Bu işlemin sonunda disketiniz kopya edilmeye çalışılınırsa oldukça zor ve yavaş kopya edilir.

410 İNPUT 20 OPEN 1,8,15 30 OPEN 4.“U4 2 O" TR;O SO PRİNT 41,“M-E“CHRS(163)CHRS(253)

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