1 Kasım 1987 Tarihli Commodore Gazetesi Sayfa 55

1 Kasım 1987 tarihli Commodore Gazetesi Sayfa 55
Metin içeriği (otomatik olarak oluşturulmuştur)

alırlar. İlki, sıfır değerini içermekte- dir. İkinci byte ise, o bloktaki bilgi- nin kaç byte'ının programın son bö- lümünü oluşturduğunu belirtir. Tüm bu yazılma işlemi yapılırken, üzerlerine bilgi yazılan blokların bir yöntemle korunması gereklidir. Da- ha sonra diskete yazılacak bilgilerin tekrar bu blokların üzerine yazılma- ması lazım. İşte bunun için, directory zincirinin ilk blokunun ilk yarısında bir tür disket haritası tutulmaktadır ve bu haritada hangi blokun o anda boş, hangisinin dolu olduğu açıkça belirtilmektedir. Bu haritanın da ay- rıntısına ineceğiz. Dikkatli okuyucuların hemen sora- cakları bir soru olsa gerek. Yukarı- da “uygun ve boş”” blok bulmaktan bahsettik. Acaba uygun blok da ne- in nesi?.. Bilginin ilk 254 byte'lik kısmını di- yelim ki, 01/00 numaralı (TRACK/ SECTOR) bloka yazıldı. Bir sonra gelen 254 byte, 01/0l”e yazılmaz. Onun yerine 01/04 tercih edilir. Eğer bu blok daha önce başka bir progra- mın blokları tarafından kullanılma- mışsa, ikinci 254 byte oraya yazılır. Peki neden? Bilginin ilk blokunu okuyup COMMODORE 64'e gön- derme sırasında disket, merkezi etra- fında dönmeye devam eder ve 01/01 numaralı blok okuma/yazma kafası- nın altından geçer gider. Sıra ikinci bloku okumaya geldiğinde ise, oku- ma/yazma kafasının altındaki blok 01/04 numaralı blok olacaktır. Dis- kete kayıt sırasında böylesine atlaya- rak giden blok sıralamasının en gü- zel örneğini directory yapısını inceler- ken göreceğiz. Hatta isterseniz, bu in- celemeye hemen başlayalım... Önce iki konuda anlaşalım. Bir blokta 256 byte vardı. Biz bu byte'- ları numaralandırırken 0-255 arası sa- yılar kullanacağız. Yani bir bloktaki ilk byte sıfır numaralı, son byte da 255 numaralı olacak. Ayrıca, yazı içinde TRACK, SECTOR ve byte nu- maralarından bahsederken sayıları onluk sayı sistemine göre vereceğim. Ancak bunları DISKMON ile kulla- nirken onaltılık tabana çevirmemiz gerektiğini unutmayın. Eğer yazımız- da onaltılık sistemde bir sayı vermek zorunda kalırsak, başına bir dolar işareti koyacağız. 65 yerine $41 örne- ğinde olduğu gibi... Anlaştıysak de- vam edelim... Directory dediğimiz bölüm, diske- tin 18 numaralı TRACK'ını tamamen kaplar. İlk bloku 18/00'dadır. İlk iki byte'ı bir sonraki directory bloku olan 18/01'i gösterir. 18/0l'de dos- yalarla ilgili bilgiler başlamaktadır. Buna birazdan geleceğiz. Önce 18/00'ı inceleyelim. DISKMON ile .R 12 00 komutu- nu kullanarak bu bloku hafızaya yükleyin. Sonra da M komutu ile 256 byte'ı ekrana getirin. Gerçi ilk satır- lar ekranın üstünde kaybolacak ve RUN/STOP tuşu ile listeleme işlemi- ni durdurma çabalarınız da bir sonuç vermeyecek (çünkü böyle bir olanak yok, kih kih...), ama daha önce gör- düğümüz şekilde cursor'u ekranın üst kenarına doğru iterek o geçip giden satırları tekrar geri getirebilirsiniz. Ama bir başka olanağı da burada be- lirtelim. M komutu ile bir başlangıç " ve bitiş byte numarası verebilirsiniz. rneğin: .M 00 ÖF dediğinizde, ilk onaltı byte iki satır halinde ekrana basılacak ve listeleme duracaktır. Eğer sadece başlangıç byte numarası verir bitişi vermezse- niz, bitiş byte'ı olarak $FF varsayı- lacaktır. Önce .M 00 03 vererek ilk satırı görelim. Gerçi 04-07 arası byte'- lar da satırı tamamlamak için ekra- na çıkacaktır ama işimiz onlarla de- il. 00 ve Ol numaralı byte'ler 12/01 değerleri ile bir sonraki directory blo kunu göstermektedir. 02 numaralı byte'a gelince, dikkat edelim. Bu byte'in değeri 65'tir ($41). Eğer ek- ranın sağ tarafındaki harflere bakar- sanız, bunun “A' harfinin kodu oldu- ğunu görürsünüz. Bu, disketin 1541 tarafından formatlandığını anlat- maktadır. Aynı disketi COMMODOÜ- RE firmasının diğer disket sürücüle- ri ile de formatlayabilirdiniz. Bu du- rumda, ikinci byte'ın içeriği daha farklı olacaktır. Örneğin, CBM4040 kullandığınızda, bu sayı *E” harfine karşılık gelen 69 ($45) olur. Bu tür disketleri 1541 ile okuyabilir, ancak üzerine yazamazsınız. Eğer yanlışlık- la disketinizin bu byte'ını ileride gö- receğimiz komutlarla değiştirir ve 65'ten farklı bir değere getirirseniz, bu diskete bir daha başka şey yaza- mazsınız. Gelecek bölümlerimizde göreceğimiz bazı özel rutinler kullan- manız gerekecektir. 55

Bu sayıdan diğer sayfalar: