Bu sayfadaki yazılar
Sayfanın metni
Sayfa 31
Merhabalar! Amiga, özellikle fiyatı göz önüne alındığında eşi az bulunur bir bilgisayar. Ancak bu güzel alet, zaman zaman canımızı sıkabiliyor. İlk örnek meşhur GURU'muz. İkinci sırada ise arada sırada bilgisayarımıza gelen cehalet rüzgarlarından olsa gerek, okuma yazmayı unutması, yani READ/WRITE ERROR vermesi. PC kullanıcıları benim gibi fanatik Amiga hayranlarını bu gibi minyatür hataları ön plana çıkararak kızdırmaktan her nedense büyük haz duyuyorlar. Sanki hayatlarında PC'de hiç Bad CRC read on Drive A: veya Stack Overflow System Halted mesajları görmemişler gibi. Bunları bir kenara bırakalım ve kendi sorunlarımıza dönelim. Maalesef size Guru mesajlarından kurtulmak için garanti bir yöntem veya program öneremeyeceğim. Programlama ve ek donanım kaynaklı olan bu Guru'lar bizi bir süre daha meşgul edecek.
Biz gelelim Read/Write Error'larına. Bu yazıda Amiga'nın disket hatalarının bir kısmına değineceğiz ve bunları yok edebilmek, yarattıkları zararları kaldırmak için kullanılabilecek birkaç programı açıklayacağız. Kullanılan terimleri ve çalışma prensipleri hakkında bir iki bilgiyi yazının başında kısaca açıklamak istiyorum.
Disketler ve Harddiskler bilgisayar programlarını saklamak için tasarlanmış yapılardır. Bilgisayar bu ortamlara veri kaydedebilmek için belli bir standart izler. Bu sayede programlar ve veri dosyaları, aynı sistemi kullanan tüm bilgisayarlarda kullanılabilirler. Amiga'da program kayıt edeceği ortamları belirli bir standarta göre düzenler, buna kısaca format adını veriyoruz. Standart bir Amiga-Dos, disketi 80 adet ize (Track) böler. Bu Track'leri ağaçların yaş halkalarına benzetebiliriz. Bu şekilde, disketimizin içten dışa doğru 80 halka manyetik olarak bilgi depolamaya uygun hale getirilir, bu halkaları gözle görmenize imkan yok meraklılarına belirteyim. Disketin iki yüzeyi var ve disk sürücüsü (DiscDrive) bu iki yüzeyi okuyabilmek için 2 adet okuyucu/yazıcı kafaya sahiptir. Track'ler her iki yüzey için eşit olarak düzenlenir. Daha sonra disket, 11 adet eşit boyda dilime ayrılır. Bu dilimler her Track'i eşit uzunlukta parçalara bölerler ve bu parçaların her birine bir sector denir. Amiga bu sektörlerin hepsine 512 byte'lık bilgi yazabilir. Bilgiler bu track'lerin alt birimleri olan sector'lerde saklanır. Erişimi kolaylaştırmak amacıyla sector'lerin hepsi sırayla numaralandırılmış ve bunlara Block adı verilmiştir. İlk track'in alt kısmındaki ilk sector'üne sıfır numaralı Block denilmiş ve numaralamaya her track'te önce alt sonra üst sector'ler sayılarak devam edilmiş.
Şimdi ufak bir hesap yapalım. Bir diskette 80 track var. Bu track'ler iki yüzeyde: 80 x 2 = 160. Her track 11 sector'e bölünmüş: 160 x 11 = 1760. Ve block adı da verilen bu sector'lerin herbirine Amiga 512 Byte'lık bilgi yazabiliyor: 1760 x 512 = 901120 Byte. Sonunda burada hesabıma itiraz edeceksiniz. Çünkü yeni formatlı disketleriniz bu kapasiteye sahip değiller. Haklısınız, çünkü Amiga her block'a 488 byte'lık bilgi yazar, geriye kalan 24 byte'lık kısmını (toplamın yaklaşık %5'i) ise, o block hakkında çeşitli bilgileri saklamak için kullanıyor. Hesabımızı düzeltelim. 1760 x 488 = 858880 Byte. İşte bu sayı, tanıdık gelmeli size.
Bu 24 byte içinde, en başta block'un ne tür bir block olduğu belirtilecek; diğer bilgiler bu türe bağlı olarak değişecektir. Yine de her block için Checksum adı verilen ve block'un içeriğini karakterize eden bir sayı bulunur. AmigaDos bir block yüklerken, bu sayıyı block'tan hesaplar ve block'ta yazılı olan ile karşılaştırır, arada fark bulunması sonucu, meşhur Read / Write hatası oluşacaktır.
Block'ların çeşitli türleri mevcut. Bu türler arasında en çok fikir sahibi olduklarınız, belki de Bootblock ve Rootblock. Disketin ilk iki block'una Bootblock adı verilir ve bu block'lar belirli bir formata sahiplerse, Amiga doğrudan burada bulunan bir programı çalıştırmaya başlıyor. Rootblock ise, 880 numaralı block'tan başlayan ve disketin içeriğinin saklı bulunduğu block türüne verilen isimdir. 880 numaralı block, bu açıdan çok önemlidir (Bu block illa da 880 olmak zorunda de-
F. Kağan GÜRKAYNAK ğil, ama neredeyse her zaman burada bulunuyor). Disketin hangi bloklarının dolu olduğunu gösteren haritanın yeri, disketin ismi, kayıt tarihi burada kayıtlıdır. Bazılarınız hemen Error Validating Disk 880 Checksum Error, laflarını hatırlamaya başladı. Bunun temel sebebini basitçe şu şekilde özetleyebiliriz: Her block gibi 880'in de bir Checksum'ı var ve eğer bu checksum'la hesaplanarak bulunan gerçek checksum değeri birbirini tutmuyorsa, Amiga bu block'un taşıdığı bilgilerin doğru olmadığını düşünerek (haklı olarak) hata verecektir.
Root'ta bulunan disketin neresinin boş olduğunu belirten bir yapıdan bahsetmiştim. Buna Block Allocation Map, yani Block işgal haritası (fazla strateji kokan bir terim oldu galiba) veya kıvama BAM adı verilir. Nerede olduğu Root block'ta yazılı olup, bir veya nadiren birkaç block yer kaplar. Aynı yapıya, ekran gibi bitlerden oluştuğu için Bitmap de dendiği olur. Disketinizden belirli bir programı sildiğinizde, Amiga, programı diskette arayıp sileceğine sadece yerini teşhis eder ve bu programın bulunduğu block'ları boş kabul eder. Bu sayede silinen programları yeniden bulmak olasıdır. Ancak silinen programın bulunduğu yere ilk fırsatta yeni birinin kopyalanacağını belirtelim. Son günlerde çıkan bazı kopyalama programları BAM özelliğini kullanarak kopyalama yapmakta, böylece gereksiz yere boş block'ları kopyalamaktan kurtulmaktadırlar. Bu tür bir kopyalama yapacaksanız, hedef disketinizin (fazla simülasyon oynamak tercümelere yansıdı) formatlı olması şart. Belki dikkat etmişsinizdir, Root ve Boot block'larının silinmesi, bir diskette bulunan tüm bilgilerin kaybolmasını sağlayacaktır. Bu yöntemi kullanarak bir disketi acele formatlamak mümkün. Kaliteli kopyalama programları ve disket utility'leri bu özelliği kullanırlar.
Gelelim diğer block tiplerine... Alt directory bilgilerinin bulunduğu User directory block, File header block ve Data block, size bahsedeceğim diğer block çeşitleri. Bir directory ile bir programın disket üzerinde saklanması oldukça farklıdır. Bu yüzden kopyalamaları ve silinmeleri de birbirlerinden farklıdır. En önemli soru, "bir program diskette nasıl saklanır?" sorusudur. Her program bir başlıktan (header) ve gerektiği kadar data block'larından oluşur. Başlık, programın kaç block yer kapladığını, ilk ve son block numaralarını, programın hangi directory'ye ait oldu-
Bilgisayarınız OKUMA - YAZMA'yı Unutunca.....
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 30
Screenx, Amiga'yı kullanırken ekranlarınızla ilgili sorunlarınıza yardımcı olacak ufak bir program.
Menüler, window adı verilen pencereler ve screen denilen ekranlar, Amiga işletim sisteminin önemli bir parçasını oluştururlar. Sistemin bu özellikleri destekleyen bölümüne Intuition adı veriliyor. Bilindiği üzere, Amiga bir anda dört farklı özellikte ekran açma kabiliyetine sahip. Steve Tibbet'ın yazdığı bu program, Intuition yardımıyla bu ekranlar hakkında bilgi sahibi olabilmenizi sağlıyor.
Program tek parça ve 2.1 versiyonu 15776 byte yer kaplıyor. Program çalıştırıldığında, ekranın üst köşesinde bir pencere (Window) belirecektir. Screenx şu anda bekleme aşamasındadır. İşin güzeli, bu sırada boş duracağına zamanı ve kalan hafızayı gösteriyor. Zamanı göstermek işini yapan bazı programlar gibi, bilgisayardan aşırı derece zaman çalıp yavaşlatmaması da takdire değer bir başka yanı. Programı çalıştırmak için, penceresine gidip sağ mouse tuşuna basmanız yetecek.
ScreenX, kendisine yeni bir ekran açacaktır. Sol tarafta mevcut olan ekranlar ve çözünürlükleri sıralanacaktır. İlgilendiğiniz ekranı buradan sol mouse ile seçebilirsiniz. Sağda ise bu ekrana uygulayabileceğiniz işlemler yer alıyor. Bunlar:
Pop to Front : Seçilen ekranı en öne almaya yarıyor. Push to Back :
Seçilen ekranı arkaya atıyor. Update Screen List: Olmuş olabilecek değişiklikler düşünülerek, mevcut ekranlar bir kere daha araştırılarak sol tarafa yeniden sıralanıyor.
Cycle All Screens: Tüm ekranları sıra ile kaydırıyor, pek hayati bir özellik değil, tüm ekranları görmenizi sağlıyor.
Close Screen: Bir ekranı kapatmanızı sağlıyor. Seçenek kolayca başınızı belaya sokabilir. Ekranı kapatarak bu ekrana ihtiyaç duyan tüm programları çakabilirsiniz. Ancak yazdığınız bir program, açtığı bir ekranı bir türlü kapatmıyor (ne programlar var şu dünyada!) ve hafızada boşu boşuna yer kaplıyor, bu durum için ideal.
Save Screen to IFF: İşte bu programı kullanmanın en büyük sebebi.. İstediğiniz ekranı, IFF olarak saklayabilirsiniz. Resmi nereye kaydedeceğinizi en alttaki PATH belirliyor. Print Screen:
Herhangi bir ekranı, preferences ile ayarlanmış olan printer üzerinden bastırmaya yarıyor. Bence, IFF olarak kaydettikten sonra iyi bir print programı tarafından bastırmak daha ideal.
Screen Info: Screen info seçeneği bize ekranın adını, çözünürlüğünü, derinliğini (kaç bitplane'den oluştuğunu), hafızada ne kadar yer kapladığını, üzerinde kaç pencere, gadget ve requester bulunduğunu, hangi yazı karakterini hangi boyda kullandığını söyler.
En altta ise, Filename bulunuyor. Bunun altındaki isim, ScreenX'in resim kaydetmek için kullanacağı adres. Bunu keyfinizce değiştirebiliyorsunuz.
Programı terk ederek yine çalıştığınız yere geri gelmek istiyorsanız, sağ mouse tuşunu kullanmanız yetecektir. Programın çalışmasını tümüyle sona erdirmek için penceresini kapatmanız gerekecek.
ScreenX'i Dmouse ile beraber kullanarak pek çok resim çalmanız mümkün. Resimleri, sistemi kullanan oyunlardan, mesela PORTS OF CALL veya KNIGHTS OF CRYSTAL-LION'dan IFF dışında kullanılan (başkaları çalmasın diye) resim formatlarındaki resimlerden veya yazdığınız grafik çıkışı yapan programlardan elde edebilirsiniz. Böylece programlarınıza Save IFF seçeneği koymamış olsanız bile, çizdirdiğiniz grafikleri başka programlara aktarabilirsiniz. Sistemi kullanan oyunlardan resim çalabilmek için, ScreenX ve Dmouse'u bu oyunun bulunduğu diskete kopyalayarak, startup-sequence dosyasına bu programlar oyundan önce çalışacak şekilde ekleyin. Bir başka yol ise, oyunları Workbench'ten yüklemek. Bu anlattıklarım ancak oyun sistemi kullanıyorsa geçerlidir.
Her gün işinize yarayacak bir program değil tabii ki, ancak elinizin altında olmasından mutluluk duyacağınız bir program. ScreenX gibi kısacık bir programı tek olarak bulamayacaksınız, paket Utility programlarının içinde, grafik utility'leri arasında olması gerekir.