26 #ifndef _SIFTEO_ABI_ASSET_H 
   27 #define _SIFTEO_ABI_ASSET_H 
   29 #include <sifteo/abi/types.h> 
   36 #define _SYS_ASSETLOAD_BUF_SIZE     48      // Makes _SYSAssetLoaderCube come to 64 bytes 
   37 #define _SYS_MAX_ASSET_SLOTS        4       // Number of AssetSlots maximum per-program 
   38 #define _SYS_TILES_PER_ASSETSLOT    4096    // Number of tiles per AssetSlot 
   39 #define _SYS_ASSET_GROUPS_PER_SLOT  24      // Number of AssetGroups we can track per-slot 
   40 #define _SYS_ASSET_SLOTS_PER_BANK   4       // Number of AssetSlots maximum per-program 
   41 #define _SYS_ASSET_GROUP_SIZE_UNIT  16      // Basic unit of AssetGroup allocation, in tiles 
   42 #define _SYS_ASSET_GROUP_CRC_SIZE   16      // Number of bytes of AssetGroup CRC 
   45 struct _SYSAssetGroupHeader {
 
   50     uint8_t crc[_SYS_ASSET_GROUP_CRC_SIZE]; 
 
   54 struct _SYSAssetGroupCube {
 
   58 struct _SYSAssetGroup {
 
   63 struct _SYSAssetLoaderCube {
 
   69     uint8_t buf[_SYS_ASSETLOAD_BUF_SIZE];
 
   72 struct _SYSAssetLoader {
 
   73     _SYSCubeIDVector busyCubes; 
 
   77 struct _SYSAssetConfiguration {
 
   79     _SYSVolumeHandle volume;    
 
   86 enum _SYSAssetImageFormat {
 
   93 struct _SYSAssetImage {