4 if (flags&FLAGS_READMODIFY)
8 if (flags&FLAGS_TRANSPARENT)
12 c=jaguar_byte_read(ptr++);
13 uint32 c0=(c>>6)&0x03;
14 uint32 c1=(c>>4)&0x03;
15 uint32 c2=(c>>2)&0x03;
16 uint32 c3=(c>>0)&0x03;
20 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
21 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
24 current_line_buffer-=2;
27 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
28 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
31 current_line_buffer-=2;
34 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
35 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
38 current_line_buffer-=2;
41 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
42 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
45 current_line_buffer-=2;
47 if (count==8) // 8 bytes = a phrase (64 bits)
59 c=jaguar_byte_read(ptr++);
60 uint32 c0=(c>>6)&0x03;
61 uint32 c1=(c>>4)&0x03;
62 uint32 c2=(c>>2)&0x03;
63 uint32 c3=(c>>0)&0x03;
65 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
66 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
67 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
68 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
69 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
70 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
71 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
72 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
74 if (count==8) // 8 bytes = a phrase (64 bits)
85 if (flags&FLAGS_TRANSPARENT)
89 c=jaguar_byte_read(ptr++);
90 uint32 c0=(c>>6)&0x03;
91 uint32 c1=(c>>4)&0x03;
92 uint32 c2=(c>>2)&0x03;
93 uint32 c3=(c>>0)&0x03;
97 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
98 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
101 current_line_buffer+=2;
104 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
105 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
108 current_line_buffer+=2;
111 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
112 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
115 current_line_buffer+=2;
118 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
119 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
122 current_line_buffer+=2;
124 if (count==8) // 8 bytes = a phrase (64 bits)
136 c=jaguar_byte_read(ptr++);
137 uint32 c0=(c>>6)&0x03;
138 uint32 c1=(c>>4)&0x03;
139 uint32 c2=(c>>2)&0x03;
140 uint32 c3=(c>>0)&0x03;
142 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c0<<1)+0]);
143 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c0<<1)+1]);
144 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c1<<1)+0]);
145 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c1<<1)+1]);
146 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c2<<1)+0]);
147 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c2<<1)+1]);
148 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(c3<<1)+0]);
149 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(c3<<1)+1]);
151 if (count==8) // 8 bytes = a phrase (64 bits)
163 if (flags&FLAGS_HFLIP)
165 if (flags&FLAGS_TRANSPARENT)
169 c=jaguar_byte_read(ptr++);
170 uint32 c0=(c>>6)&0x03;
171 uint32 c1=(c>>4)&0x03;
172 uint32 c2=(c>>2)&0x03;
173 uint32 c3=(c>>0)&0x03;
177 *current_line_buffer--=paletteRam[(c0<<1)+0];
178 *current_line_buffer--=paletteRam[(c0<<1)+1];
181 current_line_buffer-=2;
184 *current_line_buffer--=paletteRam[(c1<<1)+0];
185 *current_line_buffer--=paletteRam[(c1<<1)+1];
188 current_line_buffer-=2;
191 *current_line_buffer--=paletteRam[(c2<<1)+0];
192 *current_line_buffer--=paletteRam[(c2<<1)+1];
195 current_line_buffer-=2;
198 *current_line_buffer--=paletteRam[(c3<<1)+0];
199 *current_line_buffer--=paletteRam[(c3<<1)+1];
202 current_line_buffer-=2;
204 if (count==8) // 8 bytes = a phrase (64 bits)
216 c=jaguar_byte_read(ptr++);
217 uint32 c0=(c>>6)&0x03;
218 uint32 c1=(c>>4)&0x03;
219 uint32 c2=(c>>2)&0x03;
220 uint32 c3=(c>>0)&0x03;
222 *current_line_buffer--=paletteRam[(c0<<1)+0];
223 *current_line_buffer--=paletteRam[(c0<<1)+1];
224 *current_line_buffer--=paletteRam[(c1<<1)+0];
225 *current_line_buffer--=paletteRam[(c1<<1)+1];
226 *current_line_buffer--=paletteRam[(c2<<1)+0];
227 *current_line_buffer--=paletteRam[(c2<<1)+1];
228 *current_line_buffer--=paletteRam[(c3<<1)+0];
229 *current_line_buffer--=paletteRam[(c3<<1)+1];
231 if (count==8) // 8 bytes = a phrase (64 bits)
242 if (flags&FLAGS_TRANSPARENT)
246 c=jaguar_byte_read(ptr++);
247 uint32 c0=(c>>6)&0x03;
248 uint32 c1=(c>>4)&0x03;
249 uint32 c2=(c>>2)&0x03;
250 uint32 c3=(c>>0)&0x03;
254 *current_line_buffer++=paletteRam[(c0<<1)+0];
255 *current_line_buffer++=paletteRam[(c0<<1)+1];
258 current_line_buffer+=2;
261 *current_line_buffer++=paletteRam[(c1<<1)+0];
262 *current_line_buffer++=paletteRam[(c1<<1)+1];
265 current_line_buffer+=2;
268 *current_line_buffer++=paletteRam[(c2<<1)+0];
269 *current_line_buffer++=paletteRam[(c2<<1)+1];
272 current_line_buffer+=2;
275 *current_line_buffer++=paletteRam[(c3<<1)+0];
276 *current_line_buffer++=paletteRam[(c3<<1)+1];
279 current_line_buffer+=2;
281 if (count==8) // 8 bytes = a phrase (64 bits)
293 c=jaguar_byte_read(ptr++);
294 uint32 c0=(c>>6)&0x03;
295 uint32 c1=(c>>4)&0x03;
296 uint32 c2=(c>>2)&0x03;
297 uint32 c3=(c>>0)&0x03;
299 *current_line_buffer++=paletteRam[(c0<<1)+0];
300 *current_line_buffer++=paletteRam[(c0<<1)+1];
301 *current_line_buffer++=paletteRam[(c1<<1)+0];
302 *current_line_buffer++=paletteRam[(c1<<1)+1];
303 *current_line_buffer++=paletteRam[(c2<<1)+0];
304 *current_line_buffer++=paletteRam[(c2<<1)+1];
305 *current_line_buffer++=paletteRam[(c3<<1)+0];
306 *current_line_buffer++=paletteRam[(c3<<1)+1];
308 if (count==8) // 8 bytes = a phrase (64 bits)