Görüldüğü gibi bir application'ı terkedip Desktop'a ge- ri dönmek (64'ünüzü kilitlemeden tabii ki) tek komutla halledilebiliyor. Bu komutu verdiğiniz zaman GEOS bü- tün işlemlerini keser ve DESKTOP programını yüklemeye başlar. Eğer diskinizde bu programı bulamazsa bur pen- cere açarak sizden içinde Desktop olan bir disk koyma- nızı isteyecektir. Testmenü m.byte 10 .byte 24 .word 0 .word 125 .byte 2 İkinci ekranın menülerinin tanım tablosunu da bura- da yaratıyoruz. Bu tablonun ilk iki byte'ıyla menünün üst ve alt kenarlarının y koordinatını 10 ve 24 olarak ayar- lıyoruz. Sonraki dört byte'la da menünün sol ve sağ ke- narlarını O ile 125 olarak ayarlıyoruz. Son byte'imız olan 2 ise menünün yatay bir menü olduğunu ve 2 elemanı bu- lunduğunu belirtiyor. .Wword textl .byte $80 .word altmenül «... ikinci menü elemanının tanımı Menümüzün ilk seçeneğini bu byte'larla tanımlıyoruz. 1. ve 2. byte'larda bu elemanın içine yazılacak olan ya- zının saklandığı adresi belirtiyoruz. 3. byte'la bu seçene- ğin bir alt-menüyü açacağını belirtiyoruz. 4. ve 5. byte'- lar ise bu eleman seçilirse açılacak alt menünün adresini taşıyor. textl .text “ana menu 1” .byte 0 ... ikinci elemanın yazı dataları Ana menünün seçeneklerinin içinde yazılacak olanlar yukarıdaki gibi tablolarda hazırlanır. Her seçeneğin ya- zısının sonuna $00 byte'ını koyarak yazının bittiğini be- lirtmeliyiz. altmenül — .byte 24 .byte 244 (8*14) 41 .word .word 80 .byte $80 4 $08 Bir alt menünün tanım tablosu da ana menülerin ta- nım tablosunun aynısıdır. Yani bu alt menünün üst ke- narı 24., alt kenarı 137. y koordinatlarında; sol kenarı 0., sağ kenarı 80. x koordinatlarında bulunuyor ve me- nümüz sekiz elemanlı bir dikey menü olarak ayarlanıyor. D Z CEOPANT B a AA OK ÇARIR .Word altitextl .byte .word menülservisi ..... 7 elemanın daha tanımları Tabif ki alt menünün elemanları da tanımlanmalıdır. Burada her elemenin yazılarının adreslerini veriyoruz. Elemanların bir rutini çağıracağını belirtiyoruz ve bu ru- tinin adresini ekliyoruz. altmenü2 — .byte 24 .byte 244 (7*14) 41 .word 70 .word 155 .byte $80 -- $40 -4 $07 ..... eleman tanımları Bu menü tanım tablosunu yazmamın tek sebebi dik- katinizi menü tipine çekebilmekti. Gördüğünüz gibi bu yalnızca dikey değil aynı zamanda sınırlandırılmış bir me- nü. Sınırlandırılmış menünün ne olduğunu görmek için örnek programın 2. ekranında *“ana menü 2” seçeneğini seçmeniz yeterlidir. altltextl — .text “seçenek 1” .byte 0 ..... diğer yazı dataları Bütün menü elemanlarının yazıları bu tabloyla ayar- lanıyor. menüservisi Jsr GotoFirstMenu Rts Gördüğünüz gibi alt menü seçenekleri de hiçbir işlem yapmıyorlar ve doğrudan doğruya ilk menüye dönüyor- lar. (Bu işlemi yapmanız için GotoFirstMenu rutinine sıç- ramanız ve RTS ile kontrolü tekrar Kernal'a bırakma- nız gereklidir.) .byte 0,0,0,0 Burada bırakılacak fazladan birkaç sıfır, programını- zın GEOS formatına çevrilmesi sırasında olabilecek bir byte kaybını kapatmak içindir. Mesela yayınlamış oldu- ğumuz GEOS CONVERTER programı, GEOS forma- tına çevirdiği programların son byte'ını çevirdiği prog- rama yazmıyor. Bunu kesinlikle unutmayın. Bu programın MDE çıktısını program döküm eki'nde bulabilirsiniz. Evet GEOS'çular, bu aylık da bu kadar. Gelecek ay kursumuza *“GEOS'da çizim ve grafik' konusuyla devam edeceğiz. Şimdilik hepiniz hoşçakalın. 25