Found at 800116c0

Summary

Pushes the last loaded asset either to vram or spu ram depending on the asset type. Get a pointer to the next asset and check its type. Depending on its type either return immediately or load the next asset, then return.

Behavior

Check if the CD is in an idle state which typically means the last asset finished loading, if it is not then return. Then call a function that pushes the last loaded asset to spu ram, vram or leaves it in place, the parameters to this function are passed in with help of the library state. The index for the group of assets we need to load is incremented. This index in combination with the address of the first gameAssetEntry gives us a pointer to the next asset in our group which is used to check the asset type of the next asset.

If the type is less than 0 this means we have reached the end of the group, the read destination pointer is saved into another variable in the library state called last_asset_in_group_dest and the function exits with code -1. For all other type values a call to queue the load of the asset file is made using the cdFileTableIndex and load address from the pointer of the next gameAssetEntry.

Notes

  • Typically called repeatedly in a busy wait loop until it returns -1 but have seen cases in overlays where its called asynchronously.

Unknowns

  • Currently unknown what all the types are.

Function Signature

Parameters: None

Returns: Int

-1 if the next gameAssetEntry has a type member of value -1
0 for all other returns

References

Calls

Sony Functions:
Custom Functions:

Called By

Memory Referenced