@Hexmage960, post #240
W tym przypadku chodzi o to, że zapis 4 pikseli chunky, gdybyśmy zapisywali je pojedynczo wynosi: O(d*n), gdzie d to liczba bitplanów, a n to liczba pikseli. Czyli dla 8 bitplanów byłyby to 64 operacje.
Niewątpliwie racja, ale ja przyznam, że nie potrzebuję tak chunky, bo w moich grach używam BOBów. A ustawianie Blittera jest dość proste.
@mschulz, post #241
@Hexmage960, post #244
; Input: d0 - 4 chunky pixels d2 - mask #$3333cccc d3 - mask #$55aa55aa ; Output: d0 - 4 planar pixels move.l d0,d1 and.l d2,d0 ; d0: ....a5a4 ....a1a0 ....b5b4 ....b1b0 c7c6.... c3c2.... d7d6.... d3d2.... eor.l d0,d1 lsr.w #2,d0 swap d0 lsl.w #2,d0 or.l d1,d0 ; d0: a7a6c7c6 a3a2c3c2 b7b6d7d6 b3b2d3d2 a5a4c5c4 a1a0c1c0 b5b4d5d4 b1b0d1d0 move.l d0,d1 and.l d3,d0 ; d0: ..a6..c6 ..a2..c2 b7..d6.. b3..d3.. ..a4..c4 ..a0..c0 b5..d5.. b1..d1.. eor.l d0,d1 ; d1: a7..c7.. a3..c3.. ..b6..d6 ..b2..d2 a5..c5.. a1..c1.. ..b4..d4 ..b0..d0 lsr.b #1,d0 ror.w #8,d0 add.b d0,d0 swap d0 swap d1 lsr.b #1,d0 ror.w #8,d0 add.b d0,d0 or.l d1,d0 rts
@Hexmage960, post #245
Sam na razie nie widzę zastosowania u siebie, ale jakieś może się znajdzie.
@Phibrizzo, post #246