Plazma sayı 5, sayfa 67

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 67

bpliptl - $0E2

start; ;Custom Chip taban adresi

lea $Ad£f000,a0 ;1 bitplane (tek renk) move.w #$1200,bplcon0 (a0) move.w #0,bplconl1(a0) move.w #0,bpllmod(a0)

#ooruntunun baslangic/bitisi

move.w #$0038,ddfstrt (a0) move.w #$00d0,ddfstop(a0) move.w #$2c81,diwstrt (a0) move.w #$f4cl,diwstop(a0)

#bitplane adresini copper ;liste yerlestir

move.l #bitplane,d0 move.w swap d0O move.w

;copper listesinin baslangic yaz move.l #copperlist,copllc(a0) ;copper'i tetikle move.w ;dma'lari ayarlar move.w ;sol tusa basilana kadar bekle «Leftelick:

btst #6,$bfe00l bne.s #leftelick rts

;copper list ve bitmap daima ;CHIP Ram'de durmalidir

section data,data c

copperlist: de.w bpllpth ehi dec.w 0 dc.w el; dec.w 0

;sprite'i kapat dec.w $0120,$0000 dec.w $0122,$0000 raster satirini bekle dec.w $9601,$£f00 ;color00'a (zemin rengi,$0180 ;RGB $678 degeri gir

dc.w $0180,$0678 dc.w dc.w $0180,$0789 de.w $9801,$££00O de.w $0180,$089a dc.w $9901,$££00O dc.w $0180,$09ab dc.w $9a01,$££00 dc.w $0180,$0567

;copper listesini bitir dc.w

;Bitplane icin bos alan ayir

bitplane:

ds.b 320*256

Yukarıdaki örnek kodda Bitmap için gerekli boş hafıza alanını kodun içinde ayırdık. Elbette birçok durumda bunun için Exec library'nin hafıza ayırma fonksiyonlarını (memory allocation functions, AllocMem) kullanmamız gerekir. Ancak bir süre daha örnek kodlarımızı bu şekilde yapmaya devam edeceğiz. Library'ler konusuna ise daha ileriki sayılarda gireceğiz.

Bu sayıdaki yazımızın sonuna geldik. Bu sayıda dallanma komutlarını öğrendik ve hardware register'ları hakkında bilgi edindik, örnek kodlarla da öğrendiklerimizi uygulamış olduk. Ayrıca dergi ile birlikte AsmPro'yu doğrudan çalıştırabileceğiniz bir ADF dosyasını bulabilirsiniz. Buradaki örnek kodları disketin içindeki sources klasöründe bulabilirsiniz.

Bir sonraki sayıda görüşmek üzere hoşçakalın.

Kaynaklar:

1. Amiga Machine Language — Abacus 2. Amiga Hardware Reference Manual

3. Programming the 68000 - Steve Williams. (c) 1985 Sybex Inc

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