| 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. | 
 1.4.4
 1.4.4