Diff for /np2/io/gdc.c between versions 1.37 and 1.41

version 1.37, 2005/02/27 15:07:36 version 1.41, 2007/11/11 12:46:07
Line 93  void gdc_setanalogpal(int color, int rgb Line 93  void gdc_setanalogpal(int color, int rgb
                                 event = palevent.event + palevent.events;                                  event = palevent.event + palevent.events;
                                 event->clock = nevent.item[NEVENT_FLAMES].clock -                                  event->clock = nevent.item[NEVENT_FLAMES].clock -
                                                                                         (CPU_BASECLOCK - CPU_REMCLOCK);                                                                                          (CPU_BASECLOCK - CPU_REMCLOCK);
                                 event->color = (color * sizeof(RGB32)) + rgb;                                  event->color = (UINT16)((color * sizeof(RGB32)) + rgb);
                                 event->value = (UINT8)value;                                  event->value = (UINT8)value;
                                 palevent.events++;                                  palevent.events++;
                         }                          }
Line 156  void gdc_analogext(BOOL extend) { Line 156  void gdc_analogext(BOOL extend) {
         }          }
         gdcs.palchange = GDCSCRN_REDRAW;          gdcs.palchange = GDCSCRN_REDRAW;
         gdcs.grphdisp |= GDCSCRN_EXT | GDCSCRN_ALLDRAW2;          gdcs.grphdisp |= GDCSCRN_EXT | GDCSCRN_ALLDRAW2;
         i286_vram_dispatch(vramop.operate);          MEMM_VRAM(vramop.operate);
 }  }
 #endif  #endif
   
Line 274  void gdc_work(int id) { Line 274  void gdc_work(int id) {
                                 case CMD_START:                                  case CMD_START:
                                 case CMD_SYNC_ON:                                  case CMD_SYNC_ON:
                                         (*dispflag) |= GDCSCRN_ENABLE | GDCSCRN_ALLDRAW2;                                          (*dispflag) |= GDCSCRN_ENABLE | GDCSCRN_ALLDRAW2;
                                         screenupdate |= 2;                                          pcstat.screenupdate |= 2;
                                         break;                                          break;
   
                                 case CMD_STOP_:                                  case CMD_STOP_:
Line 282  void gdc_work(int id) { Line 282  void gdc_work(int id) {
                                 case CMD_SYNC_OFF:                                  case CMD_SYNC_OFF:
                                         (*dispflag) &= (~GDCSCRN_ENABLE);                                          (*dispflag) &= (~GDCSCRN_ENABLE);
 //                                      (*dispflag) |= GDCSCRN_ALLDRAW2;  //                                      (*dispflag) |= GDCSCRN_ALLDRAW2;
                                         screenupdate |= 2;                                          pcstat.screenupdate |= 2;
                                         break;                                          break;
   
                                 case CMD_VECTE:                                  case CMD_VECTE:
Line 479  static void IOOUTCALL gdc_o68(UINT port, Line 479  static void IOOUTCALL gdc_o68(UINT port,
                         gdc_restorekacmode();                          gdc_restorekacmode();
                 }                  }
                 else if (bit == 0x80) {                  else if (bit == 0x80) {
                         screenupdate |= 2;                          pcstat.screenupdate |= 2;
                 }                  }
                 gdcs.msw_accessable = gdc.mode1 & 0x40;                  gdcs.msw_accessable = gdc.mode1 & 0x40;
         }          }
Line 505  static void IOOUTCALL gdc_o6a(UINT port, Line 505  static void IOOUTCALL gdc_o6a(UINT port,
                                         gdcs.palchange = GDCSCRN_REDRAW;                                          gdcs.palchange = GDCSCRN_REDRAW;
                                         vramop.operate &= ~(1 << VOPBIT_ANALOG);                                          vramop.operate &= ~(1 << VOPBIT_ANALOG);
                                         vramop.operate |= dat << VOPBIT_ANALOG;                                          vramop.operate |= dat << VOPBIT_ANALOG;
                                         i286_vram_dispatch(vramop.operate);                                          MEMM_VRAM(vramop.operate);
                                 }                                  }
                                 break;                                  break;
   
Line 513  static void IOOUTCALL gdc_o6a(UINT port, Line 513  static void IOOUTCALL gdc_o6a(UINT port,
                                 if ((gdc.mode2 & 0x08) && (grcg.chip == 3)) {                                  if ((gdc.mode2 & 0x08) && (grcg.chip == 3)) {
                                         vramop.operate &= ~(1 << VOPBIT_EGC);                                          vramop.operate &= ~(1 << VOPBIT_EGC);
                                         vramop.operate |= dat << VOPBIT_EGC;                                          vramop.operate |= dat << VOPBIT_EGC;
                                         i286_vram_dispatch(vramop.operate);                                          MEMM_VRAM(vramop.operate);
                                 }                                  }
                                 break;                                  break;
                 }                  }
Line 625  static REG8 IOINPCALL gdc_i60(UINT port) Line 625  static REG8 IOINPCALL gdc_i60(UINT port)
                 UINT16 memv;                  UINT16 memv;
                 addr = CPU_INPADRS;                  addr = CPU_INPADRS;
                 jadr = 0xfa74;                  jadr = 0xfa74;
                 memv = i286_memoryread_w(addr);                  memv = MEML_READ16(addr);
                 while((memv == 0x00eb) || (memv == 0x5fe6)) {                  while((memv == 0x00eb) || (memv == 0x5fe6)) {
                         jadr -= 0x200;                          jadr -= 0x200;
                         addr += 2;                          addr += 2;
                         memv = i286_memoryread_w(addr);                          memv = MEML_READ16(addr);
                 }                  }
                 if ((memv == 0x20a8) || (memv == 0x2024)) {                  if ((memv == 0x20a8) || (memv == 0x2024)) {
                         memv = i286_memoryread_w(addr + 2);                          memv = MEML_READ16(addr + 2);
                         if (memv == jadr) {                                     // je                          if (memv == jadr) {                                     // je
                                 if (!gdc.vsync) {                                  if (!gdc.vsync) {
                                         CPU_REMCLOCK = -1;                                          CPU_REMCLOCK = -1;
Line 706  static void IOOUTCALL gdc_oa4(UINT port, Line 706  static void IOOUTCALL gdc_oa4(UINT port,
   
         if ((gdcs.disp ^ dat) & 1) {          if ((gdcs.disp ^ dat) & 1) {
                 gdcs.disp = dat & 1;                  gdcs.disp = dat & 1;
                 screenupdate |= 2;                  pcstat.screenupdate |= 2;
         }          }
         (void)port;          (void)port;
 }  }
Line 718  static void IOOUTCALL gdc_oa6(UINT port, Line 718  static void IOOUTCALL gdc_oa6(UINT port,
                 gdcs.access = (UINT8)dat;                  gdcs.access = (UINT8)dat;
                 vramop.operate &= ~(1 << VOPBIT_ACCESS);                  vramop.operate &= ~(1 << VOPBIT_ACCESS);
                 vramop.operate |= dat << VOPBIT_ACCESS;                  vramop.operate |= dat << VOPBIT_ACCESS;
                 i286_vram_dispatch(vramop.operate);                  MEMM_VRAM(vramop.operate);
         }          }
         (void)port;          (void)port;
 }  }
Line 754  static REG8 IOINPCALL gdc_ia0(UINT port) Line 754  static REG8 IOINPCALL gdc_ia0(UINT port)
                 UINT16 memv;                  UINT16 memv;
                 addr = CPU_INPADRS;                  addr = CPU_INPADRS;
                 jadr = 0xfa74;                  jadr = 0xfa74;
                 memv = i286_memoryread_w(addr);                  memv = MEML_READ16(addr);
                 while((memv == 0x00eb) || (memv == 0x5fe6)) {                  while((memv == 0x00eb) || (memv == 0x5fe6)) {
                         jadr -= 0x200;                          jadr -= 0x200;
                         addr += 2;                          addr += 2;
                         memv = i286_memoryread_w(addr);                          memv = MEML_READ16(addr);
                 }                  }
                 if ((memv == 0x20a8) || (memv == 0x2024)) {                  if ((memv == 0x20a8) || (memv == 0x2024)) {
                         memv = i286_memoryread_w(addr + 2);                          memv = MEML_READ16(addr + 2);
                         if (memv == jadr) {                                     // je                          if (memv == jadr) {                                     // je
                                 if (!gdc.vsync) {                                  if (!gdc.vsync) {
                                         CPU_REMCLOCK = -1;                                          CPU_REMCLOCK = -1;
Line 1100  void gdc_biosreset(void) { Line 1100  void gdc_biosreset(void) {
         gdc.analog &= ~(1 << (GDCANALOG_256));          gdc.analog &= ~(1 << (GDCANALOG_256));
         vramop.operate &= ~(1 << VOPBIT_VGA);          vramop.operate &= ~(1 << VOPBIT_VGA);
 #endif  #endif
         i286_vram_dispatch(vramop.operate);          MEMM_VRAM(vramop.operate);
   
         // palette          // palette
         CopyMemory(gdc.degpal, defdegpal, 4);          CopyMemory(gdc.degpal, defdegpal, 4);
Line 1126  void gdc_biosreset(void) { Line 1126  void gdc_biosreset(void) {
         gdcs.textdisp = GDCSCRN_ALLDRAW2 | GDCSCRN_EXT;          gdcs.textdisp = GDCSCRN_ALLDRAW2 | GDCSCRN_EXT;
         gdcs.grphdisp = GDCSCRN_ALLDRAW2 | GDCSCRN_EXT;          gdcs.grphdisp = GDCSCRN_ALLDRAW2 | GDCSCRN_EXT;
         gdcs.palchange = GDCSCRN_REDRAW;          gdcs.palchange = GDCSCRN_REDRAW;
         screenupdate |= 2;          pcstat.screenupdate |= 2;
 }  }
   
 void gdc_reset(void) {  void gdc_reset(const NP2CFG *pConfig) {
   
         ZeroMemory(&gdc, sizeof(gdc));          ZeroMemory(&gdc, sizeof(gdc));
         ZeroMemory(&gdcs, sizeof(gdcs));          ZeroMemory(&gdcs, sizeof(gdcs));
Line 1145  void gdc_reset(void) { Line 1145  void gdc_reset(void) {
                 gdc.display |= (1 << GDCDISP_PLAZMA2);                  gdc.display |= (1 << GDCDISP_PLAZMA2);
         }          }
         gdc_biosreset();          gdc_biosreset();
   
           (void)pConfig;
 }  }
   
 void gdc_bind(void) {  void gdc_bind(void) {

Removed from v.1.37  
changed lines
  Added in v.1.41


RetroPC.NET-CVS <cvs@retropc.net>