|
SGDK
A free and open development kit for the Sega Mega Drive
|
Palette support (herited from vdp_pal.h unit) More...
Go to the source code of this file.
Classes | |
| struct | Palette |
| Palette structure contains color data. More... | |
Macros | |
| #define | VDPPALETTE_REDSFT 1 |
| #define | VDPPALETTE_GREENSFT 5 |
| #define | VDPPALETTE_BLUESFT 9 |
| #define | VDPPALETTE_REDMASK 0x000E |
| #define | VDPPALETTE_GREENMASK 0x00E0 |
| #define | VDPPALETTE_BLUEMASK 0x0E00 |
| #define | VDPPALETTE_COLORMASK 0x0EEE |
| #define | RGB24_TO_VDPCOLOR(color) |
| Convert a RGB 24 bits color to VDP color. | |
| #define | RGB3_3_3_TO_VDPCOLOR(r, g, b) |
| Convert a RGB333 color to VDP color (VDP uses RGB333 internally) | |
| #define | RGB8_8_8_TO_VDPCOLOR(r, g, b) |
| Convert a RGB888 color to VDP color (VDP uses RGB333 internally) | |
| #define | PAL_setColorsDMA(index, pal, count) |
| #define | PAL_setPaletteColorsDMA(index, pal) |
| #define | PAL_setPaletteDMA(numPal, pal) |
Functions | |
| u16 | PAL_getColor (u16 index) |
| Returns RGB color value from CRAM for the specified palette entry. | |
| void | PAL_getColors (u16 index, u16 *dest, u16 count) |
| Read count RGB colors from CRAM starting at specified index and store them in specified destination palette. | |
| void | PAL_getPalette (u16 numPal, u16 *dest) |
| Get a complete palette (16 colors) from CRAM. | |
| void | PAL_setColor (u16 index, u16 value) |
| Set RGB color into CRAM for the specified palette entry. | |
| void | PAL_setColors (u16 index, const u16 *pal, u16 count, TransferMethod tm) |
| Write RGB colors into CRAM for the specified palette entries. | |
| void | PAL_setPaletteColors (u16 index, const Palette *pal, TransferMethod tm) |
| Write the given Palette RGB colors into CRAM for the specified palette entries. | |
| void | PAL_setPalette (u16 numPal, const u16 *pal, TransferMethod tm) |
| Set a complete palette (16 colors) into CRAM. | |
| bool | PAL_initFade (u16 fromCol, u16 toCol, const u16 *palSrc, const u16 *palDst, u16 numFrame) |
| Initialize a fading operation that will be manually controlled through PAL_doFadeStep() calls IMPORTANT: note that start palette is actually updated on next SYS_doVBlankProcess() call. | |
| bool | PAL_doFadeStep (void) |
| Update palette to process one frame/iteration of current fade operation (see PAL_initFade(..) method) IMPORTANT: note that palette is actually updated on next SYS_doVBlankProcess() call. | |
| bool | PAL_isManualFadeDone (void) |
| Returns TRUE if the manual fading operation is complete, FALSE otherwise. WARNING: This method is not related to PAL_isDoingFade() which is about asynchronous fading process. | |
| void | PAL_fade (u16 fromCol, u16 toCol, const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async) |
| General palette fading effect. | |
| void | PAL_fadeTo (u16 fromCol, u16 toCol, const u16 *pal, u16 numFrame, bool async) |
| Fade current color palette to specified one. | |
| void | PAL_fadeOut (u16 fromCol, u16 toCol, u16 numFrame, bool async) |
| Fade out (current color to black) effect. | |
| void | PAL_fadeIn (u16 fromCol, u16 toCol, const u16 *pal, u16 numFrame, bool async) |
| Fade in (black to specified color) effect. | |
| void | PAL_fadePalette (u16 numPal, const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async) |
| Do palette fade effect. | |
| void | PAL_fadeToPalette (u16 numPal, const u16 *pal, u16 numFrame, bool async) |
| Fade current palette to specified one. | |
| void | PAL_fadeOutPalette (u16 numPal, u16 numFrame, bool async) |
| Fade out (current color to black) effect. | |
| void | PAL_fadeInPalette (u16 numPal, const u16 *pal, u16 numFrame, bool async) |
| Fade in (black to specified color) effect. | |
| void | PAL_fadeAll (const u16 *palSrc, const u16 *palDst, u16 numFrame, bool async) |
| Global palette fading effect. | |
| void | PAL_fadeToAll (const u16 *pal, u16 numFrame, bool async) |
| Palettes fade to specified one. | |
| void | PAL_fadeOutAll (u16 numFrame, bool async) |
| Fade out (current color to black) effect. | |
| void | PAL_fadeInAll (const u16 *pal, u16 numFrame, bool async) |
| Fade in (black to specified color) effect. | |
| bool | PAL_isDoingFade (void) |
| Returns TRUE if we are currently doing an asynchronous palette fading operation. WARNING: This method is not related to PAL_isManualFadeDone() which is about manual fading processed with PAL_doFadeStep() | |
| void | PAL_waitFadeCompletion (void) |
| Wait for (asynchronous) palette fading operation to complete. | |
| void | PAL_interruptFade (void) |
| Interrupt any asynchronous palette fading effect. | |
Variables | |
| const u16 *const | palette_black |
| Default black palette. | |
| const u16 | palette_grey [16] |
| Default grey palette. | |
| const u16 | palette_red [16] |
| Default red palette. | |
| const u16 | palette_green [16] |
| Default green palette. | |
| const u16 | palette_blue [16] |
| Default blue palette. | |
| u16 | fadeCurrentPal [64] |
| Current fade palette. | |
| u16 | fadeEndPal [64] |
| End fade palette. | |
Palette support (herited from vdp_pal.h unit)
This unit provides methods to manipulate the VDP Color Palette.
The Sega Genesis VDP has 4 palettes of 16 colors.
Color is defined with 3 bits for each component : xxxxBBBxGGGxRRRx
| #define PAL_setColorsDMA | ( | index, | |
| pal, | |||
| count ) |
| #define PAL_setPaletteColorsDMA | ( | index, | |
| pal ) |
| #define PAL_setPaletteDMA | ( | numPal, | |
| pal ) |
| #define RGB24_TO_VDPCOLOR | ( | color | ) |
Convert a RGB 24 bits color to VDP color.
| color | RGB 24 bits color |
| #define RGB3_3_3_TO_VDPCOLOR | ( | r, | |
| g, | |||
| b ) |
Convert a RGB333 color to VDP color (VDP uses RGB333 internally)
| r | Red intensity (0-7) |
| g | Green intensity (0-7) |
| b | Blue intensity (0-7) |
| #define RGB8_8_8_TO_VDPCOLOR | ( | r, | |
| g, | |||
| b ) |
Convert a RGB888 color to VDP color (VDP uses RGB333 internally)
| r | Red intensity (0-255) |
| g | Green intensity (0-255) |
| b | Blue intensity (0-255) |
| bool PAL_doFadeStep | ( | void | ) |
Update palette to process one frame/iteration of current fade operation (see PAL_initFade(..) method) IMPORTANT: note that palette is actually updated on next SYS_doVBlankProcess() call.
| void PAL_fade | ( | u16 | fromCol, |
| u16 | toCol, | ||
| const u16 * | palSrc, | ||
| const u16 * | palDst, | ||
| u16 | numFrame, | ||
| bool | async ) |
General palette fading effect.
| fromCol | Start color index for the fade effect (0-63). |
| toCol | End color index for the fade effect (0-63 and >= fromCol). |
| palSrc | Fade departure palette. |
| palDst | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
This function does general palette fading effect.
The fade operation is done to all palette entries between 'fromCol' and 'toCol'.
Example: fading to all palette entries --> fromCol = 0 and toCol = 63
Global palette fading effect.
| palSrc | Fade departure palette (should contains 64 colors entries). |
| palDst | Fade arrival palette (should contains 64 colors entries). |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
Fade in (black to specified color) effect.
| fromCol | Start color index for the fade operation (0-63). |
| toCol | End color index for the fade operation (0-63 and >= fromCol). |
| pal | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fade() for more informations.
Fade in (black to specified color) effect.
| pal | Fade arrival palette (should contains 64 entries). |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
See PAL_fadeAll().
Fade in (black to specified color) effect.
| numPal | Palette to fade. |
| pal | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fadePal() for more informations.
Fade out (current color to black) effect.
| fromCol | Start color index for the fade operation (0-63). |
| toCol | End color index for the fade operation (0-63 and >= fromCol). |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fade() for more informations.
Fade out (current color to black) effect.
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
See PAL_fadeAll().
Fade out (current color to black) effect.
| numPal | Palette to fade. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fadePal() for more informations.
| void PAL_fadePalette | ( | u16 | numPal, |
| const u16 * | palSrc, | ||
| const u16 * | palDst, | ||
| u16 | numFrame, | ||
| bool | async ) |
Do palette fade effect.
| numPal | Palette number to use for fade effect. |
| palSrc | Fade departure palette. |
| palDst | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all specified palette entries.
See PAL_fade() for more informations.
Fade current color palette to specified one.
| fromCol | Start color index for the fade operation (0-63). |
| toCol | End color index for the fade operation (0-63 and >= fromCol). |
| pal | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fade() for more informations.
Palettes fade to specified one.
| pal | Fade arrival palette (should contains 64 entries). |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
The fade operation is done to all palette entries.
See PAL_fadeAll().
Fade current palette to specified one.
| numPal | Palette to fade. |
| pal | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| async | Async process. If set the function return immediatly else the function wait for fading to complete. |
See PAL_fadePal() for more informations.
Returns RGB color value from CRAM for the specified palette entry.
| index | Color index (0-63). |
Read count RGB colors from CRAM starting at specified index and store them in specified destination palette.
| index | Color index where start to read (0-63). |
| dest | Destination palette where to write read the RGB color values (should be large enough to store count colors). |
| count | Number of color to get. |
Get a complete palette (16 colors) from CRAM.
| numPal | Palette number: PAL0, PAL1, PAL2 or PAL3 |
| dest | Destination where to write palette colors (should be 16 words long at least) |
Initialize a fading operation that will be manually controlled through PAL_doFadeStep() calls IMPORTANT: note that start palette is actually updated on next SYS_doVBlankProcess() call.
| fromCol | Start color index for the fade operation (0-63). |
| toCol | End color index for the fade operation (0-63 and >= fromCol). |
| palSrc | Fade departure palette. |
| palDst | Fade arrival palette. |
| numFrame | Duration of palette fading in number of frame. |
| bool PAL_isManualFadeDone | ( | void | ) |
Returns TRUE if the manual fading operation is complete, FALSE otherwise.
WARNING: This method is not related to PAL_isDoingFade() which is about asynchronous fading process.
Set RGB color into CRAM for the specified palette entry.
| index | Color index to set (0-63). |
| value | RGB intensity to set at the specified color index. |
| void PAL_setColors | ( | u16 | index, |
| const u16 * | pal, | ||
| u16 | count, | ||
| TransferMethod | tm ) |
Write RGB colors into CRAM for the specified palette entries.
| index | Color index where to start to write (0-63). |
| pal | RGB intensities to set. |
| count | Number of color to set. |
| tm | Transfer method. Accepted values are:
|
| void PAL_setPalette | ( | u16 | numPal, |
| const u16 * | pal, | ||
| TransferMethod | tm ) |
Set a complete palette (16 colors) into CRAM.
| numPal | Palette number: PAL0, PAL1, PAL2 or PAL3 |
| pal | Source palette. |
| tm | Transfer method. Accepted values are:
|
| void PAL_setPaletteColors | ( | u16 | index, |
| const Palette * | pal, | ||
| TransferMethod | tm ) |