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

version 1.3, 2004/08/07 07:19:56 version 1.8, 2004/08/17 14:46:37
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "scrnmng.h"  #include        "scrnmng.h"
 #include        "sysmng.h"  #include        "sysmng.h"
   #include        "pccore.h"
   #include        "iocore.h"
 #include        "scrndraw.h"  #include        "scrndraw.h"
 #include        "sdraw.h"  #include        "sdraw.h"
 #include        "palettes.h"  #include        "palettes.h"
Line 27  static void updateallline(UINT32 update) Line 29  static void updateallline(UINT32 update)
 void scrndraw_initialize(void) {                                        // ddraws_init  void scrndraw_initialize(void) {                                        // ddraws_init
   
         ZeroMemory(screenmap, sizeof(screenmap));          ZeroMemory(screenmap, sizeof(screenmap));
         ZeroMemory(x1n_pal32, sizeof(x1n_pal32));          ZeroMemory(xmil_pal32, sizeof(xmil_pal32));
           xmil_palettes = 0;
   
         scrn.widthmode = SCRNWIDTHMODE_WIDTH40;          scrn.widthmode = SCRNWIDTHMODE_WIDTH40;
   
         xm_palettes = 0;  
         updateallline(0x03030303);                      // updateallline(0x01010101);          updateallline(0x03030303);                      // updateallline(0x01010101);
         scrnmng_allflash();          scrnmng_allflash();
         sysmng_scrnwidth(scrn.widthmode);          sysmng_scrnwidth(scrn.widthmode);
Line 55  void scrndraw_changepalette(void) { Line 57  void scrndraw_changepalette(void) {
                 return;                  return;
         }          }
 #endif  #endif
 #if defined(SUPPORT_16BPP)          updateallline(0x01010101);                                      // fillrenewalline(0x03030303)
         if (scrnmng_getbpp() == 16) {  }
                 pals_cnv16pal(x1n_pal16, x1n_pal32, xm_palettes);  
   
   // ----
   
   #if 0
   #if defined(SUPPORT_RASTER)
   static REG8 rasterdraw(SDRAWFN sdrawfn, SDRAW sdraw, int maxy) {
   
           SINT32          rasterclock;
           SINT32          clock;
           PAL1EVENT       *event;
           PAL1EVENT       *eventterm;
           int                     nextupdate;
           int                     y;
   
           rasterclock = crtc.e.rasterclock8;
           if (crtc.s.SCRN_BITS & SCRN_24KHZ) {
                   rasterclock = rasterclock * 2;
           }
           clock = 0;
           event = palevent.event;
           eventterm = event + palevent.events;
           nextupdate = 0;
   
           for (y=2; y<maxy; y+=2) {
                   if (event >= eventterm) {
                           break;
                   }
                   clock += rasterclock;
                   // お弁当はあった?
                   if (clock > (event->clock << 8)) {
                           (*sdrawfn)(sdraw, y);
                           nextupdate = y;
                           // お弁当を食べる
                           while(clock > (event->clock << 8)) {
   //                              ((BYTE *)pal)[event->color] = event->value;
                                   event++;
                                   if (event >= eventterm) {
                                           break;
                                   }
                           }
                   }
         }          }
           if (y < maxy) {
                   if (!(np2cfg.LCD_MODE & 1)) {
                           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  #endif
         updateallline(0x01010101);                                      // fillrenewalline(0x03030303)                  }
                   (*sdrawfn)(sdraw, maxy);
           }
           if (palevent.vsyncpal) {
                   return(2);
           }
           else if (nextupdate) {
                   for (y=0; y<nextupdate; y+=2) {
                           *(UINT16 *)(renewal_line + y) |= 0x8080;
                   }
                   return(1);
           }
           else {
                   return(0);
           }
 }  }
   #endif
   #endif
   
   
   // ----
   
 REG8 scrndraw_draw(REG8 redraw) {  REG8 scrndraw_draw(REG8 redraw) {
   
Line 70  const SDRAWFN *sdrawfn; Line 143  const SDRAWFN *sdrawfn;
         SDRAWFN         fn;          SDRAWFN         fn;
         _SDRAW          sdraw;          _SDRAW          sdraw;
         UINT            i;          UINT            i;
           REG8            ret;
   
           if (redraw) {
                   updateallline(0x01010101);
           }
   
         surf = scrnmng_surflock();          surf = scrnmng_surflock();
         if (surf == NULL) {          if (surf == NULL) {
Line 111  const SDRAWFN *sdrawfn; Line 189  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);          (*fn)(&sdraw, 400);
   #else
   #if !defined(SUPPORT_PALEVENT)
           (*fn)(&sdraw, 400);
   #else
           if (((dispmode & SCRN64_MASK) != SCRN64_INVALID) ||
                   (palevent.events >= PALEVENTMAX)) {
                   (*fn)(&sdraw, 400);
           }
           else {
                   ret = rasterdraw(*sdrawfn, &sdraw, 400);
           }
   #endif
   #endif
   
 sddr_exit2:  sddr_exit2:
         scrnmng_surfunlock(surf);          scrnmng_surfunlock(surf);
   
 sddr_exit1:  sddr_exit1:
         return(0);          return(ret);
 }  }
   
 void scrndraw_redraw(void) {  void scrndraw_redraw(void) {
   
         scrnmng_allflash();          scrnmng_allflash();
         scrnmng_palchanged();                                           // ?          pal_update();
         updateallline(0x01010101);                                      // fillrenewalline(0x03030303)          scrndraw_draw(TRUE);
         palettes();  
         scrndraw_draw(FALSE);  
 }  }
   

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


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