trunk/src/mame/drivers/dwarfd.c
| r30676 | r30677 | |
| 584 | 584 | for(i=0;i<8;i+=2) |
| 585 | 585 | { |
| 586 | 586 | UINT8 pixel = (pixels >> (i * 2)) & 0xf; |
| 587 | | UINT8 value = (pixel >> 1) | (rvv << 3) | (vsp << 4); |
| 587 | UINT8 value = (pixel >> 1) | (rvv << 4) | (vsp << 3); |
| 588 | 588 | bitmap.pix32(y, x + i) = palette[value]; |
| 589 | 589 | bitmap.pix32(y, x + i + 1) = palette[(pixel & 1) ? 0 : value]; |
| 590 | 590 | if(m_back_color) |
| r30676 | r30677 | |
| 608 | 608 | for(i=0;i<8;i+=2) |
| 609 | 609 | { |
| 610 | 610 | UINT8 pixel = (pixels >> (i * 2)) & 0xf; |
| 611 | | UINT8 value = (pixel >> 1) | (rvv << 3) | (vsp << 4); |
| 611 | UINT8 value = (pixel >> 1) | (rvv << 4) | (vsp << 3); |
| 612 | 612 | bitmap.pix32(y, x + i) = palette[value]; |
| 613 | 613 | bitmap.pix32(y, x + i + 1) = palette[(pixel & 1) ? 0 : value]; |
| 614 | 614 | if(m_back_color) |
| r30676 | r30677 | |
| 730 | 730 | |
| 731 | 731 | PALETTE_INIT_MEMBER(dwarfd_state, dwarfd) |
| 732 | 732 | { |
| 733 | | int i; |
| 733 | UINT8 rgb[3]; |
| 734 | int i,j; |
| 735 | UINT8 *prom = memregion("proms")->base(); |
| 734 | 736 | |
| 735 | 737 | for (i = 0; i < 32; i++) |
| 736 | 738 | { |
| 737 | | int r = machine().rand()|0x80; |
| 738 | | int g = machine().rand()|0x80; |
| 739 | | int b = machine().rand()|0x80; |
| 740 | | palette.set_pen_color(i,rgb_t(r,g,b)); |
| 739 | // what are the top 2 bits? |
| 740 | rgb[0] = ((prom[i] & 0x08) >> 2) | (prom[i] & 1); |
| 741 | rgb[1] = ((prom[i] & 0x10) >> 3) | ((prom[i] & 2) >> 1); |
| 742 | rgb[2] = ((prom[i] & 0x20) >> 4) | ((prom[i] & 4) >> 2); |
| 743 | for(j = 0; j < 3; j++) |
| 744 | rgb[j] |= (rgb[j] << 6) | (rgb[j] << 4) | (rgb[j] << 2); |
| 745 | |
| 746 | palette.set_pen_color(i,rgb_t(rgb[0], rgb[1], rgb[2])); |
| 741 | 747 | } |
| 742 | | palette.set_pen_color(0, rgb_t(0, 0, 0)); |
| 743 | | palette.set_pen_color(1, rgb_t(255, 0, 0)); |
| 744 | | palette.set_pen_color(2, rgb_t(0, 255, 0)); |
| 745 | | palette.set_pen_color(3, rgb_t(255, 0, 0)); |
| 746 | | palette.set_pen_color(4, rgb_t(255, 255, 0)); |
| 747 | | palette.set_pen_color(6, rgb_t(255, 255, 255)); |
| 748 | | palette.set_pen_color(7, rgb_t(0, 0, 0)); |
| 749 | | palette.set_pen_color(8, rgb_t(0, 0, 0)); |
| 750 | | palette.set_pen_color(9, rgb_t(0, 0, 0)); |
| 751 | | palette.set_pen_color(12, rgb_t(255, 255, 0)); |
| 752 | | palette.set_pen_color(14, rgb_t(255, 255, 255)); |
| 753 | | palette.set_pen_color(16, rgb_t(0, 0, 0)); |
| 754 | | palette.set_pen_color(20, rgb_t(0, 0, 255)); |
| 755 | 748 | } |
| 756 | 749 | |
| 757 | 750 | void dwarfd_state::machine_start() |
| r30676 | r30677 | |
| 990 | 983 | ROM_REGION( 0x4000*2, "gfx2", 0 ) |
| 991 | 984 | ROM_FILL(0, 0x4000*2, 0) |
| 992 | 985 | |
| 986 | // borrowed from above and slightly edited |
| 987 | ROM_REGION( 0x40, "proms", 0 ) |
| 988 | ROM_LOAD( "colors.bin",0x00, 0x20, BAD_DUMP CRC(3adeee7c) SHA1(f118ee62f84b0384316c12fc22356d43b2cfd876) ) |
| 993 | 989 | ROM_END |
| 994 | 990 | |
| 995 | 991 | DRIVER_INIT_MEMBER(dwarfd_state,dwarfd) |