DİSK EDİTÖR

Program dökümü: DISK-EDITOR

Bu utility programı size BASIC'te var olmayan gücü ve yeni durumlara uygulanabilirliği sağlamaktadır. Birkaç komutla disketteki herhangi bir byte'ı kontrol edebilir, değiştirebilirsiniz. Disk sürücünüzü belki sadece program yüklemek ve kayıt etmek için kullanıyorsunuz, seyrek olarak da sequentiel ve relative dosyalar için.

BASIC her program türünü kullanmak için basit komutlar üretmiştir. Örneğin SAVE yazdığımızda disk sürücüye programı diske yazmasını söylemek zorunda kalıyorsunuz. DOS bütün bu işlemleri otomatik olarak kendi yapar. Fakat bu komutları kullanmanın dezavantajı ise disk direktörisine ulaşım sırasındaki güç ve kontrol eksikliğidir. Örneğin DOS bir scratch komutuna sahiptir, fakat unscratch komutu mevcut değildir. Örneğin disketten yanlışlıkla bir programı sildiğinizde program hâlâ diskette olduğu halde onu geri getirecek bir komut yoktur. DOS bir programı kilitleyip onun silinmesini önleyebilme özelliine sahiptir, fakat hiçbir komut bu özelliğe sahip değildir.

Diske doğrudan ulaşabilmek çok daha fazla güç ve kullanışlılık sağlayacaktır. Black read ve black write komutları ile bir sector veya bloğun içeriğini değiştirebilirsiniz, fakat bu komutları kullanmanın oldukça zordur.

DISK EDİTÖR'ü etkili bir şekilde kullanmak için bir diskin nasıl organize edildiğini bilmek çok önemlidir. bir C-64 diski, içinde belli bir sayıda sector'lerin yer aldığı 35 Track'a bölünmüştür. Her sector 256 byt'e saklar. Bir disk toplam olarak 683 sector'dür, fakat 664'ü kullanılabilir, çünkü kalan 19 sector 18 track'ta yer almakta ve bu track'ta direktöriyi oluşturmak için kullanılmaktadır.

DISK EDİTÖR track $ 12 (desimal 18) ve sector 0'dan itibaren okumaya başlar ve bu sector'deki 256 byte ekranda gösterir. Disk editördeki bütün sayılar daha iyi ekran formatı için hekzadesimal olarak yazılmıştır. Kursör üst sol köşede bulunmaktadır. Kursör tuşları ile bu kursörü ekranın üzerindeki track ve sector'ün karşılarında yazan sayıların bilgileridir. Kursörü hareket ettirdiğinizde bayt numarasının değiştiğini farketmişsinizdir. Kursörü üst sol köşeye çabucak götürebilmek için sadece HOME tuşuna basınız. Değişiklik yapmak için kursörü değiştireceğiniz bayt'ın üzerine getirip istediğiniz değişikliği yapınız. Bu değişikliği yaptığınızda disk üzerinde hiçbir değişiklik olmamaktadır. Bir sector'de yapmak istediğiniz tüm değişiklikleri yaptıktan sonra bu değişiklikleri disk'e yazmak için CTRL-W tuşlarına aynı anda basınız. Başka bir sector'ü ekranda görüntülemek için + ile track numarasını, — ile sector numarasını değiştirebilirsiniz. Hatalı yazarsanız INST/DEL ile hatanızı giderebilirsiniz. CTRL-R ile sector'u komutunu iptal edecektir.

DİSK EDİTÖR bütün komutlardaki bütün hataları kontrol eder, eğer bir hata olursa bu hata ekrana yazılır ve komut iptal edilir.

DİSK EDİTÖR Komutları:

CTRL-A: Sırayla Hekzadesimal ve ekran kodunu çevirir.

CTRL-J: Kursörün altındaki track ve sectore sıçrar.

CTRL-R: Ekranın en üstünde yazan track ve sector'u okur.

CTRL-W: Ekranın en üstünde yazan ve sector'u yazar.

CTRL-X: Programdan çıkar.

CTRL-S: Diskin direktörisini ekranda görüntüler. (SHIFT ile durdurabilirsiniz.)

SHIFT-COMM: ASCII veya Ekran kodu olarak gösterir.

SHIFT-+ : Bir sonraki sector'ü gösterir.

SHIFT—: Bir önceki sector'ü gösterir.

+ : Track numarasını değiştirir.

—: Sector numarasını değiştirir.

INST-DEL: Ekrana yazılan track veya sector numarasını siler.

HOME: Kursörü sol üst köşeye gönderir.

Disketten scratch ile silinmiş bir programı tekrar elde edebilmek için şu işlemleri yapınız:

1-) Programı yanlışlıkla sildiğiniz diskete hiçbir şey kayıt etmeyin,

çünkü programın ya da bilginin kayıtlı olduğu sector'lere yanlışlıkla bir şeyler yazabilirsiniz.

2-) DİSK EDİTÖRÜNÜ yükleyin, değişiklik yapacağınız disketi yerleştirin ve SYS 12000 yazın.

3-) Track $ 12 sector $ 00'ı ekranda görüntüleyin CLR/HOME ile ekranın üst tarafına geçip CTRL-J'ye basın. (Director'ünün yer aldığı ilk Track'ı ekranda görüntülemek için)

4-) Hex'den ASCII'ye geçin. $ 05, $ 25, $ 45 gibi giden adreslerde yer alması gereken program isimlerine bakın. Eğer geri alınacak program bu sektörde değilse CLR/HOME ile ekranın üst tarafına geçip CTRL-J'ye basın. (Bir sonraki sektörü okumak için.)

5-) Silinmiş olan programı bulduğunuzda soldaki 3 bayt'a bakın, -$ 02, $ 22- eğer burada $ 00 varsa programınız "Scratch" ile silinmiş demektir. Bu sayıyı ($00'ı) Eğer programınız BASIC veya makina dili ise $ 82 olarak sırasal bir dosya ise $ 81 olarak değiştirirsiniz.

6-) Değişiklik yaptığınız sector'u CTRL-W ile diskete yazıp CTRL-X ile programdan çıkın. BAM'ın yenilenmesi için disketi OPEN 15,8,15,"VO" ile Validate yapın. Bu biraz zaman alabilir, fakat işlem bittiğinde silinmiş programınızı tekrar geri almış olacaksınız.

TABLO-1 Track başına sector sayısı Track Sector sayısı 1-17 21 18-24 19 25-30 18 31-35 17

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.