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.

G e liş m işCEM GENCERMerhaba; işte yine güzel geçen bir yaztatili bitti. Kış da geldi sayılır. Ehh, <strong>30</strong>. sayıyada ulaştığımıza göre artık Assembleröğrenmiş sayabiliriz kendimizi. Fakat halaçok pratik yapmamız lazım. Bu yüzden debu köşeyi artık sırf ilgi çeken enteresansource'lara ayırmak istiyorum. GelişmişAssembler köşesini de kaldırdım ve buköşeyle birleştirdim. Daha önceki sayılardabelirtmiş olduğum tüm kitaplardan faydalanarakvermiş olduğum tüm source'larıgayet rahat anlayabilirsiniz. Bu kitaplardakibilgileri tekrar burada yazmayacağım.Aşağıda gerekli kitapların listesinibir defa daha bulabilirsiniz:* <strong>Amiga</strong> Hardware Reference Manual* <strong>Amiga</strong> ROM Kernel Reference Manuals:- Includes and AutoDocs- Libraries and Devices-Exec* Mapping the <strong>Amiga</strong>* Inside Disk-drives* Inside the <strong>Amiga</strong>Her ay bir ya da iki source vermeye çalışacağım.Bunlardan biri demo ağırlıklıolacak; ikincisi sistem rutinlerini DOĞRUolarak kullanan ufak utility programlanolacak. Zaman zaman da, benim ilgimiçeken bir source vermeyi düşünüyorum..Bu source'lardan bazıları datalara ihtiyaçduyacaklar. Bu dataları data satırları olarakyayınlamaya kalkışırsam bütün dergiyikaplayacağından ve kimsenin bunlarıgirmeye kalkışmayacağından aynen dergidenşutlanırım. Bu yüzden data file gerekensource'ların datalarını ve source'larınkendilerini direkt benden temin edebilirsiniz.Bunun için boş bir disketi 1000TL'lık posta puluyla beraber aşağıdaki adresegönderin. Çekeceğim diskette şimdiyekadar yayınlanmış tüm source'ları doğruolarak bulabilirsiniz.İşte adresim: Cem GENCER, PK 46,81110 Bostancı-İstanbul.Gelelim ilk rutinimize; bu herkesin yakındantanıdığı 3 boyutlu gibi gözüken biryıldız rutini. Birçok demo ve intro'da daarka fon olarak karşımıza çıktı. İkincisource'umuz gayet kısa; yaklaşık 50 satır.AssemblerBu source'u eski Almanca dergilerimi kanştınrkenbuldum. Disk driver'ınızın motorunudeğişik şekillerde ve hızlarda hareketettirerek müzik çalıyor. Disket sürücüsünehiçbir zararı yok. Sadece programıçalıştıracağınız zaman disket sürücüsüneya bozuk (çizilmiş) bir disket takın ya dahiç disket takmayın. Programı biraz kurcalarsanız,sizin istediğiniz bir melodiyide ekleyebilirsiniz.Şimdilik bu kadar; hoşçakalın ...; ===========================; 3D YILDIZ RUTİNİ; Written by Cem GENCER; ===========================qmovem.l d0-d7/a0-a6,-(sp)bsr.S ClearBitplanesmove.l 4,a6jsr -132(a6)lea Sdff000.a6lea CopList(pc),a0move.l a0,$80(a6)clr.w $88(a6)move.w #$20,$96(a6)bsr.S PrepareStarMovementMainLoopcmp.b #$ff,$dff006bne MainLoopbsr.S MoveStarsbtst #6,$bfe001bne.S MainLoopmove.l 4,a5move.1 156(a5),Mmove.l 38(A1),$80(a6)move.w #$8020,$96(a6)move.l 4,a6jsr -138(a6)movem.l (sp)+,d0-d7/a0-a6rtsClearBitPlaneslea BitPlane.a0move.w #$5dbf,d0ClearLoopclr.b (a0)+dbf d0.ClearLooprtsPrepareStarMovementmove.w #$a00,d6move.l #$ffTO00,md1lea . PosControl(pc),a2lea Retter.a1PrepareLoopbsr.Lmove.lmove.lsub.wbne.SleartsMoveStarsmove.wMoveLoopmove.lmove.lbclrbclrbclrGoOn bsr.Lbsr.Lmove.lmove.lmove.llsr.wbcc.SbsetNotSetllsr.wbcc.SbsetNotSet2lsr.wbcc.SbsetNotSet3sub.wbne.SrtsRestoreAdderleaadd.ladd.lmove.lmove.lLooplmove.lLoop2clr.bclr.bclr.bdbramove.lLoop3sub.lclr.bclr.bclr.bGetANewStar#BitPlane,(a1,d6.W)#6,4(a1,d6.W)#$20,d6PrepareLoopCMPundColor(pc),a4#$a00,d60(a1,d6.W),a04(a1,d6.W),d0d0,(a0)d0,$1f40(a0)d0,$3e80(a0)DoMoveComputeAddressa0,0(a1,d6.W)d0.4(a1,d6.W)8(a2,d6.W),d4#1,d4NotSet1d0.(a0)#1,d4NotSet2d0,$1f40(a0)#1,d4NotSet3d0,$3e80(a0)#$20,d6MoveLoopBitPlane.a0#$1f40/2,a0#20,a0#78,d0#2,d1d1,d2-(a0)$1f40(a0)$1f40*2(a0)d2,Loop2d1,d2#40,a0(a0)$1f40(a0)$140*2(a0)AMIGA DÜNYASI 42

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

Saved successfully!

Ooh no, something went wrong!