decodeiff40 ;for 40 columns... ; moveq #40,d7 jmp decodeiff3 ; decodeiff ;a0=trimmed IFF file,a1=dest bitmap ; moveq #80,d7 decodeiff3 ; move (a0)+,d0 ;pixel width lsr #3,d0 ;to byte width move (a0)+,d1 ;pixel height cmp #200,d1 bcs.s .hok move #199,d1 .hok subq #1,d1 ;to dbf move (a0)+,d2 ;depth subq #1,d2 ;to dbf addq #6,a0 ;skip header ; .loop5 move d2,d5 ;depth ; .loop4 move.l a1,a2 move d0,d4 ;how many bytes in line ; .loop moveq #0,d3 move.b (a0)+,d3 bmi.s .repeat sub d3,d4 .loop3 move.b (a0)+,(a2)+ dbf d3,.loop3 jmp .skip ; .repeat cmp.b #-128,d3 beq.s .loop neg.b d3 sub d3,d4 .loop2 move.b (a0),(a2)+ dbf d3,.loop2 addq #1,a0 .skip subq #1,d4 bgt.s .loop ; add d7,a1 dbf d5,.loop4 dbf d1,.loop5 rts