| 
    KallistiOS
    ##version##
    
   | 
 
Functions to access the SH4 Store Queues. More...
Go to the source code of this file.
Macros | |
| #define | QACR0 (*(volatile unsigned int *)(void *)0xff000038) | 
| Store Queue 0 access register.  More... | |
| #define | QACR1 (*(volatile unsigned int *)(void *)0xff00003c) | 
| Store Queue 1 access register.  More... | |
Functions | |
| void | sq_clr (void *dest, int n) | 
| Clear a block of memory.  More... | |
| void * | sq_cpy (void *dest, void *src, int n) | 
| Copy a block of memory.  More... | |
| void * | sq_set (void *s, uint32 c, int n) | 
| Set a block of memory to an 8-bit value.  More... | |
| void * | sq_set16 (void *s, uint32 c, int n) | 
| Set a block of memory to a 16-bit value.  More... | |
| void * | sq_set32 (void *s, uint32 c, int n) | 
| Set a block of memory to a 32-bit value.  More... | |
Functions to access the SH4 Store Queues.
The store queues are a way to do efficient burst transfers from the CPU to external memory. They can be used in a variety of ways, such as to transfer a texture to PVR memory. The transfers are in units of 32-bytes, and the destinations must be 32-byte aligned.
| #define QACR0 (*(volatile unsigned int *)(void *)0xff000038) | 
Store Queue 0 access register.
| #define QACR1 (*(volatile unsigned int *)(void *)0xff00003c) | 
Store Queue 1 access register.
| void sq_clr | ( | void * | dest, | 
| int | n | ||
| ) | 
Clear a block of memory.
This function is similar to calling memset() with a value to set of 0, but uses the store queues to do its work.
| dest | The address to begin clearing at (32-byte aligned). | 
| n | The number of bytes to clear (multiple of 32). | 
| void* sq_cpy | ( | void * | dest, | 
| void * | src, | ||
| int | n | ||
| ) | 
Copy a block of memory.
This function is similar to memcpy4(), but uses the store queues to do its work.
| dest | The address to copy to (32-byte aligned). | 
| src | The address to copy from (32-bit (4-byte) aligned). | 
| n | The number of bytes to copy (multiple of 32). | 
| void* sq_set | ( | void * | s, | 
| uint32 | c, | ||
| int | n | ||
| ) | 
Set a block of memory to an 8-bit value.
This function is similar to calling memset(), but uses the store queues to do its work.
| s | The address to begin setting at (32-byte aligned). | 
| c | The value to set (in the low 8-bits). | 
| n | The number of bytes to set (multiple of 32). | 
| void* sq_set16 | ( | void * | s, | 
| uint32 | c, | ||
| int | n | ||
| ) | 
Set a block of memory to a 16-bit value.
This function is similar to calling memset2(), but uses the store queues to do its work.
| s | The address to begin setting at (32-byte aligned). | 
| c | The value to set (in the low 16-bits). | 
| n | The number of bytes to set (multiple of 32). | 
| void* sq_set32 | ( | void * | s, | 
| uint32 | c, | ||
| int | n | ||
| ) | 
Set a block of memory to a 32-bit value.
This function is similar to calling memset4(), but uses the store queues to do its work.
| s | The address to begin setting at (32-byte aligned). | 
| c | The value to set (all 32-bits). | 
| n | The number of bytes to set (multiple of 32). | 
 1.8.7