Amiga Dünyası sayı 16, sayfa 42

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 42

$26(a4d),d0 cınp.w REALLYEND #2,dü 2 ise CLOSEREALI

: WİNDOW'a gn bne.s WAİTREALLY de değilse başa dön

Gördüğünüz gibi, mesaj portu yardımıyla gadget

Bundan sonraki long-word yardımıyla, gadget kliklendiğinde diğer bazı gadget'ların da aktif ya da deaktif duruma geçmeleri sağlanılabilir. Bu yönteme İngilizce'de exclude (bağımlı)

KickStart 1.2 ve 1.3'lerde bu yöntem, sistem türlerindeki bazı ufak tefek ek-

Gadget ID kodunu al, yine REALLYEND'e kodu da aktarılmakta. Biz de bu tanımlama kodunu gadget tanımlama adresinin 38. ve 39. byte'larından meydana gelen word'den alabiliyoruz. EVENT rutininin en alttan üç ve dördüncü satırlarında mesaj portundan gadget'in tanımlama adresini bu-

İuyoruz: move.l — ad move.l

Eh, gadget structure'unun sonuna geldik. En sondaki long-word USER DATA'dır. Bunu şimdilik kullanmadığımızdan 0 değerini almakta. Gelelim gadget structure'ının alt kısmına. Kısaca tanıtmaya, ilk olarak GADGETTEXT adlı structure'ını inceleyelim. Örneğimizde gadgettext alt structure'ı REALITEXT altında yer almakta: REALITEXT:

deb 3,0,1.0 10,5

dc.l REALLYITEXTTEXTI: dc.b Evet, yine bilmediğimiz datalar ve pointer'lar. Hemen açıklamaya geçelim. İlk satırda 4 adet byte cinsinden sayı bulunmakta (3,0,1 ve 0). İlk iki byte olan 3 ve 0, kalem ve renkleri. Bunlar yardımıyla gadget text'imizin istediğimiz renkteki zemin üzerine istediğimiz renkle basılmasını sağlayabiliriz. 1 değerini taşıyan byte, yazının yazılış modunu tanımlamak için kullanılır. Aşağıdaki ufak tabloda kullanabileceğiniz değerler ve olan yazım modları vardır. Bunların detaylı açıklamasını ilerde göreceğiz.

Değer — Yazım modu 0 JAM1 1 JAM2 2 COMPLEMENT 4 INVERSID

İlk satırımızın en sonundaki 0 değeri, hiçbir anlam taşımaz; koymamızın sebebi, bilgisayarın hata etmesini engellemek. Biliyorsunuz, 68000 tek sayı bir adrese erişemez. Erişmeye kalkarsa da crash eder. Bunu engellemek için ya uygun yere bir dc.b 0 ya da bir EVEN komutu eklemek gerekir. EVEN komutu, Seka Assembler derleyicisine has bir komuttur. Görevi bir boş byte bırakarak komuttan sonra gelen komutları ya da dataları çift sayılı bir adrese yerleştirmesidir. Eğer zaten çift sayılı bir adresteyseniz, Seka bu komut yokmuş gibi davranacaktır. Zaten tek sayılı bir adrese erişmeye kalkıştığınızda Seka sizi uyarır ve hatanızı düzeltmenizi ister.

Klavyeyle gezinmek için ← ve → tuşları.