Bu sayfadaki yazılar
Sayfanın metni
Sayfa 40
1> alias cls echo "*ec" komutundan sonra, cls yazdığınızda ekran temizlenecektir. Bu işi nasıl yaptığımızı herhalde yukarıda bahsettiğimiz ESC komutlarını okuduktan sonra anlamışsınızdır. *e ESC komutunu belirtirken c seçeneği ekranın temizleneceğini belirtiyor.
1> alias mtl mount rad: 1> alias mt2 system/rormat drive rad: name radwb 1> copy * to ram:mount-rad mt1 mt2 (CTRL-)
1> execute ram:mount-rad Burada mt1 ve mt2 komutları sayesinde RAD disk'i açma işlemini kolaylaştırdık. Rad'ı mount komutu ile sisteme bağladıktan sonra formatlama yapmasanız da olur. Üçüncü satırda ED'i yüklemeden nasıl script dosyası yarattığımızı görüyorsunuz. * İşareti klavyeyi belirtiyor ve klavyeden yazdığımız komutlar, dosya sonunu belirten CTRL-D tuşlarına bastığımız anda, RAM'daki mount-rad dosyasına (o anda yaratılıyor) yazılıyorlar. Bu dosyayı dördüncü satırdaki komutla çalıştırarak, sonucu kendiniz de görün. İsterseniz RAM yerine DF0 yazarak dosyanın diskete kaydedilmesini sağlayabilirsiniz.
1> alias eli echo "*e[80u*e[0x*e[0y*e[31t" komutundan sonra eli komutunu verdiğinizde eli penceresinin sınırlarının kaybolduğunu göreceksiniz. Ekranı eski haline döndürmek için (ESC) tuşuna sonrada c tuşuna basın.
Sonuç olarak alias komutuyla komutların gerçek adını koruyarak daha rahat bir CLI ortamı yaratabiliyorsunuz.
»Şimdi de size birkaç ufak CLI numarası göstereyim. Geçenlerde, PC sahibi bir arkadaşım bana iftiharla bilgisayarının konuştuğundan bahsetti. Ben de ona Amiga'nın da bu işi pekala yapabildiğinden hatta Amiga'nın herhangi bir program yüklemeye gerek olmadan kendi içindeki konuşma aracıyla sesler çıkarabildiğinden bahsettim. Arkadaşım bunun nasıl olduğunu merak edince oturduk Amiga'nın başına ve CLI'ye girdik:
1 > mount speak: Amiga'nın dahili konuşma aracı olan speak-handler'ı böylece sisteme bağladık.
1> copy * to speak: Klavye'den yazacaklarım artık speak-handler'a gitmeye başladı ve arkadaşımın yüzünde bir şaşkınlık ifadesi belirdi. Belli ki işin bu kadar kolay olacağını tahmin etmiyordu.
Disketlerinizin içindeki değerli programların listesinin ekrandan kayıp gitmesi yerine daha kalıcı bir çözüm istiyorsanız bunların listesini yazıcıdan çıkarmayı düşünebilirsiniz. Bu işlemi iki değişik yoldan yapabilirsiniz. Birinci yol:
1> dir > prt: opt a fakat bu işlem çok hızlı gerçekleşir ve liste olduğu gibi yazıcıya yollanır. Bunun için ikinci yolu kullanarak, directory'yi ed ile istediğiniz biçimde düzenleyip kaydedebilir ve sonradan type komutu ile yazıcıdan bastırabilirsiniz. Önce aşağıdaki edlist adlı script dosyasını ed ile yazdıktan sonra kaydedip execute edlist directory komutuyla çalıştırın:
.key directory dir >ram:dirdosyası <directory> run ed ram:dirdosyası delete ram:dirdosyası Ed ile işiniz bittikten sonra dirdosyası adlı dosyayı (ESC)-x ile diskete kaydedin ve aşağıdaki komutu verin.
1> type > prt: df0:dirdosyası Aynı işlemi list komutu için de yapabilirsiniz. Bunun için aşağıdaki script dosyasını kullanın.
.key direetory list >ram:listdosyası <directory> run ed ram:listdosyası delete ram:listdosyası
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 41
Bu sayımızda, AMOS Basic dilinin grafikle ilgili komutlarını anlatmaya çalışacağız. Amiga, gerçekten grafik bakımından diğer ev bilgisayarlarından daha üstün. Ayrıca Amiga, hem grafiklerin hızlılığı, hem de renk çözünürlüğü bakımından COMMODORE firmasının Amiga'dan önce çıkarttığı bilgisayarlardan çok daha gelişmiş. Amiga, bilgisayar dünyasına yeni bir grafik anlayışı getirdi ve grafikle uğraşan kullanıcılara yeni bir dünya açtı. Grafik işlemleri çok basitleştirildi; bunun için kendi içine, yani ROM'una grafikle ilgili ayrı bir kütüphane yerleştirilerek grafikle ilgili program yapmak kolaylaştırıldı. Fakat bunu kullanmak için, ya makine kodunu ya da C dilini öğrenmek gerekmekte. Amiga Basic bu konuda hem yetersiz, hem de çok yavaş kalıyor. Bize sorarsanız, grafikle ilgili programlarda en iyi dil, AMOS Basic.
Amos Basic, ROM'daki komutları birleştirerek size daha kolay komutlar ortaya çıkartıyor. Kolayca daire, poligon, elips gibi şekiller ekrana yansıtılabilir. HAM moduna AMOS ile ulaşılabilir ve doğrudan bu modda çalışabilirsiniz. Görünen ekrandan daha büyük bir grafik alanı yaratabilir ve scroll olayı da eklenebilir. Kısacası Amiga'nın grafikle ilgili hemen hemen tüm özellikleri, AMOS ile kullanılabilir.
Grafik komutlarını açıklamaya, her ekran için geçerli olan komutlar ile başlayacağız sonra daha da ilerleyerek değişik grafik alanlarının nasıl tanımlanabileceğini öğreneceğiz.
Tabii ki, grafikte en önemli olan noktalardan biri renktir. Amiga'nın ekrana yansıtabileceği renk sayısı, değişik özel grafik alanlarına göre değişir. Renklendirme olayı, birkaç ekranın (en fazla 6) üst üste gelmesiyle gerçekleşir. Bu, iki renkten 4096 renge çıkabilir. Fakat normalde 5 ekran üst üste getirilerek yapılan grafik ekranında, 32 renk kullanılabilir. Renk sayısını hesaplamak kolaydır. Eğer 5 ekran üst üste geliyorsa, 2^5=32 renk kullanılır; 3 ekran üst üste geliyorsa, bu grafik ekranında 2^3=8 renk kullanılır anlamına gelir. Kısacası hesaplama, [2^(ekran sayısı)] olarak yapılır. Kullanılan renkler, renk register'larından alınır. Renk register'ları, renk değerlerinin olduğu adreslerdir. Renk register'ları $dff180'den başlar ve 32 tanedir. Amiga, ekranlar açıldığında bu register'lardan renk değerlerini alarak grafiği renklendirir.
AMOS, size aynı anda 64 tane rengi ekrana yansıtabilme özelliğini vermiştir. AMOS'un özel renk register'larından bazılarını şöyle sıralayabiliriz.
0 AMOS ekranının dışının rengi 1 AMOS ekranının sayfa rengi 2 yazı rengi
17 mouse işaretçisinin 1. rengi 18 mouse işaretçisinin 2. rengi 19 mouse işaretçisinin 3. rengi AMOS'da renk register'ları ile yapılan işlemler; INK, COLOUR ve PALETTE komutları ile yapılmaktadır.
INK KOMUTU: [INK (çizgi),(sayfa),(dış)] olarak kullanılır. Amiga'da grafik renklendirmede, 32 adet renk register'ı kullanılır. Renk register'larında bulunan sayıya göre noktalar renklenir. AMOS'da renk değerlerini register'lara yerleştirmek için, COLOUR komutunu kullanırız. INK komutu ile de, şekillerin hangi register'lardaki rengi alacağı belirlenir. 'Çizgi', çizgi renginin kaçıncı renk register'ında olduğunu belirtir. O register'daki renk, çizgi rengini belirler.
Amiga, normalde 32 register kullanmasına rağmen; AMOS size, 0'dan 63'e kadar renk sayısı kullanma olanağı vermiştir. Böylece HAM modunda, tüm renkleri kullanma olanağı sağlar.
'Sayfa' şekli, doldurmada kullanılacak arka plan renginin renk register'ını belirler. Diğer bir deyişle, [SET PATTERN] komutu ile belirlenmiş desene verilecek arka planının renk register'ıdır. 'Dış' ise, kapalı bir şeklin sınırının dışındaki alanın renk register'ını belirler. Şeklin sınırlarının belirlenmesini, [SET PAINT] komutu ile sağlayabiliriz. [INK 2,3,4] komutu, renk olarak 2. renk register'ındaki rengi kullan; 3. renk register'ındaki rengi arka planda kullan ve 4. renk register'ındaki rengi, şeklin dışında kullan demektir. INK komutundaki değişkenler renk numarasını değil, kaçıncı renk register'ı kullanılacağını belirler.
Curs Off: Flash Off Z=0: V=15:X=20:Y=20 Set Pattem 0 : Set Paint 1 Colour 1,$0 Repeat Ink V,0,Z BarX,YToX+50,Y+10 X=X+10 Y=Y+10 V=V-1 z=z+ı Until V=0 End
Bir [INK]komutunda, herhangi bir değerin yerinde sadece virgül varsa; o değer, eskisi gibi kalır. Sadece verilen diğer de-
OSMAN&SERDAR ğerler değişir. [INK „5]sadece 'dış' değeri değiştirir ve diğer renkler aynı kalır.
COLOUR KOMUTU: [COLOUR (renk registeri),$(renk değeri)] olarak kullanılır. Bu komut, Amiga'nın 32 renk register'ına renk yüklemeye yarar, 'renk registeri', kaçıncı renk register'ı olduğunu belirler.
Renk değerine gelince. Bu, biraz karışık. Doğada renkler kırmızı, yeşil, mavi renk üçlüsünün karışımından oluşur. Kırmızı ile yeşili karıştırdığımızda ortaya sarı çıkması gibi. Amiga'da da renk değerleri, bu üç ana rengin karışımından alınır. Üç ana renkten her birine 15'lik bir değer verilmiştir. 0'dan 15 değerine gidildikçe renk açılır. Renk değerini verirken, hexadecimal (onaltılık sayı sistemini) sayı sistemini kullanırız. HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sayı değeri $XXX olarak verilir. İlk sayı kırmızıyı, ikinci sayı yeşili ve üçüncü sayı da maviyi belirler. Renklerin değerlerini verirken, 0 en koyu, F en açık anlamına gelir. Yani sayının büyüklüğü, rengin açıklığını gösterir. $ff0 açık kırmızı ile açık yeşili karıştır anlamına gelir ve sonuçta çıkan renk, sarıdır.
Aşağıdaki tabloda, birkaç renk listelenmiştir: HEX RENK $000 Siyah $f00 Açık Kırmızı $800 Koyu Kırmızı $ff0 Sarı $0f0 Yeşil $f0f Violet $fff Beyaz $666 Gri Eğer gri rengi, 5. renk register'ına yerleştirmek istiyorsanız, [COLOUR 5,$666] yazmalısınız. INK komutunda, 5. register'ı kullandığınızda gri olduğunu görürsünüz. Sayfa rengini değiştirmek isterseniz, 1. register'ı değiştirmelisiniz. [COLOUR 1,$000], sayfa rengini siyah yapar. Curs Off: Flash Off F=0 Set Pattern 5 : Set Paint 1 Colour 1,$0 Ink 2,5,7 Bar 100,100 To 200,200 Repeat Colour 5,F F=F+(Z) If F=$F Then Z=-1 If F=0 Then Z=1 Wait 5 Until Mouse Key End