1 #ifndef blitter_code_0x30000000
2 #define blitter_code_0x30000000
3 void blitter_0x30000000(void)
16 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
17 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
18 WRITE_PIXEL_1(a1, writedata);
21 a2_x = (a2_x + a2_xadd) & a2_mask_x;
22 a2_y = (a2_y + a2_yadd) & a2_mask_y;
29 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
30 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
31 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
34 #ifndef blitter_code_0x34010004
35 #define blitter_code_0x34010004
36 void blitter_0x34010004(void)
49 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
50 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
51 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
52 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
53 WRITE_PIXEL_16(a1, writedata);
56 a2_x = (a2_x + a2_xadd) & a2_mask_x;
57 a2_y = (a2_y + a2_yadd) & a2_mask_y;
64 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
65 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
66 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
69 #ifndef blitter_code_0x30c002a4
70 #define blitter_code_0x30c002a4
71 void blitter_0x30c002a4(void)
84 srcdata = READ_PIXEL_16(a2);
85 dstdata = READ_PIXEL_16(a1);
86 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
87 writedata |= srcdata & ~dstdata;
88 writedata |= srcdata & dstdata;
90 int intensity = srcdata & 0xFF;
99 writedata = (srcdata & 0xFF00) | intensity;
101 WRITE_PIXEL_16(a1, writedata);
104 a2_x = (a2_x + a2_xadd) & a2_mask_x;
105 a2_y = (a2_y + a2_yadd) & a2_mask_y;
106 gd_i[colour_index] += gd_ia;
107 gd_c[colour_index] += gd_ca;
108 colour_index=(colour_index+1)&0x3;
115 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
116 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
117 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
120 #ifndef blitter_code_0x00c042a4
121 #define blitter_code_0x00c042a4
122 void blitter_0x00c042a4(void)
133 uint32 writedata = 0;
135 srcdata = READ_PIXEL_16(a2);
136 dstdata = READ_PIXEL_16(a1);
137 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
138 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
141 writedata |= srcdata & ~dstdata;
142 writedata |= srcdata & dstdata;
143 } else { srczdata=dstzdata; writedata=dstdata; }
146 WRITE_PIXEL_16(a1, writedata);
150 a2_x = (a2_x + a2_xadd) & a2_mask_x;
151 a2_y = (a2_y + a2_yadd) & a2_mask_y;
158 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
159 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
160 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
163 #ifndef blitter_code_0x08c042a4
164 #define blitter_code_0x08c042a4
165 void blitter_0x08c042a4(void)
176 uint32 writedata = 0;
178 srcdata = READ_PIXEL_16(a2);
179 dstdata = READ_PIXEL_16(a1);
180 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
181 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
182 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
185 writedata |= srcdata & ~dstdata;
186 writedata |= srcdata & dstdata;
187 } else { srczdata=dstzdata; writedata=dstdata; }
190 WRITE_PIXEL_16(a1, writedata);
194 a2_x = (a2_x + a2_xadd) & a2_mask_x;
195 a2_y = (a2_y + a2_yadd) & a2_mask_y;
202 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
203 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
204 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
207 #ifndef blitter_code_0x34010024
208 #define blitter_code_0x34010024
209 void blitter_0x34010024(void)
220 uint32 writedata = 0;
222 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
223 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
224 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
227 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
228 } else { srczdata=dstzdata; writedata=dstdata; }
229 WRITE_PIXEL_16(a1, writedata);
232 a2_x = (a2_x + a2_xadd) & a2_mask_x;
233 a2_y = (a2_y + a2_yadd) & a2_mask_y;
240 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
241 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
242 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
245 #ifndef blitter_code_0x24010222
246 #define blitter_code_0x24010222
247 void blitter_0x24010222(void)
258 uint32 writedata = 0;
260 srcdata = READ_RDATA_4(SRCDATA, a2, a2_phrase_mode);
261 srczdata = READ_RDATA_4(SRCZINT, a2, a2_phrase_mode);
262 dstdata = READ_PIXEL_4(a1);
263 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
266 writedata= READ_RDATA_4(PATTERNDATA, a1, a1_phrase_mode);
267 } else { srczdata=dstzdata; writedata=dstdata; }
270 WRITE_PIXEL_4(a1, writedata);
274 a2_x = (a2_x + a2_xadd) & a2_mask_x;
275 a2_y = (a2_y + a2_yadd) & a2_mask_y;
282 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
283 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
284 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
287 #ifndef blitter_code_0x00c04292
288 #define blitter_code_0x00c04292
289 void blitter_0x00c04292(void)
300 uint32 writedata = 0;
302 srcdata = READ_PIXEL_4(a2);
303 dstdata = READ_PIXEL_4(a1);
304 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
305 if (srcdata == READ_RDATA_4(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
308 writedata |= srcdata & ~dstdata;
309 writedata |= srcdata & dstdata;
310 } else { srczdata=dstzdata; writedata=dstdata; }
313 WRITE_PIXEL_4(a1, writedata);
317 a2_x = (a2_x + a2_xadd) & a2_mask_x;
318 a2_y = (a2_y + a2_yadd) & a2_mask_y;
325 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
326 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
327 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
330 #ifndef blitter_code_0x00c0409b
331 #define blitter_code_0x00c0409b
332 void blitter_0x00c0409b(void)
343 uint32 writedata = 0;
345 srcdata = READ_PIXEL_8(a2);
346 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
347 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
350 writedata |= srcdata & ~dstdata;
351 writedata |= srcdata & dstdata;
352 } else { srczdata=dstzdata; writedata=dstdata; }
355 WRITE_PIXEL_8(a1, writedata);
359 a2_x = (a2_x + a2_xadd) & a2_mask_x;
360 a2_y = (a2_y + a2_yadd) & a2_mask_y;
367 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
368 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
369 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
372 #ifndef blitter_code_0x30000003
373 #define blitter_code_0x30000003
374 void blitter_0x30000003(void)
385 uint32 writedata = 0;
387 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
388 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
389 WRITE_PIXEL_8(a1, writedata);
392 a2_x = (a2_x + a2_xadd) & a2_mask_x;
393 a2_y = (a2_y + a2_yadd) & a2_mask_y;
400 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
401 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
402 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
405 #ifndef blitter_code_0x34010003
406 #define blitter_code_0x34010003
407 void blitter_0x34010003(void)
418 uint32 writedata = 0;
420 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
421 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
422 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
423 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
424 WRITE_PIXEL_8(a1, writedata);
427 a2_x = (a2_x + a2_xadd) & a2_mask_x;
428 a2_y = (a2_y + a2_yadd) & a2_mask_y;
435 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
436 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
437 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
440 #ifndef blitter_code_0x30c000ad
441 #define blitter_code_0x30c000ad
442 void blitter_0x30c000ad(void)
453 uint32 writedata = 0;
455 srcdata = READ_PIXEL_32(a2);
456 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
457 writedata |= srcdata & ~dstdata;
458 writedata |= srcdata & dstdata;
459 WRITE_PIXEL_32(a1, writedata);
462 a2_x = (a2_x + a2_xadd) & a2_mask_x;
463 a2_y = (a2_y + a2_yadd) & a2_mask_y;
470 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
471 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
472 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
475 #ifndef blitter_code_0x30c0009b
476 #define blitter_code_0x30c0009b
477 void blitter_0x30c0009b(void)
488 uint32 writedata = 0;
490 srcdata = READ_PIXEL_8(a2);
491 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
492 writedata |= srcdata & ~dstdata;
493 writedata |= srcdata & dstdata;
494 WRITE_PIXEL_8(a1, writedata);
497 a2_x = (a2_x + a2_xadd) & a2_mask_x;
498 a2_y = (a2_y + a2_yadd) & a2_mask_y;
505 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
506 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
507 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
510 #ifndef blitter_code_0x3401001b
511 #define blitter_code_0x3401001b
512 void blitter_0x3401001b(void)
523 uint32 writedata = 0;
525 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
526 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
527 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
528 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
529 WRITE_PIXEL_8(a1, writedata);
532 a2_x = (a2_x + a2_xadd) & a2_mask_x;
533 a2_y = (a2_y + a2_yadd) & a2_mask_y;
540 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
541 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
542 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
545 #ifndef blitter_code_0x30c000a4
546 #define blitter_code_0x30c000a4
547 void blitter_0x30c000a4(void)
558 uint32 writedata = 0;
560 srcdata = READ_PIXEL_16(a2);
561 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
562 writedata |= srcdata & ~dstdata;
563 writedata |= srcdata & dstdata;
564 WRITE_PIXEL_16(a1, writedata);
567 a2_x = (a2_x + a2_xadd) & a2_mask_x;
568 a2_y = (a2_y + a2_yadd) & a2_mask_y;
575 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
576 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
577 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
580 #ifndef blitter_code_0x34010023
581 #define blitter_code_0x34010023
582 void blitter_0x34010023(void)
593 uint32 writedata = 0;
595 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
596 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
597 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
598 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
599 WRITE_PIXEL_8(a1, writedata);
602 a2_x = (a2_x + a2_xadd) & a2_mask_x;
603 a2_y = (a2_y + a2_yadd) & a2_mask_y;
610 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
611 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
612 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
615 #ifndef blitter_code_0x30000023
616 #define blitter_code_0x30000023
617 void blitter_0x30000023(void)
628 uint32 writedata = 0;
630 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
631 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
632 WRITE_PIXEL_8(a1, writedata);
635 a2_x = (a2_x + a2_xadd) & a2_mask_x;
636 a2_y = (a2_y + a2_yadd) & a2_mask_y;
643 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
644 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
645 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
648 #ifndef blitter_code_0x24010024
649 #define blitter_code_0x24010024
650 void blitter_0x24010024(void)
661 uint32 writedata = 0;
663 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
664 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
665 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
666 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
667 WRITE_PIXEL_16(a1, writedata);
670 a2_x = (a2_x + a2_xadd) & a2_mask_x;
671 a2_y = (a2_y + a2_yadd) & a2_mask_y;
678 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
679 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
680 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
683 #ifndef blitter_code_0x00c000a4
684 #define blitter_code_0x00c000a4
685 void blitter_0x00c000a4(void)
696 uint32 writedata = 0;
698 srcdata = READ_PIXEL_16(a2);
699 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
700 writedata |= srcdata & ~dstdata;
701 writedata |= srcdata & dstdata;
702 WRITE_PIXEL_16(a1, writedata);
705 a2_x = (a2_x + a2_xadd) & a2_mask_x;
706 a2_y = (a2_y + a2_yadd) & a2_mask_y;
713 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
714 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
715 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
718 #ifndef blitter_code_0x00c040a4
719 #define blitter_code_0x00c040a4
720 void blitter_0x00c040a4(void)
731 uint32 writedata = 0;
733 srcdata = READ_PIXEL_16(a2);
734 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
735 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
738 writedata |= srcdata & ~dstdata;
739 writedata |= srcdata & dstdata;
740 } else { srczdata=dstzdata; writedata=dstdata; }
743 WRITE_PIXEL_16(a1, writedata);
747 a2_x = (a2_x + a2_xadd) & a2_mask_x;
748 a2_y = (a2_y + a2_yadd) & a2_mask_y;
755 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
756 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
757 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
760 #ifndef blitter_code_0x04010024
761 #define blitter_code_0x04010024
762 void blitter_0x04010024(void)
773 uint32 writedata = 0;
775 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
776 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
777 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
780 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
781 } else { srczdata=dstzdata; writedata=dstdata; }
784 WRITE_PIXEL_16(a1, writedata);
788 a2_x = (a2_x + a2_xadd) & a2_mask_x;
789 a2_y = (a2_y + a2_yadd) & a2_mask_y;
796 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
797 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
798 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
801 #ifndef blitter_code_0x2401001c
802 #define blitter_code_0x2401001c
803 void blitter_0x2401001c(void)
814 uint32 writedata = 0;
816 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
817 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
818 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
821 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
822 } else { srczdata=dstzdata; writedata=dstdata; }
825 WRITE_PIXEL_16(a1, writedata);
829 a2_x = (a2_x + a2_xadd) & a2_mask_x;
830 a2_y = (a2_y + a2_yadd) & a2_mask_y;
837 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
838 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
839 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
842 #ifndef blitter_code_0x3000002b
843 #define blitter_code_0x3000002b
844 void blitter_0x3000002b(void)
855 uint32 writedata = 0;
857 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
858 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
861 } else { srczdata=dstzdata; writedata=dstdata; }
862 WRITE_PIXEL_8(a1, writedata);
865 a2_x = (a2_x + a2_xadd) & a2_mask_x;
866 a2_y = (a2_y + a2_yadd) & a2_mask_y;
873 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
874 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
875 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
878 #ifndef blitter_code_0x3000001b
879 #define blitter_code_0x3000001b
880 void blitter_0x3000001b(void)
891 uint32 writedata = 0;
893 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
894 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
897 } else { srczdata=dstzdata; writedata=dstdata; }
898 WRITE_PIXEL_8(a1, writedata);
901 a2_x = (a2_x + a2_xadd) & a2_mask_x;
902 a2_y = (a2_y + a2_yadd) & a2_mask_y;
909 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
910 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
911 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
914 #ifndef blitter_code_0x00c0009b
915 #define blitter_code_0x00c0009b
916 void blitter_0x00c0009b(void)
927 uint32 writedata = 0;
929 srcdata = READ_PIXEL_8(a2);
930 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
933 writedata |= srcdata & ~dstdata;
934 writedata |= srcdata & dstdata;
935 } else { srczdata=dstzdata; writedata=dstdata; }
938 WRITE_PIXEL_8(a1, writedata);
942 a2_x = (a2_x + a2_xadd) & a2_mask_x;
943 a2_y = (a2_y + a2_yadd) & a2_mask_y;
950 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
951 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
952 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
955 #ifndef blitter_code_0x1000001b
956 #define blitter_code_0x1000001b
957 void blitter_0x1000001b(void)
968 uint32 writedata = 0;
970 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
971 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
974 } else { srczdata=dstzdata; writedata=dstdata; }
975 WRITE_PIXEL_8(a1, writedata);
978 a2_x = (a2_x + a2_xadd) & a2_mask_x;
979 a2_y = (a2_y + a2_yadd) & a2_mask_y;
986 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
987 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
988 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
991 #ifndef blitter_code_0x10000023
992 #define blitter_code_0x10000023
993 void blitter_0x10000023(void)
1001 uint32 srczdata = 0;
1003 uint32 dstzdata = 0;
1004 uint32 writedata = 0;
1006 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1007 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1010 } else { srczdata=dstzdata; writedata=dstdata; }
1011 WRITE_PIXEL_8(a1, writedata);
1014 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1015 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1022 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1023 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1024 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1027 #ifndef blitter_code_0x3401001d
1028 #define blitter_code_0x3401001d
1029 void blitter_0x3401001d(void)
1031 while (outer_loop--)
1033 inner_loop=n_pixels;
1034 while (inner_loop--)
1037 uint32 srczdata = 0;
1039 uint32 dstzdata = 0;
1040 uint32 writedata = 0;
1042 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
1043 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
1044 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
1047 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
1048 } else { srczdata=dstzdata; writedata=dstdata; }
1049 WRITE_PIXEL_32(a1, writedata);
1052 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1053 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1060 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1061 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1062 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1065 #ifndef blitter_code_0x00c000e4
1066 #define blitter_code_0x00c000e4
1067 void blitter_0x00c000e4(void)
1069 while (outer_loop--)
1071 inner_loop=n_pixels;
1072 while (inner_loop--)
1075 uint32 srczdata = 0;
1077 uint32 dstzdata = 0;
1078 uint32 writedata = 0;
1080 srcdata = READ_PIXEL_16(a1);
1081 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
1082 srczdata=z_i[colour_index]>>16;
1085 writedata |= srcdata & ~dstdata;
1086 writedata |= srcdata & dstdata;
1088 int intensity = srcdata & 0xFF;
1089 int ia = gd_ia >> 16;
1091 ia = 0xFFFFFF00 | ia;
1095 if(intensity > 0xFF)
1097 writedata = (srcdata & 0xFF00) | intensity;
1099 } else { srczdata=dstzdata; writedata=dstdata; }
1102 WRITE_PIXEL_16(a2, writedata);
1106 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1107 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1108 z_i[colour_index]+=zadd;
1109 gd_i[colour_index] += gd_ia;
1110 gd_c[colour_index] += gd_ca;
1117 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1118 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1119 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1122 #ifndef blitter_code_0x24010064
1123 #define blitter_code_0x24010064
1124 void blitter_0x24010064(void)
1126 while (outer_loop--)
1128 inner_loop=n_pixels;
1129 while (inner_loop--)
1132 uint32 srczdata = 0;
1134 uint32 dstzdata = 0;
1135 uint32 writedata = 0;
1137 srcdata = READ_RDATA_16(SRCDATA, a1, a1_phrase_mode);
1138 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
1139 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
1142 writedata= READ_RDATA_16(PATTERNDATA, a2, a2_phrase_mode);
1143 } else { srczdata=dstzdata; writedata=dstdata; }
1144 WRITE_PIXEL_16(a2, writedata);
1147 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1148 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1155 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1156 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1157 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1160 #ifndef blitter_code_0x00c040e4
1161 #define blitter_code_0x00c040e4
1162 void blitter_0x00c040e4(void)
1164 while (outer_loop--)
1166 inner_loop=n_pixels;
1167 while (inner_loop--)
1170 uint32 srczdata = 0;
1172 uint32 dstzdata = 0;
1173 uint32 writedata = 0;
1175 srcdata = READ_PIXEL_16(a1);
1176 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
1177 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
1180 writedata |= srcdata & ~dstdata;
1181 writedata |= srcdata & dstdata;
1183 int intensity = srcdata & 0xFF;
1184 int ia = gd_ia >> 16;
1186 ia = 0xFFFFFF00 | ia;
1190 if(intensity > 0xFF)
1192 writedata = (srcdata & 0xFF00) | intensity;
1194 } else { srczdata=dstzdata; writedata=dstdata; }
1197 WRITE_PIXEL_16(a2, writedata);
1201 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1202 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1203 gd_i[colour_index] += gd_ia;
1204 gd_c[colour_index] += gd_ca;
1211 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1212 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1213 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1216 #ifndef blitter_code_0x2000002b
1217 #define blitter_code_0x2000002b
1218 void blitter_0x2000002b(void)
1220 while (outer_loop--)
1222 inner_loop=n_pixels;
1223 while (inner_loop--)
1226 uint32 srczdata = 0;
1228 uint32 dstzdata = 0;
1229 uint32 writedata = 0;
1231 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1232 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1235 } else { srczdata=dstzdata; writedata=dstdata; }
1238 WRITE_PIXEL_8(a1, writedata);
1242 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1243 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1250 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1251 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1252 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1255 #ifndef blitter_code_0x00a00058
1256 #define blitter_code_0x00a00058
1257 void blitter_0x00a00058(void)
1259 while (outer_loop--)
1261 inner_loop=n_pixels;
1262 while (inner_loop--)
1265 uint32 srczdata = 0;
1267 uint32 dstzdata = 0;
1268 uint32 writedata = 0;
1270 srcdata = READ_RDATA_8(SRCDATA, a1, a1_phrase_mode);
1271 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
1274 writedata |= ~srcdata & dstdata;
1275 writedata |= srcdata & dstdata;
1276 } else { srczdata=dstzdata; writedata=dstdata; }
1279 WRITE_PIXEL_8(a2, writedata);
1283 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1284 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1291 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1292 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1293 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1296 #ifndef blitter_code_0x050100d8
1297 #define blitter_code_0x050100d8
1298 void blitter_0x050100d8(void)
1300 while (outer_loop--)
1302 inner_loop=n_pixels;
1303 while (inner_loop--)
1306 uint32 srczdata = 0;
1308 uint32 dstzdata = 0;
1309 uint32 writedata = 0;
1311 srcdata = READ_PIXEL_8(a1);
1312 srczdata = READ_RDATA_1(SRCZINT, a1, a1_phrase_mode);
1313 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
1316 writedata= READ_RDATA_8(PATTERNDATA, a2, a2_phrase_mode);
1317 } else { srczdata=dstzdata; writedata=dstdata; }
1318 WRITE_PIXEL_8(a2, writedata);
1321 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1322 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1329 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1330 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1331 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1334 #ifndef blitter_code_0x00c00280
1335 #define blitter_code_0x00c00280
1336 void blitter_0x00c00280(void)
1338 while (outer_loop--)
1340 inner_loop=n_pixels;
1341 while (inner_loop--)
1344 uint32 srczdata = 0;
1346 uint32 dstzdata = 0;
1347 uint32 writedata = 0;
1349 srcdata = READ_PIXEL_1(a2);
1350 dstdata = READ_PIXEL_1(a1);
1351 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
1354 writedata |= srcdata & ~dstdata;
1355 writedata |= srcdata & dstdata;
1356 } else { srczdata=dstzdata; writedata=dstdata; }
1359 WRITE_PIXEL_1(a1, writedata);
1363 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1364 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1371 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1372 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1373 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1376 #ifndef blitter_code_0x04010064
1377 #define blitter_code_0x04010064
1378 void blitter_0x04010064(void)
1380 while (outer_loop--)
1382 inner_loop=n_pixels;
1383 while (inner_loop--)
1386 uint32 srczdata = 0;
1388 uint32 dstzdata = 0;
1389 uint32 writedata = 0;
1391 srcdata = READ_RDATA_16(SRCDATA, a1, a1_phrase_mode);
1392 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
1393 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
1396 writedata= READ_RDATA_16(PATTERNDATA, a2, a2_phrase_mode);
1397 } else { srczdata=dstzdata; writedata=dstdata; }
1400 WRITE_PIXEL_16(a2, writedata);
1404 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1405 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1412 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1413 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1414 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1417 #ifndef blitter_code_0x24010003
1418 #define blitter_code_0x24010003
1419 void blitter_0x24010003(void)
1421 while (outer_loop--)
1423 inner_loop=n_pixels;
1424 while (inner_loop--)
1427 uint32 srczdata = 0;
1429 uint32 dstzdata = 0;
1430 uint32 writedata = 0;
1432 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1433 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
1434 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1435 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
1436 WRITE_PIXEL_8(a1, writedata);
1439 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1440 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1447 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1448 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1449 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1452 #ifndef blitter_code_0x24010023
1453 #define blitter_code_0x24010023
1454 void blitter_0x24010023(void)
1456 while (outer_loop--)
1458 inner_loop=n_pixels;
1459 while (inner_loop--)
1462 uint32 srczdata = 0;
1464 uint32 dstzdata = 0;
1465 uint32 writedata = 0;
1467 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1468 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
1469 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1470 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
1471 WRITE_PIXEL_8(a1, writedata);
1474 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1475 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1482 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1483 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1484 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1487 #ifndef blitter_code_0x00c0429b
1488 #define blitter_code_0x00c0429b
1489 void blitter_0x00c0429b(void)
1491 while (outer_loop--)
1493 inner_loop=n_pixels;
1494 while (inner_loop--)
1497 uint32 srczdata = 0;
1499 uint32 dstzdata = 0;
1500 uint32 writedata = 0;
1502 srcdata = READ_PIXEL_8(a2);
1503 dstdata = READ_PIXEL_8(a1);
1504 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
1505 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
1508 writedata |= srcdata & ~dstdata;
1509 writedata |= srcdata & dstdata;
1510 } else { srczdata=dstzdata; writedata=dstdata; }
1513 WRITE_PIXEL_8(a1, writedata);
1517 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1518 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1525 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1526 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1527 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1530 #ifndef blitter_code_0x00c042db
1531 #define blitter_code_0x00c042db
1532 void blitter_0x00c042db(void)
1535 uint32 srczdata = 0;
1537 uint32 dstzdata = 0;
1538 uint32 writedata = 0;
1540 uint32 compare_value=READ_RDATA_8(PATTERNDATA, a1,a1_phrase_mode);
1542 while (outer_loop--)
1544 inner_loop=n_pixels;
1545 while (inner_loop--)
1550 srcdata = READ_PIXEL_8(a1);
1551 if (srcdata != compare_value )
1553 dstdata = READ_PIXEL_8(a2);
1554 writedata |= srcdata & ~dstdata;
1555 writedata |= srcdata & dstdata;
1556 WRITE_PIXEL_8(a2, writedata);
1560 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1561 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1568 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1569 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1570 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1573 #ifndef blitter_code_0x1401001b
1574 #define blitter_code_0x1401001b
1575 void blitter_0x1401001b(void)
1577 while (outer_loop--)
1579 inner_loop=n_pixels;
1580 while (inner_loop--)
1583 uint32 srczdata = 0;
1585 uint32 dstzdata = 0;
1586 uint32 writedata = 0;
1588 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1589 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
1590 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1593 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
1594 } else { srczdata=dstzdata; writedata=dstdata; }
1595 WRITE_PIXEL_8(a1, writedata);
1598 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1599 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1606 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1607 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1608 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1611 #ifndef blitter_code_0x24010004
1612 #define blitter_code_0x24010004
1613 void blitter_0x24010004(void)
1615 while (outer_loop--)
1617 inner_loop=n_pixels;
1618 while (inner_loop--)
1621 uint32 srczdata = 0;
1623 uint32 dstzdata = 0;
1624 uint32 writedata = 0;
1626 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
1627 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
1628 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
1629 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
1630 WRITE_PIXEL_16(a1, writedata);
1633 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1634 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1641 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1642 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1643 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1646 #ifndef blitter_code_0x308000a4
1647 #define blitter_code_0x308000a4
1648 void blitter_0x308000a4(void)
1650 while (outer_loop--)
1652 inner_loop=n_pixels;
1653 while (inner_loop--)
1656 uint32 srczdata = 0;
1658 uint32 dstzdata = 0;
1659 uint32 writedata = 0;
1661 srcdata = READ_PIXEL_16(a2);
1662 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
1663 writedata |= srcdata & dstdata;
1664 WRITE_PIXEL_16(a1, writedata);
1667 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1668 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1675 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1676 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1677 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1680 #ifndef blitter_code_0x14010024
1681 #define blitter_code_0x14010024
1682 void blitter_0x14010024(void)
1684 while (outer_loop--)
1686 inner_loop=n_pixels;
1687 while (inner_loop--)
1690 uint32 srczdata = 0;
1692 uint32 dstzdata = 0;
1693 uint32 writedata = 0;
1695 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
1696 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
1697 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
1698 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
1699 WRITE_PIXEL_16(a1, writedata);
1702 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1703 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1710 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1711 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1712 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1715 #ifndef blitter_code_0x14010023
1716 #define blitter_code_0x14010023
1717 void blitter_0x14010023(void)
1719 while (outer_loop--)
1721 inner_loop=n_pixels;
1722 while (inner_loop--)
1725 uint32 srczdata = 0;
1727 uint32 dstzdata = 0;
1728 uint32 writedata = 0;
1730 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1731 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
1732 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1733 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
1734 WRITE_PIXEL_8(a1, writedata);
1737 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1738 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1745 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1746 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1747 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1750 #ifndef blitter_code_0x30e000a4
1751 #define blitter_code_0x30e000a4
1752 void blitter_0x30e000a4(void)
1754 while (outer_loop--)
1756 inner_loop=n_pixels;
1757 while (inner_loop--)
1760 uint32 srczdata = 0;
1762 uint32 dstzdata = 0;
1763 uint32 writedata = 0;
1765 srcdata = READ_PIXEL_16(a2);
1766 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
1767 writedata |= ~srcdata & dstdata;
1768 writedata |= srcdata & ~dstdata;
1769 writedata |= srcdata & dstdata;
1770 WRITE_PIXEL_16(a1, writedata);
1773 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1774 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1781 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1782 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1783 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1786 #ifndef blitter_code_0x10000013
1787 #define blitter_code_0x10000013
1788 void blitter_0x10000013(void)
1790 while (outer_loop--)
1792 inner_loop=n_pixels;
1793 while (inner_loop--)
1796 uint32 srczdata = 0;
1798 uint32 dstzdata = 0;
1799 uint32 writedata = 0;
1801 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1802 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1803 WRITE_PIXEL_8(a1, writedata);
1806 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1807 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1814 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1815 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1816 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1819 #ifndef blitter_code_0x00c00292
1820 #define blitter_code_0x00c00292
1821 void blitter_0x00c00292(void)
1823 while (outer_loop--)
1825 inner_loop=n_pixels;
1826 while (inner_loop--)
1829 uint32 srczdata = 0;
1831 uint32 dstzdata = 0;
1832 uint32 writedata = 0;
1834 srcdata = READ_PIXEL_4(a2);
1835 dstdata = READ_PIXEL_4(a1);
1836 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
1837 writedata |= srcdata & ~dstdata;
1838 writedata |= srcdata & dstdata;
1839 WRITE_PIXEL_4(a1, writedata);
1842 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1843 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1850 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1851 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1852 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1855 #ifndef blitter_code_0x008000a4
1856 #define blitter_code_0x008000a4
1857 void blitter_0x008000a4(void)
1859 while (outer_loop--)
1861 inner_loop=n_pixels;
1862 while (inner_loop--)
1865 uint32 srczdata = 0;
1867 uint32 dstzdata = 0;
1868 uint32 writedata = 0;
1870 srcdata = READ_PIXEL_16(a2);
1871 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
1872 writedata |= srcdata & dstdata;
1873 WRITE_PIXEL_16(a1, writedata);
1876 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1877 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1884 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1885 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1886 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1889 #ifndef blitter_code_0x00800092
1890 #define blitter_code_0x00800092
1891 void blitter_0x00800092(void)
1893 while (outer_loop--)
1895 inner_loop=n_pixels;
1896 while (inner_loop--)
1899 uint32 srczdata = 0;
1901 uint32 dstzdata = 0;
1902 uint32 writedata = 0;
1904 srcdata = READ_PIXEL_4(a2);
1905 dstdata = READ_RDATA_4(DSTDATA, a1, a1_phrase_mode);
1906 writedata |= srcdata & dstdata;
1907 WRITE_PIXEL_4(a1, writedata);
1910 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1911 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1918 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1919 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1920 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1923 #ifndef blitter_code_0x2cc10023
1924 #define blitter_code_0x2cc10023
1925 void blitter_0x2cc10023(void)
1927 while (outer_loop--)
1929 inner_loop=n_pixels;
1930 while (inner_loop--)
1933 uint32 srczdata = 0;
1935 uint32 dstzdata = 0;
1936 uint32 writedata = 0;
1938 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1939 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
1940 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1941 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
1944 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
1945 } else { srczdata=dstzdata; writedata=dstdata; }
1948 WRITE_PIXEL_8(a1, writedata);
1952 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1953 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1960 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1961 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
1962 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
1965 #ifndef blitter_code_0x34c10023
1966 #define blitter_code_0x34c10023
1967 void blitter_0x34c10023(void)
1969 while (outer_loop--)
1971 inner_loop=n_pixels;
1972 while (inner_loop--)
1975 uint32 srczdata = 0;
1977 uint32 dstzdata = 0;
1978 uint32 writedata = 0;
1980 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
1981 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
1982 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
1985 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
1986 } else { srczdata=dstzdata; writedata=dstdata; }
1987 WRITE_PIXEL_8(a1, writedata);
1990 a2_x = (a2_x + a2_xadd) & a2_mask_x;
1991 a2_y = (a2_y + a2_yadd) & a2_mask_y;
1998 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
1999 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2000 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2003 #ifndef blitter_code_0x38c0429b
2004 #define blitter_code_0x38c0429b
2005 void blitter_0x38c0429b(void)
2007 while (outer_loop--)
2009 inner_loop=n_pixels;
2010 while (inner_loop--)
2013 uint32 srczdata = 0;
2015 uint32 dstzdata = 0;
2016 uint32 writedata = 0;
2018 srcdata = READ_PIXEL_8(a2);
2019 dstdata = READ_PIXEL_8(a1);
2020 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
2021 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2022 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
2025 writedata |= srcdata & ~dstdata;
2026 writedata |= srcdata & dstdata;
2027 } else { srczdata=dstzdata; writedata=dstdata; }
2028 WRITE_PIXEL_8(a1, writedata);
2031 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2032 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2039 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2040 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2041 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2044 #ifndef blitter_code_0x3cc1001b
2045 #define blitter_code_0x3cc1001b
2046 void blitter_0x3cc1001b(void)
2048 while (outer_loop--)
2050 inner_loop=n_pixels;
2051 while (inner_loop--)
2054 uint32 srczdata = 0;
2056 uint32 dstzdata = 0;
2057 uint32 writedata = 0;
2059 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2060 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2061 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2062 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2065 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2066 } else { srczdata=dstzdata; writedata=dstdata; }
2067 WRITE_PIXEL_8(a1, writedata);
2070 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2071 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2078 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2079 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2080 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2083 #ifndef blitter_code_0x2cc1001b
2084 #define blitter_code_0x2cc1001b
2085 void blitter_0x2cc1001b(void)
2087 while (outer_loop--)
2089 inner_loop=n_pixels;
2090 while (inner_loop--)
2093 uint32 srczdata = 0;
2095 uint32 dstzdata = 0;
2096 uint32 writedata = 0;
2098 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2099 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2100 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2101 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2104 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2105 } else { srczdata=dstzdata; writedata=dstdata; }
2108 WRITE_PIXEL_8(a1, writedata);
2112 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2113 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2120 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2121 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2122 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2125 #ifndef blitter_code_0x08c0429b
2126 #define blitter_code_0x08c0429b
2127 void blitter_0x08c0429b(void)
2129 while (outer_loop--)
2131 inner_loop=n_pixels;
2132 while (inner_loop--)
2135 uint32 srczdata = 0;
2137 uint32 dstzdata = 0;
2138 uint32 writedata = 0;
2140 srcdata = READ_PIXEL_8(a2);
2141 dstdata = READ_PIXEL_8(a1);
2142 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
2143 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2144 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
2147 writedata |= srcdata & ~dstdata;
2148 writedata |= srcdata & dstdata;
2149 } else { srczdata=dstzdata; writedata=dstdata; }
2152 WRITE_PIXEL_8(a1, writedata);
2156 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2157 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2164 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2165 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2166 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2169 #ifndef blitter_code_0x1cc1001b
2170 #define blitter_code_0x1cc1001b
2171 void blitter_0x1cc1001b(void)
2173 while (outer_loop--)
2175 inner_loop=n_pixels;
2176 while (inner_loop--)
2179 uint32 srczdata = 0;
2181 uint32 dstzdata = 0;
2182 uint32 writedata = 0;
2184 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2185 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2186 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2187 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2190 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2191 } else { srczdata=dstzdata; writedata=dstdata; }
2192 WRITE_PIXEL_8(a1, writedata);
2195 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2196 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2203 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2204 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2205 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2208 #ifndef blitter_code_0x0cc1001b
2209 #define blitter_code_0x0cc1001b
2210 void blitter_0x0cc1001b(void)
2212 while (outer_loop--)
2214 inner_loop=n_pixels;
2215 while (inner_loop--)
2218 uint32 srczdata = 0;
2220 uint32 dstzdata = 0;
2221 uint32 writedata = 0;
2223 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2224 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2225 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2226 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2229 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2230 } else { srczdata=dstzdata; writedata=dstdata; }
2233 WRITE_PIXEL_8(a1, writedata);
2237 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2238 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2245 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2246 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2247 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2250 #ifndef blitter_code_0x3cc10023
2251 #define blitter_code_0x3cc10023
2252 void blitter_0x3cc10023(void)
2254 while (outer_loop--)
2256 inner_loop=n_pixels;
2257 while (inner_loop--)
2260 uint32 srczdata = 0;
2262 uint32 dstzdata = 0;
2263 uint32 writedata = 0;
2265 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2266 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2267 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2268 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2271 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2272 } else { srczdata=dstzdata; writedata=dstdata; }
2273 WRITE_PIXEL_8(a1, writedata);
2276 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2277 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2284 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2285 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2286 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2289 #ifndef blitter_code_0x08c0009b
2290 #define blitter_code_0x08c0009b
2291 void blitter_0x08c0009b(void)
2293 while (outer_loop--)
2295 inner_loop=n_pixels;
2296 while (inner_loop--)
2299 uint32 srczdata = 0;
2301 uint32 dstzdata = 0;
2302 uint32 writedata = 0;
2304 srcdata = READ_PIXEL_8(a2);
2305 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2306 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2309 writedata |= srcdata & ~dstdata;
2310 writedata |= srcdata & dstdata;
2311 } else { srczdata=dstzdata; writedata=dstdata; }
2314 WRITE_PIXEL_8(a1, writedata);
2318 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2319 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2326 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2327 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2328 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2331 #ifndef blitter_code_0x28c0429b
2332 #define blitter_code_0x28c0429b
2333 void blitter_0x28c0429b(void)
2335 while (outer_loop--)
2337 inner_loop=n_pixels;
2338 while (inner_loop--)
2341 uint32 srczdata = 0;
2343 uint32 dstzdata = 0;
2344 uint32 writedata = 0;
2346 srcdata = READ_PIXEL_8(a2);
2347 dstdata = READ_PIXEL_8(a1);
2348 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
2349 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2350 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
2353 writedata |= srcdata & ~dstdata;
2354 writedata |= srcdata & dstdata;
2355 } else { srczdata=dstzdata; writedata=dstdata; }
2358 WRITE_PIXEL_8(a1, writedata);
2362 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2363 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2370 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2371 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2372 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2375 #ifndef blitter_code_0x18c0429b
2376 #define blitter_code_0x18c0429b
2377 void blitter_0x18c0429b(void)
2379 while (outer_loop--)
2381 inner_loop=n_pixels;
2382 while (inner_loop--)
2385 uint32 srczdata = 0;
2387 uint32 dstzdata = 0;
2388 uint32 writedata = 0;
2390 srcdata = READ_PIXEL_8(a2);
2391 dstdata = READ_PIXEL_8(a1);
2392 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
2393 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2394 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
2397 writedata |= srcdata & ~dstdata;
2398 writedata |= srcdata & dstdata;
2399 } else { srczdata=dstzdata; writedata=dstdata; }
2400 WRITE_PIXEL_8(a1, writedata);
2403 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2404 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2411 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2412 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2413 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2416 #ifndef blitter_code_0x34010005
2417 #define blitter_code_0x34010005
2418 void blitter_0x34010005(void)
2420 while (outer_loop--)
2422 inner_loop=n_pixels;
2423 while (inner_loop--)
2426 uint32 srczdata = 0;
2428 uint32 dstzdata = 0;
2429 uint32 writedata = 0;
2431 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
2432 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
2433 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
2434 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
2435 WRITE_PIXEL_32(a1, writedata);
2438 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2439 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2446 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2447 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2448 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2451 #ifndef blitter_code_0x3401002d
2452 #define blitter_code_0x3401002d
2453 void blitter_0x3401002d(void)
2455 while (outer_loop--)
2457 inner_loop=n_pixels;
2458 while (inner_loop--)
2461 uint32 srczdata = 0;
2463 uint32 dstzdata = 0;
2464 uint32 writedata = 0;
2466 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
2467 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
2468 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
2469 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
2470 WRITE_PIXEL_32(a1, writedata);
2473 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2474 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2481 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2482 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2483 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2486 #ifndef blitter_code_0x14010025
2487 #define blitter_code_0x14010025
2488 void blitter_0x14010025(void)
2490 while (outer_loop--)
2492 inner_loop=n_pixels;
2493 while (inner_loop--)
2496 uint32 srczdata = 0;
2498 uint32 dstzdata = 0;
2499 uint32 writedata = 0;
2501 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
2502 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
2503 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
2504 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
2505 WRITE_PIXEL_32(a1, writedata);
2508 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2509 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2516 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2517 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2518 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2521 #ifndef blitter_code_0x34010025
2522 #define blitter_code_0x34010025
2523 void blitter_0x34010025(void)
2525 while (outer_loop--)
2527 inner_loop=n_pixels;
2528 while (inner_loop--)
2531 uint32 srczdata = 0;
2533 uint32 dstzdata = 0;
2534 uint32 writedata = 0;
2536 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
2537 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
2538 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
2539 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
2540 WRITE_PIXEL_32(a1, writedata);
2543 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2544 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2551 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2552 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2553 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2556 #ifndef blitter_code_0x3401006c
2557 #define blitter_code_0x3401006c
2558 void blitter_0x3401006c(void)
2560 while (outer_loop--)
2562 inner_loop=n_pixels;
2563 while (inner_loop--)
2566 uint32 srczdata = 0;
2568 uint32 dstzdata = 0;
2569 uint32 writedata = 0;
2571 srcdata = READ_RDATA_32(SRCDATA, a1, a1_phrase_mode);
2572 srczdata = READ_RDATA_32(SRCZINT, a1, a1_phrase_mode);
2573 dstdata = READ_RDATA_32(DSTDATA, a2, a2_phrase_mode);
2574 writedata= READ_RDATA_32(PATTERNDATA, a2, a2_phrase_mode);
2575 WRITE_PIXEL_32(a2, writedata);
2578 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2579 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2586 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2587 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2588 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2591 #ifndef blitter_code_0x2401022a
2592 #define blitter_code_0x2401022a
2593 void blitter_0x2401022a(void)
2595 while (outer_loop--)
2597 inner_loop=n_pixels;
2598 while (inner_loop--)
2601 uint32 srczdata = 0;
2603 uint32 dstzdata = 0;
2604 uint32 writedata = 0;
2606 srcdata = READ_RDATA_4(SRCDATA, a2, a2_phrase_mode);
2607 srczdata = READ_RDATA_4(SRCZINT, a2, a2_phrase_mode);
2608 dstdata = READ_PIXEL_4(a1);
2609 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
2610 writedata= READ_RDATA_4(PATTERNDATA, a1, a1_phrase_mode);
2611 WRITE_PIXEL_4(a1, writedata);
2614 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2615 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2622 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2623 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2624 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2627 #ifndef blitter_code_0x2401006a
2628 #define blitter_code_0x2401006a
2629 void blitter_0x2401006a(void)
2631 while (outer_loop--)
2633 inner_loop=n_pixels;
2634 while (inner_loop--)
2637 uint32 srczdata = 0;
2639 uint32 dstzdata = 0;
2640 uint32 writedata = 0;
2642 srcdata = READ_RDATA_32(SRCDATA, a1, a1_phrase_mode);
2643 srczdata = READ_RDATA_32(SRCZINT, a1, a1_phrase_mode);
2644 dstdata = READ_RDATA_32(DSTDATA, a2, a2_phrase_mode);
2645 writedata= READ_RDATA_32(PATTERNDATA, a2, a2_phrase_mode);
2646 WRITE_PIXEL_32(a2, writedata);
2649 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2650 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2657 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2658 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2659 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2662 #ifndef blitter_code_0x00c002e4
2663 #define blitter_code_0x00c002e4
2664 void blitter_0x00c002e4(void)
2666 while (outer_loop--)
2668 inner_loop=n_pixels;
2669 while (inner_loop--)
2672 uint32 srczdata = 0;
2674 uint32 dstzdata = 0;
2675 uint32 writedata = 0;
2677 srcdata = READ_PIXEL_16(a1);
2678 dstdata = READ_PIXEL_16(a2);
2679 dstzdata = READ_RDATA_16(DSTZ, a2, a2_phrase_mode);
2680 srczdata=z_i[colour_index]>>16;
2681 writedata |= srcdata & ~dstdata;
2682 writedata |= srcdata & dstdata;
2684 int intensity = srcdata & 0xFF;
2685 int ia = gd_ia >> 16;
2687 ia = 0xFFFFFF00 | ia;
2691 if(intensity > 0xFF)
2693 writedata = (srcdata & 0xFF00) | intensity;
2695 WRITE_PIXEL_16(a2, writedata);
2698 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2699 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2700 z_i[colour_index]+=zadd;
2701 gd_i[colour_index] += gd_ia;
2702 gd_c[colour_index] += gd_ca;
2709 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2710 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2711 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2714 #ifndef blitter_code_0x04010212
2715 #define blitter_code_0x04010212
2716 void blitter_0x04010212(void)
2718 while (outer_loop--)
2720 inner_loop=n_pixels;
2721 while (inner_loop--)
2724 uint32 srczdata = 0;
2726 uint32 dstzdata = 0;
2727 uint32 writedata = 0;
2729 srcdata = READ_RDATA_4(SRCDATA, a2, a2_phrase_mode);
2730 srczdata = READ_RDATA_4(SRCZINT, a2, a2_phrase_mode);
2731 dstdata = READ_PIXEL_4(a1);
2732 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
2733 writedata= READ_RDATA_4(PATTERNDATA, a1, a1_phrase_mode);
2734 WRITE_PIXEL_4(a1, writedata);
2737 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2738 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2745 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2746 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2747 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2750 #ifndef blitter_code_0x2c010023
2751 #define blitter_code_0x2c010023
2752 void blitter_0x2c010023(void)
2754 while (outer_loop--)
2756 inner_loop=n_pixels;
2757 while (inner_loop--)
2760 uint32 srczdata = 0;
2762 uint32 dstzdata = 0;
2763 uint32 writedata = 0;
2765 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2766 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2767 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2768 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2771 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2772 } else { srczdata=dstzdata; writedata=dstdata; }
2775 WRITE_PIXEL_8(a1, writedata);
2779 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2780 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2787 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2788 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2789 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2792 #ifndef blitter_code_0x3c010023
2793 #define blitter_code_0x3c010023
2794 void blitter_0x3c010023(void)
2796 while (outer_loop--)
2798 inner_loop=n_pixels;
2799 while (inner_loop--)
2802 uint32 srczdata = 0;
2804 uint32 dstzdata = 0;
2805 uint32 writedata = 0;
2807 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
2808 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
2809 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
2810 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2813 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
2814 } else { srczdata=dstzdata; writedata=dstdata; }
2815 WRITE_PIXEL_8(a1, writedata);
2818 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2819 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2826 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2827 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2828 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2831 #ifndef blitter_code_0x3401006b
2832 #define blitter_code_0x3401006b
2833 void blitter_0x3401006b(void)
2835 while (outer_loop--)
2837 inner_loop=n_pixels;
2838 while (inner_loop--)
2841 uint32 srczdata = 0;
2843 uint32 dstzdata = 0;
2844 uint32 writedata = 0;
2846 srcdata = READ_RDATA_32(SRCDATA, a1, a1_phrase_mode);
2847 srczdata = READ_RDATA_32(SRCZINT, a1, a1_phrase_mode);
2848 dstdata = READ_RDATA_32(DSTDATA, a2, a2_phrase_mode);
2851 writedata= READ_RDATA_32(PATTERNDATA, a2, a2_phrase_mode);
2852 } else { srczdata=dstzdata; writedata=dstdata; }
2853 WRITE_PIXEL_32(a2, writedata);
2856 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2857 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2864 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2865 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2866 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2869 #ifndef blitter_code_0x00c000ad
2870 #define blitter_code_0x00c000ad
2871 void blitter_0x00c000ad(void)
2873 while (outer_loop--)
2875 inner_loop=n_pixels;
2876 while (inner_loop--)
2879 uint32 srczdata = 0;
2881 uint32 dstzdata = 0;
2882 uint32 writedata = 0;
2884 srcdata = READ_PIXEL_32(a2);
2885 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
2886 writedata |= srcdata & ~dstdata;
2887 writedata |= srcdata & dstdata;
2888 WRITE_PIXEL_32(a1, writedata);
2891 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2892 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2899 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2900 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2901 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2904 #ifndef blitter_code_0x00e002ad
2905 #define blitter_code_0x00e002ad
2906 void blitter_0x00e002ad(void)
2908 while (outer_loop--)
2910 inner_loop=n_pixels;
2911 while (inner_loop--)
2914 uint32 srczdata = 0;
2916 uint32 dstzdata = 0;
2917 uint32 writedata = 0;
2919 srcdata = READ_PIXEL_32(a2);
2920 dstdata = READ_PIXEL_32(a1);
2921 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
2922 writedata |= ~srcdata & dstdata;
2923 writedata |= srcdata & ~dstdata;
2924 writedata |= srcdata & dstdata;
2925 WRITE_PIXEL_32(a1, writedata);
2928 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2929 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2936 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2937 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2938 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2941 #ifndef blitter_code_0x08c040a4
2942 #define blitter_code_0x08c040a4
2943 void blitter_0x08c040a4(void)
2945 while (outer_loop--)
2947 inner_loop=n_pixels;
2948 while (inner_loop--)
2951 uint32 srczdata = 0;
2953 uint32 dstzdata = 0;
2954 uint32 writedata = 0;
2956 srcdata = READ_PIXEL_16(a2);
2957 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
2958 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
2959 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
2962 writedata |= srcdata & ~dstdata;
2963 writedata |= srcdata & dstdata;
2964 } else { srczdata=dstzdata; writedata=dstdata; }
2967 WRITE_PIXEL_16(a1, writedata);
2971 a2_x = (a2_x + a2_xadd) & a2_mask_x;
2972 a2_y = (a2_y + a2_yadd) & a2_mask_y;
2979 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
2980 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
2981 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
2984 #ifndef blitter_code_0x08c000e4
2985 #define blitter_code_0x08c000e4
2986 void blitter_0x08c000e4(void)
2988 while (outer_loop--)
2990 inner_loop=n_pixels;
2991 while (inner_loop--)
2994 uint32 srczdata = 0;
2996 uint32 dstzdata = 0;
2997 uint32 writedata = 0;
2999 srcdata = READ_PIXEL_16(a1);
3000 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
3001 srczdata=z_i[colour_index]>>16;
3004 writedata |= srcdata & ~dstdata;
3005 writedata |= srcdata & dstdata;
3007 int intensity = srcdata & 0xFF;
3008 int ia = gd_ia >> 16;
3010 ia = 0xFFFFFF00 | ia;
3014 if(intensity > 0xFF)
3016 writedata = (srcdata & 0xFF00) | intensity;
3018 } else { srczdata=dstzdata; writedata=dstdata; }
3021 WRITE_PIXEL_16(a2, writedata);
3025 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3026 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3027 z_i[colour_index]+=zadd;
3028 gd_i[colour_index] += gd_ia;
3029 gd_c[colour_index] += gd_ca;
3036 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3037 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3038 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3041 #ifndef blitter_code_0x2c010024
3042 #define blitter_code_0x2c010024
3043 void blitter_0x2c010024(void)
3045 while (outer_loop--)
3047 inner_loop=n_pixels;
3048 while (inner_loop--)
3051 uint32 srczdata = 0;
3053 uint32 dstzdata = 0;
3054 uint32 writedata = 0;
3056 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3057 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3058 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3059 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
3062 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3063 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
3064 } else { srczdata=dstzdata; writedata=dstdata; }
3067 WRITE_PIXEL_16(a1, writedata);
3071 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3072 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3073 gd_i[colour_index] += gd_ia;
3074 gd_c[colour_index] += gd_ca;
3081 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3082 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3083 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3086 #ifndef blitter_code_0x3c010024
3087 #define blitter_code_0x3c010024
3088 void blitter_0x3c010024(void)
3090 while (outer_loop--)
3092 inner_loop=n_pixels;
3093 while (inner_loop--)
3096 uint32 srczdata = 0;
3098 uint32 dstzdata = 0;
3099 uint32 writedata = 0;
3101 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3102 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3103 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3104 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
3107 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3108 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
3109 } else { srczdata=dstzdata; writedata=dstdata; }
3110 WRITE_PIXEL_16(a1, writedata);
3113 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3114 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3115 gd_i[colour_index] += gd_ia;
3116 gd_c[colour_index] += gd_ca;
3117 colour_index=(colour_index+1)&0x3;
3124 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3125 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3126 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3129 #ifndef blitter_code_0x0c010024
3130 #define blitter_code_0x0c010024
3131 void blitter_0x0c010024(void)
3133 while (outer_loop--)
3135 inner_loop=n_pixels;
3136 while (inner_loop--)
3139 uint32 srczdata = 0;
3141 uint32 dstzdata = 0;
3142 uint32 writedata = 0;
3144 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3145 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3146 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3147 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
3150 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3151 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
3152 } else { srczdata=dstzdata; writedata=dstdata; }
3155 WRITE_PIXEL_16(a1, writedata);
3159 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3160 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3161 gd_i[colour_index] += gd_ia;
3162 gd_c[colour_index] += gd_ca;
3169 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3170 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3171 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3174 #ifndef blitter_code_0x1401001d
3175 #define blitter_code_0x1401001d
3176 void blitter_0x1401001d(void)
3178 while (outer_loop--)
3180 inner_loop=n_pixels;
3181 while (inner_loop--)
3184 uint32 srczdata = 0;
3186 uint32 dstzdata = 0;
3187 uint32 writedata = 0;
3189 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
3190 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
3191 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
3192 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
3193 WRITE_PIXEL_32(a1, writedata);
3196 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3197 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3204 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3205 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3206 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3209 #ifndef blitter_code_0x34c10003
3210 #define blitter_code_0x34c10003
3211 void blitter_0x34c10003(void)
3213 while (outer_loop--)
3215 inner_loop=n_pixels;
3216 while (inner_loop--)
3219 uint32 srczdata = 0;
3221 uint32 dstzdata = 0;
3222 uint32 writedata = 0;
3224 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
3225 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
3226 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
3227 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
3228 WRITE_PIXEL_8(a1, writedata);
3231 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3232 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3239 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3240 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3241 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3244 #ifndef blitter_code_0x306002a4
3245 #define blitter_code_0x306002a4
3246 void blitter_0x306002a4(void)
3248 while (outer_loop--)
3250 inner_loop=n_pixels;
3251 while (inner_loop--)
3254 uint32 srczdata = 0;
3256 uint32 dstzdata = 0;
3257 uint32 writedata = 0;
3259 srcdata = READ_PIXEL_16(a2);
3260 dstdata = READ_PIXEL_16(a1);
3261 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
3262 writedata |= ~srcdata & dstdata;
3263 writedata |= srcdata & ~dstdata;
3264 WRITE_PIXEL_16(a1, writedata);
3267 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3268 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3275 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3276 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3277 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3280 #ifndef blitter_code_0x08c00292
3281 #define blitter_code_0x08c00292
3282 void blitter_0x08c00292(void)
3284 while (outer_loop--)
3286 inner_loop=n_pixels;
3287 while (inner_loop--)
3290 uint32 srczdata = 0;
3292 uint32 dstzdata = 0;
3293 uint32 writedata = 0;
3295 srcdata = READ_PIXEL_4(a2);
3296 dstdata = READ_PIXEL_4(a1);
3297 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
3298 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
3301 writedata |= srcdata & ~dstdata;
3302 writedata |= srcdata & dstdata;
3303 } else { srczdata=dstzdata; writedata=dstdata; }
3306 WRITE_PIXEL_4(a1, writedata);
3310 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3311 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3318 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3319 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3320 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3323 #ifndef blitter_code_0x14c10013
3324 #define blitter_code_0x14c10013
3325 void blitter_0x14c10013(void)
3327 while (outer_loop--)
3329 inner_loop=n_pixels;
3330 while (inner_loop--)
3333 uint32 srczdata = 0;
3335 uint32 dstzdata = 0;
3336 uint32 writedata = 0;
3338 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
3339 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
3340 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
3343 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
3344 } else { srczdata=dstzdata; writedata=dstdata; }
3345 WRITE_PIXEL_8(a1, writedata);
3348 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3349 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3356 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3357 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3358 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3361 #ifndef blitter_code_0x38c0009b
3362 #define blitter_code_0x38c0009b
3363 void blitter_0x38c0009b(void)
3365 while (outer_loop--)
3367 inner_loop=n_pixels;
3368 while (inner_loop--)
3371 uint32 srczdata = 0;
3373 uint32 dstzdata = 0;
3374 uint32 writedata = 0;
3376 srcdata = READ_PIXEL_8(a2);
3377 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
3378 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
3381 writedata |= srcdata & ~dstdata;
3382 writedata |= srcdata & dstdata;
3383 } else { srczdata=dstzdata; writedata=dstdata; }
3384 WRITE_PIXEL_8(a1, writedata);
3387 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3388 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3395 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3396 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3397 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3400 #ifndef blitter_code_0x34c1001b
3401 #define blitter_code_0x34c1001b
3402 void blitter_0x34c1001b(void)
3404 while (outer_loop--)
3406 inner_loop=n_pixels;
3407 while (inner_loop--)
3410 uint32 srczdata = 0;
3412 uint32 dstzdata = 0;
3413 uint32 writedata = 0;
3415 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
3416 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
3417 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
3418 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
3419 WRITE_PIXEL_8(a1, writedata);
3422 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3423 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3430 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3431 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3432 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3435 #ifndef blitter_code_0x1401001c
3436 #define blitter_code_0x1401001c
3437 void blitter_0x1401001c(void)
3439 while (outer_loop--)
3441 inner_loop=n_pixels;
3442 while (inner_loop--)
3445 uint32 srczdata = 0;
3447 uint32 dstzdata = 0;
3448 uint32 writedata = 0;
3450 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3451 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3452 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3453 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3454 WRITE_PIXEL_16(a1, writedata);
3457 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3458 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3465 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3466 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3467 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3470 #ifndef blitter_code_0x08c000db
3471 #define blitter_code_0x08c000db
3472 void blitter_0x08c000db(void)
3474 while (outer_loop--)
3476 inner_loop=n_pixels;
3477 while (inner_loop--)
3481 uint32 writedata = 0;
3482 srcdata = READ_PIXEL_8(a1);
3483 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
3484 writedata |= srcdata & ~dstdata;
3485 writedata |= srcdata & dstdata;
3486 WRITE_PIXEL_8(a2, writedata);
3489 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3490 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3497 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3498 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3499 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3502 #ifndef blitter_code_0x0401001b
3503 #define blitter_code_0x0401001b
3504 void blitter_0x0401001b(void)
3506 while (outer_loop--)
3508 inner_loop=n_pixels;
3509 while (inner_loop--)
3512 uint32 srczdata = 0;
3514 uint32 dstzdata = 0;
3515 uint32 writedata = 0;
3517 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
3518 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
3519 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
3520 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
3521 WRITE_PIXEL_8(a1, writedata);
3524 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3525 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3532 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3533 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3534 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3537 #ifndef blitter_code_0x0401001d
3538 #define blitter_code_0x0401001d
3539 void blitter_0x0401001d(void)
3541 while (outer_loop--)
3543 inner_loop=n_pixels;
3544 while (inner_loop--)
3547 uint32 srczdata = 0;
3549 uint32 dstzdata = 0;
3550 uint32 writedata = 0;
3552 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
3553 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
3554 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
3555 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
3556 WRITE_PIXEL_32(a1, writedata);
3559 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3560 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3567 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3568 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3569 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3572 #ifndef blitter_code_0x0401001c
3573 #define blitter_code_0x0401001c
3574 void blitter_0x0401001c(void)
3576 while (outer_loop--)
3578 inner_loop=n_pixels;
3579 while (inner_loop--)
3582 uint32 srczdata = 0;
3584 uint32 dstzdata = 0;
3585 uint32 writedata = 0;
3587 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3588 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3589 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3590 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3591 WRITE_PIXEL_16(a1, writedata);
3594 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3595 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3602 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3603 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3604 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3607 #ifndef blitter_code_0x36013624
3608 #define blitter_code_0x36013624
3609 void blitter_0x36013624(void)
3611 while (outer_loop--)
3613 inner_loop=n_pixels;
3614 while (inner_loop--)
3617 uint32 srczdata = 0;
3619 uint32 dstzdata = 0;
3620 uint32 writedata = 0;
3622 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3623 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3624 dstdata = READ_PIXEL_16(a1);
3625 dstzdata = READ_ZDATA_16(a1);
3626 srczdata=z_i[colour_index]>>16;
3627 if (srczdata == dstzdata) inhibit = 1;
3628 if (srczdata > dstzdata) inhibit = 1;
3631 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3632 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
3633 } else { srczdata=dstzdata; writedata=dstdata; }
3634 WRITE_PIXEL_16(a1, writedata);
3635 WRITE_ZDATA_16(a1, srczdata);
3638 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3639 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3640 z_i[colour_index]+=zadd;
3641 gd_i[colour_index] += gd_ia;
3642 gd_c[colour_index] += gd_ca;
3643 colour_index=(colour_index+1)&0x3;
3650 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3651 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3652 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3655 #ifndef blitter_code_0x04c10284
3656 #define blitter_code_0x04c10284
3657 void blitter_0x04c10284(void)
3659 while (outer_loop--)
3661 inner_loop=n_pixels;
3662 while (inner_loop--)
3665 uint32 srczdata = 0;
3667 uint32 dstzdata = 0;
3668 uint32 writedata = 0;
3670 srcdata = READ_PIXEL_16(a2);
3671 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
3672 dstdata = READ_PIXEL_16(a1);
3673 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
3676 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3677 } else { srczdata=dstzdata; writedata=dstdata; }
3680 WRITE_PIXEL_16(a1, writedata);
3684 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3685 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3692 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3693 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3694 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3697 #ifndef blitter_code_0x14010004
3698 #define blitter_code_0x14010004
3699 void blitter_0x14010004(void)
3701 while (outer_loop--)
3703 inner_loop=n_pixels;
3704 while (inner_loop--)
3707 uint32 srczdata = 0;
3709 uint32 dstzdata = 0;
3710 uint32 writedata = 0;
3712 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
3713 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
3714 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3717 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
3718 } else { srczdata=dstzdata; writedata=dstdata; }
3719 WRITE_PIXEL_16(a1, writedata);
3722 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3723 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3730 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3731 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3732 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3735 #ifndef blitter_code_0x06c076e4
3736 #define blitter_code_0x06c076e4
3737 void blitter_0x06c076e4(void)
3739 while (outer_loop--)
3741 inner_loop=n_pixels;
3742 while (inner_loop--)
3745 uint32 srczdata = 0;
3747 uint32 dstzdata = 0;
3748 uint32 writedata = 0;
3750 srcdata = READ_PIXEL_16(a1);
3751 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
3752 dstdata = READ_PIXEL_16(a2);
3753 dstzdata = READ_ZDATA_16(a2);
3754 srczdata=z_i[colour_index]>>16;
3755 if (srczdata == dstzdata) inhibit = 1;
3756 if (srczdata > dstzdata) inhibit = 1;
3757 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
3760 writedata |= srcdata & ~dstdata;
3761 writedata |= srcdata & dstdata;
3762 } else { srczdata=dstzdata; writedata=dstdata; }
3765 WRITE_PIXEL_16(a2, writedata);
3766 WRITE_ZDATA_16(a2, srczdata);
3770 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3771 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3772 z_i[colour_index]+=zadd;
3779 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3780 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3781 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3784 #ifndef blitter_code_0x30c040a4
3785 #define blitter_code_0x30c040a4
3786 void blitter_0x30c040a4(void)
3788 while (outer_loop--)
3790 inner_loop=n_pixels;
3791 while (inner_loop--)
3794 uint32 srczdata = 0;
3796 uint32 dstzdata = 0;
3797 uint32 writedata = 0;
3799 srcdata = READ_PIXEL_16(a2);
3800 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
3801 srczdata=z_i[colour_index]>>16;
3802 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
3805 writedata |= srcdata & ~dstdata;
3806 writedata |= srcdata & dstdata;
3808 int intensity = srcdata & 0xFF;
3809 int ia = gd_ia >> 16;
3811 ia = 0xFFFFFF00 | ia;
3815 if(intensity > 0xFF)
3817 writedata = (srcdata & 0xFF00) | intensity;
3819 } else { srczdata=dstzdata; writedata=dstdata; }
3820 WRITE_PIXEL_16(a1, writedata);
3823 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3824 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3825 z_i[colour_index]+=zadd;
3826 gd_i[colour_index] += gd_ia;
3827 gd_c[colour_index] += gd_ca;
3828 colour_index=(colour_index+1)&0x3;
3835 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3836 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3837 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3840 #ifndef blitter_code_0x00c040db
3841 #define blitter_code_0x00c040db
3842 void blitter_0x00c040db(void)
3844 while (outer_loop--)
3846 inner_loop=n_pixels;
3847 while (inner_loop--)
3850 uint32 srczdata = 0;
3852 uint32 dstzdata = 0;
3853 uint32 writedata = 0;
3855 srcdata = READ_PIXEL_8(a1);
3856 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
3857 if (srcdata == READ_RDATA_8(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
3860 writedata |= srcdata & ~dstdata;
3861 writedata |= srcdata & dstdata;
3862 } else { srczdata=dstzdata; writedata=dstdata; }
3865 WRITE_PIXEL_8(a2, writedata);
3869 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3870 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3877 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3878 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3879 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3882 #ifndef blitter_code_0x30c0429b
3883 #define blitter_code_0x30c0429b
3884 void blitter_0x30c0429b(void)
3886 while (outer_loop--)
3888 inner_loop=n_pixels;
3889 while (inner_loop--)
3892 uint32 srczdata = 0;
3894 uint32 dstzdata = 0;
3895 uint32 writedata = 0;
3897 srcdata = READ_PIXEL_8(a2);
3898 dstdata = READ_PIXEL_8(a1);
3899 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
3900 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
3903 writedata |= srcdata & ~dstdata;
3904 writedata |= srcdata & dstdata;
3905 } else { srczdata=dstzdata; writedata=dstdata; }
3906 WRITE_PIXEL_8(a1, writedata);
3909 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3910 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3917 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3918 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3919 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3922 #ifndef blitter_code_0x08c0409b
3923 #define blitter_code_0x08c0409b
3924 void blitter_0x08c0409b(void)
3926 while (outer_loop--)
3928 inner_loop=n_pixels;
3929 while (inner_loop--)
3932 uint32 srczdata = 0;
3934 uint32 dstzdata = 0;
3935 uint32 writedata = 0;
3937 srcdata = READ_PIXEL_8(a2);
3938 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
3939 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
3940 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
3943 writedata |= srcdata & ~dstdata;
3944 writedata |= srcdata & dstdata;
3945 } else { srczdata=dstzdata; writedata=dstdata; }
3948 WRITE_PIXEL_8(a1, writedata);
3952 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3953 a2_y = (a2_y + a2_yadd) & a2_mask_y;
3960 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
3961 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
3962 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
3965 #ifndef blitter_code_0x00c0029b
3966 #define blitter_code_0x00c0029b
3967 void blitter_0x00c0029b(void)
3969 while (outer_loop--)
3971 inner_loop=n_pixels;
3972 while (inner_loop--)
3975 uint32 srczdata = 0;
3977 uint32 dstzdata = 0;
3978 uint32 writedata = 0;
3980 srcdata = READ_PIXEL_8(a2);
3981 dstdata = READ_PIXEL_8(a1);
3982 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
3985 writedata |= srcdata & ~dstdata;
3986 writedata |= srcdata & dstdata;
3987 } else { srczdata=dstzdata; writedata=dstdata; }
3990 WRITE_PIXEL_8(a1, writedata);
3994 a2_x = (a2_x + a2_xadd) & a2_mask_x;
3995 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4002 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4003 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4004 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4007 #ifndef blitter_code_0x20c00003
4008 #define blitter_code_0x20c00003
4009 void blitter_0x20c00003(void)
4011 while (outer_loop--)
4013 inner_loop=n_pixels;
4014 while (inner_loop--)
4017 uint32 srczdata = 0;
4019 uint32 dstzdata = 0;
4020 uint32 writedata = 0;
4022 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
4023 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
4024 writedata |= srcdata & ~dstdata;
4025 writedata |= srcdata & dstdata;
4026 WRITE_PIXEL_8(a1, writedata);
4029 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4030 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4037 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4038 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4039 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4042 #ifndef blitter_code_0x00c0001b
4043 #define blitter_code_0x00c0001b
4044 void blitter_0x00c0001b(void)
4046 while (outer_loop--)
4048 inner_loop=n_pixels;
4049 while (inner_loop--)
4052 uint32 srczdata = 0;
4054 uint32 dstzdata = 0;
4055 uint32 writedata = 0;
4057 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
4058 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
4059 writedata |= srcdata & ~dstdata;
4060 writedata |= srcdata & dstdata;
4061 WRITE_PIXEL_8(a1, writedata);
4064 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4065 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4072 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4073 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4074 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4077 #ifndef blitter_code_0x20c0002b
4078 #define blitter_code_0x20c0002b
4079 void blitter_0x20c0002b(void)
4081 while (outer_loop--)
4083 inner_loop=n_pixels;
4084 while (inner_loop--)
4087 uint32 srczdata = 0;
4089 uint32 dstzdata = 0;
4090 uint32 writedata = 0;
4092 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
4093 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
4094 writedata |= srcdata & ~dstdata;
4095 writedata |= srcdata & dstdata;
4096 WRITE_PIXEL_8(a1, writedata);
4099 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4100 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4107 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4108 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4109 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4112 #ifndef blitter_code_0x30c0001c
4113 #define blitter_code_0x30c0001c
4114 void blitter_0x30c0001c(void)
4116 while (outer_loop--)
4118 inner_loop=n_pixels;
4119 while (inner_loop--)
4122 uint32 srczdata = 0;
4124 uint32 dstzdata = 0;
4125 uint32 writedata = 0;
4127 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4128 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4129 writedata |= srcdata & ~dstdata;
4130 writedata |= srcdata & dstdata;
4131 WRITE_PIXEL_16(a1, writedata);
4134 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4135 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4142 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4143 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4144 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4147 #ifndef blitter_code_0x00c000db
4148 #define blitter_code_0x00c000db
4149 void blitter_0x00c000db(void)
4151 while (outer_loop--)
4153 inner_loop=n_pixels;
4154 while (inner_loop--)
4157 uint32 srczdata = 0;
4159 uint32 dstzdata = 0;
4160 uint32 writedata = 0;
4162 srcdata = READ_PIXEL_8(a1);
4163 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
4164 writedata |= srcdata & ~dstdata;
4165 writedata |= srcdata & dstdata;
4166 WRITE_PIXEL_8(a2, writedata);
4169 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4170 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4177 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4178 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4179 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4182 #ifndef blitter_code_0x00c00023
4183 #define blitter_code_0x00c00023
4184 void blitter_0x00c00023(void)
4186 while (outer_loop--)
4188 inner_loop=n_pixels;
4189 while (inner_loop--)
4192 uint32 srczdata = 0;
4194 uint32 dstzdata = 0;
4195 uint32 writedata = 0;
4197 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
4198 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
4199 writedata |= srcdata & ~dstdata;
4200 writedata |= srcdata & dstdata;
4201 WRITE_PIXEL_8(a1, writedata);
4204 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4205 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4212 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4213 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4214 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4217 #ifndef blitter_code_0x34c10024
4218 #define blitter_code_0x34c10024
4219 void blitter_0x34c10024(void)
4221 while (outer_loop--)
4223 inner_loop=n_pixels;
4224 while (inner_loop--)
4227 uint32 srczdata = 0;
4229 uint32 dstzdata = 0;
4230 uint32 writedata = 0;
4232 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4233 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4234 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4235 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4236 WRITE_PIXEL_16(a1, writedata);
4239 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4240 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4247 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4248 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4249 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4252 #ifndef blitter_code_0x3cc10024
4253 #define blitter_code_0x3cc10024
4254 void blitter_0x3cc10024(void)
4256 while (outer_loop--)
4258 inner_loop=n_pixels;
4259 while (inner_loop--)
4262 uint32 srczdata = 0;
4264 uint32 dstzdata = 0;
4265 uint32 writedata = 0;
4267 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4268 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4269 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4270 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
4273 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4274 } else { srczdata=dstzdata; writedata=dstdata; }
4275 WRITE_PIXEL_16(a1, writedata);
4278 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4279 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4286 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4287 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4288 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4291 #ifndef blitter_code_0x04c10084
4292 #define blitter_code_0x04c10084
4293 void blitter_0x04c10084(void)
4295 while (outer_loop--)
4297 inner_loop=n_pixels;
4298 while (inner_loop--)
4301 uint32 srczdata = 0;
4303 uint32 dstzdata = 0;
4304 uint32 writedata = 0;
4306 srcdata = READ_PIXEL_16(a2);
4307 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
4308 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4311 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4312 } else { srczdata=dstzdata; writedata=dstdata; }
4315 WRITE_PIXEL_16(a1, writedata);
4319 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4320 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4327 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4328 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4329 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4332 #ifndef blitter_code_0x04010004
4333 #define blitter_code_0x04010004
4334 void blitter_0x04010004(void)
4336 while (outer_loop--)
4338 inner_loop=n_pixels;
4339 while (inner_loop--)
4342 uint32 srczdata = 0;
4344 uint32 dstzdata = 0;
4345 uint32 writedata = 0;
4347 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4348 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4349 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4352 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4353 } else { srczdata=dstzdata; writedata=dstdata; }
4356 WRITE_PIXEL_16(a1, writedata);
4360 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4361 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4368 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4369 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4370 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4373 #ifndef blitter_code_0x30c000e4
4374 #define blitter_code_0x30c000e4
4375 void blitter_0x30c000e4(void)
4377 while (outer_loop--)
4379 inner_loop=n_pixels;
4380 while (inner_loop--)
4383 uint32 srczdata = 0;
4385 uint32 dstzdata = 0;
4386 uint32 writedata = 0;
4388 srcdata = READ_PIXEL_16(a1);
4389 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
4392 writedata |= srcdata & ~dstdata;
4393 writedata |= srcdata & dstdata;
4394 } else { srczdata=dstzdata; writedata=dstdata; }
4395 WRITE_PIXEL_16(a2, writedata);
4398 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4399 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4406 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4407 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4408 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4411 #ifndef blitter_code_0x04c10004
4412 #define blitter_code_0x04c10004
4413 void blitter_0x04c10004(void)
4415 while (outer_loop--)
4417 inner_loop=n_pixels;
4418 while (inner_loop--)
4421 uint32 srczdata = 0;
4423 uint32 dstzdata = 0;
4424 uint32 writedata = 0;
4426 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4427 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4428 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4431 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4432 } else { srczdata=dstzdata; writedata=dstdata; }
4435 WRITE_PIXEL_16(a1, writedata);
4439 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4440 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4447 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4448 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4449 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4452 #ifndef blitter_code_0x0cc10004
4453 #define blitter_code_0x0cc10004
4454 void blitter_0x0cc10004(void)
4456 while (outer_loop--)
4458 inner_loop=n_pixels;
4459 while (inner_loop--)
4462 uint32 srczdata = 0;
4464 uint32 dstzdata = 0;
4465 uint32 writedata = 0;
4467 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4468 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4469 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4470 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
4473 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4474 } else { srczdata=dstzdata; writedata=dstdata; }
4477 WRITE_PIXEL_16(a1, writedata);
4481 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4482 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4489 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4490 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4491 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4494 #ifndef blitter_code_0x1cc10024
4495 #define blitter_code_0x1cc10024
4496 void blitter_0x1cc10024(void)
4498 while (outer_loop--)
4500 inner_loop=n_pixels;
4501 while (inner_loop--)
4504 uint32 srczdata = 0;
4506 uint32 dstzdata = 0;
4507 uint32 writedata = 0;
4509 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4510 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4511 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4512 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
4515 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4516 } else { srczdata=dstzdata; writedata=dstdata; }
4517 WRITE_PIXEL_16(a1, writedata);
4520 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4521 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4528 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4529 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4530 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4533 #ifndef blitter_code_0x0cc10084
4534 #define blitter_code_0x0cc10084
4535 void blitter_0x0cc10084(void)
4537 while (outer_loop--)
4539 inner_loop=n_pixels;
4540 while (inner_loop--)
4543 uint32 srczdata = 0;
4545 uint32 dstzdata = 0;
4546 uint32 writedata = 0;
4548 srcdata = READ_PIXEL_16(a2);
4549 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
4550 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4551 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
4554 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4555 } else { srczdata=dstzdata; writedata=dstdata; }
4558 WRITE_PIXEL_16(a1, writedata);
4562 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4563 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4570 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4571 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4572 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4575 #ifndef blitter_code_0x24c10024
4576 #define blitter_code_0x24c10024
4577 void blitter_0x24c10024(void)
4579 while (outer_loop--)
4581 inner_loop=n_pixels;
4582 while (inner_loop--)
4585 uint32 srczdata = 0;
4587 uint32 dstzdata = 0;
4588 uint32 writedata = 0;
4590 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4591 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4592 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4595 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4596 } else { srczdata=dstzdata; writedata=dstdata; }
4599 WRITE_PIXEL_16(a1, writedata);
4603 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4604 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4611 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4612 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4613 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4616 #ifndef blitter_code_0x2cc10024
4617 #define blitter_code_0x2cc10024
4618 void blitter_0x2cc10024(void)
4620 while (outer_loop--)
4622 inner_loop=n_pixels;
4623 while (inner_loop--)
4626 uint32 srczdata = 0;
4628 uint32 dstzdata = 0;
4629 uint32 writedata = 0;
4631 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4632 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4633 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4634 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
4637 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4638 } else { srczdata=dstzdata; writedata=dstdata; }
4641 WRITE_PIXEL_16(a1, writedata);
4645 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4646 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4653 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4654 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4655 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4658 #ifndef blitter_code_0x3401002c
4659 #define blitter_code_0x3401002c
4660 void blitter_0x3401002c(void)
4662 while (outer_loop--)
4664 inner_loop=n_pixels;
4665 while (inner_loop--)
4668 uint32 srczdata = 0;
4670 uint32 dstzdata = 0;
4671 uint32 writedata = 0;
4673 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4674 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4675 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4676 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4677 WRITE_PIXEL_16(a1, writedata);
4680 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4681 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4688 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4689 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4690 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4693 #ifndef blitter_code_0x14010014
4694 #define blitter_code_0x14010014
4695 void blitter_0x14010014(void)
4697 while (outer_loop--)
4699 inner_loop=n_pixels;
4700 while (inner_loop--)
4703 uint32 srczdata = 0;
4705 uint32 dstzdata = 0;
4706 uint32 writedata = 0;
4708 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4709 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
4710 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4711 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
4712 WRITE_PIXEL_16(a1, writedata);
4715 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4716 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4723 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4724 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4725 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4728 #ifndef blitter_code_0x14010013
4729 #define blitter_code_0x14010013
4730 void blitter_0x14010013(void)
4732 while (outer_loop--)
4734 inner_loop=n_pixels;
4735 while (inner_loop--)
4738 uint32 srczdata = 0;
4740 uint32 dstzdata = 0;
4741 uint32 writedata = 0;
4743 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
4744 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
4745 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
4746 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
4747 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
4748 WRITE_PIXEL_8(a1, writedata);
4751 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4752 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4753 gd_i[colour_index] += gd_ia;
4754 gd_c[colour_index] += gd_ca;
4755 colour_index=(colour_index+1)&0x3;
4762 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4763 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4764 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4767 #ifndef blitter_code_0x30000005
4768 #define blitter_code_0x30000005
4769 void blitter_0x30000005(void)
4771 while (outer_loop--)
4773 inner_loop=n_pixels;
4774 while (inner_loop--)
4777 uint32 srczdata = 0;
4779 uint32 dstzdata = 0;
4780 uint32 writedata = 0;
4782 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
4783 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
4784 WRITE_PIXEL_32(a1, writedata);
4787 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4788 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4795 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4796 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4797 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4800 #ifndef blitter_code_0x3000001d
4801 #define blitter_code_0x3000001d
4802 void blitter_0x3000001d(void)
4804 while (outer_loop--)
4806 inner_loop=n_pixels;
4807 while (inner_loop--)
4810 uint32 srczdata = 0;
4812 uint32 dstzdata = 0;
4813 uint32 writedata = 0;
4815 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
4816 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
4817 WRITE_PIXEL_32(a1, writedata);
4820 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4821 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4828 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4829 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4830 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4833 #ifndef blitter_code_0x30c0002c
4834 #define blitter_code_0x30c0002c
4835 void blitter_0x30c0002c(void)
4837 while (outer_loop--)
4839 inner_loop=n_pixels;
4840 while (inner_loop--)
4843 uint32 srczdata = 0;
4845 uint32 dstzdata = 0;
4846 uint32 writedata = 0;
4848 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4849 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4850 writedata |= srcdata & ~dstdata;
4851 writedata |= srcdata & dstdata;
4852 WRITE_PIXEL_16(a1, writedata);
4855 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4856 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4863 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4864 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4865 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4868 #ifndef blitter_code_0x3000002d
4869 #define blitter_code_0x3000002d
4870 void blitter_0x3000002d(void)
4872 while (outer_loop--)
4874 inner_loop=n_pixels;
4875 while (inner_loop--)
4878 uint32 srczdata = 0;
4880 uint32 dstzdata = 0;
4881 uint32 writedata = 0;
4883 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
4884 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
4885 WRITE_PIXEL_32(a1, writedata);
4888 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4889 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4896 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4897 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4898 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4901 #ifndef blitter_code_0x10000025
4902 #define blitter_code_0x10000025
4903 void blitter_0x10000025(void)
4905 while (outer_loop--)
4907 inner_loop=n_pixels;
4908 while (inner_loop--)
4911 uint32 srczdata = 0;
4913 uint32 dstzdata = 0;
4914 uint32 writedata = 0;
4916 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
4917 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
4918 WRITE_PIXEL_32(a1, writedata);
4921 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4922 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4929 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4930 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4931 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4934 #ifndef blitter_code_0x28c0002c
4935 #define blitter_code_0x28c0002c
4936 void blitter_0x28c0002c(void)
4938 while (outer_loop--)
4940 inner_loop=n_pixels;
4941 while (inner_loop--)
4944 uint32 srczdata = 0;
4946 uint32 dstzdata = 0;
4947 uint32 writedata = 0;
4949 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4950 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
4951 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
4954 writedata |= srcdata & ~dstdata;
4955 writedata |= srcdata & dstdata;
4956 } else { srczdata=dstzdata; writedata=dstdata; }
4959 WRITE_PIXEL_16(a1, writedata);
4963 a2_x = (a2_x + a2_xadd) & a2_mask_x;
4964 a2_y = (a2_y + a2_yadd) & a2_mask_y;
4971 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
4972 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
4973 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
4976 #ifndef blitter_code_0x3002022c
4977 #define blitter_code_0x3002022c
4978 void blitter_0x3002022c(void)
4980 while (outer_loop--)
4982 inner_loop=n_pixels;
4983 while (inner_loop--)
4986 uint32 srczdata = 0;
4988 uint32 dstzdata = 0;
4989 uint32 writedata = 0;
4991 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
4992 dstdata = READ_PIXEL_16(a1);
4993 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
4996 writedata = (srcdata & 0xff) + (dstdata & 0xff);
4997 if (writedata > 0xff) writedata = 0xff;
4998 writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
4999 if (writedata > 0xfff) writedata = 0xfff;
5000 writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
5001 } else { srczdata=dstzdata; writedata=dstdata; }
5002 WRITE_PIXEL_16(a1, writedata);
5005 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5006 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5013 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5014 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5015 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5018 #ifndef blitter_code_0x08c040e4
5019 #define blitter_code_0x08c040e4
5020 void blitter_0x08c040e4(void)
5022 while (outer_loop--)
5024 inner_loop=n_pixels;
5025 while (inner_loop--)
5028 uint32 srczdata = 0;
5030 uint32 dstzdata = 0;
5031 uint32 writedata = 0;
5033 srcdata = READ_PIXEL_16(a1);
5034 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
5035 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
5038 writedata |= srcdata & ~dstdata;
5039 writedata |= srcdata & dstdata;
5040 } else { srczdata=dstzdata; writedata=dstdata; }
5043 WRITE_PIXEL_16(a2, writedata);
5047 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5048 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5055 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5056 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5057 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5060 #ifndef blitter_code_0x30c042a4
5061 #define blitter_code_0x30c042a4
5062 void blitter_0x30c042a4(void)
5064 while (outer_loop--)
5066 inner_loop=n_pixels;
5067 while (inner_loop--)
5070 uint32 srczdata = 0;
5072 uint32 dstzdata = 0;
5073 uint32 writedata = 0;
5075 srcdata = READ_PIXEL_16(a2);
5076 dstdata = READ_PIXEL_16(a1);
5077 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
5078 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
5081 writedata |= srcdata & ~dstdata;
5082 writedata |= srcdata & dstdata;
5083 } else { srczdata=dstzdata; writedata=dstdata; }
5084 WRITE_PIXEL_16(a1, writedata);
5087 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5088 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5095 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5096 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5097 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5100 #ifndef blitter_code_0x3401002b
5101 #define blitter_code_0x3401002b
5102 void blitter_0x3401002b(void)
5104 while (outer_loop--)
5106 inner_loop=n_pixels;
5107 while (inner_loop--)
5110 uint32 srczdata = 0;
5112 uint32 dstzdata = 0;
5113 uint32 writedata = 0;
5115 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
5116 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
5117 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
5118 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
5119 WRITE_PIXEL_8(a1, writedata);
5122 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5123 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5130 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5131 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5132 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5135 #ifndef blitter_code_0x14010005
5136 #define blitter_code_0x14010005
5137 void blitter_0x14010005(void)
5139 while (outer_loop--)
5141 inner_loop=n_pixels;
5142 while (inner_loop--)
5145 uint32 srczdata = 0;
5147 uint32 dstzdata = 0;
5148 uint32 writedata = 0;
5150 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
5151 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
5152 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
5153 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
5154 WRITE_PIXEL_32(a1, writedata);
5157 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5158 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5165 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5166 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5167 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5170 #ifndef blitter_code_0x2c01001b
5171 #define blitter_code_0x2c01001b
5172 void blitter_0x2c01001b(void)
5174 while (outer_loop--)
5176 inner_loop=n_pixels;
5177 while (inner_loop--)
5180 uint32 srczdata = 0;
5182 uint32 dstzdata = 0;
5183 uint32 writedata = 0;
5185 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
5186 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
5187 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
5188 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
5191 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
5192 } else { srczdata=dstzdata; writedata=dstdata; }
5195 WRITE_PIXEL_8(a1, writedata);
5199 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5200 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5207 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5208 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5209 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5212 #ifndef blitter_code_0x3401001c
5213 #define blitter_code_0x3401001c
5214 void blitter_0x3401001c(void)
5216 while (outer_loop--)
5218 inner_loop=n_pixels;
5219 while (inner_loop--)
5222 uint32 srczdata = 0;
5224 uint32 dstzdata = 0;
5225 uint32 writedata = 0;
5227 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5228 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
5229 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5232 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
5233 } else { srczdata=dstzdata; writedata=dstdata; }
5234 WRITE_PIXEL_16(a1, writedata);
5237 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5238 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5245 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5246 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5247 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5250 #ifndef blitter_code_0x05010083
5251 #define blitter_code_0x05010083
5252 void blitter_0x05010083(void)
5254 while (outer_loop--)
5256 inner_loop=n_pixels;
5257 while (inner_loop--)
5260 uint32 srczdata = 0;
5262 uint32 dstzdata = 0;
5263 uint32 writedata = 0;
5265 srcdata = READ_PIXEL_8(a2);
5266 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
5267 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
5270 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
5271 } else { srczdata=dstzdata; writedata=dstdata; }
5272 WRITE_PIXEL_8(a1, writedata);
5275 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5276 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5283 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5284 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5285 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5288 #ifndef blitter_code_0x05010084
5289 #define blitter_code_0x05010084
5290 void blitter_0x05010084(void)
5292 while (outer_loop--)
5294 inner_loop=n_pixels;
5295 while (inner_loop--)
5298 uint32 srczdata = 0;
5300 uint32 dstzdata = 0;
5301 uint32 writedata = 0;
5303 srcdata = READ_PIXEL_16(a2);
5304 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
5305 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5308 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
5309 } else { srczdata=dstzdata; writedata=dstdata; }
5310 WRITE_PIXEL_16(a1, writedata);
5313 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5314 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5321 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5322 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5323 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5326 #ifndef blitter_code_0x34010064
5327 #define blitter_code_0x34010064
5328 void blitter_0x34010064(void)
5330 while (outer_loop--)
5332 inner_loop=n_pixels;
5333 while (inner_loop--)
5336 uint32 srczdata = 0;
5338 uint32 dstzdata = 0;
5339 uint32 writedata = 0;
5341 srcdata = READ_RDATA_16(SRCDATA, a1, a1_phrase_mode);
5342 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
5343 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
5346 writedata= READ_RDATA_16(PATTERNDATA, a2, a2_phrase_mode);
5347 } else { srczdata=dstzdata; writedata=dstdata; }
5348 WRITE_PIXEL_16(a2, writedata);
5351 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5352 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5359 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5360 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5361 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5364 #ifndef blitter_code_0x14010064
5365 #define blitter_code_0x14010064
5366 void blitter_0x14010064(void)
5368 while (outer_loop--)
5370 inner_loop=n_pixels;
5371 while (inner_loop--)
5374 uint32 srczdata = 0;
5376 uint32 dstzdata = 0;
5377 uint32 writedata = 0;
5379 srcdata = READ_RDATA_16(SRCDATA, a1, a1_phrase_mode);
5380 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
5381 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
5384 writedata= READ_RDATA_16(PATTERNDATA, a2, a2_phrase_mode);
5385 } else { srczdata=dstzdata; writedata=dstdata; }
5388 WRITE_PIXEL_16(a2, writedata);
5392 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5393 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5400 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5401 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5402 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5405 #ifndef blitter_code_0x2401021b
5406 #define blitter_code_0x2401021b
5407 void blitter_0x2401021b(void)
5409 while (outer_loop--)
5411 inner_loop=n_pixels;
5412 while (inner_loop--)
5415 uint32 srczdata = 0;
5417 uint32 dstzdata = 0;
5418 uint32 writedata = 0;
5420 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
5421 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
5422 dstdata = READ_PIXEL_8(a1);
5423 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
5424 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
5425 WRITE_PIXEL_8(a1, writedata);
5428 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5429 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5436 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5437 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5438 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5441 #ifndef blitter_code_0x24010218
5442 #define blitter_code_0x24010218
5443 void blitter_0x24010218(void)
5445 while (outer_loop--)
5447 inner_loop=n_pixels;
5448 while (inner_loop--)
5451 uint32 srczdata = 0;
5453 uint32 dstzdata = 0;
5454 uint32 writedata = 0;
5456 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
5457 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
5458 dstdata = READ_PIXEL_1(a1);
5459 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
5460 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
5461 WRITE_PIXEL_1(a1, writedata);
5464 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5465 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5472 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5473 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5474 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5477 #ifndef blitter_code_0x2401021a
5478 #define blitter_code_0x2401021a
5479 void blitter_0x2401021a(void)
5481 while (outer_loop--)
5483 inner_loop=n_pixels;
5484 while (inner_loop--)
5487 uint32 srczdata = 0;
5489 uint32 dstzdata = 0;
5490 uint32 writedata = 0;
5492 srcdata = READ_RDATA_4(SRCDATA, a2, a2_phrase_mode);
5493 srczdata = READ_RDATA_4(SRCZINT, a2, a2_phrase_mode);
5494 dstdata = READ_PIXEL_4(a1);
5495 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
5496 writedata= READ_RDATA_4(PATTERNDATA, a1, a1_phrase_mode);
5497 WRITE_PIXEL_4(a1, writedata);
5500 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5501 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5508 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5509 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5510 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5513 #ifndef blitter_code_0x2401021c
5514 #define blitter_code_0x2401021c
5515 void blitter_0x2401021c(void)
5517 while (outer_loop--)
5519 inner_loop=n_pixels;
5520 while (inner_loop--)
5523 uint32 srczdata = 0;
5525 uint32 dstzdata = 0;
5526 uint32 writedata = 0;
5528 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5529 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
5530 dstdata = READ_PIXEL_16(a1);
5531 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
5532 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
5533 WRITE_PIXEL_16(a1, writedata);
5536 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5537 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5544 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5545 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5546 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5549 #ifndef blitter_code_0x00c00064
5550 #define blitter_code_0x00c00064
5551 void blitter_0x00c00064(void)
5553 while (outer_loop--)
5555 inner_loop=n_pixels;
5556 while (inner_loop--)
5559 uint32 srczdata = 0;
5561 uint32 dstzdata = 0;
5562 uint32 writedata = 0;
5564 srcdata = READ_RDATA_16(SRCDATA, a1, a1_phrase_mode);
5565 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
5566 writedata |= srcdata & ~dstdata;
5567 writedata |= srcdata & dstdata;
5568 WRITE_PIXEL_16(a2, writedata);
5571 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5572 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5579 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5580 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5581 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5584 #ifndef blitter_code_0x00c00024
5585 #define blitter_code_0x00c00024
5586 void blitter_0x00c00024(void)
5588 while (outer_loop--)
5590 inner_loop=n_pixels;
5591 while (inner_loop--)
5594 uint32 srczdata = 0;
5596 uint32 dstzdata = 0;
5597 uint32 writedata = 0;
5599 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5600 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5601 writedata |= srcdata & ~dstdata;
5602 writedata |= srcdata & dstdata;
5603 WRITE_PIXEL_16(a1, writedata);
5606 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5607 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5614 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5615 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5616 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5619 #ifndef blitter_code_0x01c042e4
5620 #define blitter_code_0x01c042e4
5621 void blitter_0x01c042e4(void)
5623 while (outer_loop--)
5625 inner_loop=n_pixels;
5626 while (inner_loop--)
5629 uint32 srczdata = 0;
5631 uint32 dstzdata = 0;
5632 uint32 writedata = 0;
5634 srcdata = READ_PIXEL_16(a1);
5635 dstdata = READ_PIXEL_16(a2);
5636 dstzdata = READ_RDATA_16(DSTZ, a2, a2_phrase_mode);
5637 srczdata=z_i[colour_index]>>16;
5638 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
5641 writedata |= srcdata & ~dstdata;
5642 writedata |= srcdata & dstdata;
5644 int intensity = srcdata & 0xFF;
5645 int ia = gd_ia >> 16;
5647 ia = 0xFFFFFF00 | ia;
5651 if(intensity > 0xFF)
5653 writedata = (srcdata & 0xFF00) | intensity;
5655 } else { srczdata=dstzdata; writedata=dstdata; }
5656 WRITE_PIXEL_16(a2, writedata);
5659 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5660 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5661 z_i[colour_index]+=zadd;
5662 gd_i[colour_index] += gd_ia;
5663 gd_c[colour_index] += gd_ca;
5670 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5671 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5672 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5675 #ifndef blitter_code_0x20c0001c
5676 #define blitter_code_0x20c0001c
5677 void blitter_0x20c0001c(void)
5679 while (outer_loop--)
5681 inner_loop=n_pixels;
5682 while (inner_loop--)
5685 uint32 srczdata = 0;
5687 uint32 dstzdata = 0;
5688 uint32 writedata = 0;
5690 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5691 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5694 writedata |= srcdata & ~dstdata;
5695 writedata |= srcdata & dstdata;
5696 } else { srczdata=dstzdata; writedata=dstdata; }
5699 WRITE_PIXEL_16(a1, writedata);
5703 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5704 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5711 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5712 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5713 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5716 #ifndef blitter_code_0x24010219
5717 #define blitter_code_0x24010219
5718 void blitter_0x24010219(void)
5720 while (outer_loop--)
5722 inner_loop=n_pixels;
5723 while (inner_loop--)
5726 uint32 srczdata = 0;
5728 uint32 dstzdata = 0;
5729 uint32 writedata = 0;
5731 srcdata = READ_RDATA_2(SRCDATA, a2, a2_phrase_mode);
5732 srczdata = READ_RDATA_2(SRCZINT, a2, a2_phrase_mode);
5733 dstdata = READ_PIXEL_2(a1);
5734 dstzdata = READ_RDATA_2(DSTZ, a1, a1_phrase_mode);
5737 writedata= READ_RDATA_2(PATTERNDATA, a1, a1_phrase_mode);
5738 } else { srczdata=dstzdata; writedata=dstdata; }
5741 WRITE_PIXEL_2(a1, writedata);
5745 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5746 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5753 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5754 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5755 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5758 #ifndef blitter_code_0x08c000a4
5759 #define blitter_code_0x08c000a4
5760 void blitter_0x08c000a4(void)
5762 while (outer_loop--)
5764 inner_loop=n_pixels;
5765 while (inner_loop--)
5768 uint32 srczdata = 0;
5770 uint32 dstzdata = 0;
5771 uint32 writedata = 0;
5773 srcdata = READ_PIXEL_16(a2);
5774 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5775 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
5778 writedata |= srcdata & ~dstdata;
5779 writedata |= srcdata & dstdata;
5780 } else { srczdata=dstzdata; writedata=dstdata; }
5783 WRITE_PIXEL_16(a1, writedata);
5787 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5788 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5795 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5796 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5797 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5800 #ifndef blitter_code_0x2c01001c
5801 #define blitter_code_0x2c01001c
5802 void blitter_0x2c01001c(void)
5804 while (outer_loop--)
5806 inner_loop=n_pixels;
5807 while (inner_loop--)
5810 uint32 srczdata = 0;
5812 uint32 dstzdata = 0;
5813 uint32 writedata = 0;
5815 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5816 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
5817 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5818 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
5821 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
5822 } else { srczdata=dstzdata; writedata=dstdata; }
5825 WRITE_PIXEL_16(a1, writedata);
5829 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5830 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5837 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5838 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5839 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5842 #ifndef blitter_code_0x3c01001c
5843 #define blitter_code_0x3c01001c
5844 void blitter_0x3c01001c(void)
5846 while (outer_loop--)
5848 inner_loop=n_pixels;
5849 while (inner_loop--)
5852 uint32 srczdata = 0;
5854 uint32 dstzdata = 0;
5855 uint32 writedata = 0;
5857 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5858 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
5859 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5860 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
5863 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
5864 } else { srczdata=dstzdata; writedata=dstdata; }
5865 WRITE_PIXEL_16(a1, writedata);
5868 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5869 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5876 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5877 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5878 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5881 #ifndef blitter_code_0x2c010218
5882 #define blitter_code_0x2c010218
5883 void blitter_0x2c010218(void)
5885 while (outer_loop--)
5887 inner_loop=n_pixels;
5888 while (inner_loop--)
5891 uint32 srczdata = 0;
5893 uint32 dstzdata = 0;
5894 uint32 writedata = 0;
5896 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
5897 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
5898 dstdata = READ_PIXEL_1(a1);
5899 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
5900 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
5903 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
5904 } else { srczdata=dstzdata; writedata=dstdata; }
5907 WRITE_PIXEL_1(a1, writedata);
5911 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5912 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5919 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5920 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5921 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5924 #ifndef blitter_code_0x3050021b
5925 #define blitter_code_0x3050021b
5926 void blitter_0x3050021b(void)
5928 while (outer_loop--)
5930 inner_loop=n_pixels;
5931 while (inner_loop--)
5934 uint32 srczdata = 0;
5936 uint32 dstzdata = 0;
5937 uint32 writedata = 0;
5939 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
5940 dstdata = READ_PIXEL_8(a1);
5941 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
5944 writedata |= ~srcdata & ~dstdata;
5945 writedata |= srcdata & ~dstdata;
5946 } else { srczdata=dstzdata; writedata=dstdata; }
5947 WRITE_PIXEL_8(a1, writedata);
5950 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5951 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5958 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5959 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5960 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5963 #ifndef blitter_code_0x34c10004
5964 #define blitter_code_0x34c10004
5965 void blitter_0x34c10004(void)
5967 while (outer_loop--)
5969 inner_loop=n_pixels;
5970 while (inner_loop--)
5973 uint32 srczdata = 0;
5975 uint32 dstzdata = 0;
5976 uint32 writedata = 0;
5978 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
5979 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
5980 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
5981 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
5982 WRITE_PIXEL_16(a1, writedata);
5985 a2_x = (a2_x + a2_xadd) & a2_mask_x;
5986 a2_y = (a2_y + a2_yadd) & a2_mask_y;
5993 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
5994 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
5995 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
5998 #ifndef blitter_code_0x05010218
5999 #define blitter_code_0x05010218
6000 void blitter_0x05010218(void)
6002 while (outer_loop--)
6004 inner_loop=n_pixels;
6005 while (inner_loop--)
6008 uint32 srczdata = 0;
6010 uint32 dstzdata = 0;
6011 uint32 writedata = 0;
6013 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
6014 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
6015 dstdata = READ_PIXEL_1(a1);
6016 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
6017 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
6018 WRITE_PIXEL_1(a1, writedata);
6021 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6022 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6029 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6030 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6031 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6034 #ifndef blitter_code_0x30020224
6035 #define blitter_code_0x30020224
6036 void blitter_0x30020224(void)
6038 while (outer_loop--)
6040 inner_loop=n_pixels;
6041 while (inner_loop--)
6044 uint32 srczdata = 0;
6046 uint32 dstzdata = 0;
6047 uint32 writedata = 0;
6049 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
6050 dstdata = READ_PIXEL_16(a1);
6051 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
6052 writedata = (srcdata & 0xff) + (dstdata & 0xff);
6053 if (writedata > 0xff) writedata = 0xff;
6054 writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
6055 if (writedata > 0xfff) writedata = 0xfff;
6056 writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
6057 WRITE_PIXEL_16(a1, writedata);
6060 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6061 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6068 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6069 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6070 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6073 #ifndef blitter_code_0x24c1001b
6074 #define blitter_code_0x24c1001b
6075 void blitter_0x24c1001b(void)
6077 while (outer_loop--)
6079 inner_loop=n_pixels;
6080 while (inner_loop--)
6083 uint32 srczdata = 0;
6085 uint32 dstzdata = 0;
6086 uint32 writedata = 0;
6088 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
6089 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
6090 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
6091 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
6092 WRITE_PIXEL_8(a1, writedata);
6095 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6096 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6103 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6104 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6105 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6108 #ifndef blitter_code_0x0501021b
6109 #define blitter_code_0x0501021b
6110 void blitter_0x0501021b(void)
6112 while (outer_loop--)
6114 inner_loop=n_pixels;
6115 while (inner_loop--)
6118 uint32 srczdata = 0;
6120 uint32 dstzdata = 0;
6121 uint32 writedata = 0;
6123 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
6124 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
6125 dstdata = READ_PIXEL_8(a1);
6126 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
6127 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
6128 WRITE_PIXEL_8(a1, writedata);
6131 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6132 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6139 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6140 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6141 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6144 #ifndef blitter_code_0x04c1001b
6145 #define blitter_code_0x04c1001b
6146 void blitter_0x04c1001b(void)
6148 while (outer_loop--)
6150 inner_loop=n_pixels;
6151 while (inner_loop--)
6154 uint32 srczdata = 0;
6156 uint32 dstzdata = 0;
6157 uint32 writedata = 0;
6159 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
6160 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
6161 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
6162 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
6163 WRITE_PIXEL_8(a1, writedata);
6166 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6167 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6174 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6175 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6176 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6179 #ifndef blitter_code_0x24c10023
6180 #define blitter_code_0x24c10023
6181 void blitter_0x24c10023(void)
6183 while (outer_loop--)
6185 inner_loop=n_pixels;
6186 while (inner_loop--)
6189 uint32 srczdata = 0;
6191 uint32 dstzdata = 0;
6192 uint32 writedata = 0;
6194 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
6195 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
6196 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
6197 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
6198 WRITE_PIXEL_8(a1, writedata);
6201 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6202 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6209 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6210 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6211 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6214 #ifndef blitter_code_0x01c040a4
6215 #define blitter_code_0x01c040a4
6216 void blitter_0x01c040a4(void)
6218 while (outer_loop--)
6220 inner_loop=n_pixels;
6221 while (inner_loop--)
6224 uint32 srczdata = 0;
6226 uint32 dstzdata = 0;
6227 uint32 writedata = 0;
6229 srcdata = READ_PIXEL_16(a2);
6230 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
6231 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
6234 writedata |= srcdata & ~dstdata;
6235 writedata |= srcdata & dstdata;
6236 } else { srczdata=dstzdata; writedata=dstdata; }
6237 WRITE_PIXEL_16(a1, writedata);
6240 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6241 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6248 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6249 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6250 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6253 #ifndef blitter_code_0x04c10024
6254 #define blitter_code_0x04c10024
6255 void blitter_0x04c10024(void)
6257 while (outer_loop--)
6259 inner_loop=n_pixels;
6260 while (inner_loop--)
6263 uint32 srczdata = 0;
6265 uint32 dstzdata = 0;
6266 uint32 writedata = 0;
6268 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
6269 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
6270 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
6273 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
6274 } else { srczdata=dstzdata; writedata=dstdata; }
6277 WRITE_PIXEL_16(a1, writedata);
6281 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6282 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6289 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6290 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6291 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6294 #ifndef blitter_code_0x0501021c
6295 #define blitter_code_0x0501021c
6296 void blitter_0x0501021c(void)
6298 while (outer_loop--)
6300 inner_loop=n_pixels;
6301 while (inner_loop--)
6304 uint32 srczdata = 0;
6306 uint32 dstzdata = 0;
6307 uint32 writedata = 0;
6309 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
6310 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
6311 dstdata = READ_PIXEL_16(a1);
6312 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
6315 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
6316 } else { srczdata=dstzdata; writedata=dstdata; }
6317 WRITE_PIXEL_16(a1, writedata);
6320 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6321 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6328 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6329 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6330 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6333 #ifndef blitter_code_0x30e00224
6334 #define blitter_code_0x30e00224
6335 void blitter_0x30e00224(void)
6337 while (outer_loop--)
6339 inner_loop=n_pixels;
6340 while (inner_loop--)
6343 uint32 srczdata = 0;
6345 uint32 dstzdata = 0;
6346 uint32 writedata = 0;
6348 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
6349 dstdata = READ_PIXEL_16(a1);
6350 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
6353 writedata |= ~srcdata & dstdata;
6354 writedata |= srcdata & ~dstdata;
6355 writedata |= srcdata & dstdata;
6356 } else { srczdata=dstzdata; writedata=dstdata; }
6357 WRITE_PIXEL_16(a1, writedata);
6360 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6361 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6368 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6369 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6370 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6373 #ifndef blitter_code_0x2401002d
6374 #define blitter_code_0x2401002d
6375 void blitter_0x2401002d(void)
6377 while (outer_loop--)
6379 inner_loop=n_pixels;
6380 while (inner_loop--)
6383 uint32 srczdata = 0;
6385 uint32 dstzdata = 0;
6386 uint32 writedata = 0;
6388 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
6389 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
6390 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
6391 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
6392 WRITE_PIXEL_32(a1, writedata);
6395 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6396 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6403 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6404 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6405 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6408 #ifndef blitter_code_0x2401002c
6409 #define blitter_code_0x2401002c
6410 void blitter_0x2401002c(void)
6412 while (outer_loop--)
6414 inner_loop=n_pixels;
6415 while (inner_loop--)
6418 uint32 srczdata = 0;
6420 uint32 dstzdata = 0;
6421 uint32 writedata = 0;
6423 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
6424 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
6425 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
6426 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
6427 WRITE_PIXEL_16(a1, writedata);
6430 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6431 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6438 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6439 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6440 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6443 #ifndef blitter_code_0x24010005
6444 #define blitter_code_0x24010005
6445 void blitter_0x24010005(void)
6447 while (outer_loop--)
6449 inner_loop=n_pixels;
6450 while (inner_loop--)
6453 uint32 srczdata = 0;
6455 uint32 dstzdata = 0;
6456 uint32 writedata = 0;
6458 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
6459 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
6460 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
6461 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
6462 WRITE_PIXEL_32(a1, writedata);
6465 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6466 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6473 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6474 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6475 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6478 #ifndef blitter_code_0x04010220
6479 #define blitter_code_0x04010220
6480 void blitter_0x04010220(void)
6482 while (outer_loop--)
6484 inner_loop=n_pixels;
6485 while (inner_loop--)
6488 uint32 srczdata = 0;
6490 uint32 dstzdata = 0;
6491 uint32 writedata = 0;
6493 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
6494 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
6495 dstdata = READ_PIXEL_1(a1);
6496 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
6497 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
6498 WRITE_PIXEL_1(a1, writedata);
6501 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6502 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6509 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6510 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6511 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6514 #ifndef blitter_code_0x00c000ed
6515 #define blitter_code_0x00c000ed
6516 void blitter_0x00c000ed(void)
6518 while (outer_loop--)
6520 inner_loop=n_pixels;
6521 while (inner_loop--)
6524 uint32 srczdata = 0;
6526 uint32 dstzdata = 0;
6527 uint32 writedata = 0;
6529 srcdata = READ_PIXEL_32(a1);
6530 dstdata = READ_RDATA_32(DSTDATA, a2, a2_phrase_mode);
6531 writedata |= srcdata & ~dstdata;
6532 writedata |= srcdata & dstdata;
6533 WRITE_PIXEL_32(a2, writedata);
6536 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6537 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6544 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6545 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6546 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6549 #ifndef blitter_code_0x040e026d
6550 #define blitter_code_0x040e026d
6551 void blitter_0x040e026d(void)
6553 while (outer_loop--)
6555 inner_loop=n_pixels;
6556 while (inner_loop--)
6559 uint32 srczdata = 0;
6561 uint32 dstzdata = 0;
6562 uint32 writedata = 0;
6564 srcdata = READ_RDATA_32(SRCDATA, a1, a1_phrase_mode);
6565 srczdata = READ_RDATA_32(SRCZINT, a1, a1_phrase_mode);
6566 dstdata = READ_PIXEL_32(a2);
6567 dstzdata = READ_RDATA_32(DSTZ, a2, a2_phrase_mode);
6568 writedata = (srcdata & 0xff) + (dstdata & 0xff);
6569 writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
6570 writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
6571 WRITE_PIXEL_32(a2, writedata);
6574 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6575 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6582 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6583 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6584 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6587 #ifndef blitter_code_0x0c01002c
6588 #define blitter_code_0x0c01002c
6589 void blitter_0x0c01002c(void)
6591 // fprintf(log_get(),"blitter_0x0c01002c: 0x%.8x 0x%.8x 0x%.8x 0x%.8x cpu %i pc=0x%.8x\n",
6592 // gd_i[0],gd_c[0],gd_ia,gd_ca,jaguar_cpu_in_exec,gpu_read_pc());
6594 while (outer_loop--)
6596 inner_loop=n_pixels;
6597 while (inner_loop--)
6600 uint32 writedata = 0;
6602 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
6603 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
6606 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
6614 WRITE_PIXEL_16(a1, writedata);
6618 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6619 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6620 gd_i[colour_index] += gd_ia;
6621 gd_c[colour_index] += gd_ca;
6628 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6629 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6630 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6633 #ifndef blitter_code_0x040e026c
6634 #define blitter_code_0x040e026c
6635 void blitter_0x040e026c(void)
6637 while (outer_loop--)
6639 inner_loop=n_pixels;
6640 while (inner_loop--)
6643 uint32 srczdata = 0;
6645 uint32 dstzdata = 0;
6646 uint32 writedata = 0;
6648 srcdata = READ_RDATA_32(SRCDATA, a1, a1_phrase_mode);
6649 srczdata = READ_RDATA_32(SRCZINT, a1, a1_phrase_mode);
6650 dstdata = READ_PIXEL_32(a2);
6651 dstzdata = READ_RDATA_32(DSTZ, a2, a2_phrase_mode);
6654 writedata = (srcdata & 0xff) + (dstdata & 0xff);
6655 writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
6656 writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
6657 } else { srczdata=dstzdata; writedata=dstdata; }
6660 WRITE_PIXEL_32(a2, writedata);
6664 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6665 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6672 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6673 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6674 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6677 #ifndef blitter_code_0x00c04280
6678 #define blitter_code_0x00c04280
6679 void blitter_0x00c04280(void)
6681 while (outer_loop--)
6683 inner_loop=n_pixels;
6684 while (inner_loop--)
6687 uint32 srczdata = 0;
6689 uint32 dstzdata = 0;
6690 uint32 writedata = 0;
6692 srcdata = READ_PIXEL_1(a2);
6693 dstdata = READ_PIXEL_1(a1);
6694 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
6695 if (srcdata == READ_RDATA_1(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
6698 writedata |= srcdata & ~dstdata;
6699 writedata |= srcdata & dstdata;
6700 } else { srczdata=dstzdata; writedata=dstdata; }
6703 WRITE_PIXEL_1(a1, writedata);
6707 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6708 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6715 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6716 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6717 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6720 #ifndef blitter_code_0x04010200
6721 #define blitter_code_0x04010200
6722 void blitter_0x04010200(void)
6724 while (outer_loop--)
6726 inner_loop=n_pixels;
6727 while (inner_loop--)
6730 uint32 srczdata = 0;
6732 uint32 dstzdata = 0;
6733 uint32 writedata = 0;
6735 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
6736 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
6737 dstdata = READ_PIXEL_1(a1);
6738 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
6741 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
6742 } else { srczdata=dstzdata; writedata=dstdata; }
6745 WRITE_PIXEL_1(a1, writedata);
6749 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6750 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6757 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6758 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6759 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6762 #ifndef blitter_code_0x00600280
6763 #define blitter_code_0x00600280
6764 void blitter_0x00600280(void)
6766 while (outer_loop--)
6768 inner_loop=n_pixels;
6769 while (inner_loop--)
6772 uint32 srczdata = 0;
6774 uint32 dstzdata = 0;
6775 uint32 writedata = 0;
6777 srcdata = READ_PIXEL_1(a2);
6778 dstdata = READ_PIXEL_1(a1);
6779 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
6782 writedata |= ~srcdata & dstdata;
6783 writedata |= srcdata & ~dstdata;
6784 } else { srczdata=dstzdata; writedata=dstdata; }
6787 WRITE_PIXEL_1(a1, writedata);
6791 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6792 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6799 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6800 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6801 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6804 #ifndef blitter_code_0x04010005
6805 #define blitter_code_0x04010005
6806 void blitter_0x04010005(void)
6808 while (outer_loop--)
6810 inner_loop=n_pixels;
6811 while (inner_loop--)
6814 uint32 srczdata = 0;
6816 uint32 dstzdata = 0;
6817 uint32 writedata = 0;
6819 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
6820 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
6821 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
6824 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
6825 } else { srczdata=dstzdata; writedata=dstdata; }
6828 WRITE_PIXEL_32(a1, writedata);
6832 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6833 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6840 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6841 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6842 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6845 #ifndef blitter_code_0x0401002c
6846 #define blitter_code_0x0401002c
6847 void blitter_0x0401002c(void)
6849 while (outer_loop--)
6851 inner_loop=n_pixels;
6852 while (inner_loop--)
6855 uint32 srczdata = 0;
6857 uint32 dstzdata = 0;
6858 uint32 writedata = 0;
6860 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
6861 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
6862 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
6865 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
6866 } else { srczdata=dstzdata; writedata=dstdata; }
6869 WRITE_PIXEL_16(a1, writedata);
6873 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6874 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6881 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6882 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6883 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6886 #ifndef blitter_code_0x30c000db
6887 #define blitter_code_0x30c000db
6888 void blitter_0x30c000db(void)
6890 while (outer_loop--)
6892 inner_loop=n_pixels;
6893 while (inner_loop--)
6896 uint32 srczdata = 0;
6898 uint32 dstzdata = 0;
6899 uint32 writedata = 0;
6901 srcdata = READ_PIXEL_8(a1);
6902 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
6903 writedata |= srcdata & ~dstdata;
6904 writedata |= srcdata & dstdata;
6905 WRITE_PIXEL_8(a2, writedata);
6908 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6909 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6916 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6917 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6918 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6921 #ifndef blitter_code_0x30c002ad
6922 #define blitter_code_0x30c002ad
6923 void blitter_0x30c002ad(void)
6925 while (outer_loop--)
6927 inner_loop=n_pixels;
6928 while (inner_loop--)
6931 uint32 srczdata = 0;
6933 uint32 dstzdata = 0;
6934 uint32 writedata = 0;
6936 srcdata = READ_PIXEL_32(a2);
6937 dstdata = READ_PIXEL_32(a1);
6938 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
6939 writedata |= srcdata & ~dstdata;
6940 writedata |= srcdata & dstdata;
6941 WRITE_PIXEL_32(a1, writedata);
6944 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6945 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6952 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6953 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6954 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6957 #ifndef blitter_code_0x3401009b
6958 #define blitter_code_0x3401009b
6959 void blitter_0x3401009b(void)
6961 while (outer_loop--)
6963 inner_loop=n_pixels;
6964 while (inner_loop--)
6967 uint32 srczdata = 0;
6969 uint32 dstzdata = 0;
6970 uint32 writedata = 0;
6972 srcdata = READ_PIXEL_8(a2);
6973 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
6974 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
6975 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
6976 WRITE_PIXEL_8(a1, writedata);
6979 a2_x = (a2_x + a2_xadd) & a2_mask_x;
6980 a2_y = (a2_y + a2_yadd) & a2_mask_y;
6987 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
6988 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
6989 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
6992 #ifndef blitter_code_0x04c1022d
6993 #define blitter_code_0x04c1022d
6994 void blitter_0x04c1022d(void)
6996 while (outer_loop--)
6998 inner_loop=n_pixels;
6999 while (inner_loop--)
7002 uint32 srczdata = 0;
7004 uint32 dstzdata = 0;
7005 uint32 writedata = 0;
7007 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
7008 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
7009 dstdata = READ_PIXEL_32(a1);
7010 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
7011 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
7012 WRITE_PIXEL_32(a1, writedata);
7015 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7016 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7023 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7024 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7025 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7028 #ifndef blitter_code_0x008002ad
7029 #define blitter_code_0x008002ad
7030 void blitter_0x008002ad(void)
7032 while (outer_loop--)
7034 inner_loop=n_pixels;
7035 while (inner_loop--)
7038 uint32 srczdata = 0;
7040 uint32 dstzdata = 0;
7041 uint32 writedata = 0;
7043 srcdata = READ_PIXEL_32(a2);
7044 dstdata = READ_PIXEL_32(a1);
7045 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
7046 writedata |= srcdata & dstdata;
7047 WRITE_PIXEL_32(a1, writedata);
7050 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7051 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7058 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7059 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7060 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7063 #ifndef blitter_code_0x14c1022d
7064 #define blitter_code_0x14c1022d
7065 void blitter_0x14c1022d(void)
7067 while (outer_loop--)
7069 inner_loop=n_pixels;
7070 while (inner_loop--)
7073 uint32 srczdata = 0;
7075 uint32 dstzdata = 0;
7076 uint32 writedata = 0;
7078 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
7079 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
7080 dstdata = READ_PIXEL_32(a1);
7081 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
7082 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
7083 WRITE_PIXEL_32(a1, writedata);
7086 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7087 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7094 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7095 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7096 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7099 #ifndef blitter_code_0x34c1022d
7100 #define blitter_code_0x34c1022d
7101 void blitter_0x34c1022d(void)
7103 while (outer_loop--)
7105 inner_loop=n_pixels;
7106 while (inner_loop--)
7109 uint32 srczdata = 0;
7111 uint32 dstzdata = 0;
7112 uint32 writedata = 0;
7114 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
7115 srczdata = READ_RDATA_32(SRCZINT, a2, a2_phrase_mode);
7116 dstdata = READ_PIXEL_32(a1);
7117 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
7118 writedata= READ_RDATA_32(PATTERNDATA, a1, a1_phrase_mode);
7119 WRITE_PIXEL_32(a1, writedata);
7122 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7123 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7130 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7131 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7132 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7135 #ifndef blitter_code_0x30c0029b
7136 #define blitter_code_0x30c0029b
7137 void blitter_0x30c0029b(void)
7139 while (outer_loop--)
7141 inner_loop=n_pixels;
7142 while (inner_loop--)
7145 uint32 srczdata = 0;
7147 uint32 dstzdata = 0;
7148 uint32 writedata = 0;
7150 srcdata = READ_PIXEL_8(a2);
7151 dstdata = READ_PIXEL_8(a1);
7152 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
7153 writedata |= srcdata & ~dstdata;
7154 writedata |= srcdata & dstdata;
7155 WRITE_PIXEL_8(a1, writedata);
7158 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7159 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7166 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7167 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7168 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7171 #ifndef blitter_code_0x24c1021b
7172 #define blitter_code_0x24c1021b
7173 void blitter_0x24c1021b(void)
7175 while (outer_loop--)
7177 inner_loop=n_pixels;
7178 while (inner_loop--)
7181 uint32 srczdata = 0;
7183 uint32 dstzdata = 0;
7184 uint32 writedata = 0;
7186 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
7187 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
7188 dstdata = READ_PIXEL_8(a1);
7189 dstzdata = READ_RDATA_8(DSTZ, a1, a1_phrase_mode);
7190 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
7191 WRITE_PIXEL_8(a1, writedata);
7194 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7195 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7202 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7203 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7204 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7207 #ifndef blitter_code_0x30c042ad
7208 #define blitter_code_0x30c042ad
7209 void blitter_0x30c042ad(void)
7211 while (outer_loop--)
7213 inner_loop=n_pixels;
7214 while (inner_loop--)
7217 uint32 srczdata = 0;
7219 uint32 dstzdata = 0;
7220 uint32 writedata = 0;
7222 srcdata = READ_PIXEL_32(a2);
7223 dstdata = READ_PIXEL_32(a1);
7224 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
7225 if (srcdata == READ_RDATA_32(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
7228 writedata |= srcdata & ~dstdata;
7229 writedata |= srcdata & dstdata;
7230 } else { srczdata=dstzdata; writedata=dstdata; }
7231 WRITE_PIXEL_32(a1, writedata);
7234 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7235 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7242 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7243 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7244 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7247 #ifndef blitter_code_0x3e01261c
7248 #define blitter_code_0x3e01261c
7249 void blitter_0x3e01261c(void)
7251 while (outer_loop--)
7253 inner_loop=n_pixels;
7254 while (inner_loop--)
7257 uint32 srczdata = 0;
7259 uint32 dstzdata = 0;
7260 uint32 writedata = 0;
7262 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
7263 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
7264 dstdata = READ_PIXEL_16(a1);
7265 dstzdata = READ_ZDATA_16(a1);
7266 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7267 srczdata=z_i[colour_index]>>16;
7268 if (srczdata > dstzdata) inhibit = 1;
7271 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
7272 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
7273 } else { srczdata=dstzdata; writedata=dstdata; }
7274 WRITE_PIXEL_16(a1, writedata);
7275 WRITE_ZDATA_16(a1, srczdata);
7278 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7279 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7280 z_i[colour_index]+=zadd;
7281 gd_i[colour_index] += gd_ia;
7282 gd_c[colour_index] += gd_ca;
7283 colour_index=(colour_index+1)&0x3;
7290 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7291 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7292 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7295 #ifndef blitter_code_0x00e00280
7296 #define blitter_code_0x00e00280
7297 void blitter_0x00e00280(void)
7299 while (outer_loop--)
7301 inner_loop=n_pixels;
7302 while (inner_loop--)
7305 uint32 srczdata = 0;
7307 uint32 dstzdata = 0;
7308 uint32 writedata = 0;
7310 srcdata = READ_PIXEL_1(a2);
7311 dstdata = READ_PIXEL_1(a1);
7312 dstzdata = READ_RDATA_1(DSTZ, a1, a1_phrase_mode);
7313 writedata |= ~srcdata & dstdata;
7314 writedata |= srcdata & ~dstdata;
7315 writedata |= srcdata & dstdata;
7316 WRITE_PIXEL_1(a1, writedata);
7319 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7320 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7327 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7328 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7329 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7332 #ifndef blitter_code_0x00e00292
7333 #define blitter_code_0x00e00292
7334 void blitter_0x00e00292(void)
7336 while (outer_loop--)
7338 inner_loop=n_pixels;
7339 while (inner_loop--)
7342 uint32 srczdata = 0;
7344 uint32 dstzdata = 0;
7345 uint32 writedata = 0;
7347 srcdata = READ_PIXEL_4(a2);
7348 dstdata = READ_PIXEL_4(a1);
7349 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
7350 writedata |= ~srcdata & dstdata;
7351 writedata |= srcdata & ~dstdata;
7352 writedata |= srcdata & dstdata;
7353 WRITE_PIXEL_4(a1, writedata);
7356 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7357 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7364 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7365 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7366 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7369 #ifndef blitter_code_0x308002a4
7370 #define blitter_code_0x308002a4
7371 void blitter_0x308002a4(void)
7373 while (outer_loop--)
7375 inner_loop=n_pixels;
7376 while (inner_loop--)
7379 uint32 srczdata = 0;
7381 uint32 dstzdata = 0;
7382 uint32 writedata = 0;
7384 srcdata = READ_PIXEL_16(a2);
7385 dstdata = READ_PIXEL_16(a1);
7386 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
7387 writedata |= srcdata & dstdata;
7388 WRITE_PIXEL_16(a1, writedata);
7391 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7392 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7399 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7400 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7401 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7404 #ifndef blitter_code_0x00c002a4
7405 #define blitter_code_0x00c002a4
7406 void blitter_0x00c002a4(void)
7408 while (outer_loop--)
7410 inner_loop=n_pixels;
7411 while (inner_loop--)
7414 uint32 srczdata = 0;
7416 uint32 dstzdata = 0;
7417 uint32 writedata = 0;
7419 srcdata = READ_PIXEL_16(a2);
7420 dstdata = READ_PIXEL_16(a1);
7421 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
7422 writedata |= srcdata & ~dstdata;
7423 writedata |= srcdata & dstdata;
7424 WRITE_PIXEL_16(a1, writedata);
7427 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7428 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7435 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7436 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7437 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7440 #ifndef blitter_code_0x01c042a4
7441 #define blitter_code_0x01c042a4
7442 void blitter_0x01c042a4(void)
7444 while (outer_loop--)
7446 inner_loop=n_pixels;
7447 while (inner_loop--)
7450 uint32 srczdata = 0;
7452 uint32 dstzdata = 0;
7453 uint32 writedata = 0;
7455 srcdata = READ_PIXEL_16(a2);
7456 dstdata = READ_PIXEL_16(a1);
7457 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
7458 if (srcdata == READ_RDATA_16(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
7461 writedata |= srcdata & ~dstdata;
7462 writedata |= srcdata & dstdata;
7463 } else { srczdata=dstzdata; writedata=dstdata; }
7464 WRITE_PIXEL_16(a1, writedata);
7467 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7468 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7475 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7476 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7477 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7480 #ifndef blitter_code_0x06c066e4
7481 #define blitter_code_0x06c066e4
7482 void blitter_0x06c066e4(void)
7484 while (outer_loop--)
7486 inner_loop=n_pixels;
7487 while (inner_loop--)
7490 uint32 srczdata = 0;
7492 uint32 dstzdata = 0;
7493 uint32 writedata = 0;
7495 srcdata = READ_PIXEL_16(a1);
7496 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
7497 dstdata = READ_PIXEL_16(a2);
7498 dstzdata = READ_ZDATA_16(a2);
7499 if (srczdata > dstzdata) inhibit = 1;
7500 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
7503 writedata |= srcdata & ~dstdata;
7504 writedata |= srcdata & dstdata;
7505 } else { srczdata=dstzdata; writedata=dstdata; }
7508 WRITE_PIXEL_16(a2, writedata);
7509 WRITE_ZDATA_16(a2, srczdata);
7513 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7514 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7521 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7522 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7523 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7526 #ifndef blitter_code_0x04010222
7527 #define blitter_code_0x04010222
7528 void blitter_0x04010222(void)
7530 while (outer_loop--)
7532 inner_loop=n_pixels;
7533 while (inner_loop--)
7536 uint32 srczdata = 0;
7538 uint32 dstzdata = 0;
7539 uint32 writedata = 0;
7541 srcdata = READ_RDATA_4(SRCDATA, a2, a2_phrase_mode);
7542 srczdata = READ_RDATA_4(SRCZINT, a2, a2_phrase_mode);
7543 dstdata = READ_PIXEL_4(a1);
7544 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
7545 writedata= READ_RDATA_4(PATTERNDATA, a1, a1_phrase_mode);
7546 WRITE_PIXEL_4(a1, writedata);
7549 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7550 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7557 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7558 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7559 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7562 #ifndef blitter_code_0x24010224
7563 #define blitter_code_0x24010224
7564 void blitter_0x24010224(void)
7566 while (outer_loop--)
7568 inner_loop=n_pixels;
7569 while (inner_loop--)
7572 uint32 srczdata = 0;
7574 uint32 dstzdata = 0;
7575 uint32 writedata = 0;
7577 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
7578 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
7579 dstdata = READ_PIXEL_16(a1);
7580 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
7581 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
7582 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
7583 WRITE_PIXEL_16(a1, writedata);
7586 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7587 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7588 gd_i[colour_index] += gd_ia;
7589 gd_c[colour_index] += gd_ca;
7596 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7597 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7598 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7601 #ifndef blitter_code_0x2000001b
7602 #define blitter_code_0x2000001b
7603 void blitter_0x2000001b(void)
7605 while (outer_loop--)
7607 inner_loop=n_pixels;
7608 while (inner_loop--)
7611 uint32 srczdata = 0;
7613 uint32 dstzdata = 0;
7614 uint32 writedata = 0;
7616 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
7617 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
7618 WRITE_PIXEL_8(a1, writedata);
7621 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7622 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7629 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7630 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7631 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7634 #ifndef blitter_code_0x3000005b
7635 #define blitter_code_0x3000005b
7636 void blitter_0x3000005b(void)
7638 while (outer_loop--)
7640 inner_loop=n_pixels;
7641 while (inner_loop--)
7644 uint32 srczdata = 0;
7646 uint32 dstzdata = 0;
7647 uint32 writedata = 0;
7649 srcdata = READ_RDATA_8(SRCDATA, a1, a1_phrase_mode);
7650 dstdata = READ_RDATA_8(DSTDATA, a2, a2_phrase_mode);
7651 WRITE_PIXEL_8(a2, writedata);
7654 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7655 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7662 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7663 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7664 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7667 #ifndef blitter_code_0x38000100
7668 #define blitter_code_0x38000100
7669 void blitter_0x38000100(void)
7671 while (outer_loop--)
7673 inner_loop=n_pixels;
7674 while (inner_loop--)
7677 uint32 srczdata = 0;
7679 uint32 dstzdata = 0;
7680 uint32 writedata = 0;
7682 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
7683 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
7684 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7687 } else { srczdata=dstzdata; writedata=dstdata; }
7688 WRITE_PIXEL_1(a1, writedata);
7691 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7692 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7699 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7700 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7701 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7704 #ifndef blitter_code_0x1c010024
7705 #define blitter_code_0x1c010024
7706 void blitter_0x1c010024(void)
7708 while (outer_loop--)
7710 inner_loop=n_pixels;
7711 while (inner_loop--)
7714 uint32 srczdata = 0;
7716 uint32 dstzdata = 0;
7717 uint32 writedata = 0;
7719 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
7720 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
7721 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
7722 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7725 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
7726 } else { srczdata=dstzdata; writedata=dstdata; }
7727 WRITE_PIXEL_16(a1, writedata);
7730 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7731 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7738 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7739 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7740 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7743 #ifndef blitter_code_0x000242e4
7744 #define blitter_code_0x000242e4
7745 void blitter_0x000242e4(void)
7747 while (outer_loop--)
7749 inner_loop=n_pixels;
7750 while (inner_loop--)
7753 uint32 srczdata = 0;
7755 uint32 dstzdata = 0;
7756 uint32 writedata = 0;
7758 srcdata = READ_PIXEL_16(a1);
7759 dstdata = READ_PIXEL_16(a2);
7760 dstzdata = READ_RDATA_16(DSTZ, a2, a2_phrase_mode);
7761 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
7764 writedata = (srcdata & 0xff) + (dstdata & 0xff);
7765 if (writedata > 0xff) writedata = 0xff;
7766 writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
7767 if (writedata > 0xfff) writedata = 0xfff;
7768 writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
7769 } else { srczdata=dstzdata; writedata=dstdata; }
7772 WRITE_PIXEL_16(a2, writedata);
7776 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7777 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7784 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7785 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7786 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7789 #ifndef blitter_code_0x2c01002c
7790 #define blitter_code_0x2c01002c
7791 void blitter_0x2c01002c(void)
7793 while (outer_loop--)
7795 inner_loop=n_pixels;
7796 while (inner_loop--)
7799 uint32 srczdata = 0;
7801 uint32 dstzdata = 0;
7802 uint32 writedata = 0;
7804 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
7805 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
7806 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
7807 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7810 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
7811 } else { srczdata=dstzdata; writedata=dstdata; }
7814 WRITE_PIXEL_16(a1, writedata);
7818 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7819 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7826 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7827 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7828 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7831 #ifndef blitter_code_0x30c042e4
7832 #define blitter_code_0x30c042e4
7833 void blitter_0x30c042e4(void)
7835 while (outer_loop--)
7837 inner_loop=n_pixels;
7838 while (inner_loop--)
7841 uint32 srczdata = 0;
7843 uint32 dstzdata = 0;
7844 uint32 writedata = 0;
7846 srcdata = READ_PIXEL_16(a1);
7847 dstdata = READ_PIXEL_16(a2);
7848 dstzdata = READ_RDATA_16(DSTZ, a2, a2_phrase_mode);
7849 if (srcdata == READ_RDATA_16(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
7852 writedata |= srcdata & ~dstdata;
7853 writedata |= srcdata & dstdata;
7854 } else { srczdata=dstzdata; writedata=dstdata; }
7855 WRITE_PIXEL_16(a2, writedata);
7858 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7859 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7866 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7867 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7868 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7871 #ifndef blitter_code_0x3c01002c
7872 #define blitter_code_0x3c01002c
7873 void blitter_0x3c01002c(void)
7875 while (outer_loop--)
7877 inner_loop=n_pixels;
7878 while (inner_loop--)
7881 uint32 srczdata = 0;
7883 uint32 dstzdata = 0;
7884 uint32 writedata = 0;
7886 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
7887 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
7888 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
7889 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7892 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
7893 } else { srczdata=dstzdata; writedata=dstdata; }
7894 WRITE_PIXEL_16(a1, writedata);
7897 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7898 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7905 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7906 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7907 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7910 #ifndef blitter_code_0x0cc10212
7911 #define blitter_code_0x0cc10212
7912 void blitter_0x0cc10212(void)
7914 while (outer_loop--)
7916 inner_loop=n_pixels;
7917 while (inner_loop--)
7920 uint32 srczdata = 0;
7922 uint32 dstzdata = 0;
7923 uint32 writedata = 0;
7925 srcdata = READ_RDATA_4(SRCDATA, a2, a2_phrase_mode);
7926 srczdata = READ_RDATA_4(SRCZINT, a2, a2_phrase_mode);
7927 dstdata = READ_PIXEL_4(a1);
7928 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
7929 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7932 writedata= READ_RDATA_4(PATTERNDATA, a1, a1_phrase_mode);
7933 } else { srczdata=dstzdata; writedata=dstdata; }
7936 WRITE_PIXEL_4(a1, writedata);
7940 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7941 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7948 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7949 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7950 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7953 #ifndef blitter_code_0x38000301
7954 #define blitter_code_0x38000301
7955 void blitter_0x38000301(void)
7957 while (outer_loop--)
7959 inner_loop=n_pixels;
7960 while (inner_loop--)
7963 uint32 srczdata = 0;
7965 uint32 dstzdata = 0;
7966 uint32 writedata = 0;
7968 srcdata = READ_RDATA_2(SRCDATA, a2, a2_phrase_mode);
7969 dstdata = READ_PIXEL_2(a1);
7970 dstzdata = READ_RDATA_2(DSTZ, a1, a1_phrase_mode);
7971 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
7974 } else { srczdata=dstzdata; writedata=dstdata; }
7975 WRITE_PIXEL_2(a1, writedata);
7978 a2_x = (a2_x + a2_xadd) & a2_mask_x;
7979 a2_y = (a2_y + a2_yadd) & a2_mask_y;
7986 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
7987 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
7988 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
7991 #ifndef blitter_code_0x2401002b
7992 #define blitter_code_0x2401002b
7993 void blitter_0x2401002b(void)
7995 while (outer_loop--)
7997 inner_loop=n_pixels;
7998 while (inner_loop--)
8001 uint32 srczdata = 0;
8003 uint32 dstzdata = 0;
8004 uint32 writedata = 0;
8006 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
8007 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
8008 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
8009 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
8010 WRITE_PIXEL_8(a1, writedata);
8013 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8014 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8021 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8022 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8023 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8026 #ifndef blitter_code_0x30c004ad
8027 #define blitter_code_0x30c004ad
8028 void blitter_0x30c004ad(void)
8030 while (outer_loop--)
8032 inner_loop=n_pixels;
8033 while (inner_loop--)
8036 uint32 srczdata = 0;
8038 uint32 dstzdata = 0;
8039 uint32 writedata = 0;
8041 srcdata = READ_PIXEL_32(a2);
8042 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
8043 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
8044 writedata |= srcdata & ~dstdata;
8045 writedata |= srcdata & dstdata;
8046 WRITE_PIXEL_32(a1, writedata);
8049 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8050 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8057 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8058 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8059 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8062 #ifndef blitter_code_0x04012000
8063 #define blitter_code_0x04012000
8064 void blitter_0x04012000(void)
8066 while (outer_loop--)
8068 inner_loop=n_pixels;
8069 while (inner_loop--)
8072 uint32 srczdata = 0;
8074 uint32 dstzdata = 0;
8075 uint32 writedata = 0;
8077 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
8078 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
8079 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
8080 srczdata=z_i[colour_index]>>16;
8081 if (srczdata > dstzdata) inhibit = 1;
8084 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
8085 } else { srczdata=dstzdata; writedata=dstdata; }
8088 WRITE_PIXEL_1(a1, writedata);
8092 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8093 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8094 z_i[colour_index]+=zadd;
8101 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8102 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8103 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8106 #ifndef blitter_code_0x34012000
8107 #define blitter_code_0x34012000
8108 void blitter_0x34012000(void)
8110 while (outer_loop--)
8112 inner_loop=n_pixels;
8113 while (inner_loop--)
8116 uint32 srczdata = 0;
8118 uint32 dstzdata = 0;
8119 uint32 writedata = 0;
8121 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
8122 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
8123 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
8124 srczdata=z_i[colour_index]>>16;
8125 if (srczdata > dstzdata) inhibit = 1;
8128 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
8129 } else { srczdata=dstzdata; writedata=dstdata; }
8130 WRITE_PIXEL_1(a1, writedata);
8133 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8134 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8135 z_i[colour_index]+=zadd;
8136 colour_index=(colour_index+1)&0x3;
8143 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8144 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8145 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8148 #ifndef blitter_code_0x30c004ad
8149 #define blitter_code_0x30c004ad
8150 void blitter_0x30c004ad(void)
8152 while (outer_loop--)
8154 inner_loop=n_pixels;
8155 while (inner_loop--)
8158 uint32 srczdata = 0;
8160 uint32 dstzdata = 0;
8161 uint32 writedata = 0;
8163 srcdata = READ_PIXEL_32(a2);
8164 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
8165 dstzdata = READ_RDATA_32(DSTZ, a1, a1_phrase_mode);
8166 writedata |= srcdata & ~dstdata;
8167 writedata |= srcdata & dstdata;
8168 WRITE_PIXEL_32(a1, writedata);
8171 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8172 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8179 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8180 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8181 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8184 #ifndef blitter_code_0x04012000
8185 #define blitter_code_0x04012000
8186 void blitter_0x04012000(void)
8188 while (outer_loop--)
8190 inner_loop=n_pixels;
8191 while (inner_loop--)
8194 uint32 srczdata = 0;
8196 uint32 dstzdata = 0;
8197 uint32 writedata = 0;
8199 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
8200 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
8201 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
8202 srczdata=z_i[colour_index]>>16;
8203 if (srczdata > dstzdata) inhibit = 1;
8206 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
8207 } else { srczdata=dstzdata; writedata=dstdata; }
8210 WRITE_PIXEL_1(a1, writedata);
8214 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8215 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8216 z_i[colour_index]+=zadd;
8223 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8224 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8225 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8228 #ifndef blitter_code_0x34012000
8229 #define blitter_code_0x34012000
8230 void blitter_0x34012000(void)
8232 while (outer_loop--)
8234 inner_loop=n_pixels;
8235 while (inner_loop--)
8238 uint32 srczdata = 0;
8240 uint32 dstzdata = 0;
8241 uint32 writedata = 0;
8243 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
8244 srczdata = READ_RDATA_1(SRCZINT, a2, a2_phrase_mode);
8245 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
8246 srczdata=z_i[colour_index]>>16;
8247 if (srczdata > dstzdata) inhibit = 1;
8250 writedata= READ_RDATA_1(PATTERNDATA, a1, a1_phrase_mode);
8251 } else { srczdata=dstzdata; writedata=dstdata; }
8252 WRITE_PIXEL_1(a1, writedata);
8255 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8256 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8257 z_i[colour_index]+=zadd;
8258 colour_index=(colour_index+1)&0x3;
8265 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8266 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8267 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8270 #ifndef blitter_code_0x30808c92
8271 #define blitter_code_0x30808c92
8272 void blitter_0x30808c92(void)
8274 while (outer_loop--)
8276 inner_loop=n_pixels;
8277 while (inner_loop--)
8280 uint32 srczdata = 0;
8282 uint32 dstzdata = 0;
8283 uint32 writedata = 0;
8285 srcdata = READ_PIXEL_4(a2);
8286 dstdata = READ_RDATA_4(DSTDATA, a1, a1_phrase_mode);
8287 dstzdata = READ_RDATA_4(DSTZ, a1, a1_phrase_mode);
8288 if (srczdata < dstzdata) inhibit = 1;
8291 writedata |= srcdata & dstdata;
8292 } else { srczdata=dstzdata; writedata=dstdata; }
8293 WRITE_PIXEL_4(a1, writedata);
8296 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8297 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8304 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8305 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8306 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8309 #ifndef blitter_code_0x0040409b
8310 #define blitter_code_0x0040409b
8311 void blitter_0x0040409b(void)
8313 while (outer_loop--)
8315 inner_loop=n_pixels;
8316 while (inner_loop--)
8319 uint32 srczdata = 0;
8321 uint32 dstzdata = 0;
8322 uint32 writedata = 0;
8324 srcdata = READ_PIXEL_8(a2);
8325 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
8326 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
8329 writedata |= srcdata & ~dstdata;
8330 } else { srczdata=dstzdata; writedata=dstdata; }
8333 WRITE_PIXEL_8(a1, writedata);
8337 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8338 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8345 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8346 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8347 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8350 #ifndef blitter_code_0x1000001d
8351 #define blitter_code_0x1000001d
8352 void blitter_0x1000001d(void)
8354 while (outer_loop--)
8356 inner_loop=n_pixels;
8357 while (inner_loop--)
8360 uint32 srczdata = 0;
8362 uint32 dstzdata = 0;
8363 uint32 writedata = 0;
8365 srcdata = READ_RDATA_32(SRCDATA, a2, a2_phrase_mode);
8366 dstdata = READ_RDATA_32(DSTDATA, a1, a1_phrase_mode);
8369 } else { srczdata=dstzdata; writedata=dstdata; }
8370 WRITE_PIXEL_32(a1, writedata);
8373 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8374 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8381 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8382 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8383 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8386 #ifndef blitter_code_0x0000409b
8387 #define blitter_code_0x0000409b
8388 void blitter_0x0000409b(void)
8390 while (outer_loop--)
8392 inner_loop=n_pixels;
8393 while (inner_loop--)
8396 uint32 srczdata = 0;
8398 uint32 dstzdata = 0;
8399 uint32 writedata = 0;
8401 srcdata = READ_PIXEL_8(a2);
8402 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
8403 if (srcdata == READ_RDATA_8(PATTERNDATA, a2,a2_phrase_mode)) inhibit=1;
8406 } else { srczdata=dstzdata; writedata=dstdata; }
8409 WRITE_PIXEL_8(a1, writedata);
8413 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8414 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8421 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8422 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8423 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8426 #ifndef blitter_code_0x0cc10024
8427 #define blitter_code_0x0cc10024
8428 void blitter_0x0cc10024(void)
8430 while (outer_loop--)
8432 inner_loop=n_pixels;
8433 while (inner_loop--)
8436 uint32 srczdata = 0;
8438 uint32 dstzdata = 0;
8439 uint32 writedata = 0;
8441 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
8442 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
8443 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
8444 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
8447 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
8448 } else { srczdata=dstzdata; writedata=dstdata; }
8451 WRITE_PIXEL_16(a1, writedata);
8455 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8456 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8463 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8464 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8465 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8468 #ifndef blitter_code_0x2401001b
8469 #define blitter_code_0x2401001b
8470 void blitter_0x2401001b(void)
8472 while (outer_loop--)
8474 inner_loop=n_pixels;
8475 while (inner_loop--)
8478 uint32 srczdata = 0;
8480 uint32 dstzdata = 0;
8481 uint32 writedata = 0;
8483 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
8484 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
8485 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
8486 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
8487 WRITE_PIXEL_8(a1, writedata);
8490 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8491 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8498 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8499 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8500 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8503 #ifndef blitter_code_0x01c042db
8504 #define blitter_code_0x01c042db
8505 void blitter_0x01c042db(void)
8507 while (outer_loop--)
8509 inner_loop=n_pixels;
8510 while (inner_loop--)
8513 uint32 srczdata = 0;
8515 uint32 dstzdata = 0;
8516 uint32 writedata = 0;
8518 srcdata = READ_PIXEL_8(a1);
8519 dstdata = READ_PIXEL_8(a2);
8520 dstzdata = READ_RDATA_8(DSTZ, a2, a2_phrase_mode);
8521 if (srcdata == READ_RDATA_8(PATTERNDATA, a1,a1_phrase_mode)) inhibit=1;
8524 writedata |= srcdata & ~dstdata;
8525 writedata |= srcdata & dstdata;
8526 } else { srczdata=dstzdata; writedata=dstdata; }
8527 WRITE_PIXEL_8(a2, writedata);
8530 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8531 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8538 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8539 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8540 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8543 #ifndef blitter_code_0x34010224
8544 #define blitter_code_0x34010224
8545 void blitter_0x34010224(void)
8547 while (outer_loop--)
8549 inner_loop=n_pixels;
8550 while (inner_loop--)
8553 uint32 srczdata = 0;
8555 uint32 dstzdata = 0;
8556 uint32 writedata = 0;
8558 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
8559 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
8560 dstdata = READ_PIXEL_16(a1);
8561 dstzdata = READ_RDATA_16(DSTZ, a1, a1_phrase_mode);
8562 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
8563 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
8564 WRITE_PIXEL_16(a1, writedata);
8567 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8568 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8569 gd_i[colour_index] += gd_ia;
8570 gd_c[colour_index] += gd_ca;
8571 colour_index=(colour_index+1)&0x3;
8578 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8579 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8580 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8583 #ifndef blitter_code_0x30808800
8584 #define blitter_code_0x30808800
8585 void blitter_0x30808800(void)
8587 while (outer_loop--)
8589 inner_loop=n_pixels;
8590 while (inner_loop--)
8593 uint32 srczdata = 0;
8595 uint32 dstzdata = 0;
8596 uint32 writedata = 0;
8598 srcdata = READ_RDATA_1(SRCDATA, a2, a2_phrase_mode);
8599 dstdata = READ_RDATA_1(DSTDATA, a1, a1_phrase_mode);
8600 if (srczdata < dstzdata) inhibit = 1;
8603 writedata |= srcdata & dstdata;
8604 } else { srczdata=dstzdata; writedata=dstdata; }
8605 WRITE_PIXEL_1(a1, writedata);
8608 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8609 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8616 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8617 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8618 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8621 #ifndef blitter_code_0x06c026e4
8622 #define blitter_code_0x06c026e4
8623 void blitter_0x06c026e4(void)
8625 while (outer_loop--)
8627 inner_loop=n_pixels;
8628 while (inner_loop--)
8631 uint32 srczdata = 0;
8633 uint32 dstzdata = 0;
8634 uint32 writedata = 0;
8636 srcdata = READ_PIXEL_16(a1);
8637 srczdata = READ_RDATA_16(SRCZINT, a1, a1_phrase_mode);
8638 dstdata = READ_PIXEL_16(a2);
8639 dstzdata = READ_ZDATA_16(a2);
8640 srczdata=z_i[colour_index]>>16;
8641 if (srczdata > dstzdata) inhibit = 1;
8644 writedata |= srcdata & ~dstdata;
8645 writedata |= srcdata & dstdata;
8646 } else { srczdata=dstzdata; writedata=dstdata; }
8649 WRITE_PIXEL_16(a2, writedata);
8650 WRITE_ZDATA_16(a2, srczdata);
8654 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8655 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8656 z_i[colour_index]+=zadd;
8663 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8664 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8665 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8668 #ifndef blitter_code_0x06012624
8669 #define blitter_code_0x06012624
8670 void blitter_0x06012624(void)
8672 while (outer_loop--)
8674 inner_loop=n_pixels;
8675 while (inner_loop--)
8678 uint32 srczdata = 0;
8680 uint32 dstzdata = 0;
8681 uint32 writedata = 0;
8683 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
8684 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
8685 dstdata = READ_PIXEL_16(a1);
8686 dstzdata = READ_ZDATA_16(a1);
8687 srczdata=z_i[colour_index]>>16;
8688 if (srczdata > dstzdata) inhibit = 1;
8691 writedata= READ_RDATA_16(PATTERNDATA, a1, a1_phrase_mode);
8692 writedata = ((gd_c[colour_index])<<8)|(gd_i[colour_index]>>16);
8693 } else { srczdata=dstzdata; writedata=dstdata; }
8696 WRITE_PIXEL_16(a1, writedata);
8697 WRITE_ZDATA_16(a1, srczdata);
8701 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8702 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8703 z_i[colour_index]+=zadd;
8704 gd_i[colour_index] += gd_ia;
8705 gd_c[colour_index] += gd_ca;
8712 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8713 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8714 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8717 #ifndef blitter_code_0x000200e4
8718 #define blitter_code_0x000200e4
8719 void blitter_0x000200e4(void)
8721 while (outer_loop--)
8723 inner_loop=n_pixels;
8724 while (inner_loop--)
8727 uint32 srczdata = 0;
8729 uint32 dstzdata = 0;
8730 uint32 writedata = 0;
8732 srcdata = READ_PIXEL_16(a1);
8733 dstdata = READ_RDATA_16(DSTDATA, a2, a2_phrase_mode);
8736 writedata = (srcdata & 0xff) + (dstdata & 0xff);
8737 if (writedata > 0xff) writedata = 0xff;
8738 writedata |= (srcdata & 0xf00) + (dstdata & 0xf00);
8739 if (writedata > 0xfff) writedata = 0xfff;
8740 writedata |= (srcdata & 0xf000) + (dstdata & 0xf000);
8741 } else { srczdata=dstzdata; writedata=dstdata; }
8744 WRITE_PIXEL_16(a2, writedata);
8748 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8749 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8756 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8757 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8758 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8761 #ifndef blitter_code_0x37c026a4
8762 #define blitter_code_0x37c026a4
8763 void blitter_0x37c026a4(void)
8765 while (outer_loop--)
8767 inner_loop=n_pixels;
8768 while (inner_loop--)
8771 uint32 srczdata = 0;
8773 uint32 dstzdata = 0;
8774 uint32 writedata = 0;
8776 srcdata = READ_PIXEL_16(a2);
8777 srczdata = READ_RDATA_16(SRCZINT, a2, a2_phrase_mode);
8778 dstdata = READ_PIXEL_16(a1);
8779 dstzdata = READ_ZDATA_16(a1);
8780 srczdata=z_i[colour_index]>>16;
8781 if (srczdata > dstzdata) inhibit = 1;
8784 writedata |= srcdata & ~dstdata;
8785 writedata |= srcdata & dstdata;
8786 } else { srczdata=dstzdata; writedata=dstdata; }
8787 WRITE_PIXEL_16(a1, writedata);
8788 WRITE_ZDATA_16(a1, srczdata);
8791 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8792 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8793 z_i[colour_index]+=zadd;
8794 colour_index=(colour_index+1)&0x3;
8801 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8802 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8803 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8806 #ifndef blitter_code_0x3c01001b
8807 #define blitter_code_0x3c01001b
8808 void blitter_0x3c01001b(void)
8810 while (outer_loop--)
8812 inner_loop=n_pixels;
8813 while (inner_loop--)
8816 uint32 srczdata = 0;
8818 uint32 dstzdata = 0;
8819 uint32 writedata = 0;
8821 srcdata = READ_RDATA_8(SRCDATA, a2, a2_phrase_mode);
8822 srczdata = READ_RDATA_8(SRCZINT, a2, a2_phrase_mode);
8823 dstdata = READ_RDATA_8(DSTDATA, a1, a1_phrase_mode);
8824 if (a1_x < 0 || a1_y < 0 || (a1_x >> 16) >= (REG(A1_CLIP) & 0x7fff) || (a1_y >> 16) >= ((REG(A1_CLIP) >> 16) & 0x7fff)) inhibit = 1;
8827 writedata= READ_RDATA_8(PATTERNDATA, a1, a1_phrase_mode);
8828 } else { srczdata=dstzdata; writedata=dstdata; }
8829 WRITE_PIXEL_8(a1, writedata);
8832 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8833 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8840 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8841 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8842 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8845 #ifndef blitter_code_0x2401006b
8846 #define blitter_code_0x2401006b
8847 void blitter_0x2401006b(void)
8849 while (outer_loop--)
8851 inner_loop=n_pixels;
8852 while (inner_loop--)
8855 uint32 srczdata = 0;
8857 uint32 dstzdata = 0;
8858 uint32 writedata = 0;
8860 srcdata = READ_RDATA_32(SRCDATA, a1, a1_phrase_mode);
8861 srczdata = READ_RDATA_32(SRCZINT, a1, a1_phrase_mode);
8862 dstdata = READ_RDATA_32(DSTDATA, a2, a2_phrase_mode);
8865 writedata= READ_RDATA_32(PATTERNDATA, a2, a2_phrase_mode);
8866 } else { srczdata=dstzdata; writedata=dstdata; }
8867 WRITE_PIXEL_32(a2, writedata);
8870 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8871 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8878 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8879 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8880 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));
8883 #ifndef blitter_code_0x30000024
8884 #define blitter_code_0x30000024
8885 void blitter_0x30000024(void)
8887 while (outer_loop--)
8889 inner_loop=n_pixels;
8890 while (inner_loop--)
8893 uint32 srczdata = 0;
8895 uint32 dstzdata = 0;
8896 uint32 writedata = 0;
8898 srcdata = READ_RDATA_16(SRCDATA, a2, a2_phrase_mode);
8899 dstdata = READ_RDATA_16(DSTDATA, a1, a1_phrase_mode);
8900 WRITE_PIXEL_16(a1, writedata);
8903 a2_x = (a2_x + a2_xadd) & a2_mask_x;
8904 a2_y = (a2_y + a2_yadd) & a2_mask_y;
8911 WREG(A1_PIXEL, (a1_y & 0xffff0000) | ((a1_x >> 16) & 0xffff));
8912 WREG(A1_FPIXEL, (a1_y << 16) | (a1_x & 0xffff));
8913 WREG(A2_PIXEL, (a2_y & 0xffff0000) | ((a2_x >> 16) & 0xffff));