Commodore sayı 68, sayfa 44
Sayfanın metni

Sayfa 44

Programından da Bahsedelim mi?

Oyun 7 adet interrupt rutininin birleşmesinden oluşmuş. Normal düzeyde ise program sonsuz döngüye giriyor. Yani tüm programın çalışması sadece interruptlarla yapılmış. Neden olduğunu anlamadıysam da, Derya Bey bunu özellikle yaptığını söylemiş. Sanırım iyi bir nedeni vardır bunun için. Programın kullandığı bellek bölgeleri ise şöyle: $0900-$1000: Tüm switchler, hesaplama ve zamanlama adresleri burada. Daha doğru bir tabirle değişkenler bölümü burası. Bazı önemli adresler ise şunlar: $09C8: Araba çarpışma açık/kapalı. $090B-$090C: Tüm zamanlama burada yapılıyor, 80 km burada sayılıyor. $090A: $D01E register bilgisi burada. $0908: Ateş açık/kapalı. $3800-$3C00: Arka kayan dağ manzaralarının resim dataları burada saklanıyor. $3D00-$4E00: Yaratıkların X 255 ($D010 bitleri) tablosu. Yaratıkların X sinüs tablosu. $0A00: Kamyon, uçan daire sinüs tablosu. $1220: Girişteki intronun renk şeritleri. $1270: Renk şeritlerinin zamanlama baytları tablosu. Şimdi de oyunu oluşturan 7 interrupt rutini hakkında daha detaylı bilgi verelim: 1. Interrupt: #$90 raster satırında başlıyor ve $1153 adresinde bulunuyor. Bu rutinin işi arkaplan görüntüsünü kaydırmak. 2. Interrupt: #$01 raster satırında başlıyor ve $1192 adresinde bulunuyor. Alt yolun kaydırılması ve müziğin çalınması işlerini hallediyor. 3. Interrupt: #$30 raster satırından başlıyor ve $1300 adresinde bulunuyor. Araba, kaya, bulut ve ateş hareketlerinin yapılmasını sağlıyor. 4. Interrupt: #$4A raster satırından başlıyor ve $15C4 adresinde bulunuyor. Zıplayan şeytana hayat veren rutin burada. 5. Interrupt: #$52 raster satırından başlıyor ve $16A8 adresinde bulunuyor. Uçan daire ve mermilerin hareketlerinden sorumlu rutin burada çalışıyor. 6. Interrupt: #$5B raster satırından başlıyor ve $2A8E adresinde bulunuyor. Kamyonun hareketleri burada ayarlanıyor. 7. Interrupt: #$62 raster satırından başlıyor ve $2568 adresinden başlıyor. Oyunun ana kontrol rutinleri burada toplanmış. Çarpışma kontrolleri, skorun yazılması, glow yapılması, GAME OVER ve HAPPY END sayfalarına geçilmesi tamamen bu rutin tarafından

gerçekleştiriliyor. Bu rutin bitince tekrar bir nolu interrupt'a sıçranıyor. C-64'ün yalnızca 8 adet sprite'ı olduğu için değişik karakterlerin bazı sprite'ları ortak kullanması gerekiyor. Bu karakterler ve hangi sprite'ı ne zaman kullandıklarıyla ilgili bilgileri aşağıda bulabilirsiniz: 1. CHEVROLET: Sprite No: 1. Sürekli kullanılıyor (0-80 Km). Joystick aracılığıyla sola ve sağa hareket edebiliyor, zıplayabiliyor ve sürekli ateş edebiliyor. 2. ATEŞ: Sprite No: 2. Sürekli kullanılıyor (0-80 Km). Araba tarafından atılıyor. Bulut, Kamyon ve Şeytanları vurabiliyor. Patlama efekti sırasında dokunduğu yaratıkları yok edebiliyor. 3. KAYA: Sprite No: 3. 2 KM'den sonra çıkmaya başlıyor ve oyun sonu-

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