1 Kasım 1990 Tarihli Commodore Gazetesi Sayfa 24

1 Kasım 1990 tarihli Commodore Gazetesi Sayfa 24
Metin içeriği (otomatik olarak oluşturulmuştur)

tanımlanacak. Dolcons rutini otomatik olarak mouse'u yeni bir koordinatta görünür hale getirdiği için yeni x ve y koordinatları da bu tablonun başında verilmelidir. 2. ve 3. byte'larda x koordinatı, 4. byte'ta ise y koordinatı veriliyor. .word ikonl .byte 10 .byte 3 . .byte 2,16 .word ikonrutini İşte ilk ikonumuzun tanım byte'ları: 1. ve 2. byte'lar 1. ikonun grafik datasının saklandığı bellek alanını gös- teriyor (programımızda ikon1 label'ı ile gösterilen adres). 3. byte ise ikonun ekranda görüleceği x koordinatı. Yal- nız dikkat etmeniz gereken nokta, bu koordinatın piksel değil byte olarak belirlendiği. Yani piksel koordinatını bulmak için bu sayıyı 8'le çarpmanız gerekir. 4. byte olan 3 ise 1. ikonun y koordinatı (bu sefer piksel olarak). 6. ve 7. byte'larda ise ikonun genişliği (byte olarak) ve uzun- luğu (piksel olarak) veriliyor. Yani 1. ikonun asıl boyut- ları 2*8 — 16'ya 16. Son iki byte'ta ise bu ikon üzerinde ateş tuşuna basıldığı zaman hangi adrese sıçranacağı be- lirtiliyor. İlk ekranda 8 tane ikon bulunduğu için burada 7 iko- nu daha tanımlamamız gerekiyor. Fakat hepsinin tablo yapıları aynı olduğu için 7'sinin de buraya yazılmasına gerek yok. ikonrutini1 , Jsr i. Rectangle .byte 0 .byte 199 .word O .Wword 319 Eğer birinci ikon seçilirse GEOS Kernal'ı, 1. ikonun tanım byte'larında adresi belirtilen bu rutine sıçrama ya- par. Burada ise bizim ilk yaptığımız işlem ikinci ekrana geçebilmek için ekranı temizlemnek. Lda Ekran2ikonu Sta r0 Lda Star0-4 1 JsrDolcons Daha sonra ikinci ekrandan çıkış için kullanılacak iko- nu tanımlıyoruz. Ekran2ikonu Lda Sta r0 Lda Star04 1 Lda 0 Jsr DoMenu Testmenü Testmenü Artık bu ekranda kullanacağımız menüleri tanımlama- nın zamanı geldi. Jsr DoMenu komutundan önce A'ya verdiğimiz O değeri ile menüler hazırlandıktan sonra mo- use'un ilk menü elemanının üzerinde belirmesini sağlı- yoruz. Rts Ve kontrolü tekrar GEOS Kernal'e bırakıyoruz. $4486 ikonl .byte $02,$FF .byte $9C .byte $80,$01,$80,$39,$80,$6D,$80 .byte $E5,$81,$BD,$83,$19,$86,$31 .byte $8C,$61,$98,$C1,$B1,$81,$BB .byte $01,$BE,$01,$BC,$01,$80,$01 .byte $02,$FF ....... 8 ikon grafik datası daha. Ekranda görünecek olan ikonların grafik tanımlarını yapmanın zamanı gelmişti zaten. Burada gördüğümüz ti- pik bir ikonun grafik dataları. Fakat bu ikon dataları- nın özelliği GEOS'un grafik kullanımında az bellek har- camasını sağlayan sıkıştırılmış formatta saklanması. Bu sıkıştırma işlemleri hakkında çok ayrıntılı bilgiyi “GEOS'- la Grafik” konusunda anlatacağım. Fakat basitçe bu byte'ların anlamını açıklamak istiyorum: $02,$FF byte'ları: $FF byte'larının 2 kere yazılmasını sağlar. Yani 32 tane $FF byte'ı yazmak isteseydik iko- numuza (yani içi tamamen dolu bir ikon isteseydik) yal- nızca $20,$FF yazmamız tüm ikonu tanımlamamıza ye- terli olacaktı. $9C byte'ı: Kendisinden sonra gelen $9C-$80 - $1C (28) byte'ın yalnızca birer kez kullanılmasını sağlar. Buradan sonra gelen 28 byte ikonun grafik datalarıdır. $02,$FF byte'ları: Gene iki kez $FF byte'ı yazılır. Aşağıdaki tabloya bakarak bu byte'ların nasıl bir so- nuç vereceğini görebilirsiniz. Ekran2ikonu .byte 1 .word 240 .byte 155 .word ikonl .byte 30 .byte 150 .byte 2,16 .word bitir İşte tipik bir ikon tanım tablosu daha. Bu seferki ise programdan çıkış için kullandığımız ikonu tanımlıyor. Bitir Jmp EnterDesktop

Bu sayıdan diğer sayfalar: