AMİGA BASIC
Retro bilgisayar
KİMLER BASIC KULLANIR?
Profesyonel programcılardan tutun da öğrencilere ve tamamen amatörce program yazan insanlara kadar pek çok kişi, farklı pek çok amaç için BASIC dilini kullanır. Bu insanların hepsi aynı sebeple BASIC kullanırlar: Çünkü BASIC dili kişisel bilgisayarlar için uluslararası bir dildir, öğrenimi ve kullanımı kolaydır, tüm bilgisayarlar için mevcuttur, üstelik her tür yazılımda kullanılabilecek kadar esnek bir yapısı vardır.
NEDEN AMİGA BASIC? Amiga Basic, şu anda piyasada mevcut olan kişisel bilgisayarlardaki BASIC dillerinin en güçlüsüdür. Bu ifade size çok iddialı görünebilir. 1986'da üretilen Amiga Basic, kişisel bilgisayarlardaki BASIC derleyicilerinin sanata yönelik bölümünü temsil eder. Microsoft tarafından dizayn edilen Amiga Basic, BASIC ailesindeki en yeni üyedir. Orijinal BASIC 1974 yılında Microsoft firmasının araştırmacıları olan Bill Gates ve Paul Allen tarafından 4K RAM için yaratılmıştır. Bugün Amiga Basic kendisine en yakın iki BASIC derleyicisi olan IBM'in BASICA'sı ve Macintosh'un Microsoft BASIC'inde bulunan özelliklerin tümüne yakın fonksiyonları içinde birleştiren, 80K'dan fazla makine dili obje kodlarından oluşmuştur. Program bölümleri 3 yıl test edilmiştir.
Amiga Basic içinde, bu iki makinada yazılmış BASIC programlar küçük çevirilerle çalıştırılabilir. Hatta Macintosh BASIC kitabındaki örnek programların pek çoğu değişiklik yapılmaksızın Amiga Basic'te çalıştırılabilir. Bu olanak, halihazırda IBM PC ve Macintosh için yazılmış binlerce BASIC program ile Amiga yazılım kütüphanenizi genişletmenize imkan verir. Amiganızı bir modem ve bir terminal yazılımı ile bir data bankasına ya da başka bir iletişim sistemine bağlayarak bu tür programları edinir, sonra da Amiga Basic'e çevirebilirsiniz. Bu sayede Amiga'da gelişmiş BASIC programlama hakkında geniş bilgi edinebilir ve program birikimi sağlayabilirsiniz. Bu olanak şu anda bizim ve sizin için yok, ama belki de birkaç yıl içinde hepimiz bu olanaktan yararlanabiliriz; neden olmasın?
Amiga Basic'in diğer BASIC derleyicilerinden farklı pek çok özel nitelikleri vardır. Amiga Basic içerisinde bu özel niteliklere erişmenize olanak sağlayacak 200'den fazla komut, yönerge ve fonksiyondan oluşan muazzam bir direktif seti vardır. İşlem hızı, yüksek çözünürlükte renkli grafikler, sesleri tabii olarak kaydetme sistemi, ses sentezi, yapısal iletişim portları, multitasking (yani aynı anda birden fazla işlem yapabilme özelliği) işletim sistemi ve grafik yönetimi için kullanıcı arabirimi gibi özellikleri ve bu özelliklerin kombinasyonundaki uyum ile, Amiga piyasadaki kişisel bilgisayarların en güçlülerinden biridir. Amiga Basic, Amiga'daki tüm bu özellikleri ve daha birçoklarını destekler. Gerçekte tüm dillerde olduğu gibi, Amiga Basic'te de özellikle ses ve yüksek hızlı animasyon alanlarında birtakım kusurlar var. Fakat bu kusurlara rağmen BASIC'te Amiga standartlarında ticari kalitede yazılımlar oluşturmak mümkün. Zaten tüm diğer dillerde olduğu gibi Amiga Basic'te sürekli geliştiriliyor, değiştiriliyor ve kapasitesi artırılıyor.
MULTİTASKİNG ÇALIŞMA ÖZELLİĞİ: Her şeyden
önemlisi Amiga Basic gerçekten Amiga'nın multitasking işletim sistemi ile bütünleşmiştir ve kullanımı kolaydır. Amiga Basic ile çalışırken aynı anda Amiga'nın Workbench ekranındaki bir pencere içinde aynı anda başka uygulamalar yapabileceğiniz gibi, Workbench ekranı arkasında istediğiniz boyutlarda yeni bir pencere tanımlayarak kullanabilirsiniz. Kullanabileceğiniz pencere sayısı sadece bellekle sınırlıdır.
AMİGA ÜSTÜNLÜKLERİ İLE GELEN FARKLILIKLAR: Amiga Basic'te programın yazılması için kullanılan Liste penceresi, tıpkı bir kelime işlem programında doküman yazımı gibi kullanılır. Amiga Basic yatay ve dikey kaydırma olanağı ile gerçek tam ekran görüntüleyerek düzenleme, mouse ve kursor tuş kontrolü, alternatif klavye komutları, "Pull-down Menu" olarak isimlendirilen yukarıdan aşağıya açılan menüler ve "Cut" ve "Paste" yönergeleri ile sağlanan kesme ve araya sokma tamponu (buffer) olanaklarını sağlar.
YAPISAL FARKLILIKLAR: Fiziksel olarak düzenlenmiş ve daha kolay izlenip okunabilir programlar yazabilmeniz için, Amiga Basic satır numaraları yerine etiketler ile çağırabileceğiniz alt rutinler oluşturmanıza izin verir. Bu etiketler, WHILE-WEND döngüleri, IF-THEN-ELSE-ELSEIF-ENDIF blokları gibi gelişmiş yapılarda kullanılabilecek bağımsız alt programlar yaratabileceğiniz, en fazla 40 karakter uzunluğunda anlamlı karakter dizileridir. ON MENU, ON MOUSE, ON ERROR ve ON TIMER gibi belli durumlarda devreye giren koşullu yönergeler ve hatta boş döngüler şeklindeki BASIC kesintileri ana program akışı dışında bu tür alt rutinler şeklinde yapılabilir. Bu tür yapısal bloklara atanan etiketler sayesinde, programdaki kontrol noktaları kolayca görülebilir.
Amiga Basic'te kendi lokal değişkenlerine sahip alt programlar da kullanabilirsiniz. Alt program olanağını kullanarak, farklı programlarda da kullanılabilecek BASIC rutinleri için kütüphaneler oluşturmak mümkündür. Bu tür rutinlerdeki değişken isimlerinin ana programdaki değişken isimleri ile eşleşmesinden endişe etmeniz gerekmez.
AMİGA ÖZELLİKLERİNİ KULLANMAK İÇİN EKLENMİŞ KOMUTLAR: Standart BASIC dilinden farklı olarak, Amiga ile Amiga Basic diline yansıyan özelliklere kısaca değinelim:
• SOUND ve WAVE yönergeleri ile dört ses senkronize müzikal üretilebilir. Bu yönergeler ile Amiga Basic'te ıslık sesinden tutun da çok karmaşık müzikal dizinlere kadar çeşitli sesler kullanabilirsiniz.
• SAY ve TRANSLATE$ yönergeleri ile program içine konuşma yerleştirilebilir.
• GET ve PUT yönergeleri ile ekran resimlerini saklamak ve yeniden görüntülemek mümkündür. GET yönergesi, ekranda bir dizi içindeki nokta gruplarını muhafaza eder. Böylece bellekteki bir grafik resmi olduğu gibi saklayabilirsiniz. PUT yönergesi ise dizi şeklinde saklanan bu resmi tekrar çağırır ve ekrana yerleştirir. SCROLL yönergesi ile ekranda bir alan tanımlanarak istenen ölçülerde, istenen tarafa kayması sağlanabilir.
• LİNE, CIRCLE, PAINT, AREA ve AREAFILL gibi grafik yönergelerinin tamamı Amiga Basic içinde mevcuttur. Bu komutlarla Amiga'da kusursuz grafikler çizilebilir.
• OBJECT yönergesi, OBJECT EDİTÖR ve COLLISION fonksiyonu sayesinde geniş boyutlarda animasyonlar yaratılabilir.
• LIBRARY ve DECLARE yönergeleri sayesinde makina dilinde yazılmış alt rutinleri çağırmak mümkündür.
• SCREEN ve WINDOW yönergeleri ile pek çok pencere ve ekran açılabilir.
• BASIC uygulamalarında Amiga Basic'in kendi menüsü kullanılmayıp, kullanıcı tarafından tanımlanan yeni menüler oluşturulabilir. MENU yönergesi ile yaratılan bu menüler Amiga'nın kendi menüleri stilindedir. Bu sayede programlara tam bir kullanıcı bakışı getirilebilir.
İşte anlattığımız tüm bu özellikler Amiga Basic'e diğer BASIC derleyicilerinden "daha üstün" ve "daha güçlü" niteliklerini kazandırıyor. Dergimizde, bugüne kadar Amiga kullanıcılarının sürekli ihtiyaç duyduğu Amiga Basic anlatımlarına geniş yer ayırmayı düşündük. Bu yazı dizisinde göreceğiniz gibi, Amiga Basic çok güçlü bir kişisel bilgisayar için gerçekten çok güçlü bir tamamlayıcıdır.
Dergimizin bu ilk sayısından başlayarak, Amiga Basic'i sizlere dizi halinde anlatmaya ve örneklerle açıklamaya çalışacağız. Bizim amacımız, bu yazının konuya ilgi duyan herkesin yararlanabileceği bir yazı dizisi olması. Bu konuda destek ve önerilerinize açığız.
NASIL BİR YOL TAKİP EDECEĞİZ? Yazımızın ilk bölümlerinde Amiga Basic'in genel kullanımı üzerinde duracak ve program disketi içerisinde bulunan örnek programlar ile bunlar üzerinde birtakım oynamalarla biraz uygulama yapacağız. Ekran elemanları, menü kalemleri ve pencerelerinin kullanımlarından söz edeceğiz. Amiga Basic'in düzenleme ve yapısal özellikleri üzerinde duracak, çevre birimleri ve dosyalarla çalışma prensiplerini inceleyeceğiz. Daha sonra alt programlar ve makina dili alt rutin bağlantıları, koşullu döngü yönergeleri, bellek ve kütüphane rutinlerini kullanacağız. Hareketli resimler yaratacak ve daha sonra Amiga Basic programlamanın değişken tanımlamalarından başlayarak komut kullanımlarına geçeceğiz.
HAYDİ BAŞLAYALIM! Amiga Basic programı, Amiga'nız ile birlikte verilen iki disketten biri olan ve "Amiga Extras" olarak etiketlenen diskette kayıtlıdır. Bu disketi kullanmadan önce bir boş diskete kopyasını çekerek program disketini yedekleyin. Disket kopyasının nasıl yapıldığını bilmiyorsanız, Workbench ve Amiga DOS notlarından faydalanabilirsiniz.
PROGRAMI YÜKLEME: Amiga'yı açın. Amiga 1000 modeli dışındaki Amiga modellerinde "Workbench" disketini isteyen el çıktığında, bu disketi sürücüye takıp Workbench ekranı görüntülenip disketin ikonu çıkana kadar bekleyin. (İlk çıkan Amiga 1000 modelinde makina ilk açıldığında "Kickstart" disketini isteyen bir el çıkar. Bilgisayar bu disketi okuduktan sonra Workbench disketini ister.) Workbench disketi okunup disket sürücünün ışığı söndükten sonra disketi çıkartarak "Extras" disketini takın. Amiganıza dışardan bağlanmış ilave bir disket sürücünüz varsa, Workbench disketini çıkartmadan "Extras" disketini diğer disket sürücüye takabilirsiniz. Workbench ekranında Extras disketinin ikonu görüntülendiğinde, önce bu disketin ikonunu, sonra da Amiga Basic programının ikonunu (işaretçiyi ikonun üzerine getirerek mouse'un sol tuşu olan "Seçim Düğmesi"ne iki defa klik yaparak) açın.

AMİGA BASIC ikonuna çift klik.
Birkaç dakika sonra Amiga Basic programının ekranını göreceksiniz. Amiga Basic ekranı, orijinal Workbench renklerini kullanır: Arka zemin mavi, ön zemin beyaz, portakal ve siyah.

AMİGA BASIC ekranı.
PENCERELER NE İŞE YARAR? Amiga Basic ekranı ilk görüntülendiğinde ekran iki pencere görüntüleyecek biçimde ikiye bölünmüştür: Liste (başlık çubuğunda LIST yazan bölüm) penceresi ve Çıktı (başlık çubuğunda BASIC yazan bölüm) penceresi. Program ilk yüklendiğinde yeni bir program yazacağınız düşünülerek kursor (yani o anda bir text yazdığınızda bunun belireceği yeri gösteren küçük kare) Liste penceresinde görüntülenir. Liste penceresinin üst tarafındaki başlık çubuğu o anda bu pencerenin aktif durumda olduğunu gösterecek şekilde belirgindir. Oysa başlık çubuğunda Amiga Basic yazan Çıktı penceresinin başlık çubuğu siliktir, yani şu anda aktif değildir.
Amiga Basic'teki (BASIC başlığı ile görünen) Çıktı penceresi yalnızca bir programın sonuçlarını görmenizi sağlamakla kalmaz, aynı zamanda komutları doğrudan buradan yazmanıza da izin verir. Çıktı penceresinden komutları doğrudan yazmak için önce Çıktı penceresinde mouse ile klik yapılır ve pencere aktif hale getirilir. Bu işleme Amiga Basic Çıktı penceresinde "Ok" uyarıcısı ile karşılık verir, kursor bu uyarıcının yanına yerleşir.
MENÜLERİN KULLANIMI: Amiga Basic'te menüler başlık çubuğuna yerleşmiştir. Çıktı penceresi aktif durumda iken mouse'un sağ düğmesi olan "Menü Düğmesi" basılı durumda başlık çubuğu üzerine getirildiğinde, menüler sırayla aşağıya doğru açılır. Amiga terminolojisinde bu menülere "Pull-Down Menu" denir.
Menü kalemlerinden seçim yapmak için ise, istenen menü kalemi üzerine gelip menü düğmesini bırakmak yeterlidir.
EXTRAS DİSKETİNDEN BİR ÖRNEK PROGRAM YÜKLEME: Amiga Basic makinanızda yüklü olduğuna göre kısa bir alıştırma yapmaya hazırsınız.
GENEL BİLGİLER: Önce isterseniz Extras disketi içindeki programların listesini Çıktı penceresinden alalım. Bu işlem için Çıktı penceresini seçerek (bu pencerede seçim düğmesi ile bir kez klik yaparak) "Ok" uyarıcısının görüntülenmesini sağlayın. Uyarı görüntülendiğinde;
• files yazarak RETURN tuşuna basın. Bu komutla diskette bulunan dosyaların ve directory (içinde bir ya da daha fazla program dosyasını ve başka directory'leri barındıran kütük)'lerin isimleri Çıktı penceresinde listelenecektir. Disketteki programların listesi bir ekran boyutundan daha fazla sürüyorsa, isimler yukarı doğru kayacaktır. Kaymayı bir an için durdurmak isterseniz, sağ Amiga tuşu (klavyenin sağ alt tarafında, üzerinde "A" harfi bulunan tuş) ile "S" tuşuna basabilirsiniz. Listelemeyi devam ettirmek için ise herhangi bir tuşa basmak yeterli olur.

Çıktı penceresinden disketin directory'sini alabildiniz mi?
Bir directory içindeki dosyaların listesini almak için files" komutundan sonra tırnak işaretleri arasında bu directory'nin ismi belirtilip RETURN tuşuna basılır.
Dışarıdan bağladığınız ikinci bir disket sürücünüz varsa ve Extras disketiniz bu sürücüde ise, "files" komutundan sonra bu sürücünün numarası belirtilir. Directory listesi alınıyorsa, sürücü numarası tırnak işaretleri içine ismin önüne yazılır. Örneğin Extras disketiniz 1 numaralı sürücüde ise, komutlar şu şekilde verilir:
• files df1: • files "df1: basicdemos" PROGRAM YÜKLEME:
Extras disketinde bulunan örneklerden birini yüklemeye çalışalım. "BasicDemos" çekmece (ya da directory)'si içinde bulunan "Picture" programını yükleyelim. Bu program Amiga Basic ile yazılmış bir tanıtım programıdır.

Picture programının yüklenmesi.
Mouse'un menü düğmesine basarak işaretçiyi menü çubuğu üzerindeki "Project Menu" başlığına getirin. Açılan menü görüntüsünde New, Open, Save, Save As ve Quit seçenekleri listelenir. Bu menüdeki "Open" seçeneği üzerine gelerek menü düğmesini bırakın. Bu komut üzerine Çıktı penceresinde programın adını yazmanızı isteyen bir pencere (requester) açılır. Pencere içinde "Name of program to load" olarak etiketlenmiş kutuyu klikleyin ve buraya "basicdemos/picture" ola-

Picture programı yüklendi.
Amiga Basic'te satır numarası verme zorunluluğu yoktur. Satır numaraları yerine belirli satırlara etiketler verilir. Picture programında da satır numarası yoktur, fakat mouse kontrolü için yazılmış bir alt rutine "Check Mouse" ve resmin hareketlerini kontrol etmek için yazılmış bir diğer alt rutine de "MovePicture" olarak isimlendirilmiş iki etiket konulmuştur. Bu tür etiket ve satır numaraları genellikle bir alt rutine veya bir alt programa giriş noktasını belirtir ve bu rutinler programın diğer kısımlarındaki GOTO yönergesi ile çağrılır.
rak program adını yazın. Sonra da RETURN tuşuna basın ya da pencere içindeki "OK" kutusunu klikleyin. Böylece program yüklenecek, program Liste penceresinde listelenecektir. Bu arada çıktı penceresinin başlık çubuğundaki BASIC etiketi, BasicDemos/Picture olarak değişecektir.
PROGRAM LİSTESİ:
Program listesinde fark edeceğiniz ilk değişiklik satırların numaralandırılmamış olduğudur. Yazımızın başında da anlattığımız gibi,

Alt rutin listeleme.
Bir program satırını ya da bir alt rutini listelemek için, çıktı penceresinden LIST komutu verilir. Komutun yanına istenen satırın numarası ya da etiketi belirtilir. Örneğin "CheckMouse" etiketli bölümü listelemek için, çıktı penceresini seçip OK uyarıcısının yanına;

Haydi programı çalıştıralım.
• LIST CheckMouse yazıp RETURN tuşuna basarsanız, program liste penceresinde bu etiketten itibaren listelenir. Liste penceresindeki program satırları üzerinde oynamalar yapmak isterseniz, önce bu pencereyi seçerek aktif hale getirmek gerekir.

Programı durdurmak için yine menüyü kullanın.
mez. Bu sayede Amiga Basic'te program listesi çok kolay okunup incelenebilir. PROGRAMI DURDURMAK
PROGRAMIN ÇALIŞTIRILMASI:
Programı çalıştırmak için menü çubuğundaki "Run" menü başlığı altındaki "Start" kalemini seçin. Bundan önce çıktı penceresini liste penceresinin önüne geçirmek isterseniz, menü çubuğundaki "Windows" menü başlığı altındaki "Show Output" kalemini seçebilirsiniz.
Program siz ona "Dur" komutunu verene kadar çalışmasını sürdürür. Programı durdurmak için "Run" menüden "Stop" menü kalemi seçilir. Bu komutla programın çalışması sona erer ve ekran eski haline döner. "Show Output" komutunu vererek Çıktı penceresini öne almışsanız, "Show List" komutu ile liste penceresinin tekrar görüntülenmesini sağlayabilirsiniz.
"Start" komutunu verdiğinizde çıktı penceresinde bir resim görüntülenir. Pencere içinde istediğiniz yerde mouse'un seçim düğme-
Yazı dizimizin gelecek sayıdaki devamında liste penceresindeki hareketler, program satırlarında değişiklik yapma ile devam edeceğiz. Bu aylık BASIC dersimiz bu kadar. Sizden gelecek öneri ve eleştirileri bekliyoruz. Gelecek ay görüşmek üzere... sine basarak resmi oynatabilirsiniz.

AYRILMIŞ SÖZCÜKLER: Program listesinde gördüğünüz özellikle büyük harf yazılmış değişken isimleri dışındaki komutlar BASIC'in komutlarına aittir. Bu sözcükler siz

Mouse'u klikleyerek resmi istediğiniz yere taşıyabiliyorsunuz.
komutu küçük harf yazsanız bile, satırdan satıra geçerken otomatik olarak büyük harfe dönüşürler. Verdiğiniz değişken isimleri ise ne tür karakterle girilmişse o şekilde kalır. Komutlar küçük harfle yazılmışsa, satırlar arası hareket edilmedikçe büyük harfe dönüş-
İşte programın yaptığı bu. Kullanılmıyor.

Merak etmeyin, liste penceresi kaybolmadı.