From 8ab25b2dc13607f17f661af25708e3e5c662d801 Mon Sep 17 00:00:00 2001 From: Stephane Dallongeville Date: Wed, 2 Oct 2024 23:48:11 +0200 Subject: [PATCH] Simplified / improved a bit palette fading process to avoid palette transfer outside vblank --- lib/libmd.a | Bin 2567982 -> 2565990 bytes src/pal.c | 136 +++++++++++++++------------------------------------- src/sys.c | 4 +- 3 files changed, 42 insertions(+), 98 deletions(-) diff --git a/lib/libmd.a b/lib/libmd.a index 98dcdf8fa97d20facbedb2882b1cbbe790207d71..4107d3abca64831211f017880850ca0435839c8a 100644 GIT binary patch delta 50829 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 E53nS&&;S4c delta 52935 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

^Tt%0MV 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 diff --git a/src/pal.c b/src/pal.c index 29118e15..d9a581e0 100644 --- a/src/pal.c +++ b/src/pal.c @@ -201,11 +201,6 @@ static u16 fadeSize; static s16 fadeCounter; -// forward -static void setFadePalette(u16 ind, const u16 *src, u16 len, bool forceWaitVBlank); -static bool doFadeStepInternal(bool forceWaitVBlank); - - u16 PAL_getColor(u16 index) { const u16 addr = index * 2; @@ -292,44 +287,6 @@ void PAL_setPalette(u16 numPal, const u16* pal, TransferMethod tm) } -static void setFadePalette(u16 ind, const u16 *src, u16 len, bool forceWaitVBlank) -{ - // be sure that we are during vblank - if (forceWaitVBlank) SYS_doVBlankProcess(); - - // use DMA for long transfer - PAL_setColors(ind, src, len, (len > 16)?DMA:CPU); -} - -//static void setFadePalette(u16 ind, const u16 *src, u16 len) -//{ -// static u32 lastVTimer = 0; -// -// // we are inside VInt callback --> just set palette colors immediately -// if (SYS_isInVIntCallback()) -// { -// // use DMA for long transfer -// if (len > 16) DMA_doDma(DMA_CRAM, (u32) src, ind * 2, len, 2); -// else PAL_setColors(ind, src, len); -// } -// else -// { -// // be sure to wait at least 1 frame between set fade palette call -// if (lastVTimer == vtimer) VDP_waitVSync(); -// -// // disable interrupts to not conflict with VInt accesses -// SYS_disableInts(); -// // use DMA for long transfer -// if (len > 16) DMA_doDma(DMA_CRAM, (u32) src, ind * 2, len, 2); -// else PAL_setColors(ind, src, len); -// SYS_enableInts(); -// -// // keep track of last update -// lastVTimer = vtimer; -// } -//} - - bool NO_INLINE PAL_initFade(u16 fromCol, u16 toCol, const u16* palSrc, const u16* palDst, u16 numFrame) { // can't do a fade on 0 frame ! @@ -376,66 +333,51 @@ bool NO_INLINE PAL_initFade(u16 fromCol, u16 toCol, const u16* palSrc, const u16 *stepB++ = divs(BD - BS, numFrame); } + // set current palette on next vblank + PAL_setColors(fadeInd, fadeCurrentPal, fadeSize, DMA_QUEUE); + return TRUE; } -static bool NO_INLINE doFadeStepInternal(bool forceWaitVBlank) +bool NO_INLINE PAL_doFadeStep(void) { - // not yet done ? - if (--fadeCounter >= 0) + // prepare fade palette for next frame + s16* palR = fadeR; + s16* palG = fadeG; + s16* palB = fadeB; + s16* stepR = fadeSR; + s16* stepG = fadeSG; + s16* stepB = fadeSB; + u16* dst = fadeCurrentPal; + + // compute the next fade palette + u16 i = fadeSize; + while(i--) { - // set current fade palette - setFadePalette(fadeInd, fadeCurrentPal, fadeSize, forceWaitVBlank); - - // then prepare fade palette for next frame - s16* palR = fadeR; - s16* palG = fadeG; - s16* palB = fadeB; - s16* stepR = fadeSR; - s16* stepG = fadeSG; - s16* stepB = fadeSB; - u16* dst = fadeCurrentPal; - - // compute the next fade palette - u16 i = fadeSize; - while(i--) - { - u16 col; - - const u16 R = *palR + *stepR++; - const u16 G = *palG + *stepG++; - const u16 B = *palB + *stepB++; + u16 col; - *palR++ = R; - *palG++ = G; - *palB++ = B; + const u16 R = *palR + *stepR++; + const u16 G = *palG + *stepG++; + const u16 B = *palB + *stepB++; - col = ((R >> PALETTEFADE_FRACBITS) << VDPPALETTE_REDSFT) & VDPPALETTE_REDMASK; - col |= ((G >> PALETTEFADE_FRACBITS) << VDPPALETTE_GREENSFT) & VDPPALETTE_GREENMASK; - col |= ((B >> PALETTEFADE_FRACBITS) << VDPPALETTE_BLUESFT) & VDPPALETTE_BLUEMASK; + *palR++ = R; + *palG++ = G; + *palB++ = B; - *dst++ = col; - } + col = ((R >> PALETTEFADE_FRACBITS) << VDPPALETTE_REDSFT) & VDPPALETTE_REDMASK; + col |= ((G >> PALETTEFADE_FRACBITS) << VDPPALETTE_GREENSFT) & VDPPALETTE_GREENMASK; + col |= ((B >> PALETTEFADE_FRACBITS) << VDPPALETTE_BLUESFT) & VDPPALETTE_BLUEMASK; - // not yet done - return TRUE; + *dst++ = col; } - else - { - // last step --> we can just set the final fade palette - setFadePalette(fadeInd, fadeEndPal, fadeSize, forceWaitVBlank); - // done - return FALSE; - } -} + // schedule palette transfer on next vblank + PAL_setColors(fadeInd, fadeCurrentPal, fadeSize, DMA_QUEUE); -bool PAL_doFadeStep() -{ - return doFadeStepInternal(FALSE); + return (--fadeCounter > 0); } -void PAL_interruptFade() +void PAL_interruptFade(void) { VBlankProcess &= ~PROCESS_PALETTE_FADING; } @@ -449,8 +391,12 @@ void PAL_fade(u16 fromCol, u16 toCol, const u16* palSrc, const u16* palDst, u16 if (async) VBlankProcess |= PROCESS_PALETTE_FADING; else { - // process fading immediatly with forced VBlank wait - while (doFadeStepInternal(TRUE)); + // process fading immediately + do + { + SYS_doVBlankProcess(); + } + while (PAL_doFadeStep()); } } @@ -525,10 +471,6 @@ bool PAL_isDoingFade() void PAL_waitFadeCompletion() { - if (PAL_isDoingFade()) - { - // need to do VBlank process otherwise we can wait a long time for completion ^^ - while (VBlankProcess & PROCESS_PALETTE_FADING) - SYS_doVBlankProcess(); - } + // need to do VBlank process otherwise we can wait a long time for completion ^^ + while (PAL_isDoingFade()) SYS_doVBlankProcess(); } diff --git a/src/sys.c b/src/sys.c index 81174f56..cdf367a9 100644 --- a/src/sys.c +++ b/src/sys.c @@ -529,10 +529,12 @@ void NO_INLINE _start_entry() BMP_drawBitmapScaled(logo, 128 - (w >> 1), 80 - (w >> 1), w, w, FALSE); // flip to screen BMP_flip(FALSE); + // so palette fade is done + DMA_flushQueue(); } // while fade not completed - while(PAL_doFadeStep()); + PAL_waitFadeCompletion(); } // wait 1 second