12.07.2015 Views

Amiga Dunyasi - Sayi 30 (Kasim 1992).pdf - Retro Dergi

Amiga Dunyasi - Sayi 30 (Kasim 1992).pdf - Retro Dergi

Amiga Dunyasi - Sayi 30 (Kasim 1992).pdf - Retro Dergi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Kağan ÜNALDIHepinize selam demo meraklıları... Demo teknikleri köşemizdeyine beraberiz. Bu ay. geçen aydan yarım kalan intromuzu bitireceğiz.Önümüzdeki aylarda ise böyle uzun source'lar vermek yerinekısa source'lar ile teknik açıklamalarına başlayacağım. Gelecekay. verdiğim intronun tam açıklamasını bulabilirsiniz. Siz buay, 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 vealtı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 (rextekranı) bulunuyor. Bu yazıların arkasında çeşitli renklerden oluşanbir raster aşağıya doğru hareket ediyor. Bu teknik, birçokoyun ve introda kullanılmıştır. Bu ay yine intromuza Noisetrackermodülü ekleyeceğiz. Assemblerden müziğin nasıl çalındığınımerak eden okuyucularımız, umarın sevineceklerdir. Intromuzunen 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 kendiyazdığım guru mu ayırt edemiyorum! Hatta rutinde yaptığım birhata 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ınve inceleyin. Bir sorununuz çıkarsa mutlaka bana yazın. Gelecekay, bu introyu CLI'dan çalışacak halde "exe" etmeyi anlatacağım.Evel. programı geçen ay anlattığım şekilde yazın ve compileedin. Daha önce verdiğim source'un aynısını verip boşuboşunayer işgal etmek istemiyorum. Onun yerine eklemeleri hatırlatacakşekilde vereceğim. Eski rutine eklemeler yapın. YanlarındaG yazan satırlar geçen ay verildi, onları yazmayın. Onları sadeceyeni rutinlerin nerelere eklendiğini belirtmek için verdim.Müzik çaldırmak için, bir replay rutinine ihtiyacınız olacak. Burutin birçok utility disketinin içinde bulunur. Source içinde belirttiğimyere yükleyin ve mt_data ile yanında bir adres yazan satırısilin. Bizim source'umuz otomatik olarak modülünüzün $<strong>30</strong>000adresinde 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 aytüm açıklamayı bekleyin. Önümüzdeki aylarda sizlere çok renklibir demo sayfası hazırlayacağım. Köşemize yazmayı unutmayın.Her türlü sorunuzu bekliyorum... CU L8R..TABLO:.************ ***************;* Demo teknikleri örnek 2 *;* Program: Kağan ÜNALDI *.***************************org $<strong>30</strong>000 :programı $<strong>30</strong>000 adresine yerleştirir.load $<strong>30</strong>000start: movem.l a0-a6/d0-d7.-(a7)move.l 4,a6 :Gjsr -$84(a6) :Glea int,a1 ;lntuition.library adresijsr -$198(a6) :library aç (guru için)'move.l d0.intbase :library adresini saklabeq exit ;hata var programdan çık!lea gfxname.a1 ;Gjsr -$198(a6) ;Gtst.l d0 ;Gbeq exit ;Gbsr clsmem ;Hafızayı temizleme rutinibsrbsrmt_initguru;miizik istiyorsanız bunu yazın;guru med. rutini; alttaki rutin yıldızları hafızaya yerleştirirsprite: lea star,a3 ;yıldızların source adresilea $7a000,a4 ;yıldızların hafıza adresiput: move.l (a3)+,(a4)+ ;dataları kopyalabne.s put ;işlem bittiyse devam et.move.l gfxbase.d0 :gfx.lib adresini yenile.... :buralarda eski rutinler varmove.l #newcop,(a2) ;Gbsr gotextscr -.Textleri ekrana basma rutinimouse: cmpi.b #255.$dff006 ;Gbne.s mouse ;Gbsr scroll ;Gbsr renkcyclc ;renk efekti rutinine gitbsr sply :yıldız efekti rutinibsr mt_music :müzik çaldırırbtst #6.$bfe001 :Gbne mouse :Gmove.l oldaddy,a2 ;Gmove.l oldcop,(a2) :Gmove.l 4,a6 ;Gjsr -$8a(a6) ;Gmove.l gfxbase.a1 :Gjsr -$19e(a6) ;Gmove.l intbase.a1 :Intuition.library'ı adresijsr -$19e(a6) :bu library ı kapatexit: movem.l (a7)+.a0-a6/d0-d7out: rts :Gclsmem: lea $60000.a0 temizlenecek hafıza adresimove.l #$2000,d1 ;uzun!uğu/4clrloop: clr.l (a0)+ ;hafızayı temizledbra d1 .clrloop ;rutini devam ettirlea $70000,a0 ;aynı şekilde $70000 adresinimove.] #$2000,d1 ;temizle (text adresi)clrloop1: clr.l (a0)+AMIGA DÜNYASI 29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!