3 if (flags&FLAGS_READMODIFY)
7 if (flags&FLAGS_TRANSPARENT)
11 c=jaguar_byte_read(ptr++);
12 uint32 c0=(c>>6)&0x03;
13 uint32 c1=(c>>4)&0x03;
14 uint32 c2=(c>>2)&0x03;
15 uint32 c3=(c>>0)&0x03;
19 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
20 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
23 current_line_buffer-=2;
26 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
27 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
30 current_line_buffer-=2;
33 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
34 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
37 current_line_buffer-=2;
40 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
41 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
44 current_line_buffer-=2;
52 c=jaguar_byte_read(ptr++);
53 uint32 c0=(c>>6)&0x03;
54 uint32 c1=(c>>4)&0x03;
55 uint32 c2=(c>>2)&0x03;
56 uint32 c3=(c>>0)&0x03;
58 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
59 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
60 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
61 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
62 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
63 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
64 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
65 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
72 if (flags&FLAGS_TRANSPARENT)
76 c=jaguar_byte_read(ptr++);
77 uint32 c0=(c>>6)&0x03;
78 uint32 c1=(c>>4)&0x03;
79 uint32 c2=(c>>2)&0x03;
80 uint32 c3=(c>>0)&0x03;
84 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
85 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
88 current_line_buffer+=2;
91 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
92 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
95 current_line_buffer+=2;
98 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
99 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
102 current_line_buffer+=2;
105 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
106 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
109 current_line_buffer+=2;
117 c=jaguar_byte_read(ptr++);
118 uint32 c0=(c>>6)&0x03;
119 uint32 c1=(c>>4)&0x03;
120 uint32 c2=(c>>2)&0x03;
121 uint32 c3=(c>>0)&0x03;
123 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
124 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
125 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
126 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
127 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
128 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
129 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
130 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
138 if (flags&FLAGS_HFLIP)
140 if (flags&FLAGS_TRANSPARENT)
144 c=jaguar_byte_read(ptr++);
145 uint32 c0=(c>>6)&0x03;
146 uint32 c1=(c>>4)&0x03;
147 uint32 c2=(c>>2)&0x03;
148 uint32 c3=(c>>0)&0x03;
152 *current_line_buffer--=paletteRam[(c0<<1)+0];
153 *current_line_buffer--=paletteRam[(c0<<1)+1];
156 current_line_buffer-=2;
159 *current_line_buffer--=paletteRam[(c1<<1)+0];
160 *current_line_buffer--=paletteRam[(c1<<1)+1];
163 current_line_buffer-=2;
166 *current_line_buffer--=paletteRam[(c2<<1)+0];
167 *current_line_buffer--=paletteRam[(c2<<1)+1];
170 current_line_buffer-=2;
173 *current_line_buffer--=paletteRam[(c3<<1)+0];
174 *current_line_buffer--=paletteRam[(c3<<1)+1];
177 current_line_buffer-=2;
185 c=jaguar_byte_read(ptr++);
186 uint32 c0=(c>>6)&0x03;
187 uint32 c1=(c>>4)&0x03;
188 uint32 c2=(c>>2)&0x03;
189 uint32 c3=(c>>0)&0x03;
191 *current_line_buffer--=paletteRam[(c0<<1)+0];
192 *current_line_buffer--=paletteRam[(c0<<1)+1];
193 *current_line_buffer--=paletteRam[(c1<<1)+0];
194 *current_line_buffer--=paletteRam[(c1<<1)+1];
195 *current_line_buffer--=paletteRam[(c2<<1)+0];
196 *current_line_buffer--=paletteRam[(c2<<1)+1];
197 *current_line_buffer--=paletteRam[(c3<<1)+0];
198 *current_line_buffer--=paletteRam[(c3<<1)+1];
205 if (flags&FLAGS_TRANSPARENT)
209 c=jaguar_byte_read(ptr++);
210 uint32 c0=(c>>6)&0x03;
211 uint32 c1=(c>>4)&0x03;
212 uint32 c2=(c>>2)&0x03;
213 uint32 c3=(c>>0)&0x03;
217 *current_line_buffer++=paletteRam[(c0<<1)+0];
218 *current_line_buffer++=paletteRam[(c0<<1)+1];
221 current_line_buffer+=2;
224 *current_line_buffer++=paletteRam[(c1<<1)+0];
225 *current_line_buffer++=paletteRam[(c1<<1)+1];
228 current_line_buffer+=2;
231 *current_line_buffer++=paletteRam[(c2<<1)+0];
232 *current_line_buffer++=paletteRam[(c2<<1)+1];
235 current_line_buffer+=2;
238 *current_line_buffer++=paletteRam[(c3<<1)+0];
239 *current_line_buffer++=paletteRam[(c3<<1)+1];
242 current_line_buffer+=2;
250 c=jaguar_byte_read(ptr++);
251 uint32 c0=(c>>6)&0x03;
252 uint32 c1=(c>>4)&0x03;
253 uint32 c2=(c>>2)&0x03;
254 uint32 c3=(c>>0)&0x03;
256 *current_line_buffer++=paletteRam[(c0<<1)+0];
257 *current_line_buffer++=paletteRam[(c0<<1)+1];
258 *current_line_buffer++=paletteRam[(c1<<1)+0];
259 *current_line_buffer++=paletteRam[(c1<<1)+1];
260 *current_line_buffer++=paletteRam[(c2<<1)+0];
261 *current_line_buffer++=paletteRam[(c2<<1)+1];
262 *current_line_buffer++=paletteRam[(c3<<1)+0];
263 *current_line_buffer++=paletteRam[(c3<<1)+1];