API Functions: Difference between revisions

From Uzebox Wiki
Jump to navigation Jump to search
(Added write functions to the bootloader API documentation)
(10 intermediate revisions by 3 users not shown)
Line 8: Line 8:
* [[Function_Fill|void Fill(int x,int y,int width,int height,int tile)]]
* [[Function_Fill|void Fill(int x,int y,int width,int height,int tile)]]
* [[Function_FontFill|void FontFill(int x,int y,int width,int height,int tile)]]
* [[Function_FontFill|void FontFill(int x,int y,int width,int height,int tile)]]
* [[Function_GetTile|unsigned char GetTile(char x, char y)]]
* [[Function_GetVsyncFlag|unsigned char GetVsyncFlag(void)]]
* [[Function_GetVsyncFlag|unsigned char GetVsyncFlag(void)]]
* [[Function_MapSprite|void MapSprite(unsigned char startSprite,const char *map)]]
* [[Function_MapSprite|void MapSprite(unsigned char startSprite,const char *map)]]
Line 29: Line 30:
* [[Function_SetSpritesTileTableBank|void SetSpritesTileTableBank(char bank, const char *data)]]
* [[Function_SetSpritesTileTableBank|void SetSpritesTileTableBank(char bank, const char *data)]]
* [[Function_SetTile|void SetTile(char x,char y, unsigned int tileId)]]
* [[Function_SetTile|void SetTile(char x,char y, unsigned int tileId)]]
* [[Function_SetUserRamTilesCount|void SetUserRamTilesCount(u8 count)]]
* [[Function_WaitVsync|void WaitVsync(int count)]]
* [[Function_WaitVsync|void WaitVsync(int count)]]


Line 41: Line 43:
* [[Function_EnableSoundEngine|void EnableSoundEngine()]]
* [[Function_EnableSoundEngine|void EnableSoundEngine()]]
* [[Function_DisableSoundEngine()|void DisableSoundEngine()]]
* [[Function_DisableSoundEngine()|void DisableSoundEngine()]]
* [[Function_IsSongPlaying()|bool IsSongPlaying()]]


==Controllers Functions==
==Controllers Functions==
Line 53: Line 56:
* [[Function_EepromReadBlock|char EepromReadBlock(unsigned int blockId,struct EepromBlockStruct *block)]]
* [[Function_EepromReadBlock|char EepromReadBlock(unsigned int blockId,struct EepromBlockStruct *block)]]
* [[Function_EepromWriteBlock|char EepromWriteBlock(struct EepromBlockStruct *block)]]
* [[Function_EepromWriteBlock|char EepromWriteBlock(struct EepromBlockStruct *block)]]
==Bootloader API Functions==
The Bootloader API provides access to all types of SD cards and their filesystems which the bootloader is capable to handle. It doesn't require a bootloader to function (reverts to SDSC and FAT16 that case). It also supports asking for loading a new game with bootloaders which can provide such an interface.
To use the Bootloader API library, you need to include it in your Makefile. See the [https://github.com/Uzebox/uzebox/tree/master/demos/BootDemo Bootloader library demo] for example.
[[Bootloader API guide]]
* [[Function_SPI_Set_SD|void SPI_Set_SD(void)]]
* [[Function_SPI_Set_Max|void SPI_Set_Max(void)]]
* [[Function_SDC_CRC7_Byte|uint8_t SDC_CRC7_Byte(uint8_t crcval, uint8_t byte)]]
* [[Function_SDC_CRC16_Byte|uint16_t SDC_CRC16_Byte(uint16_t crcval, uint8_t byte)]]
* [[Function_SDC_Wait_FF|uint8_t SDC_Wait_FF(void)]]
* [[Function_SDC_Command|uint8_t SDC_Command(uint8_t cmd, uint32_t data)]]
* [[Function_SDC_Release|void SDC_Release(void)]]
* [[Function_SDC_Init|uint8_t SDC_Init(sdc_struct_t* sds)]]
* [[Function_SDC_CRC_Enable|void SDC_CRC_Enable(sdc_struct_t* sds, uint8_t ena)]]
* [[Function_SDC_Command_Address|uint32_t SDC_Command_Address(sdc_struct_t* sds, uint32_t sector)]]
* [[Function_SDC_Read_Sector|uint8_t SDC_Read_Sector(sdc_struct_t* sds, uint32_t sector)]]
* [[Function_SDC_Write_Sector|uint8_t SDC_Write_Sector(sdc_struct_t* sds, uint32_t sector)]]
* [[Function_FS_Init|uint8_t FS_Init(sdc_struct_t* sds)]]
* [[Function_FS_Get_Sector|uint32_t FS_Get_Sector(sdc_struct_t* sds)]]
* [[Function_FS_Read_Sector|uint8_t FS_Read_Sector(sdc_struct_t* sds)]]
* [[Function_FS_Write_Sector|uint8_t FS_Write_Sector(sdc_struct_t* sds)]]
* [[Function_FS_Next_Sector|uint8_t FS_Next_Sector(sdc_struct_t* sds)]]
* [[Function_FS_Reset_Sector|void FS_Reset_Sector(sdc_struct_t* sds)]]
* [[Function_FS_Select_Root|void FS_Select_Root(sdc_struct_t* sds)]]
* [[Function_FS_Select_Cluster|void FS_Select_Cluster(sdc_struct_t* sds, uint32_t cluster)]]
* [[Function_FS_Get_File_Cluster|uint32_t FS_Get_File_Cluster(sdc_struct_t* sds, uint8_t* fdesc)]]
* [[Function_FS_Find|uint32_t FS_Find(sdc_struct_t* sds, uint16_t ch01, uint16_t ch23, uint16_t ch45, uint16_t ch67, uint16_t ex01, uint16_t ex2x)]]
* [[Function_FS_Get_Pos|uint32_t FS_Get_Pos(sdc_struct_t* sds)]]
* [[Function_FS_Set_Pos|void FS_Set_Pos(sdc_struct_t* sds, uint32_t pos)]]
* [[Function_Bootld_Request|void Bootld_Request(sdc_struct_t* sds)]]


==SD Card Functions==
==SD Card Functions==
Line 63: Line 100:
* [[Function_pf_opendir|FRESULT pf_opendir(DIR* dp, const char* path)]]
* [[Function_pf_opendir|FRESULT pf_opendir(DIR* dp, const char* path)]]
* [[Function_pf_readdir|FRESULT pf_readdir(DIR* dp, FILINFO* fno)]]
* [[Function_pf_readdir|FRESULT pf_readdir(DIR* dp, FILINFO* fno)]]
==SPI Ram Functions==
To use the SPI RAM library, you need to include it in your Makefile. See the [https://github.com/Uzebox/uzebox/tree/master/demos/sdspiram SD-SPIRAM demo] for example.
* [[Function_SpiRamInit|void SpiRamInit(void)]]
* [[Function_SpiRamReadU8|u8 SpiRamReadU8(u8 bank, u16 addr)]]
* [[Function_SpiRamReadS8|s8 SpiRamReadS8(u8 bank, u16 addr)]]
* [[Function_SpiRamWriteU8|void SpiRamWriteU8(u8 bank, u16 addr, u8 val)]]
* [[Function_SpiRamWriteS8|void SpiRamWriteS8(u8 bank, u16 addr, s8 val)]]
* [[Function_SpiRamReadU16|u16 SpiRamReadU16(u8 bank, u16 addr)]]
* [[Function_SpiRamReadS16|s16 SpiRamReadS16(u8 bank, u16 addr)]]
* [[Function_SpiRamWriteU16|void SpiRamWriteU16(u8 bank, u16 addr, u16 val)]]
* [[Function_SpiRamWriteS16|void SpiRamWriteS16(u8 bank, u16 addr, s16 val)]]
* [[Function_SpiRamReadU32|u32 SpiRamReadU32(u8 bank, u16 addr)]]
* [[Function_SpiRamReadS32|s32 SpiRamReadS32(u8 bank, u16 addr)]]
* [[Function_SpiRamWriteU32|void SpiRamWriteU32(u8 bank, u16 addr, u32 val)]]
* [[Function_SpiRamWriteS32|void SpiRamWriteS32(u8 bank, u16 addr, s32 val)]]
* [[Function_SpiRamReadInto|void SpiRamReadInto(u8 bank, u16 addr, void* dst, u16 len)]]
* [[Function_SpiRamWriteFrom|void SpiRamWriteFrom(u8 bank, u16 addr, void* src, u16 len)]]
* [[Function_SpiRamSeqReadStart|void SpiRamSeqReadStart(u8 bank, u16 addr)]]
* [[Function_SpiRamSeqReadU8|u8 SpiRamSeqReadU8(void)]]
* [[Function_SpiRamSeqReadS8|s8 SpiRamSeqReadS8(void)]]
* [[Function_SpiRamSeqReadU16|u16 SpiRamSeqReadU16(void)]]
* [[Function_SpiRamSeqReadS16|s16 SpiRamSeqReadS16(void)]]
* [[Function_SpiRamSeqReadU32|u32 SpiRamSeqReadU32(void)]]
* [[Function_SpiRamSeqReadS32|s32 SpiRamSeqReadS32(void)]]
* [[Function_SpiRamSeqReadInto|void SpiRamSeqReadInto(void* dst, u16 len)]]
* [[Function_SpiRamSeqReadEnd|void SpiRamSeqReadEnd(void)]]
* [[Function_SpiRamSeqWriteStart|void SpiRamSeqWriteStart(u8 bank, u16 addr)]]
* [[Function_SpiRamSeqWriteU8|void SpiRamSeqWriteU8(u8 val)]]
* [[Function_SpiRamSeqWriteS8|void SpiRamSeqWriteS8(s8 val)]]
* [[Function_SpiRamSeqWriteU16|void SpiRamSeqWriteU16(u16 val)]]
* [[Function_SpiRamSeqWriteS16|void SpiRamSeqWriteS16(s16 val)]]
* [[Function_SpiRamSeqWriteU32|void SpiRamSeqWriteU32(u32 val)]]
* [[Function_SpiRamSeqWriteS32|void SpiRamSeqWriteS32(s32 val)]]
* [[Function_SpiRamSeqWriteFrom|void SpiRamSeqWriteFrom(void* src, u16 len)]]
* [[Function_SpiRamSeqWriteEnd|void SpiRamSeqWriteEnd(void)]]


==Network Functions==
==Network Functions==
==Uart Functions==
* [[Function_InitUartRxBuffer|void InitUartRxBuffer(void)]]
* [[Function_InitUartTxBuffer|void InitUartTxBuffer(void)]]
* [[Function_UartGoBack|void UartGoBack(u8 count)]]
* [[Function_UartUnreadCount|u8 UartUnreadCount(void)]]
* [[Function_IsUartRxBufferEmpty|bool IsUartRxBufferEmpty(void)]]
* [[Function_IsUartTxBufferEmpty|bool IsUartTxBufferEmpty(void)]]
* [[Function_IsUartTxBufferFull|bool IsUartTxBufferFull(void)]]
* [[Function_UartSendChar()|u8 UartSendChar(u8 data)]]
* [[Function_UartReadChar()|s16 UartReadChar(void)]]


==Miscellaneous Functions==
==Miscellaneous Functions==

Revision as of 17:40, 10 April 2018

Video Functions

Sound Functions

Controllers Functions

EEPROM Functions

Bootloader API Functions

The Bootloader API provides access to all types of SD cards and their filesystems which the bootloader is capable to handle. It doesn't require a bootloader to function (reverts to SDSC and FAT16 that case). It also supports asking for loading a new game with bootloaders which can provide such an interface.

To use the Bootloader API library, you need to include it in your Makefile. See the Bootloader library demo for example.

Bootloader API guide

SD Card Functions

SPI Ram Functions

To use the SPI RAM library, you need to include it in your Makefile. See the SD-SPIRAM demo for example.

Network Functions

Uart Functions

Miscellaneous Functions

Kernel Internal Functions

Though you can use these functions, they are subject to change or be removed at any release.

Deprecated Functions