Amiga CİCİC
Amiga tasarlanırken onu bir iş bilgisayarı olarak kullanacakların yanında; son yıllarda yaygınlık kazanan, bilgisayar yardımıyla ses ve görüntü işleme, canlandırma sanatıyla uğraşanlar da düşünülmüştür. Dergiden izlediğiniz gibi piyasada benzerlerinde göremeyeceğiniz; disk kullanımı, çok amaçlı işletim sistemi, gelişmiş görüntü işleme ve canlandırma, 4096'ya kadar çıkabilen renk çözünürlüğü, 640*400 noktacık (pixel) grafik çözünürlüğü, çift yönlü (Stereo) ve 4 kanal ses elde edebilme Amiga'nın başlıca ayırıcı özellikleridir. Bu özelliklerin çoğu özel amaçlı donanım elemanlarıyla gerçekleştiğinden yazılımdan bağımsız bir hıza ve kusursuzluğa sahiptir. Hardware'e ilişkin yazıları izlediğinizde bu elemanlara ilişkin detayları bulabilirsiniz. Amiga'nın işletim sistemi hazırlanırken, sisteme program yazımını kolaylaştıracak yönde çözümler düşünülmüş, bugüne kadar ev bilgisayarı ve kişisel bilgisayarlarda hiç denenmemiş ve sadece büyük sistemlerde (UNIX, XENIX gibi) rastlanan program kütüphaneleri kullanılmıştır. Yani diğer bir deyişle C diline uyumlu bir sistem tasarlanmıştır. Program kütüphaneleri içinde yer alan rutinler sistemin iskeletini oluşturur. Sistemin kullandığı bu rutinler, Amiga kernal rutinleridir. Bu rutinlerin kullanımı C-64 kernal rutinleriyle karşılaştırıldığında benzerlikler görülür. C-64 makine kodu ile ilgilenenler kernal rutinlerinin sadece assembler programlarda kullanıldığını bilirler ve bu rutinin adresini programlarda kullanırlar. Amiga'da bu işlem doğrudan rutin ismiyle yapılır ve parametreler bu rutinin çağrılması sırasında kullanılır. Buna bir örnek olarak Text rutinini verebiliriz. Bu rutin bir karakter dizi-
İşletim Sistemi ve
sinin ekrana aktarılmasına yarar ve kullanımı
Text (konum, dizi, eleman sayısı)
şeklindedir. Burada Text, rutin ismi; parantez içindekilerse rutin parametreleridir. Konum yazılacak dizinin ekrandaki yerini, dizi karakter dizisini, eleman sayısı ise bir diziden kaç elemanın kullanılacağını gösterir. Amiga'nın işletim sisteminde buna benzer yüzlerce rutin kullanılmaktadır. Bu rutinleri kullanmak için ise C en uygun dildir. C, 1972 yılında New Jersey'deki ünlü Bell Laboratuvarı'nda geliştirildi. Dennis Ritchie, Ken Thompson tarafından tasarlanmış B dilini geliştirerek bugünkü C'yi yaratmıştır. C genel amaçlı programlama dilidir. Modern kontrol akışı ve data yapısı, çok zengin komutları ile C dilinin önemi gittikçe artmaktadır. C bir yüksek seviye (High Level) dili (Basic, Fortran, Cobol, Pascal gibi) veya düşük seviye dili (Assembler) değildir. Belki orta seviye dili deyimi kullanılabilir. Belirli bir uygulama için tasarlanmadığından birçok alanda işletim sisteminden mühendislik ve ticari programlara, mikroişlemci kontrollü elektronik araçların sistem yazılımına kadar başarıyla kullanılmaktadır. C ilk olarak UNIX işletim sisteminin yazılım geliştirme çalışmaları için düşünüldü ve ilk C derleyicisi DEC PDP-11'de Dennis Ritchie tarafından başarıyla denendi. UNIX ilk olarak Assembler diliyle hazırlandı. Daha sonra yeni sistem programlarının yazılması (system utilities) sırasında çeşitli bilgisayarların donanım farklılıkları nedeniyle güçlüklerle karşılaşıldı. Bunun için Ken Thompson ve Dennis
Char Int Short Long Float Double Float
Ritchie UNIX işletim sistemini C yardımıyla yeniden tasarladılar. Böylece farklı donanıma sahip sistemler arasında tam uyum sağlanmış oldu. C yapısal programlama dilidir. Bu özelliğiyle Pascal diline büyük benzerlik gösterir. Dergideki Pascal yazıları Amiga açısından temel oluşturabilir. Pascal'da her program grubu begin-end çiftinin arasında tanımlanır. C'de,
dilinin
yaygınlaşmasıyla birçok yazılım şirketi C derleyicileri hazırladılar. Bu dil, C-64'te de uygun derleyiciyle kullanılabiliyor.
benzer mantıkla, her program grubu { } işaretleri arasında yer alır. Çok basit bir örnek verelim:
main( )
| /*Pascal'daki begin gibi */
printf(“deneme”);
| — /*Pascal'daki end gibi *”
Program başında yer alan main() ana program grubunu belirler. Bu program yardımıyla deneme yazısını ekrana aktarabiliriz. Bunun için kullanılan printf() bir library fonksiyonudur ve parantez içinde parametre olarak bir karakter dizisi tanımlanmıştır. ; işareti her bir işlem adımının sonu. Bu notasyon Pas-
9 bit 16 bit 36 16 bit 36 32 bit 36 32 bit 36 64 bit 72
Programdan da anlaşıldığı gibi /* ve */ arasına açıklama yazılabilir. Bu kullanım Basic'teki REM gibidir. C'de kullanılan değişkenler de Pascal'da olduğu gibi her bir program bloğu içinde tanımlanır. Aşağıda değişken tipleri ve bazı sistemlerle karşılaştırılması verilmiştir. Burada gördüğümüz bit uzunlukları sistemlerde kullanılan mikroişlemcilerin veya merkezi işlem ünitelerinin iç bellekleri (register) tarafından belirlenir. 68000 işlemcisi Amiga tarafından kullanılmakta ve Data register'ları Bayt (8 bit), Word (16 bit), Long (32 bit) bilgi işleyebilme yeteneğine sahiptir. Bu ilişkiyi aşağıdaki tablolardan görebilirsiniz. Böylece C ile Assembler programlama arasındaki ilk ilişkileri açıklamış olduk. Bu mantıkla C'deki birçok komutun Assembler komutlarına derleyici yardımıyla doğrudan çevrildiğini söyleyebiliriz. Floating Point işlemlerin dışındaki işlemler, doğrudan Data register'ları kullanılarak yapılır. Bu işlemlerden bazıları toplama, çıkarma, çarpma, bölme, bit işlemleri ve karşılaştırmalardır. Yukarıda saydığımız çarpma ve bölme işlemlerinin 68000 komutları arasında olduğunu hatırlatalım. C derleyicileri (compiler) konusunda da bir şeyler söyleyelim. C dilinin yaygınlaşmasıyla birçok yazılım şirketi C derleyicileri hazırlamıştır. Amiga için iki derleyiciden söz edebiliriz. Bunlardan en popüler olanı Lattice C'dir. Diğer bir derleyici de Aztec C'dir. Bu derleyicileri ilerki yazılarımızda tanıtacağız. C-64 kullanıcıları için de çeşitli derleyiciler vardır. C-64 kullanıcılarını da kapsayan C yazılarımızda, bir ders kitabı niteliği taşıyan ve ilk kitap olan Brian Kernighan ve Dennis Ritchie'nin yazdığı The C Programming Language'i örnek aldığımızı belirtelim. 8 bit EBCDIC 8 bit bit 8 bit bit 32 bit bit 16 bit bit 32 bit bit 64 bit
Amiga'nın grafik ve renk özelliklerine ilişkin yazıları süsleyen resimleri görmüşsünüzdür. Bunlar gittikçe fotoğraf kalitesine yaklaşan bilgisayar renginin en güzel örnekleridir. “Amiga'nın en büyük özelliği grafik ve renk özelliğidir” dersek fazla abartmış olmayız. Yüksek grafik çözünürlüğü 640 x 400 noktadan oluşmaktadır. Bunun anlamı, yatay yönde 640, dikey yönde 400 noktacık ve tümden 640 x 400 = 256000 noktacık kullanılması demektir. Bunun yanında kırmızı, yeşil, mavi renklerinin çeşitli tonlarından oluşmuş 4096 değişik renk ekran üzerinde elde edilebil-
SEYFETTİN ÇANKAYA mektedir. Bu yöntemde her bir tümel rengin 16 değişik tonu kullanıldığından, üç rengin karışımından 16x16x16 = 4096 renk ortaya çıkmaktadır. Bununla birlikte, istenildiğinde Amiga, düşük çözünürlükle de çalışabilir. Böylece bellekten tasarruf edilebilir. Aşağıda Amiga'da kullanılan 4 değişik mod ve kullandığı bellek sayıları verilmiştir.
320 x 200 Düşük çözünürlük 1 320 x 400 Düşük çözünürlük 2 16000 Byte
8000 Byte
640 x 200 Yüksek çözünürlük 1 16000 Byte 640 x 400 Yüksek çözünürlük 2 32000 Byte
Burada her bir noktacığın bir bit yer kapladığı ve 8 bit = 1 byte olduğunu hatırlatalım. Yüksek çözünürlükte 256000 bit = 32000 byte olacaktır. Bu açıklamalardan sonra resim çiziminin ne kadar zor ve karmaşık olduğu, hangi modun ne şekilde kullanılacağı, renklerin nasıl yerleştirileceği gibi sorular sorulabilir. Gerçekten evinizde bu iş için hazırlanmış bir program yoksa yapılacak pek bir şey yok demektir. Bu nedenle Electronic Arts firması kolay kullanılabilen bir çizim programı çıkarmıştır. Dergide gördüğümüz resimlerin hemen hemen hepsi, bu programla hazırlanmıştır. Amiga için hazırlanan oyun programlarının grafikleri de çoğunlukla Deluxe Paint programıyla yapılmıştır. Deluxe Paint mouse kontrolü ve mouse üstünde yer alan iki buton yardımı ile çalışmaktadır. Kontrol panelinde yer alan çizimle ilgili menülerin yanında, resimlerin diskette saklanması, yüklenmesi, iki resmin birleştirilmesine ilişkin disket işlemleri, hazırlanan resim ve kullanılan fırça şekillerinin disket üzerinde arşivlenme (library) özellikleri çalışmayı oldukça kolaylaştırmaktadır. Programı yüklediğimizde, Deluxe Paint ile çizilmiş bir fırça ve boya kutusu programın kalitesi hakkında bilgi vermektedir. Daha sonra ekranın sağında kontrol panelini göreceksiniz. Öncelikle çizim yapılacak alan ve çizimde kullanılacak fırça renginin seçimi yapılmalıdır. Bunun için mouse ile Color Indicator ikonu üstüne gidip sol butona basarak çizim için fırça rengini, sağ butona basılarak da istenilen alan rengini seçebilirsiniz.
Daha sonra fırçanız ne şekilde olması gerekiyorsa, kontrol panelinin en üstündeki fırça şekillerinden (The builtin Brushes-en uygun bir tanesi ol) butona basılarak seçilir. Çizim işlemine geçebilirsiniz. Bunun için mouse ile çizim yapılacak alan üstüne gidiniz. Eğer butona basılı olarak mouse'u hareket ettirirseniz, alan üstünde şekil elde edebilirsiniz. Başka bir yerden çizime devam etmek istediğinizde, elinizi butondan kaldırarak mouse'u istediğiniz noktaya götürüp butona basarak çizime devam edebilirsiniz. Deluxe Paint standart çizimler için büyük kolaylıklar getirmiştir. Örnek olarak iki nokta arasında bir doğru çizilecekse, kontrol panelinden doğru çizimine ilişkin seçim yapılır ve çizim alanı üstünde doğrunun başlangıç ve bitiş noktası verilerek çizim tamamlanır. Benzer olarak dikdörtgen için köşegenin konumu ve boyutları tamamlanır. Daire için ise merkez ve yarıçap tanımlanarak çizim yapılır. Eğer kapalı bir alanın istenilen bir renkle doldurulması gerekiyorsa bunu (fill with color) seçeneği ile yapabilirsiniz. Belli bir alanda desen elde etmek istediğinizde kontrol panelinin en altında yer alan desenlerden birini seçip kullanabilirsiniz. Çizilen şekil simetrik bir yapıda ise sadece simetrinin bir tarafı çizilip daha sonra (symmetry) seçeneği ile simetri eksenleri tanımlanır, diğer bölümler çizilir. Bu özellikle çok çeşitli desenler elde edilebilir. Çizdiğiniz şeklin daha ayrıntılı incelenmesi gereken durumlarda büyütme (zoom) seçeneğiyle bu işlemi yapabilirsiniz. Eğer bir resmi tümden silmeniz gerekiyorsa bunu (CLR) seçeneğiyle yapabilirsiniz. Ayrıca hazırlamış olduğunuz bir grafik üstüne yazı yazmak istiyorsanız (text) seçeneğiyle istediğiniz yazı karakterini seçip normal klavye yardımıyla bu işi yapabilirsiniz. Çizilen bir grafiğin yazıcıya aktarılması da bu programla mümkündür. Bunun için en ideali tabii ki, yeni yeni yaygınlık kazanan renkli yazıcılardır. Eğer normal bir yazıcıya sahipseniz şekli siyahın tonlarıyla elde edebilirsiniz. Daha sonra bu şekli tekrar yükleyip üzerinde değişiklikler yapabilirsiniz. İstediğiniz iki ayrı resmin bazı bölümlerini birleştirip yeni bir resim elde edebilirsiniz. Daha sonra da ileri gidip çok çeşitli fırça şekilleri tasarlayarak resim benzeri çalışmalar yapabilirsiniz. Sonuç olarak, Deluxe Paint, tüm olanakları sunan bir program.
2 &
Va ss)
AMIGA Business Software'in Yeni Bir Ürünü: