Diff for /xmil/vram/scrndraw.c between versions 1.8 and 1.9

version 1.8, 2004/08/17 14:46:37 version 1.9, 2004/08/17 16:52:46
Line 63  void scrndraw_changepalette(void) { Line 63  void scrndraw_changepalette(void) {
   
 // ----  // ----
   
 #if 0  #if defined(SUPPORT_PALEVENT)
 #if defined(SUPPORT_RASTER)  
 static REG8 rasterdraw(SDRAWFN sdrawfn, SDRAW sdraw, int maxy) {  static REG8 rasterdraw(SDRAWFN sdrawfn, SDRAW sdraw, int maxy) {
   
           UINT8           rgbp[8];
         SINT32          rasterclock;          SINT32          rasterclock;
         SINT32          clock;          SINT32          clock;
         PAL1EVENT       *event;          PAL1EVENT       *event;
Line 74  static REG8 rasterdraw(SDRAWFN sdrawfn,  Line 74  static REG8 rasterdraw(SDRAWFN sdrawfn, 
         int                     nextupdate;          int                     nextupdate;
         int                     y;          int                     y;
   
           CopyMemory(rgbp, palevent.rgbp, 8);
         rasterclock = crtc.e.rasterclock8;          rasterclock = crtc.e.rasterclock8;
         if (crtc.s.SCRN_BITS & SCRN_24KHZ) {          if (crtc.s.SCRN_BITS & SCRN_24KHZ) {
                 rasterclock = rasterclock * 2;                  rasterclock = rasterclock * 2;
Line 90  static REG8 rasterdraw(SDRAWFN sdrawfn,  Line 91  static REG8 rasterdraw(SDRAWFN sdrawfn, 
                 clock += rasterclock;                  clock += rasterclock;
                 // お弁当はあった?                  // お弁当はあった?
                 if (clock > (event->clock << 8)) {                  if (clock > (event->clock << 8)) {
                           pal_update1(rgbp);
                         (*sdrawfn)(sdraw, y);                          (*sdrawfn)(sdraw, y);
                         nextupdate = y;                          nextupdate = y;
                         // お弁当を食べる                          // お弁当を食べる
                         while(clock > (event->clock << 8)) {                          while(clock > (event->clock << 8)) {
 //                              ((BYTE *)pal)[event->color] = event->value;                                  ((UINT8 *)rgbp)[event->rgbp] = event->value;
                                 event++;                                  event++;
                                 if (event >= eventterm) {                                  if (event >= eventterm) {
                                         break;                                          break;
Line 103  static REG8 rasterdraw(SDRAWFN sdrawfn,  Line 105  static REG8 rasterdraw(SDRAWFN sdrawfn, 
                 }                  }
         }          }
         if (y < maxy) {          if (y < maxy) {
                 if (!(np2cfg.LCD_MODE & 1)) {                  pal_update1(rgbp);
                         pal_makeanalog(pal, 0xffff);  
                 }  
                 else {  
                         pal_makeanalog_lcd(pal, 0xffff);  
                 }  
                 if (np2cfg.skipline) {  
                         np2_pal32[0].d = np2_pal32[NP2PAL_SKIP].d;  
 #if defined(SUPPORT_16BPP)  
                         np2_pal16[0] = np2_pal16[NP2PAL_SKIP];  
 #endif  
                 }  
                 (*sdrawfn)(sdraw, maxy);                  (*sdrawfn)(sdraw, maxy);
         }          }
         if (palevent.vsyncpal) {          // 戻すすすす
                 return(2);          pal_update1(crtc.s.rgbp);
         }  
         else if (nextupdate) {          if (nextupdate) {
                 for (y=0; y<nextupdate; y+=2) {                  for (y=0; y<nextupdate; y+=2) {
                         *(UINT16 *)(renewal_line + y) |= 0x8080;                          *(UINT16 *)(renewalline + y) |= 0x0101;
                 }                  }
                 return(1);                  return(1);
         }          }
Line 131  static REG8 rasterdraw(SDRAWFN sdrawfn,  Line 122  static REG8 rasterdraw(SDRAWFN sdrawfn, 
         }          }
 }  }
 #endif  #endif
 #endif  
   
   
 // ----  // ----
   
 REG8 scrndraw_draw(REG8 redraw) {  REG8 scrndraw_draw(REG8 redraw) {
   
           REG8            ret;
 const SCRNSURF  *surf;  const SCRNSURF  *surf;
 const SDRAWFN   *sdrawfn;  const SDRAWFN   *sdrawfn;
         SDRAWFN         fn;          SDRAWFN         fn;
         _SDRAW          sdraw;          _SDRAW          sdraw;
         UINT            i;          UINT            i;
         REG8            ret;  
   
         if (redraw) {          if (redraw) {
                 updateallline(0x01010101);                  updateallline(0x01010101);
         }          }
   
           ret = 0;
         surf = scrnmng_surflock();          surf = scrnmng_surflock();
         if (surf == NULL) {          if (surf == NULL) {
                 goto sddr_exit1;                  goto sddr_exit1;
Line 189  const SDRAWFN *sdrawfn; Line 180  const SDRAWFN *sdrawfn;
         sdraw.y = 0;          sdraw.y = 0;
         sdraw.xalign = surf->xalign;          sdraw.xalign = surf->xalign;
         sdraw.yalign = surf->yalign;          sdraw.yalign = surf->yalign;
         ret = 0;  
 #if 1  
         (*fn)(&sdraw, 400);  
 #else  
 #if !defined(SUPPORT_PALEVENT)  #if !defined(SUPPORT_PALEVENT)
         (*fn)(&sdraw, 400);          (*fn)(&sdraw, 400);
 #else  #else
         if (((dispmode & SCRN64_MASK) != SCRN64_INVALID) ||          if (((crtc.e.dispmode & SCRN64_MASK) != SCRN64_INVALID) ||
                 (palevent.events >= PALEVENTMAX)) {                  (palevent.events >= SUPPORT_PALEVENT)) {
                 (*fn)(&sdraw, 400);                  (*fn)(&sdraw, 400);
         }          }
         else {          else {
                 ret = rasterdraw(*sdrawfn, &sdraw, 400);                  ret = rasterdraw(*sdrawfn, &sdraw, 400);
         }          }
 #endif  #endif
 #endif  
   
 sddr_exit2:  sddr_exit2:
         scrnmng_surfunlock(surf);          scrnmng_surfunlock(surf);

Removed from v.1.8  
changed lines
  Added in v.1.9


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