Commodore sayı 54, sayfa 44

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 44

GEOÖOS ll

Geçen ay basit bilgilerle başladığımız GEOS kursuna daha derinlere inerek devam ediyoruz. Bu ay program döküm ekinde bulunacağınız THE ULTIMATE GEOS CONVERTER programını yazmanız, bu kurstan yararlanmanız için şarttır. Program her ne kadar uzunsa da, bu, gözünüzü kurkutmasın çünkü GEOS'un size sunduğu kolaylıklardan yararlanmak için bu programa ihtiyacınız var. Program hakkında ayrıntılı bilgi PROGRAM DÖKÜM EKİ'ndeki açıklamalarda bulunmaktadır. Bu aydan itibaren GEOS programlarını SUPER AS-SEMBLER formatında değil, normal bir assembler formatında vereceğiz. Bunun sebebi SUPER ASSEMB-LER'ın yapısının GEOS programlarını yazmaya uygun olmaması Bu ayki yazımızda size bir GEOS application'ı tasatımlamanız için gerekli temel bilgileri vereceğim. Bir application tasarımını üç ana başlığa ayırabilirsiniz: 1. Event'leri (olayları) seçin: Programınızda hangi tip menüler, ikonlar, vb. kullanacağınıza karar verin. (Daha sonraki yazılarımızda bahsedilecek olan ve özel bir event türü olan zaman tabanlı işlemler de buna dahildir.) 2. Event'leri tanımlayın: Event'i tanımlayan tabloları kurun ve vektörleri yükleyin. Örneğin menü yapıları basit tablo yapılarıyla tanımlanırlar.

Bu ayki sayımızda size bir GEOS application'ı tasarlamanız için gerekli temel bilgileri vereceğiz. Ayrıca program döküm ekinde bundan sonra sık sık kullanacağınız bir yardımcı program yer almakta.

3. Rutinleri yazın: Ana döngü tarafından çağırılacak ve sizin event'liriniz tarafından çalıştırılacak olan rutinleri yazın. Bu noktaya kadar, amacımız GEOS'la programlamanın neye benzediğini göstermekti. GEOS, application'ınızın bir bir prototipini kolaylıkla hazırlamanızı sağlar; çünkü programınızı başa çıkması kolay olan basit tanım tablolarına ve event hizmet rutinlerine ayırır. Eventleri programlamaya başlamadan önce kısa bir şekilde GEOS'- un donanımını tartışacağız: kullandığı grafik modu, bellek düzeni ve bank-switch registerlerinin nasıl ayarlandığı. Aslında GEOS'ta program yazıp da grafik modları veya bank-switch hakkında hiçbir şey bilmemeniz olası, yani bir C64'cüsüyseniz, şimdiki bölüm size zor gelebilir ama ğişikliği silen UNDO komutunun kullanılması için kullanılır. Bu kopyalama özelliğini destekleyen KERNAL rutinleri (adresleri gelecek sayıda vereceğim) RecoverAll- Menus, RecoverLine, RecoverMenü ve RecoverRectangle'dir. Bu rutinleri de grafik ve menü bölümlerinde işleyeceğiz. Eğer tampon bölgeye ayrılan 8000 baytı da kullanmak istiyorsanız, ekranın otomatik olarak bu bölgeye kopyalanması GEOS KERNAL tarafından engellenebilir. Bu sayede kullanabileceğiniz bellek 8000 bayt artar. Bu da grafik bölümünde ayrıntılı olarak ele alınacak konulardan biridir.

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