Amiga Dünyası sayı 30, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

Hepinize selam demo meraklıları... Demo teknikleri köşemizde yine beraberiz. Bu ay, geçen aydan yarım kalan intromuzu bitireceğiz. Önümüzdeki aylarda ise böyle uzun source'lar vermek yerine kısa source'lar ile teknik açıklamalarına başlayacağım. Gelecek ay, verdiğim intronun tam açıklamasını bulabilirsiniz. Siz bu ay, tabloda görülen source'u yazın. Bu köşeyi yeni gören arkadaşlar, geçen ayki Global Trash yazımızı mutlaka okusunlar. İntromuz, geçen ay belirttiğim gibi şöyle: En üstte bir scroll ve altında logo. Bununla ilgili rutinleri geçen ay vermiştim. Şimdi, arka plana soldan sağa doğru hareket eden yıldızlar yerleştirelim. Bu yıldızları, açıklamış olduğum Star Editör programı ile yapabilirsiniz. Her neyse, ekranın alt kısmında bir text screen (text ekranı) bulunuyor. Bu yazıların arkasında çeşitli renklerden oluşan bir raster aşağıya doğru hareket ediyor. Bu teknik, birçok oyun ve introda kullanılmıştır. Bu ay yine intromuza Noisetracker modülü ekleyeceğiz. Assemblerden müziğin nasıl çalındığını merak eden okuyucularımız, umarım sevineceklerdir. İntromuzun en büyük şamatası ise, açılışta sahte bir guru meditation hatası vermesi. Bunu elimden geldiğince gerçekçi yapmaya çalıştım; sakın hata zannetmeyin!!! Ben bile gerçek guru mu, yoksa kendi yazdığım guru mu ayırt edemiyorum! Hatta rutinde yaptığım bir hata sonucu, iki adet guru üst üste çıktı. Tabii ki çok şaşırdım, ikincisi gerçek guru mesajıymış!!! Siz bu ay, tüm bu rutinleri yazın ve inceleyin. Bir sorununuz çıkarsa mutlaka bana yazın. Gelecek ay, bu introyu CLI'dan çalışacak halde "exe" etmeyi anlatacağım. Evet, programı geçen ay anlattığım şekilde yazın ve compile edin. Daha önce verdiğim source'un aynısını verip boşu boşuna yer işgal etmek istemiyorum. Onun yerine eklemeleri hatırlatacak şekilde vereceğim. Eski rutine eklemeler yapın. Yanlarında G yazan satırlar geçen ay verildi, onları yazmayın. Onları sadece yeni rutinlerin nerelere eklendiğini belirtmek için verdim. Müzik çaldırmak için, bir replay rutinine ihtiyacınız olacak. Bu rutin birçok utility disketinin içinde bulunur. Source içinde belirttiğim yere yükleyin ve mt data ile yanında bir adres yazan satırı silin. Bizim source'umuz otomatik olarak modülünüzün $30000 adresinde olduğunu belirtiyor. Modül datasını bu adrese yükleyin (binary olarak). İntroyu elimden geldiğince kısa yazmaya çalıştım. Umarım fazla zorlanmadan yazarsınız. Evet, gelecek ay tüm açıklamayı bekleyin. Önümüzdeki aylarda sizlere çok renkli bir demo sayfası hazırlayacağım. Köşemize yazmayı unutmayın. Her türlü sorunuzu bekliyorum... CU L8R..

TABLO: — Demoteknikleri örnek 2 * ;* Program: Kağan ÜNALDI *

org $30000 adresine yerleştirir. load $30000

start:movem.l a0-a6/d0-d7,-(a7)

move.l — -$84(a6) lea int,al ;İntuition.library adresi jsr -$198(a6) aç (guru için) move.l — dO,intbase ;library adresini sakla

beg exit ;hata var programdan çık! lea — ;G jsr — -$198(a6) tstl :G beg exit 6G bsr — clsmem ;Hafızayı temizleme rutini bsr — mt init ;müzik istiyorsanız bunu yazın bsr — gürü şguru med. rutini

; alttaki rutin yıldızları hafızaya yerleştirir

sprite: lea star,a3 ;yıldızların source adresi lea $7a000,a4 ;yıldızların hafıza adresi put: move.l — (a3)4,(a4)4 ;dataları kopyala bne.s put şişlem bittiyse devam et. move.l — gfxbase,d0 — ;gfx.lib adresini yenile ;buralarda eski rutinler var move.l #newcop,(a2) — ;G bsr göotextser ;Textleri ekrana basma rutini mouse: cmpi.b — #255,$dff006 — ;G bne.s mouse bsr scroll bsr renkcycle ;renk efekti rutinine git bsr sply ;yıldız efekti rutini bsr mt music ;müzik çaldırır btst #6,$bfe00l ;G bne mouse move.l — oldaddy,a2 move.l — oldcop,(a2) :G move.l — İsr -$8a(a6) move.l — :G jsr -$19e(a6) move.l — intbase,al — ;Intuition.library'ı adresi İsr -$19e(a6) :bu library'ı kapat texit: — movem.l (a7)4,a0-a6/d0-d7 out: rts clsmem:lea $60000,a0 ;Temizlenecek hafıza adresi move.l — #$2000,di — şuzunluğu/4 elrloop: cir.l (a0)4 ;hafızayı temizle dbra ;rutini devam ettir lea $70000,a0 şaynı şekilde $70000 adresini move.l — — ;temizle (text adresi) cirloopl: cir.l (a0)4

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