KallistiOS git master
Independent SDK for the Sega Dreamcast
|
Shared API for the SH4/AICA interface. More...
Go to the source code of this file.
Data Structures | |
struct | aica_queue_t |
SH4-to-AICA command queue. More... | |
struct | aica_cmd_t |
Command queue struct for commanding the AICA from the SH-4. More... | |
struct | aica_channel_t |
AICA command payload data for AICA_CMD_CHAN. More... | |
Macros | |
#define | AICA_CMD_MAX_SIZE 256 |
Maximum command size – 256 dwords. | |
#define | AICA_CMDSTR_CHANNEL(T, CMDR, CHANR) |
Macro for declaring an aica channel command. | |
#define | AICA_CMDSTR_CHANNEL_SIZE ((sizeof(aica_cmd_t) + sizeof(aica_channel_t))/4) |
Size of an AICA channel command in words. | |
#define | AICA_CMD_NONE 0x00000000 |
No command (dummy packet) | |
#define | AICA_CMD_PING 0x00000001 |
Check for signs of life | |
#define | AICA_CMD_CHAN 0x00000002 |
Perform a wavetable action | |
#define | AICA_CMD_SYNC_CLOCK 0x00000003 |
Reset the millisecond clock | |
#define | AICA_RESP_NONE 0x00000000 |
No response. | |
#define | AICA_RESP_PONG 0x00000001 |
Response to CMD_PING. | |
#define | AICA_RESP_DBGPRINT 0x00000002 |
Payload is a C string. | |
#define | AICA_CH_CMD_MASK 0x0000000f |
Mask for commands. | |
#define | AICA_CH_CMD_NONE 0x00000000 |
No command. | |
#define | AICA_CH_CMD_START 0x00000001 |
Start command. | |
#define | AICA_CH_CMD_STOP 0x00000002 |
Stop command. | |
#define | AICA_CH_CMD_UPDATE 0x00000003 |
Update command. | |
#define | AICA_CH_START_MASK 0x00300000 |
Mask for start values. | |
#define | AICA_CH_START_DELAY 0x00100000 |
Set params, but delay key-on. | |
#define | AICA_CH_START_SYNC 0x00200000 |
Set key-on for all selected channels. | |
#define | AICA_CH_UPDATE_MASK 0x000ff000 |
Mask for update values. | |
#define | AICA_CH_UPDATE_SET_FREQ 0x00001000 |
frequency | |
#define | AICA_CH_UPDATE_SET_VOL 0x00002000 |
volume | |
#define | AICA_CH_UPDATE_SET_PAN 0x00004000 |
panning | |
#define | AICA_SM_16BIT 0 /* Linear PCM 16-bit */ |
#define | AICA_SM_8BIT 1 /* Linear PCM 8-bit */ |
#define | AICA_SM_ADPCM 2 /* Yamaha ADPCM 4-bit */ |
#define | AICA_SM_ADPCM_LS 3 /* Long stream ADPCM 4-bit */ |
Typedefs | |
typedef unsigned long | uint8 |
typedef unsigned long | uint32 |
Shared API for the SH4/AICA interface.
Structure and constant definitions for the SH-4/AICA interface. This file is included from both the ARM and SH-4 sides of the fence.
typedef unsigned long uint32 |
typedef unsigned long uint8 |