Previous 199869 Revisions Next

r35157 Saturday 21st February, 2015 at 03:43:13 UTC by Carl
Merge branch 'master' of https://github.com/mamedev/mame
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r243668r243669
14101410   {
14111411      if(BIT(m_egc.regs[2], 10))
14121412      {
1413         m_egc.leftover[0] = m_egc.leftover[1] = m_egc.leftover[2] = m_egc.leftover[3] = 0;
1413         m_egc.leftover[0] = 0;
14141414         egc_shift(0, data);
14151415         // leftover[0] is inited above, set others to same
14161416         m_egc.leftover[1] = m_egc.leftover[2] = m_egc.leftover[3] = m_egc.leftover[0];
r243668r243669
14221422   // mask off the bits before the start
14231423   if(m_egc.first)
14241424   {
1425      mask &= dir ? ~((1 << dst_off) - 1) : ((1 << (dst_off + 1)) - 1);
1426      if(!m_egc.init)
1425      mask &= dir ? ~((1 << dst_off) - 1) : ((1 << (16 - dst_off)) - 1);
1426      if(BIT(m_egc.regs[2], 10) && !m_egc.init)
14271427         m_egc.leftover[0] = m_egc.leftover[1] = m_egc.leftover[2] = m_egc.leftover[3] = 0;
14281428   }
14291429
r243668r243669
15131513      m_egc.pat[2] = m_video_ram_2[plane_off + (0x4000 * 3)];
15141514      m_egc.pat[3] = m_video_ram_2[plane_off];
15151515   }
1516   if(m_egc.first && !m_egc.init)
1517   {
1518      m_egc.leftover[0] = m_egc.leftover[1] = m_egc.leftover[2] = m_egc.leftover[3] = 0;
1519      m_egc.init = true;
1520   }
15161521   for(int i = 0; i < 4; i++)
15171522      m_egc.src[i] = egc_shift(i, m_video_ram_2[plane_off + (((i + 1) & 3) * 0x4000)]);
15181523
r243668r243669
15681573         {
15691574            if((m_grcg.mode & (1 << i)) == 0)
15701575            {
1571
15721576               if(mem_mask & 0xff)
15731577               {
15741578                  vram[offset | (((i + 1) & 3) * 0x8000)] &= ~(data >> 0);
r243668r243669
18961900   else if(offset == 7)
18971901   {
18981902//      logerror("%02x GRCG TILE %02x\n",data,m_grcg.tile_index);
1899      m_grcg.tile[m_grcg.tile_index] = BITSWAP16((UINT16) data,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7);
1903      m_grcg.tile[m_grcg.tile_index] = BITSWAP8(data,0,1,2,3,4,5,6,7);
19001904      m_grcg.tile_index ++;
19011905      m_grcg.tile_index &= 3;
19021906      return;
r243668r243669
19101914   if(!m_ex_video_ff[2])
19111915      return;
19121916
1913   COMBINE_DATA(&m_egc.regs[offset]);
1917   if(!(m_egc.regs[1] & 0x6000) || (offset != 4)) // why?
1918      COMBINE_DATA(&m_egc.regs[offset]);
19141919   switch(offset)
19151920   {
19161921      case 1:


Previous 199869 Revisions Next


© 1997-2024 The MAME Team