Previous 199869 Revisions Next

r19453 Monday 10th December, 2012 at 20:38:19 UTC by Angelo Salese
Attempt to fix interlace ...
[src/mess/drivers]pc9801.c

trunk/src/mess/drivers/pc9801.c
r19452r19453
317317   int m_dack;
318318
319319   UINT8 m_vrtc_irq_mask;
320   UINT8 m_video_ff[8];
320   UINT8 m_video_ff[8],m_gfx_ff;
321321   UINT8 m_video_reg[6];
322322   UINT8 m_pal_clut[4];
323323
r19452r19453
10511051
10521052WRITE8_MEMBER(pc9801_state::pc9801_video_ff_w)
10531053{
1054
10551054   if((offset & 1) == 0)
10561055   {
1057      m_video_ff[(data & 0x0e) >> 1] = data & 1;
1056      /*
1057      TODO: this is my best bet so far. Register 4 is annoying, the pattern always is:
1058      Write to video FF register Graphic -> 00
1059      Write to video FF register 200 lines -> 0x
1060      Write to video FF register 200 lines -> 00
10581061
1062      where x is the current mode.
1063      */
1064      switch((data & 0x0e) >> 1)
1065      {
1066         case 1:
1067            m_gfx_ff = 1;
1068            if(data & 1)
1069               printf("Graphic f/f actually enabled!\n");
1070            break;
1071         case 4:
1072            if(m_gfx_ff)
1073            {
1074               m_video_ff[(data & 0x0e) >> 1] = data & 1;
1075               m_gfx_ff = 0;
1076            }
1077            break;
1078         default: m_video_ff[(data & 0x0e) >> 1] = data & 1; break;
1079      }
1080
1081
10591082      if(1)
10601083      {
10611084         static const char *const video_ff_regnames[] =

Previous 199869 Revisions Next


© 1997-2024 The MAME Team