Commodore sayı 54, sayfa 47

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 47

BootFilename: .byte “GEOS BOOT”; $006'da bulunur. Bu yazı sayesinde 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: > DİLBYTE'I; İNGİLİZCE ; ALMANCA ; FRANSIZCA ; HOLLANDACA ; İTALYANCA ; İSVEÇÇE ; İSPANYOLCA ; PORTEKİZCE

GEOS KERNAL'ı $Bf40 ve yukarısına yerleşmiştir. Bu sayede altında kalan RAM bölgesini kendi amaçları için kullanılmıştır. GEOS'un normal çalışması sırasına tüm ROM'lar ve $DO00-$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ştirmek için yalnızca $0001 adresini kullanacağız. Eğer programınızda giriş/çıkış bölgesine veya BASIC ve KERNAL ROM'larına GEOS kernal rutinlerinde ayrılarak ulaşmak istiyorsanız. İki GEOS KERNAL rutinini 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 iletirseniz. Bu rutinler ayrıca bellek haritasını değiştirme ve interruptlar ile (gerektiğinde) sprite'lerin yok edilmesi işleriyle de Bank değiştirme ile daha ayrıntılı bilgiyi de PROG-RAMCININ EL KİTABI'nda KERNAL rutinlerini anlatan bölümün hemen öncesinde bulabilirsiniz.

ASSEMBLER KOMUTLARI:

Bundan sonra kullanacağımız assembler'in SUPE-RASS'le uyumlu olmadığını söylemiştim. Ancak burada verilen yerine değerlerini koyarsanız GE-OS rutinleri için SUPER-ASS'i de kullanabilirsiniz. Fakat size tavsiyem daha iyi bir assembler bulmanız. Kullanacağımız assembler'da ş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 yerine — $NN kullanabilirsiniz. *mobprior” şeklinde tüm harfler küçük olarak yazılmışsa LABEL iki byte'lık bir c64 sstem vektörüdür ve yerine SNNNN 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şlarsa bahsedilen label bir GEOS KERNAL rutindir ve yerine $NNNN kulanılabilir. Yukarıdaki NN'ler bir byte yerine geçmektedir. Assembler'ımızın özel komutları şöyle sıralanabilir: 1) *-$NNNN: Programın başlangıç adresi. 2) .byte $NN, $MM,... : $SNN, SMM değerlerini sırayla belleğe yazar. 3) $NNMM,$KKLL.,,... : SMM, $NN, $LL, $KK değerlerini belleğe yazar.

4) .block $NNNN : $NNNN kadar boş byte bırakır. 5) .if koşul : Koşul doğruysa, .ELSE veya .ENDIF'e kadar olan bölgeyi assemble eder. 6) .else : Belirtilen koşul yanlışsa .ENDIF'e kadar olan bölgeyi assemble eder. 7) .endif : .if ve .else komutlarının sonunu belirtir. Artık bir program yazabilecek tüm temele sahipsiniz. Bu ay Program Doküman Eki'nde yayınlanan ilgili programları 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ırmasın. Haydi GEOS'çular, klavye başına. Gelecek ay, programların temelini oluşturan ikon ve menülerin kullanımını öğrenerek devam edeceğiz yazımıza. Şimdilik hoşçakalın.

mam mr

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