MegAmiga sayı 6, sayfa 16

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 16

RAM'in bu bölümlerini en sayıdan eksik kalan bölümler. Bir grafik var. 3 bitplane (8 renk) 320 pixel. 16 pixellik oluşsun. Yani yan yana 20 kutu var ve siz beşinci kutuyu eki Dolayısıyla siz brush'ı full olarak convert edip içinden 16 pixellik bloklar halinde ekrana taşıma yapacaksınız. (Brush'ın y uzunluğu önemli değil!!!) Şimdi IFF CONVERTER ile 320'ye istediğiniz kadarlık bir y uzunluğu için ve kaydedin. (mesela 320 ye açtığınız ekranda 320 ye 200 olsun... E section code,data ekranınızı açtınız. bsr — press brush main: empi.b bne — main mouse: bist bne bra **..ÇIKIŞ ve CLOSE LIBS VS.... ¡HESAPLAR : :Brush: ;320/8=40, 16 pixeli lazım.. 16/8=2 :40-2=38 => bltaptr ;Ekran: ;320/8=40 :yani 320 pixeli lazım = 320/8=40 ;40-40=0 => bltdptr ;brush'ın blitsize'ı ;16x16'lık basıcam ;[16*64] = 1024 = x ;16/8=2 2/2 = 1 = y

için 1 planı edilen brush size 320x200 ;[320/8]*200 = 8000 = $1f40 ;Ekranım için 1 plane uzunluğu :Göstermek istediğim alan 320x256 ;[320/8] 256 = 10240 = $2800 press_brush:

move.l #destination al movell loop: move a0,bitaptr. movell al,bitdptr move.w #38,bltamod

b move.w #0,bitdmod t move.l move.w #$09f0,bitcon0 move.w #$000,blteonl move.w | bsr blit wait | add | add #$2800.a1 |

#Ld0 bne loop rts

İşte olay bu. Yani Low-Resolution. Eğer ekranın boyutlarını 16'ya bölersek ekranımızın 16-16 eder. Dolayısıyla ekranımız 16x16 kutucuktan meydana gelir. İşte buna (20 16) matrisi olur. Bu sayede ekrandaki bir koordinatı ve: A dediğinizde bu 50 ve 4x16 = 64 koordinatını Şimdi bu matrisin istediğimiz koordinatlarına bir grafik taşıyın. (İzde 16x16 boyutlarında bir grafik olsun, iff converter'da raw'a çevirmeyi unutmayın !!!) 4 bitplane olsun. (16 renk) Ana ekranımızda 4 bitplane ve 320x256 olsun. Ayrıca ÖNEMLİ bir hatırlatma !!! 4 bitplane bir grafiği 3 bitplane bir ekrana taşımak isterseniz ne olur? Grafiğiniz 1 plane eksik gözükür. Yani source data < destination ... unutmayın press. brush: move. #brush,a0 movell #destination,a1 destx,d0 sel #Ld0 340/2 anlamında, desty,d0 #40,d0 ;görünen ekranın 1

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