Previous 199869 Revisions Next

r30677 Monday 26th May, 2014 at 15:52:46 UTC by Carl
dwarfd: get colors from prom (nw)
[src/mame/drivers]dwarfd.c

trunk/src/mame/drivers/dwarfd.c
r30676r30677
584584   for(i=0;i<8;i+=2)
585585   {
586586      UINT8 pixel = (pixels >> (i * 2)) & 0xf;
587      UINT8 value = (pixel >> 1) | (rvv << 3) | (vsp << 4);
587      UINT8 value = (pixel >> 1) | (rvv << 4) | (vsp << 3);
588588      bitmap.pix32(y, x + i) = palette[value];
589589      bitmap.pix32(y, x + i + 1) = palette[(pixel & 1) ? 0 : value];
590590      if(m_back_color)
r30676r30677
608608   for(i=0;i<8;i+=2)
609609   {
610610      UINT8 pixel = (pixels >> (i * 2)) & 0xf;
611      UINT8 value = (pixel >> 1) | (rvv << 3) | (vsp << 4);
611      UINT8 value = (pixel >> 1) | (rvv << 4) | (vsp << 3);
612612      bitmap.pix32(y, x + i) = palette[value];
613613      bitmap.pix32(y, x + i + 1) = palette[(pixel & 1) ? 0 : value];
614614      if(m_back_color)
r30676r30677
730730
731731PALETTE_INIT_MEMBER(dwarfd_state, dwarfd)
732732{
733   int i;
733   UINT8 rgb[3];
734   int i,j;
735   UINT8 *prom = memregion("proms")->base();
734736
735737   for (i = 0; i < 32; i++)
736738   {
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]));
741747   }
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));
755748}
756749
757750void dwarfd_state::machine_start()
r30676r30677
990983   ROM_REGION( 0x4000*2, "gfx2", 0 )
991984   ROM_FILL(0,  0x4000*2, 0)
992985
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) )
993989ROM_END
994990
995991DRIVER_INIT_MEMBER(dwarfd_state,dwarfd)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team