imkanı, e Tüm bildik tipler için evrensel prin- ter kullanımı. Bütün bu hazır Geos rutinleri pro- fesyonel software geliştiricilerine çe- kici ve yüksek performanslı program- ların hazırlanmasında yararlı olsun ve böylelikle C-64 software pazarına ye- ni bir atılım kazandırılsın diye düşü- nülüyor. Geos kullanımında, bizzat alt- programlar yazmaktansa, hazır bu- lunan oranlı karakter setlerine başvu- ruluyor. Ve de Icon'lar, pull-down menüleri ve diyalog penceresi, uygu- lamacıya üniform bir kullanıcı- arabirimi sağlıyor. Böylece alışılagel- dik programlarda karşımıza çıkan komut dizilerini öğrenmek için yırtın- ma gereği de kalkmış oluyor: Bir Ge- os aplikasyonunun kullanımını öğre- nen kişi, prensip olarak, tüm prog- ramları kullanabilir hale gelmiş de- mektir. Geos'un süratli disket rutinleri sa- yesinde, artık C-64'de çok sayıda da- tanın disketten büyük hızla okunması ya da diskete büyük hızla yazılması gereken programların (örneğin Data Management) akla uygun bir kulla- nımı da mümkün olmakta; bu iş es- kiden floppy disklerin yavaşlığı nede- niyle bir sabır sınavı haline gelirdi. Sistem disketinin yüklenmesinden sonra Geos, C-64'ün belleğinde ka- liyor ve ROM'daki alışıldık işletim sistemine paralel çalışıyor. Uygula- macının programları için rezerve edil- miş 23 KByte'lık (konfordan edilen birtakım fedakarlıklarla hattâ 32 KByte'lık) bir bellek parçası hizmete hazır bulunuyor. Aplikasyonun Ge- os'la birlikte sistemin belleğinde bu- lunması, kütüphane rutinlerinin de el altında olması anlamına geliyor. Bu sırada Geos, programa giriş- çıkışların kontrolünü üstleniyor ve kullanıcının yaptıklarını yönetiyor. Bu bağlamda anahtar kelime, apli- kasyonların dışsal olaylarla yönetil- diği anlamına gelen “event-driven'”” kelimesi. “Dışsal olay”'dan da, örne- ğin, Mouse-cursor'ın hareketi, ateş tuşunun kullanıma sokulması ya da klavyeye dokunulması anlaşılmakta. Bunu somut bir durumu ele alıp açıklayalım: Diyelim ki, disket fihris- tinden bir program yüklenmek ve otomatik olarak başlatılmak istensin. Bunun için, Geos'un arka planından yönetilen mouse ya da joystick'le cur- sor ekranda gezdirilip arzulanan aplikasyon-Icon'unun üstüne getiri- lir ve ateş tuşuna basılır (çıt ettirilir). Geos özel değişken belleğinde, ekran- daki mevcut gösterimin fiili örgütle- nişi hakkındaki tüm bilgilere (““desk- top”') sahip bulunmaktadır. Böylelik- le, hem tek tek her İcon'un ve hem de cursor'ın ekrandaki koordinatla- rını bilmektedir. Aplikasyon Icon'u çıt ettirildiğinde, cursor'ın koordinat- larına göre Icon tablosunda bir Ge- os servis rutini belirir ve seçilen prog- ramı yükler. Bunun ardından Geos kontrolü (““JSR $ 400”'ün uygulan- masıyla) uygulamacının programına devreder. Bu karmaşık uygulamaların hak- kından gelebilmek için, Geos, birbir- lerinden farklı oldukları kadar temel niteliklere de sahip olan iki program yapısı kullanmakta: temel program döngüsü (“main loop'') ve interrupt düzeyi (“interrupt level''). “Main loop” tek ve büyük bir program döngüsü ve büyük ““event''- leri kontrol ediyor. Interrupt düzeyi, sınırlı bir çerçevede, birden fazla sü- recin eş-zamanlı olarak işleme sokul- masını olanaklı kılıyor. Bunun için de C-64'de her 1/64 saniyede bir gönde- rilen kesme sinyalinden (interrupt!) yararlanılıyor. Bu demektir ki, bir sü- recin gerçekleştirilmesi 1/60 saniye- yi aşamaz. Ancak, “interrupt level”” kullanılmakta olan donanımın (klav- ye, joystick, mouse, vb.) türüne du- yarlı olduğundan, bu zamansal kısıt- AAAT lama özellikle engelleyici olmamak- tadır Bu program tekniğiyle kullanıcının hiç bir eylemı kaybolup gitmemekte- dir. Her “event” kaydedilmekte ve arada bir tamponda biriktirilmekte- dir. Kişi, kendi programına, servis rutinlerinin yardımıyla programdan beklediği işlevleri tasarlayarak başla- yabilir. Ve tasarladığı bu çatıyı ayrın- tılı bir biçimde sınayabilir. Bu modüler program anlayışı tabii Geos kütüphanelerinin belirli bir mo- dülerleştirilmesini de gerektirmekte- dir: Menüler, “DoMenü”' çağrısıyla kurulurlar. Bu onların ekranda hem dikey hem de yatay olarak görüntü- lenebilmesini sağlar. Bunun için me- nü kutusunun dört köşesinin koordi- natları ve menünün metni alt-prog- rama verilir. Geos, bunun üstüne, ek- rana datalara uygun bir menü dört- geni çizer ve bu dörtgene, birer çiz- giyle ayırarak, tek tek menü metin- lerini yazar. Oranlı karakter seti kullanıldığın- dan, menünün sağ kenarına ilişkin datanın bulunması için bir parça de- neme yapmak gerekiyor. En iyisi 319'la başlamak ve bu değeri, dört- gen dolana dek küçültmektir. Ayrı- ca bu tablodan çeşitli att-menülerin de listesini okumak mümkündür. Bu tür tablolarla kullanıcı tarafın- dan tanımlanmış Icon'ların oluşturul- ması da mümkün hale gelmektedir. Bunun için ““Dolcons”' rutinine Icon tablosuna gönderme yapan bir işaret KAT TSANENEEN Berkeley Softwork's tarafından gerçekleştirilen GEOS işletim sistemi grafik uygulamalar açı- sından da kullanıcıya büyük kolaylıklar sağlıyor. İkonlar yardımı ile programcılar, daha kolay ve daha insani çalışma olanağına sahip oluyorlar. Commodore