Previous 199869 Revisions Next

r19056 Tuesday 20th November, 2012 at 00:12:55 UTC by Angelo Salese
Fixed scrolling bug with upd7220, NEC APC and (presumably) Epson QX-10 loves it
[src/mess/video]upd7220.c

trunk/src/mess/video/upd7220.c
r19055r19056
16051605   UINT32 addr, sad;
16061606   UINT16 len;
16071607   int im, wd, area;
1608   int y, tsy = 0, bsy = 0;
1608   int y = 0, tsy = 0, bsy = 0;
16091609
1610   for (area = 0; area < 2; area++)
1610   for (area = 0; area < 4; area++)
16111611   {
16121612      get_graphics_partition(area, &sad, &len, &im, &wd);
16131613
1614      for (y = 0; y < len; y++)
1614      if (im || force_bitmap)
16151615      {
1616         if (im || force_bitmap)
1616         get_graphics_partition(area, &sad, &len, &im, &wd);
1617
1618         if(area >= 2) // TODO: correct?
1619            break;
1620
1621         for (y = 0; y < len; y++)
16171622         {
16181623            addr = (sad & 0x3ffff) + (y * m_pitch * 2);
16191624
16201625            if (m_display_cb)
16211626               draw_graphics_line(bitmap, addr, y + bsy, wd);
16221627         }
1623         else
1628      }
1629      else
1630      {
1631         get_text_partition(area, &sad, &len, &im, &wd);
1632
1633         if(m_lr)
16241634         {
1625            /* TODO: text params are more limited compared to graphics */
1626            addr = (sad & 0x3ffff) + (y * m_pitch);
1635            for (y = 0; y < len; y+=m_lr)
1636            {
1637               addr = (sad & 0x3ffff) + ((y / m_lr) * m_pitch);
16271638
1628            if (m_draw_text_cb)
1629               m_draw_text_cb(this, bitmap, addr, y + tsy, wd, m_pitch, 0, 0, m_aw * 8 - 1, len + bsy - 1, m_lr, m_dc, m_ead);
1639               if (m_draw_text_cb)
1640                  m_draw_text_cb(this, bitmap, addr, (y + tsy) / m_lr, wd, m_pitch, 0, 0, m_aw * 8 - 1, len + bsy - 1, m_lr, m_dc, m_ead);
1641            }
16301642         }
16311643      }
16321644
16331645      if (m_lr)
1634         tsy += (y / m_lr);
1646         tsy += y;
16351647      bsy += y;
16361648   }
16371649}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team