GBDK 2020 Docs
4.3.0
API Documentation for GBDK 2020
|
Go to the source code of this file.
Macros | |
#define | SGB_PAL_01 0x00U |
#define | SGB_PAL_23 0x01U |
#define | SGB_PAL_03 0x02U |
#define | SGB_PAL_12 0x03U |
#define | SGB_ATTR_BLK 0x04U |
#define | SGB_ATTR_LIN 0x05U |
#define | SGB_ATTR_DIV 0x06U |
#define | SGB_ATTR_CHR 0x07U |
#define | SGB_SOUND 0x08U |
#define | SGB_SOU_TRN 0x09U |
#define | SGB_PAL_SET 0x0AU |
#define | SGB_PAL_TRN 0x0BU |
#define | SGB_ATRC_EN 0x0CU |
#define | SGB_TEST_EN 0x0DU |
#define | SGB_ICON_EN 0x0EU |
#define | SGB_DATA_SND 0x0FU |
#define | SGB_DATA_TRN 0x10U |
#define | SGB_MLT_REQ 0x11U |
#define | SGB_JUMP 0x12U |
#define | SGB_CHR_TRN 0x13U |
#define | SGB_PCT_TRN 0x14U |
#define | SGB_ATTR_TRN 0x15U |
#define | SGB_ATTR_SET 0x16U |
#define | SGB_MASK_EN 0x17U |
#define | SGB_OBJ_TRN 0x18U |
Functions | |
uint8_t | sgb_check (void) OLDCALL PRESERVES_REGS(b |
void | sgb_transfer (uint8_t *packet) OLDCALL PRESERVES_REGS(b |
Variables | |
uint8_t | c |
Super Gameboy definitions.
See the example SGB project for additional details.
#define SGB_PAL_01 0x00U |
SGB Command: Set SGB Palettes 0 & 1
#define SGB_PAL_23 0x01U |
SGB Command: Set SGB Palettes 2 & 3
#define SGB_PAL_03 0x02U |
SGB Command: Set SGB Palettes 0 & 3
#define SGB_PAL_12 0x03U |
SGB Command: Set SGB Palettes 1 & 2
#define SGB_ATTR_BLK 0x04U |
SGB Command: Set color attributes for rectangular regions
#define SGB_ATTR_LIN 0x05U |
SGB Command: Set color attributes for horizontal or vertical character lines
#define SGB_ATTR_DIV 0x06U |
SGB Command: Split screen in half and assign separate color attribes to each side and the divider
#define SGB_ATTR_CHR 0x07U |
SGB Command: Set color attributes for separate charactersSet SGB Palette 0,1 Data
#define SGB_SOUND 0x08U |
SGB Command: Start and stop a internal sound effect, and sounds using internal tone data
#define SGB_SOU_TRN 0x09U |
SGB Command: Transfer sound code or data to the SNES APU RAM
#define SGB_PAL_SET 0x0AU |
SGB Command: Apply (previously transferred) SGB system color palettes to actual SNES palettes
#define SGB_PAL_TRN 0x0BU |
SGB Command: Transfer palette data into SGB system color palettes
#define SGB_ATRC_EN 0x0CU |
SGB Command: Enable/disable Attraction mode. It is enabled by default
#define SGB_TEST_EN 0x0DU |
SGB Command: Enable/disable test mode for "SGB-CPU variable clock speed function"
#define SGB_ICON_EN 0x0EU |
SGB Command: Enable/disable ICON functionality
#define SGB_DATA_SND 0x0FU |
SGB Command: Write one or more bytes into SNES Work RAM
#define SGB_DATA_TRN 0x10U |
SGB Command: Transfer code or data into SNES RAM
#define SGB_MLT_REQ 0x11U |
SGB Command: Request multiplayer mode (input from more than one joypad)
#define SGB_JUMP 0x12U |
SGB Command: Set the SNES program counter and NMI (vblank interrupt) handler to specific addresses
#define SGB_CHR_TRN 0x13U |
SGB Command: Transfer tile data (characters) to SNES Tile memory
#define SGB_PCT_TRN 0x14U |
SGB Command: Transfer tile map and palette data to SNES BG Map memory
#define SGB_ATTR_TRN 0x15U |
SGB Command: Transfer data to (color) Attribute Files (ATFs) in SNES RAM
#define SGB_ATTR_SET 0x16U |
SGB Command: Transfer attributes from (color) Attribute Files (ATF) to the Game Boy window
#define SGB_MASK_EN 0x17U |
SGB Command: Modify Game Boy window mask settings
#define SGB_OBJ_TRN 0x18U |
SGB Command: Transfer OBJ attributes to SNES OAM memory
uint8_t sgb_check | ( | void | ) |
Returns a non-zero value if running on a Super GameBoy
Since sgb_check() uses sgb_transfer(), the same delay at startup requirement applies to ensure correct operation on PAL SNES. See sgb_transfer() for details.
void sgb_transfer | ( | uint8_t * | packet | ) |
Transfer a SGB packet
packet | Pointer to buffer with SGB packet data. |
The first byte of packet should be a SGB command, then up to 15 bytes of command parameter data.
See the sgb_border
GBDK example project for a demo of how to use these the sgb functions.
When using the SGB with a PAL SNES, a delay should be added just after program startup such as:
void c |