#ifndef GBSDK_SGB_H #define GBSDK_SGB_H #include #if SGB #define SGB_PAL01 0x00 //Set SGB Palette 0 & 1 #define SGB_PAL23 0x01 //Set SGB Palette 2 & 3 #define SGB_PAL03 0x02 //Set SGB Palette 0 & 3 #define SGB_PAL12 0x03 //Set SGB Palette 1 & 2 #define SGB_ATTR_BLK 0x04 //"Block" Area Designation Mode #define SGB_ATTR_LIN 0x05 //"Line" Area Designation Mode #define SGB_ATTR_DIV 0x06 //"Divide" Area Designation Mode #define SGB_ATTR_CHR 0x07 //"1CHR" Area Designation Mode #define SGB_SOUND 0x08 //Sound On/Off #define SGB_SOU_TRN 0x09 //Transfer Sound PRG/DATA #define SGB_PAL_SET 0x0A //Set SGB Palette Indirect #define SGB_PAL_TRN 0x0B //Set System Color Palette Data #define SGB_ATRC_EN 0x0C //Enable/disable Attraction Mode #define SGB_TEST_EN 0x0D //Speed Function #define SGB_ICON_EN 0x0E //SGB Function #define SGB_DATA_SND 0x0F //SUPER NES WRAM Transfer 1 #define SGB_DATA_TRN 0x10 //SUPER NES WRAM Transfer 2 #define SGB_MLT_REQ 0x11 //Controller 2 Request #define SGB_JUMP 0x12 //Set SNES Program Counter #define SGB_CHR_TRN 0x13 //Transfer Character Font Data #define SGB_PCT_TRN 0x14 //Set Screen Data Color Data #define SGB_ATTR_TRN 0x15 //Set Attribute from ATF #define SGB_ATTR_SET 0x16 //Set Data to ATF #define SGB_MASK_EN 0x17 //Game Boy Window Mask #define SGB_OBJ_TRN 0x18 //Super NES OBJ Mode #define SGB_HEADER(command, length) ((uint8_t)(((command) << 3) | (length))) void sgb_send(const uint8_t* packet); #endif #endif