Previous 199869 Revisions Next

r29199 Wednesday 2nd April, 2014 at 20:23:58 UTC by Angelo Salese
Support for 2bpp (screen mode 1)
[src/mame/machine]archimds.c
[src/mame/video]archimds.c

trunk/src/mame/machine/archimds.c
r29198r29199
913913      m_vidc_bpp_mode = ((val & 0x0c) >> 2);
914914      m_vidc_interlace = ((val & 0x40) >> 6);
915915      m_vidc_pixel_clk = (val & 0x03);
916      //todo: vga/svga modes sets 0x1000
916917      vidc_dynamic_res_change();
917918   }
918919   else
trunk/src/mame/video/archimds.c
r29198r29199
7777            }
7878         }
7979         break;
80         case 1: //2 bpp
81         {
82            for(y=0;y<ysize;y++)
83            {
84               for(x=0;x<xsize;x+=4)
85               {
86                  pen = vram[count];
87
88                  for(xi=0;xi<4;xi++)
89                  {
90                     res_x = x+xi+xstart;
91                     res_y = (y+ystart)*(m_vidc_interlace+1);
92
93                     if(m_vidc_interlace)
94                     {
95                        if (cliprect.contains(res_x, res_y) && (res_x) <= xend && (res_y) <= yend)
96                           bitmap.pix32(res_y, res_x) = m_palette->pen((pen>>(xi*2))&0x3);
97                        if (cliprect.contains(res_x, res_y+1) && (res_x) <= xend && (res_y+1) <= yend)
98                           bitmap.pix32(res_y+1, res_x) = m_palette->pen((pen>>(xi*2))&0x3);
99                     }
100                     else
101                     {
102                        if (cliprect.contains(res_x, res_y) && (res_x) <= xend && (res_y) <= yend)
103                           bitmap.pix32(res_y, res_x) = m_palette->pen((pen>>(xi*2))&0x3);
104                     }
105                  }
106
107                  count++;
108               }
109            }
110         }
111         break;
80112         case 2: //4 bpp
81113         {
82114            for(y=0;y<ysize;y++)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team