Diskfaster

Program dökümü: DISKFASTER

VC1541 disket sürücüsünün yavaş olduğunu iddia edenler! İşte onu hızlandırmanızı sağlayacak bir program. LOAD işlemleri 5-6 kat, SAVE işlemleri de 3-5 kat daha hızlanabilir...

Önce programı MDE ile yazın ve diskete kaydedin. Çalıştırmak istediğiniz zaman, bilgisayara yükleyip RUN ile çalıştırın. Bilgisayar, açılış ekranına benzer bir ekranı gösterecek ve bu arada da hızlı SAVE ve LOAD rutinleri hafızaya yerleşmiş olacaktır. Bu açılış ekranı sırasında, kaç byte kullanım alanı kaldığı gösterilecektir. Bazen bu sayı yanlış olabilir, dikkate almayın. Şimdi her iki komutla ilgili bazı açıklamalar yapalım.

Hızlı LOAD rutinleri, $A000-$BFFF arasındaki ROM'un altına yerleşmektedir. Eğer normal LOAD hızına dönmek isterseniz, POKE 1,55 vermeniz yeterli olacaktır. Ayrıca demin belirttiğimiz iki adres arasını çeşitli amaçlar için kullanmak zorundaysanız, kullanmadan önce deminki POKE komutunu mutlaka kullanmalısınız. Hızlı LOAD rutinlerini POKE 1,55 ile kapattıktan sonra yeniden aktif hale getirmek isterseniz, eğer bu arada $A000-$BFFF arasına dokunmadıysanız, POKE 1,53 komutu ile olacaktır. RUN-STOP/RESTORE tuşlarına basmanız, hızlı LOAD rutinlerini etkilemeyecektir.

Eğer yüklenen bir program, daha yüklenirken $A000 sonrasına geçiyorsa, yeni LOAD rutinleri otomatik olarak bunun farkına varacak ve gerektiği zaman aradan çekilip, ROM'da duran ve bu nedenle yüklenen programın uzunluğundan etkilenmeyen normal LOAD rutinlerini çağıracaktır.

Buna bir istisna, $E000 sonrasında yeralması gereken programlar. Bunlar belli bir uzunluğu geçtiklerinde, hızlı LOAD rutininin çalışma alanını zedelemektedirler. Bu, bilgisayarınızın kilitlenmesine neden olabilir. Bundan başka, kimi programlar hızlı LOAD rutini ile yüklenirken sorun çıkarmamakta, ancak RUN komutu verildiğinde çalışmamaktadırlar. Örneğin disket/kaset üzerinde aldığınız SIMONS' BASIC'in kimi türleri böyledir. Bu durumda LOAD işlemi bitince POKE 1,55 ile eski rutinleri aktif hale getirmek, sonra RUN yapmak gerekmektedir.

Bir başka nokta da, hızlı LOAD rutinleri aktif iken, kaset ve RS232 çıkışını kullanan işlemlerin yapılamayacağı. Bunlardan önce de, POKE 1,55 ile yeni rutinler aradan çıkartılmalı.

Yukarıda, RUN-STOP/RESTORE'nin yeni rutinleri bozmadığını anlatmıştık. Aynı şekilde SYS 64738 ile yapılacak bir reset de, programı doldurduğunuz zamanki açılış ekranına benzer bir ekranın görünmesine ve hızlı LOAD rutinlerinin çalışırlıklarını korumasına yolaçaktır. Eğer bir RESET SWITCH tuşu kullanıyorsanız, ona bastıktan sonra POKE 1,53 ile yeni rutinleri, eğer bozulmamışlarsa, yeniden aktif hale getirebilirsiniz.

LOAD işlemi sırasında, ekrandaki görüntü geçici bir süre için yok olacaktır. Yükleme bitince yeniden görünecektir. Bu arada sizin dikkat etmeniz gereken şey, LOAD işlemi sırasında printer'ın açık olmaması. Eğer açıksa, yeni rutinler sizi uyaracaktır. Bu durumda printer'ı kapatıp RUN/STOP'a basın. Yükleme işlemi devam edecektir.

Hızlı SAVE rutinlerine gelince... DISKFASTER'i RUN ile çalıştırdığınızda karşınıza çıkan açılış ekranının bir köşesinde de SYS 365 yazdığını göreceksiniz. Bu, hızlı LOAD rutinlerini aktif hale getiren komuttur. Eğer reset, SYS 64738 veya RUN-STOP/RESTORE gibi nedenlerle bu rutinlerin çalışırlığı ortadan kalkmışsa, SYS 365 ile yeniden başlatabilirsiniz.

Yeni rutinlerin ilginç bir özelliği var. Normal rutinler, bir programı diskete SAVE ettikten sonra, bir de kontrol işlemi yaparlar. Bu, zaman

kaybına yolaçar. Eğer çok kaliteli disket kullanıyorsanız, disket sürücünüz de hata yapmıyorsa veya programın diskete hatalı kaydedilmiş olması sizi üzmeyecekse, ki hiç sanmıyoruz, yeni rutinler kontrolu iptal etme olanağını veriyor. Normal SAVE komutunu vererek kayıt işlemi yaptığınızda, kontrol yapılacaktır. Ancak programın adının başına * (çarpı) işareti koyarsanız, kontrol iptal edilecektir. Örneğin:

SAVE "deneme",8

SAVE "*deneme",8

Bir başka yenilik de, programın SAVE edilmesi biter bitmez, yani bilgisayarın disket sürücüsüne gönderecek bilgisi kalmadığında, bilgisayarın kendi işine geri dönmesidir. Bunu, SAVE işlemi görünürde bittiği halde disket sürücüsünün yanan kırmızı ışığından anlayabilirsiniz. Bu sırada disket sürücüsü dosyanın kapatılması ile ilgili işlemler yapmaktadır. Bu, bilgisayarı ilgilendirmediği için, bilgisayar kendi işine devam etmektedir. Eskiden bilgisayar, disket sürücüsünün bu işlemleri de bitirmesini bekliyordu. Ancak, disketi disket sürücüsünün içinden çıkarmak için kırmızı ışığın sönmesini bekleyeceksiniz.

Hızlı SAVE işlemi yapılırken, kaydı durdurmak isterseniz RESTORE tuşuna basmalısınız. Ancak bu durumda disket üzerindeki dosya kapatılmayacak ve directory'de bir yıldız işareti ile görünecektir. Ayrıca, kırmızı ışık da yanıp sönecektir. Işık önemli değil ama, bu disketi sonradan OPEN 1,8,15,"V":CLOSE 1 komutunu göndererek temizlemeniz gerekir (diğer dosyalara bir şey olmayacaktır.)

Eğer disket sürücüsü bir işlem sonucunda 61 veya 71 numaralı hataları gönderiyorsa, disket sürücüsünü kapatıp açmaktan başka çare yok demektir.

DISKFASTER rutinleri, SX-64'ün donanımıyla kimi zaman sorun çıkarmaktadır. Eğer çalışmazsa sakın şaşırmayın. Ancak VC1541 ile çalışma kusursuz olmaktadır. C128 ve VC1571 kullananlara gelince. C128'i C64 modunda kullandığınız sürece DISKFASTER rutinlerinin bu sorun çıkarmaması lazım. Bugüne kadar böyle bir soruna rastlanmadı. Ancak C128'i C128 veya CP/M modunda çalışmayacaktır.

Tüm çalışmalarınızda kolaylık sağlayacağını ümit ederiz...

Bu yazıdaki programlar

Dergideki dökümlerden çıkarıldı; satırlar derginin kontrol toplamlarıyla doğrulandı ve programlar VICE emülatöründe denendi. Tarayıcıdaki C64'te çalıştırabilir, indirip bir emülatöre sürükleyip bırakabilir ya da gerçek bir C64'te LOAD "AD",8,1 ile yükleyebilirsiniz. "Sorun bulundu" yazanlarda bazı satırlar okunamadı ya da tutmadı; düzeltilmiş bir sürümünüz varsa contact@coze.org adresine gönderin.