trunk/src/mame/drivers/coolridr.c
| r21432 | r21433 | |
| 710 | 710 | else /* 8bpp */ \ |
| 711 | 711 | { \ |
| 712 | 712 | /* mm cccc cccc */ \ |
| 713 | | tempshape[data_written^writeaddrxor] = rearranged_16bit_gfx[color_offs + (compdata & 0x0ff) + 0x48]; /* +0x48 crt test end of blue, start of white */ \ |
| 713 | UINT16 rawdat = (compdata & 0x0ff); \ |
| 714 | if (rawdat > (b2altpenmask + 0x48)) /* does this have to be turned on by b1mode? does it affect the other colour depths too? */ \ |
| 715 | tempshape[data_written^writeaddrxor] = rearranged_16bit_gfx[color_offs2 + (rawdat )+0x48]; /* bike wheels + brake light */ \ |
| 716 | else \ |
| 717 | tempshape[data_written^writeaddrxor] = rearranged_16bit_gfx[color_offs + (rawdat )+0x48]; /* +0x48 crt test end of blue, start of white */ \ |
| 714 | 718 | if (tempshape[data_written^writeaddrxor]==0x8000) blankcount--; \ |
| 715 | 719 | data_written++; \ |
| 716 | 720 | } \ |
| r21432 | r21433 | |
| 866 | 870 | |
| 867 | 871 | if (blit1_unused!=0) printf("blit1 unknown bits set %08x\n", object->spriteblit[1]); |
| 868 | 872 | |
| 873 | |
| 874 | if (b1mode) |
| 875 | { |
| 876 | // b1colorNumber = object->state->machine().rand()&0xfff; |
| 877 | } |
| 878 | |
| 869 | 879 | /************* object->spriteblit[3] *************/ |
| 870 | 880 | |
| 871 | 881 | // seems to be more complex than just transparency |
| 872 | 882 | UINT32 blit2_unused = object->spriteblit[2]&0xff80f800; |
| 873 | | UINT32 b2tpen = (object->spriteblit[2] & 0x007f0000)>>16; |
| 883 | UINT32 b2altpenmask = (object->spriteblit[2] & 0x007f0000)>>16; |
| 874 | 884 | UINT32 b2colorNumber = (object->spriteblit[2] & 0x000007ff); |
| 875 | 885 | |
| 876 | 886 | if (b2colorNumber != b1colorNumber) |
| r21432 | r21433 | |
| 888 | 898 | if (blit2_unused!=0) printf("blit1 unknown bits set %08x\n", object->spriteblit[2]); |
| 889 | 899 | if (b1mode) |
| 890 | 900 | { |
| 891 | | if (b2tpen != 0x7f) printf("b1mode 1, b2tpen!=0x7f\n"); |
| 901 | if (b2altpenmask != 0x7f) printf("b1mode 1, b2altpenmask!=0x7f\n"); |
| 892 | 902 | } |
| 893 | 903 | else |
| 894 | 904 | { |
| 895 | 905 | // 0x01/0x02 trips in rare cases (start of one of the attract levels) maybe this is some kind of alpha instead? |
| 896 | | if ((b2tpen != 0x00) && (b2tpen != 0x01) && (b2tpen != 0x02)) printf("b1mode 0, b2tpen!=0x00,0x01 or 0x02 (is %02x)\n", b2tpen); |
| 906 | if ((b2altpenmask != 0x00) && (b2altpenmask != 0x01) && (b2altpenmask != 0x02)) printf("b1mode 0, b2altpenmask!=0x00,0x01 or 0x02 (is %02x)\n", b2altpenmask); |
| 897 | 907 | } |
| 898 | 908 | // 00??0uuu |
| 899 | 909 | // ?? seems to be 00 or 7f, set depending on b1mode |
| r21432 | r21433 | |
| 1522 | 1532 | UINT16 tempshape[16*16]; |
| 1523 | 1533 | |
| 1524 | 1534 | int color_offs = (0x7b20 + (b1colorNumber & 0x7ff))*0x40 * 5; /* yes, * 5 */ |
| 1535 | int color_offs2 = (0x7b20 + (b2colorNumber & 0x7ff))*0x40 * 5; |
| 1525 | 1536 | UINT16 blankcount = 256; |
| 1526 | 1537 | |
| 1527 | 1538 | if (used_flipy) |