Bu sayfadaki yazılar
Sayfanın metni
Sayfa 33
Bildiğiniz gibi, Amiga'nız fiziksel cihazlar (Physical Devices) dışında bazı mantıksal cihazlar (Logical Devices) da kullanmaktadır. Bunlar için yazılan handler ve device dosyaları L: ve Devs: directory'lerinde yer alırlar. Kullanılacak mantıksal cihazların (RAD:, SPEAK:, AUX: gibi) tanımlanması ise, Devs: directory'sinde bulunan MountList dosyasında yapılır. Burada, her mantıksal cihaz için bir entry (giriş) bulunur. MountList dosyası, bundan önce anlattıklarımız gibi bir DOS komut listesi değildir. Kendine has bir yazılış tarzı vardır. Yazım kurallarından kısaca söz edecek olursak:
* Her entry, tanımlanacak olan mantıksal cihazın adı ile başlar ve # işareti ile sonlanır.
* MountList'in kendine özgü diline ait kelimeler olan keyword'leri, bir "=" (eşit) işareti ve gerekli bilgiler izler.
* Her keyword'e ya tek satır ayrılır ya da aralarına ";" (noktalı virgül) işareti konur.
* C dilindeki gibi "/*" ve "*/" işaretleri arasına açıklayıcı notlar konulabilir.
Dosya içinde birçok örnek cihaz zaten tanımlanmış durumdadır. Size düşen, bunları kendi ihtiyaçlarınıza göre biraz değiştirmektir. Örneğin 2 MB veya daha fazla RAM'iniz varsa, pekala bir 3 inchlik disket ölçüsünde (880 kB) RAD: açabilirsiniz. Bunun için bir editörle MountList dosyasına girin ve RAD: girişini bulun, karşınıza şöyle bir şey çıkacak:
RAD: Device = ramdrive.device Unit = 0 Flags = 0 Surfaces = 2 BlocksPerTrack = 11 Reserved = 2 Interleave = 0 LowCyl = 0 ; HighCyl = 21 Buffers = 5 BufMemType = 1 # Şimdi, açılacak olan RAD:'ın ilk ve son silindir değerlerini belirleyen "LowCyl = 0 ; HighCyl = 21" satırındaki HighCyl değerini değiştirip 79 (880 kB'lık bir disketin HighCyl değeri budur) yapın; hepsi bu kadar! Bundan sonra bilgisayar açılıp "mount RAD:" denildiğinde, 880 kB'lık bir RAD: açılacak. Artık "Diskcopy df0: to RAD:" bile diyebilirsiniz. Neden Workbench disketinizi RAD:'a kopye edip (bilgisayarı kapatmadan) reset etmeyi denemiyorsunuz? Deneyin, açılış ve kullanımdaki hızı bir görün. Bu arada, eğer Amiga'nızı RAD:'dan boot etmek istiyorsanız, kickstart versiyonunun en az 1.3 olması ve df0:'da disket bulunmaması gerektiğini hatırlatalım.
Tabii ek hafıza kartı olmayan arkadaşlar da HighCyl değerini küçültüp, sadece ihtiyaçlarına cevap verecek ölçülerde bir RAD: açarak hafızadan tasarruf edebilirler. Çünkü RAD disk, RAM disk gibi içine kayıt yapıp silmekle büyüyüp küçülmez, RemRAD komutu verilip silininceye kadar hep aynı miktarda hafıza işgal eder.
Yazımı burada bitirip, sırayı sizin hayal gücünüze ve kabiliyetinize bırakıyorum. Ben sadece yapılabileceklerden birkaç örnek verip, bir başlangıç yapmanıza yardımcı olmak istedim. Tabii takıldığınız konular olursa her zamanki gibi dergimize mektup yazabilirsiniz.
Son olarak birkaç not: * Bu dosyalardaki değişiklikleri Amiga-DOS'un kendi editörü ile yapabileceğiniz gibi, önceki sayılarımızda açıklaması yapılmış olan Cygnus Editor veya rahat kullanabildiğiniz herhangi bir yazı editörü ile de yapabilirsiniz. * AmigaDOS komutları ile ilgili ayrıntılı açıklamaları Amiga Dost köşemizde bulabilirsiniz.
* Ve bir ALTIN KURAL: Sakın bu değişiklikleri orijinal disketiniz üzerinde yapmayın. Bu tür çalışmalar için daima disketinizin bir kopyasını çıkarmayı alışkanlık edinin.
Bir başka konuda birlikte olmak üzere, hoşçakalın...
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 32
türünden komutlar yazmak zorunda kalıyorsunuz. Neden bu işleri Amiga kendisi yapmasın? Öyleyse bu komutları Startup-Sequence içinde uygun bir yere, örneğin 12. satırın hemen arkasına ekleyebilirsiniz.
1 resident c:Resident pure 2 resident c:List pure :pre-load LIST and CD 3 resident c:CD pure 4 resident c:Mount pure :the next 3 are loaded tor speed during startup 5 resident c:Assign pure Amiga'sını Türkçe kullanmak isteyen arkadaşlar, gerekli dosyalar diskette mev- cut olmak şartıyla 9. satırı:
6 resident c:Makedir pure 7 :make IF. ENDIF. ELSE. SKIP. ENDSKIP. and ECHO resident if 8 :you use scripts much: and can afford the ram. FF>NIL: topaz.font ve 18. satırı, "SYS:System/SetMap Tk0 (veya Tk1, Tk2, /'klavye vb.)" olarak değiştirmelidirler.
9 :also make Failat. WAIT, and ENDCLI resident if you use IconX a lot l() makedir ram:t
1 assign T: ram:t :set up T: directory for scripts 12 makedir ram:env : set up ENV: directory Şimdi 14, 15 ve 16. satırlara bakalım. Bu satırlarda sizlere anlatacağımız ikinci komut dosyası olan StartupII dosyasının çalıştırılması için gerekli komutlar vardır:
13 assign ENV: ram:env 14 makedir ramxlipboards :set up CLIPS: assign 15 assign CLIPS: ramxlipboards 16 mount speak: :just mounting doesn't take much ram at all 14 failat 11 : bir hata olursa çalıştırmayı iptal et.
17 mount aux: 18 mount pipe: 15 run execute s:StartupII :s:Start- upll'yi background: olarak (fonda) çalış- tır.
19 resident Mount remove ;if you have enough ram. keep these resident 20 resident Assign remove ;by removing these lines 21 resident Makedir remove 16 wait >NIL: 5 mins :StartupII bitin- ceye kadar bekle.
22 : 23 break I C :signal to other process its ok to finish StartupII StartupII dosyası, kendinize uygun değişiklikleri yapmak için en çok kullanacağınız dosyalardan biridir. Bu dosyayı inceleyecek olursanız, temel olarak 5 bölümden oluştuğunu göreceksiniz.
İlk bölümde, en sık kullanılan Amiga-DOS komutları hafızaya yüklenmektedir. Böylece bu komutların her verilişinde bilgisayar disketten okuma yapmayacağı için, işlem kat kat hızlanacaktır. Resident komutunu kullanarak siz de sık kullandığınız komutları bu listeye ekleyebilir ya da pek sık kullanmadıklarınızı dosyadan silebilirsiniz. Bu konuda dikkat edeceğiniz iki şey var. Birincisi, resident komutu ile hafızaya alınan komutlar, hafızada dosya uzunluklarından biraz daha fazla yer tutarlar. Bu yüzden resident ile hafızaya alacağınız komutları seçerken, hafıza tasarrufu ve kullanım hızı arasında tercih yapmak zorundasınız. Önemli bir diğer şey de, pure olmayan komutları resident yapamazsınız. Bunu anlamak için list komutu kullanılabilir. List komutunu verdikten sonra merak ettiğiniz komut dosyasının karşısındaki protect bitlerine bakın. Eğer onların arasında "p" harfine rastlarsanız, bu komut pure olup rahatlıkla resident yapılabilir. C: directory'sindeki komutların hemen hemen hepsi bu özelliğe sahiptir. Örnekler:
Dir 8772 -p-rwed 19-Apr-90 .......> Resident yapılabilir
IconX 3884 --rwed 19-Apr-90 ---> Resident yapılamaz.
StartupII dosyasının ikinci bölümünde, bir RAM DİSK ve bunun içinde T, ENV ve Clipboards diye üç directory açılarak, T:, ENV:, CLIPS: mantıksal cihazları bu directory'lerle eşleştirilmiş. Bu mantıksal cihazlar, editörler ve diğer bazı programların geçici veri saklama alanlarıdır. Bu iş için RAM DİSK'in seçilme sebebi, yüksek çalışma hızı ve bilgisayar resetlenince buradaki bilgilerin kaybolmasında bir sakınca olmamasıdır.
Üçüncü ve dördüncü bölümlerde bazı mantıksal cihazlar tanımlanmakta, sonra da sadece StartupII'nin hızlı çalışması için resident yapılan komutlar hafızadan geri silinmektedir. Son bölümdeki tek satır, Startup-Sequence'e StartupII'nin bittiğini haber vermek içindir.
StartupII dosyasına eklenebilecek başka neler olduğuna bir bakalım isterseniz. Utilities directory'nizde bulunan More programından bir editör çağrılabildiğini biliyor ve kullanıyorsanız, "assign ENV: ram:env" satırından sonra örneğin "Setenv EDITOR c:Ed" gibi bir satır eklemek işinize yarayabilir. Böylece EDITOR adlı değişkene AmigaDOS'un Ed yazı editörü daha açılışta yerleştirilmiş olur. Dergimizdeki C dili ile ilgili yazı dizisini takip eden arkadaşlar, yine aynı satırdan sonra
Ask "Bugün C çalışacak mısınız ? (y=evet/n=hayır) "
If WARN path SYSl:bin : siz bunları ken- di sisteminize
set CCTEMP=ram: : göre uyarlayıp path' larını
set CLIB=SYS1:lib : değiştirebilirsiniz.
set INCLUDE=SYS1:include ; EndIf satırlarını ekleyerek işlerini kolaylaştırabilirler. Burada bilgisayarınız ilk önce size tercihinizi soracak, "y" tuşuna basarsanız, Aztec C için gerekli komutları işletecek, aksi takdirde bu komutları atlatarak EndIf'ten sonraki satıra atlayacaktır.
Bazen kendiniz de bazı mantıksal cihazlar tanımlamaya ihtiyaç duyabilirsiniz. Örneğin herhangi bir directory'de iken sık sık ulaşmanız gereken:
Dh0:SpreadSheets/Personnel/Dephtl adlı bir directory'niz varsa, StartupII'ye "Assign SPD1: dh0:SpreadSheets/Personnel/Dephtl" gibi bir satır ekleyebilirsiniz. Artık "Dir SPD1:" diyerek bu directory'nin listesini isteme imkanına sahipsiniz.
CLI-Startup ve Shell-Startup CLI-Startup ve Shell-Startup dosyaları, yeni bir CLI veya Shell penceresi açılırken, CLI programı tarafından çağrılıp işletilen birer komut dosyasıdır. Örneğin Shell ikonunu klikleyerek veya NewShell komutu ile bir Shell penceresi açmak isterseniz, program s: directory'si içinde Shell-Startup dosyasını arayıp bulur, içindeki komutları tek tek işletir ve bu dosya bittikten sonra kontrolü size bırakır. Dosyaların içeriğini incelediğinizde, CLI-Startup'da pek bir şey bulamazsanız bile, Shell-Startup dosyasında ilginizi çekecek şeylerle karşılaşacaksınız.
Prompt "%N.%S>" satırı, açılan Shell'de çıkacak olan prompt'u tanımlar (bu örnekle task numarası, bir nokta, içinde bulunduğunuz directory adı ve ">" işareti). Hemen arkasından "alias" diye başlayan bir sürü satır, Shell'in CLI karşısındaki üstünlüklerinden biridir. Alias komutu, hatırlamakta veya uzunluğundan dolayı yazmakta zorluk çektiğiniz bazı komut veya program isimlerine, kolay hatırlanabilir ve yazılabilir takma isimler koyabilmenizi sağlar. Dosyada zaten mevcut olan alias'lara siz de kendinizce eklemeler yapabilirsiniz. Komutun kullanışı, "Alias <Takmaİsim> <Komutİsmi>" şeklindedir. Birkaç örnek vermek gerekirse:
Alias dm Dh0:Copies/DiskMaster1.3 Alias ns NewShell NEWCON:0/0/640/256/WideShell Alias ex Execute Alias red echo "*E[33m" vb. gibi... Çalıştıracağınız bazı programlar Amiga-DOS komutlarını orijinal isimleri ile arayacağından, bu yöntem komut isimlerini Rename ile değiştirmekten daha iyidir.
MountList : Bildiğiniz gibi, Amiga'nız fiziksel cihazlar (Physical Devices) dışında bazı mantıksal cihazlar (Logical Devices) da kullanmaktadır. Bunlar için yazılan handler ve device dosyaları L: ve Devs: