|
Atari coding BBS
Blitter issue |
Posted by: Per Almered (XiA)
|
Sep,13.2009-17:46
|
Hi again! 8-)
I'm having an interesting problem with the STE blitter... I modified the code Evil generously supplied to clear a bitplane in a previous thread to this:
move.l #$ffff8a00,a6 ;32 byte halftone ram
rept 16/2
clr.l (a6)+
endr
move.w #2,$ffff8a20 ;source x inc
move.w #2,$ffff8a22 ;source y inc
move.l a0,$ffff8a24 ;source address
move.w #-1,$ffff8a28 ;endmask 1
move.w #-1,$ffff8a2a ;endmask 2
move.w #-1,$ffff8a2c ;endmask 3
move.w #2,$ffff8a2e ;dest x inc
move.w #2,$ffff8a30 ;dest y inc
move.l a1,$ffff8a32 ;destination address
move.w #80,$ffff8a36 ;x count (n words per line to copy)
move.w #200,$ffff8a38 ;y count (n lines to copy)
move.b #%00000010,$ffff8a3a ;blit hop (halftone mix)
move.b #%00000011,$ffff8a3b ;blit op (logic op)
move.b #%11000000,$ffff8a3c ;blitter control, start blitter
This code is supposed to copy 32000 bytes (one 320*200 screen, 4 bitplanes) from the address pointed to by a0 to the address pointed to by a1.
...and in STeem and Hatari, it does its job perfectly. On the real STE, however, only the last 4 pixels or so in every horizontal 16-pixel block are correct, the other look strange, as if the bitplanes are messed up or something.
Also, before running this snippet I zero out all bytes from $ffff8a00 to $ffff8a3d, just to make sure, but it doesn't make any difference.
Any takers? 8-)
Per.
|
[All messages in this thread] [Start new thread]
What's the anti-troll code? That's your personal code to be able to add comments and messages on the dhs.nu site.
Don't have a code or forgot it? Fix it here.
|