ya da hiç servis rutini yoksa onları O'da bırakmalıdır. PRESS VEKTÖRÜ İLE ÇİFTE CLICK Çifte click mouse'u arka arkaya iki kere click etme anlamına gelir. Bu iş- lemin bir ikon üzerinde yapılmasını ikonlara geldiğimizde göreceğiz. Bu- rada other Press Vektör ile çifte click konusundan söz edeceğiz. GEOS Kernal'da bir çifte click şu şekilde gerçekleştirilmektedir. Mou- se ekran alanı üzerinde ilk defa click edildiğinde other Press Vektörü ça- ğırılır. Servis rutinin bir parçası ola- rak, dblClickCount değişkeninin de- ğerini kontrol eder ve eğer O ise, CLICK-COUNT sabitiyle yükleriz. Ondan sonra servis rutinimiz, tek bir elick ve sonra return için gereken her- şeyi yapar. BAŞLANGIÇ Bir uygulamanın GEOS deskTOP ile çalıştırıldığı zaman yapması gere- ken ilk şey menülerini, ikonlarını ta- nımlamak ve klavye girdileri ve mo- use'a basılacak durumlar için çağrı- lacak servis rutinlerini göstermektir. Aynı zamanda ekranı temizlemeli ve genel ekran görüntüsünü oluşturmak üzere gerek duyduğu grafik biçimle- ri çizmelidir. Bir kullanıcı uygulamanın ikonu- na deskTOP'tan click ederse GEOS Kernal sistemi bir default durumuna getirecek, uygulamayı yükleyecek, ve uygulamanın başlangıç rutinine doğ- ru bir altrutine atlama işlemi gerçek- leştirecektir. Başlangıç rutininin ad- resi uygulamanın Dosya Başı bloğun- da gösterilmektedir, bunlara daha sonradan ayrıntılı olarak değineceğiz. Başlangıç rutini menüleri, ikonları ve başka eventleri tanımlamak için da- ta tablolarına sahiptir ve tabloları okuyup eventleri gerçekleştirmek için GEOS rutinlerini çağırırlar. İlk ekra- nı da çizer. Tamamlandıktan sonra, başlangıç rutini GEOS Kernal'a dö- ner. GEOS Kernal'daki ana program döngüsü şimdi çalışmaya başlamış ve menü seçimi, ikonlara basılması ve başka eventleri halletmek için hazır durumda olacaktır. Herhangi bir event başlatılırsa, GEOS Kernal uygulama tarafından belirlenmiş servis rutinini çağırır. Başlangıç rutinleri gibi, her servis ru- tini daha sonra GEOS Kernal'a dö- ner. GEOS KERNAL YAPISI GEOÖS Kernal içinde çalışan iki dü- zey kod vardır. Bunları (MainLoop) Ana Döngü ve (InterruptLevel) Inter- rupt Düzeyidir. ANADÖNGÜ GEOS Kernal AnaDöngüsü uzun bir döngü kodudur. Eventleri tarayıp uygun uygulama servis rutinini çağı- rır. Devrini tamamladığı her sefer, AnaDöngü kodu kullanıcı girdileri- nin olup olmadığına bakar ve anla- mını belirler. Örneğin bir mouse click edilmesi: bir ikonun seçilmesi bir menünün açılması açık bir menüden bir maddenin se- çilmesi ya da, menü ve ikonların dışında, otherPress Vektörünün aktive edil- mesi arına gelebilir. Klavye girdisi: Kullanıcı ya bir metin girdi ya da GEOS Kernal tarafıdan işlenecek bir diyalog kutusu için metin girildi. Bir süreç devre arası ise: bir uygulama servis rutinin çalıştı- rılması gerektiği anlamına gelir. Bu girdiler veridikten sonra, Ana- Kod ne yapacağına karar verir. Ör- neğin bir menü olması durumunda 1. bir alttmenünün indirilmesi gere- ği olup olmadığına, menüz düzenle- me seçeneklerinin gösterilip gösteril- meyeceğine ya da, 2. bir servis rutinini tetikleyen bir maddenin seçildiğine ve uygulama servis rutinin çalıştırılması gerektiği- ne karar verecektir. INTERRUPTDÜZEYİ GEÖS Kernal Interrupt (Kesilme) Düzeyi kodu C-64'te bir raster inter- rupt tarafından saniyede 60 kere te- tiklenen 6510 IRO interrupt ile uğra- şır. Saniyenin altmışta birinde, işle- mecinin AnaDöngü uygulaması du- rur, İnterruptDüzeyi kodu çalıştırılır. İnterruptDüzeyi saniyenin altmışta birinden çok daha çabuk bir sürede tamamlanır. Tüm yaptığı donanımı okumaktır. Böylelikle AnaDöngü sa- niyenin altmışta birinden daha uzun sürse bile (örneğin çok uzun uygula- ma servis rutinleri gibi) InterruptDü- zeyinin donanımla zamanında etkile- şimi sürecektir. Klavyede basılan tuş- lar boşa gitmeyecektir. InterruptDüzeyi makinanın o sıra- daki durumunu save eder ve dona- nımla direkt olarak etkileşimi sürdü- rür. Eğer mouse düğmesine basılırsa, InterruptDüzeyi Ana Döngü tarafın- dan kontrol edilen bir flag (bayrak) yerleştirir. AnaDöngü mouse'un bir ikon, menü ya da başka bir yerde ol-