1 Ağustos 1990 Tarihli Commodore Gazetesi Sayfa 47

1 Ağustos 1990 tarihli Commodore Gazetesi Sayfa 47
Metin içeriği (otomatik olarak oluşturulmuştur)

BootFilename: .byte “GEOS BOOT”; $006'da bulunur. Bu yazı sa- yesinde programınızın GEOS'tan yüklendiğini anlarsınız. VERSİYON: byte $13; GEOS verisyonunu gösteren byte. Örnekte verisyon — 1.3. YABANCI DİL BYTE'I: Z .byte DİLBYTE'I; İNGİLİZCE ; ALMANCA ; FRANSIZCA ; HOLLANDACA ; İTALYANCA — ; İSVEÇÇE H ; İSPANYOLCA - ; PORTEKİZCE - GEÖOS KERNAL'ı $BF40 ve yukarısına yerleşmiştir. Bu sayede KERNAL' ların altında kalan RAM bölgesini ken- di amaçları için kullanılmıştır. GEOS'un normal çalış- ması sırasına tüm . ROM'lar ve $DOD0-$DFFF kaldırılmış durumdadır. Seçilen bank $0001 adresi tarafından ve kartuş çıkı- şında bulunan iki pin tarafından kontrol edilir. Bu iki pin'in değerini değiştiremeyeceğinize göre bank değiştir- mek için yalnızca $0001 adresini kullanacağız. Eğer programınızda giriş/çıkış bölgesine veya BASIC ve KERNAL ROM'larına GEÖOS kernal rutinlerinde ay- rılarak ulaşmak istiyorsanız. İki GEOS KERNAL ruti- nini kullanmanız gerekir: InitForlO ve DoneWithlO. GE- OS'a, birinci rutinle giriş/giriş bölgesine ulaşmak istedi- ğinizi. İkincisiyle de giriş/çıkış'la işinizin bittiğini iletir- seniz. Bu rutinler ayrıca bellek haritasını değiştirme ve interruptlar ile (gerektiğinde) sprite'lerin yok edilmesi iş- leriyle de iligilenirler. Bank değiştirme ile daha ayrıntılı bilgiyi de PROG- RAMCININ EL KİTABI'nda KERNAL rutinlerini an- latan bölümün hemen öncesinde bulabilirsiniz. W O NON N SO0 AW —O ASSEMBLER KOMUTLARI: Bundan sonra kullanacağımız assembler'in SUPE- RASS'le uyumlu olmadığını söylemiştim. Ancak bura- da verilen LABEL 'ların yerine değerlerini koyarsanız GE- OS rutinleri için SUPER-ASS'i de kullanabilirsiniz. Fa- kat size tavsiyem daha iyi bir assembler bulmanız. Kullanacağımız assembler'da LABEL'lar şu şekilde sı- nıflandırılacak: 'NEWPATTERN” gibi tüm harfler büyük harf olursa bahsedilen tek byte'lık bir GEOS sabitidir. Bunların ye- rine — $NN kullanabilirsiniz. *'mobprior' şeklinde tüm harfler küçük olarak yazıl- mışsa LABEL iki byte'lık bir c64 sstem vektörüdür ve yerine $NNNN kulanılabilir. 'windowTop' gibi ilk kelime küçük, ikinci kelime bü- yük harfle başlarsa bu bir GEOS sistem vektörüdür ve yerine yine $NNNN kulanılabilir. *BootGeos' gibi bütün kelimeler büyük harfle başlar- sa bahsedilen label bir GEOS KERNAL rutindir ve yeri- ne $NNNN kulanılabilir. Yukarıdaki NN'ler bir byte yerine geçmektedir. Assembler ımızın özel komutları şöyle sıralanabilir: D *-SNNNN: Programm başlangıç adresi. 2). byte $NN, $MM.,... : $SNN, $MM değerlerini sırayla belleğe yazar. 3) .word $NNMM,$KKLL ,... değerlerini belleğe yazar. :$MM, $NN, $LL, $KK 4) .block $NNNN : SNNNN kadar boş byte bırakır. 5) f koşul : Koşul doğruysa. ELSE veya .ENDIF'e kadar olan bölgeyi assemble eder 6) .else : .if'de belirtilen koşul yanhşsa ENDİF”'e ka- dar olan bölgeyi assemble eder. 7) cendif : .if ve celse komutlarının sonunu belirtir. Artık bir program yazabilecek tüm temele sahipsiniz. Bu ay Program Doküm Eki'nde yayınlanan ilgili prog- ramları yazmanız, daha sonra yayınlayacağımız örnek programları GEOS'ta çalıştırabilmeniz için gereklidir. Bu yüzden programın uzunluğu sizi yıldırmasm Haydi GE- OS'çular, klavye başına. Gelecek ay, programların temelini oluşturan ikon ve menülerinin kullanımını öğrenerek devam edeceğiz ya- zımıza. Şimdilik hoşçakalın. KSTE OlAyı

Bu sayıdan diğer sayfalar: