Diff for /xmil/io/crtc.c between versions 1.2 and 1.4

version 1.2, 2004/08/05 04:53:15 version 1.4, 2004/08/07 12:10:27
Line 3 Line 3
 #include        "pccore.h"  #include        "pccore.h"
 #include        "iocore.h"  #include        "iocore.h"
 #include        "vram.h"  #include        "vram.h"
 #include        "draw.h"  
 #include        "palettes.h"  #include        "palettes.h"
   #include        "makescrn.h"
   
   
                 BYTE    crtc_TEXTPAL[8];                  BYTE    crtc_TEXTPAL[8];
Line 13 Line 13
   
 static const UINT8 def_TEXTPAL[8] = {  static const UINT8 def_TEXTPAL[8] = {
                                 0x00, 0x03, 0x0c, 0x0f, 0x30, 0x33, 0x3c, 0x3f};                                  0x00, 0x03, 0x0c, 0x0f, 0x30, 0x33, 0x3c, 0x3f};
   
 static const UINT16 def_GRPHPAL[64] = {  static const UINT16 def_GRPHPAL[64] = {
                                 0x000, 0x00a, 0x0a0, 0x0aa, 0xa00, 0xa0a, 0xaa0, 0xaaa,                                  0x000, 0x00a, 0x0a0, 0x0aa, 0xa00, 0xa0a, 0xaa0, 0xaaa,
                                 0x005, 0x00f, 0x0a5, 0x0af, 0xa05, 0xa0f, 0xaa5, 0xaaf,                                  0x005, 0x00f, 0x0a5, 0x0af, 0xa05, 0xa0f, 0xaa5, 0xaaf,
Line 23  static const UINT16 def_GRPHPAL[64] = { Line 24  static const UINT16 def_GRPHPAL[64] = {
                                 0x550, 0x55a, 0x5f0, 0x5fa, 0xf50, 0xf5a, 0xff0, 0xffa,                                  0x550, 0x55a, 0x5f0, 0x5fa, 0xf50, 0xf5a, 0xff0, 0xffa,
                                 0x555, 0x55f, 0x5f5, 0x5ff, 0xf55, 0xf5f, 0xff5, 0xfff};                                  0x555, 0x55f, 0x5f5, 0x5ff, 0xf55, 0xf5f, 0xff5, 0xfff};
   
   
 static const CRTCSTAT crtcdefault = {  static const CRTCSTAT crtcdefault = {
                                 0xaa,                                           // PAL_B;                                  0xaa,                                           // PAL_B;
                                 0xcc,                                           // PAL_R;                                  0xcc,                                           // PAL_R;
Line 246  void IOOUTCALL crtc_o(UINT port, REG8 va Line 246  void IOOUTCALL crtc_o(UINT port, REG8 va
                         case 0x0c:                          case 0x0c:
                                 crtc.s.TXT_TOP &= 0xff;                                  crtc.s.TXT_TOP &= 0xff;
                                 crtc.s.TXT_TOP |= (value & 7) << 8;                                  crtc.s.TXT_TOP |= (value & 7) << 8;
                                 doubleatrchange = 1;                                  makescrn.remakeattr = 1;
                                 break;                                  break;
   
                         case 0x0d:                          case 0x0d:
                                 crtc.s.TXT_TOP &= 0x7ff;                                  crtc.s.TXT_TOP &= 0x7ff;
                                 crtc.s.TXT_TOP |= value;                                  crtc.s.TXT_TOP |= value;
                                 doubleatrchange = 1;                                  makescrn.remakeattr = 1;
                                 break;                                  break;
   
                         default:                          default:
Line 275  void IOOUTCALL scrn_o(UINT port, REG8 va Line 275  void IOOUTCALL scrn_o(UINT port, REG8 va
         modify = crtc.s.SCRN_BITS ^ value;          modify = crtc.s.SCRN_BITS ^ value;
         crtc.s.SCRN_BITS = value;          crtc.s.SCRN_BITS = value;
         if (modify & SCRN_DISPCHANGE) {          if (modify & SCRN_DISPCHANGE) {
                 textdrawproc_renewal();  //              pal_reset();                                    // ¤Ê¤ó¤Ç¡©
                 reflesh_palette();  
                 scrnallflash = 1;                  scrnallflash = 1;
                 palandply = 1;                  makescrn.palandply = 1;
                 crtc_updt();                  crtc_updt();
         }          }
         vrambank_patch();          vrambank_patch();
Line 300  void IOOUTCALL ply_o(UINT port, REG8 val Line 299  void IOOUTCALL ply_o(UINT port, REG8 val
   
         if (crtc.s.PLY != value) {          if (crtc.s.PLY != value) {
                 crtc.s.PLY = value;                  crtc.s.PLY = value;
                 palandply = 1;                  makescrn.palandply = 1;
         }          }
         (void)port;          (void)port;
 }  }
Line 392  void IOOUTCALL palette_o(UINT port, REG8 Line 391  void IOOUTCALL palette_o(UINT port, REG8
                         case 0x1000:                          case 0x1000:
                                 if (crtc.s.PAL_B != value) {                                  if (crtc.s.PAL_B != value) {
                                         crtc.s.PAL_B = value;                                          crtc.s.PAL_B = value;
                                         palandply = 1;                                          makescrn.palandply = 1;
                                 }                                  }
                                 break;                                  break;
   
                         case 0x1100:                          case 0x1100:
                                 if (crtc.s.PAL_R != value) {                                  if (crtc.s.PAL_R != value) {
                                         crtc.s.PAL_R = value;                                          crtc.s.PAL_R = value;
                                         palandply = 1;                                          makescrn.palandply = 1;
                                 }                                  }
                                 break;                                  break;
   
                         case 0x1200:                          case 0x1200:
                                 if (crtc.s.PAL_G != value) {                                  if (crtc.s.PAL_G != value) {
                                         crtc.s.PAL_G = value;                                          crtc.s.PAL_G = value;
                                         palandply = 1;                                          makescrn.palandply = 1;
                                 }                                  }
                                 break;                                  break;
                 }                  }
Line 531  REG8 IOINPCALL exttextdisp_i(UINT port)  Line 530  REG8 IOINPCALL exttextdisp_i(UINT port) 
 void IOOUTCALL blackctrl_o(UINT port, REG8 value) {  void IOOUTCALL blackctrl_o(UINT port, REG8 value) {
   
         crtc.s.BLACKPAL = value;          crtc.s.BLACKPAL = value;
         palandply = 1;          makescrn.palandply = 1;
 }  }
   
 REG8 IOINPCALL blackctrl_i(UINT port) {  REG8 IOINPCALL blackctrl_i(UINT port) {
Line 563  void crtc_reset(void) { Line 562  void crtc_reset(void) {
   
         crtc.s = crtcdefault;          crtc.s = crtcdefault;
   
         palandply = 1;  
         dispmode = SCRN64_INVALID;          dispmode = SCRN64_INVALID;
         pal_bank = pal_disp = PAL_NORMAL;          pal_bank = pal_disp = PAL_NORMAL;
         if (pccore.ROM_TYPE < 3) {          if (pccore.ROM_TYPE < 3) {
Line 574  void crtc_reset(void) { Line 572  void crtc_reset(void) {
                 crtc.s.FNT_YL = 16;                  crtc.s.FNT_YL = 16;
         }          }
   
         textdrawproc_renewal();          pal_reset();
         reflesh_palette();  
         crtc_updt();          crtc_updt();
   
         vrambank_patch();          vrambank_patch();
         palandply = 1;          makescrn.palandply = 1;
         scrnallflash = 1;          scrnallflash = 1;
 }  }
   

Removed from v.1.2  
changed lines
  Added in v.1.4


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