Defines | |
#define | VOICE_16 (1<<31) |
#define | VOICE_BALANCE(r) (r << 24) |
#define | VOICE_VOLUME(v) (v << 16) |
#define | VOICE_FREQ(replay_freq, freq) (((freq * 4096) / replay_freq) & 0xffff) |
Functions | |
int | init_sound_driver (int frequency) |
void | set_voice (int voice_num, int control, char *start, int len, char *loop_start, int loop_len) |
void | set_panning (int voice_num, int panning) |
void | set_volume (int voice_num, int volume) |
int | init_module (char *module, int tempo_enabled) |
void | play_module () |
void | clear_module () |
void | pause_module () |
int | enable_module_voices (int mask) |
void | jump_dsp_subroutine (void *addr) |
Variables | |
long | _DSP_FREE_RAM |
short int | amiga_frequencies [MAX_PERIOD] |
|
16 bits sound |
|
Balance [0..16] |
|
Frequency increment [0..0xffff] |
|
Volume [0..64] |
|
Clear the module |
|
Set modules voices mask. It returns the mask set.
|
|
Initialise the Protracker player. The length in bytes of the module is not checked and is thus assumed correct. For safety reasons, you should add a buffer of 31*2 bytes at the end of the module since some values are fixed in the module by this function. It returns the number of voices of the music.
|
|
Initialises the display driver and the DSP subroutine manager. It returns back the real replay frequency.
|
|
Call a DSP subroutine in DSP ram.
|
|
Play/Pause the replay of the current music |
|
Protracker routine to be called each VBL (50 or 60 Hz) |
|
Set voice panning
|
|
Play a sample
|
|
Set voice volume
|
|
Free DSP ram is available at &_DSP_FREE_RAM. |
|
Amiga period to frequencies increment. Initialised by init_sound_driver since it depends on the replay frequency. |