API Documentation
Starting / Stopping the Sandpiper Device Support
struct SPPlatform* SPInitPlatform();
Opens hardware devices and sets up necessary internals so that we can start using the custom video and audio circuitry.
void SPShutdownPlatform(struct SPPlatform* _platform);
Relinquishes control back to the caller by releasing memory. However it will not close the device connections, which the platform driver at /dev/sandpiper handles. This is done so that there is always a visible terminal window and silent audio when an application crashes or exits due to unknown reasons.
Shared Memory Allocation / Deallocation
int SPAllocateBuffer(struct SPPlatform* _platform, struct SPSizeAlloc *_sizealloc);
Allocates a portion of physical memory with proper DMA alignment, and populates the SPSizeAlloc structure with matching physical / CPU address pairs for use with devices and the ARM cores.
void SPFreeBuffer(struct SPPlatform* _platform, struct SPSizeAlloc *_sizealloc);
Hands back the previously allocated buffer.