|
|
| 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); |