Main Page   Modules   Data Structures   File List   Globals  

msh_sound.h File Reference

Sound functions. More...


Defines

#define set_sound_leftvol(leftvol)   SET_SOUND_LEFTVOL(leftvol)
#define set_sound_rightvol(rightvol)   SET_SOUND_RIGHTVOL(rightvol)
#define set_sound1_left(enable)   SET_SOUND1_LEFT(enable)
#define set_sound2_left(enable)   SET_SOUND2_LEFT(enable)
#define set_sound3_left(enable)   SET_SOUND3_LEFT(enable)
#define set_sound4_left(enable)   SET_SOUND4_LEFT(enable)
#define set_sound1_right(enable)   SET_SOUND1_RIGHT(enable)
#define set_sound2_right(enable)   SET_SOUND2_RIGHT(enable)
#define set_sound3_right(enable)   SET_SOUND3_RIGHT(enable)
#define set_sound4_right(enable)   SET_SOUND4_RIGHT(enable)
#define get_sound_leftvol()   GET_SND_LEFTVOL(REG_SOUNDCNT_L)
#define get_sound_rightvol()   GET_SND_RIGHTVOL(REG_SOUNDCNT_L)
#define get_sound1_left()   GET_SND1_LEFT(REG_SOUNDCNT_L)
#define get_sound2_left()   GET_SND2_LEFT(REG_SOUNDCNT_L)
#define get_sound3_left()   GET_SND3_LEFT(REG_SOUNDCNT_L)
#define get_sound4_left()   GET_SND4_LEFT(REG_SOUNDCNT_L)
#define get_sound1_right()   GET_SND1_RIGHT(REG_SOUNDCNT_L)
#define get_sound2_right()   GET_SND2_RIGHT(REG_SOUNDCNT_L)
#define get_sound3_right()   GET_SND3_RIGHT(REG_SOUNDCNT_L)
#define get_sound4_right()   GET_SND4_RIGHT(REG_SOUNDCNT_L)
#define set_sound_output(output)   SET_SOUND_OUTPUT(output)
#define set_sounda_output(output)   SET_SOUNDA_OUTPUT(output)
#define set_soundb_output(output)   SET_SOUNDB_OUTPUT(output)
#define set_sounda_right(enable)   SET_SOUNDA_RIGHT(enable)
#define set_sounda_left(enable)   SET_SOUNDA_LEFT(enable)
#define set_sounda_timer(timer)   SET_SOUNDA_TIMER(timer)
#define set_sounda_fifo(fifo)   SET_SOUNDA_FIFO(fifo)
#define set_soundb_right(enable)   SET_SOUNDB_RIGHT(enable)
#define set_soundb_left(enable)   SET_SOUNDB_LEFT(enable)
#define set_soundb_timer(timer)   SET_SOUNDB_TIMER(timer)
#define set_soundb_fifo(fifo)   SET_SOUNDB_FIFO(fifo)
#define get_sound_output()   GET_SND_OUTPUT(REG_SOUNDCNT_H)
#define get_sounda_output()   GET_SNDA_OUTPUT(REG_SOUNDCNT_H)
#define get_soundb_output()   GET_SNDB_OUTPUT(REG_SOUNDCNT_H)
#define get_sounda_right()   GET_SNDA_RIGHT(REG_SOUNDCNT_H)
#define get_sounda_left()   GET_SNDA_LEFT(REG_SOUNDCNT_H)
#define get_sounda_timer()   GET_SNDA_TIMER(REG_SOUNDCNT_H)
#define get_sounda_fifo()   GET_SNDA_FIFO(REG_SOUNDCNT_H)
#define get_soundb_right()   GET_SNDB_RIGHT(REG_SOUNDCNT_H)
#define get_soundb_left()   GET_SNDB_LEFT(REG_SOUNDCNT_H)
#define get_soundb_timer()   GET_SNDB_TIMER(REG_SOUNDCNT_H)
#define get_soundb_fifo()   GET_SNDB_FIFO(REG_SOUNDCNT_H)
#define get_sound1_stat()   GET_SND1_STAT(REG_SOUNDCNT_X)
#define get_sound2_stat()   GET_SND2_STAT(REG_SOUNDCNT_X)
#define get_sound3_stat()   GET_SND3_STAT(REG_SOUNDCNT_X)
#define get_sound4_stat()   GET_SND4_STAT(REG_SOUNDCNT_X)
#define sound_on()   REG_SOUNDCNT_X |= MAKE_SND_ENABLE(TRUE);
#define sound_off()   REG_SOUNDCNT_X &= _SND_ENABLE_MASK;
#define set_soundcnt_l(leftvol, rightvol, left1, left2, left3, left4, right1, right2, right3, right4)
#define set_soundcnt_h(output, a_output, b_output,a_right, a_left, a_timer, a_fifo,b_right, b_left, b_timer, b_fifo)
#define set_sound1cnt_l(swpshifts, swpmode, swptime)   REG_SOUND1CNT_L = MAKE_SOUND1CNT_L(swpshifts, swpmode, swptime);
#define set_sound1cnt_h(length, waveduty, envtime, envmode, envinit)   REG_SOUND1CNT_H = MAKE_SOUND1CNT_H(length, waveduty, envtime, envmode, envinit);
#define set_sound1cnt_x(freq, timed, reset)   REG_SOUND1CNT_X = MAKE_SOUND1CNT_X(freq, timed, reset);
#define set_sound2cnt_l(length, waveduty, envtime, envmode, envinit)   REG_SOUND2CNT_L = MAKE_SOUND2CNT_L(length, waveduty, envtime, envmode, envinit);
#define set_sound2cnt_h(freq, timed, reset)   REG_SOUND2CNT_H = MAKE_SOUND2CNT_H(freq, timed, reset);
#define set_sound3cnt_l(bankmode, bank, enable)   REG_SOUND3CNT_L = MAKE_SOUND3CNT_L(bankmode, bank, enable);
#define set_sound3cnt_h(length, output)   REG_SOUND3CNT_H = MAKE_SOUND3CNT_H(length, output);
#define set_sound3cnt_x(freq, timed, reset)   REG_SOUND3CNT_X = MAKE_SOUND3CNT_X(freq, timed, reset);
#define set_sound4cnt_l(length, envtime, envmode, envinit)   REG_SOUND4CNT_L = MAKE_SOUND4CNT_L(length, envtime, envmode, envinit);
#define set_sound4cnt_h(div, stages, prestep, timed, reset)   REG_SOUND4CNT_H = MAKE_SOUND4CNT_H(div, stages, prestep, timed, reset);
#define sounda_play(channel, timer, wave)   SOUNDA_PLAY(channel, timer, wave)
#define soundb_play(channel, timer, wave)   SOUNDB_PLAY(channel, timer, wave)
#define sounda_stop(channel)   SOUNDA_STOP(channel)
#define soundb_stop(channel)   SOUNDB_STOP(channel)
#define sound_start_timer(timer, freq)   SOUND_START_TIMER(timer, freq)
#define sound_stop_timer(timer)   SOUND_STOP_TIMER(timer)
#define set_sounda(output, left, right, timer)   SET_SOUNDA(output, left, right, timer)
#define set_soundb(output, left, right, timer)   SET_SOUNDB(output, left, right, timer)


Detailed Description


Define Documentation

#define MAKE_SOUNDCNT_L leftvol,
rightvol,
left1,
left2,
left3,
left4,
right1,
right2,
right3,
right4   
 

Value:

(                                                   \
        MAKE_SND_LEFTVOL((leftvol)) |                       \
        MAKE_SND_RIGHTVOL((rightvol)) |                     \
        MAKE_SND1_LEFT((left1)) |                           \
        MAKE_SND2_LEFT((left2)) |                           \
        MAKE_SND3_LEFT((left3)) |                           \
        MAKE_SND4_LEFT((left4)) |                           \
        MAKE_SND1_RIGHT((right1)) |                         \
        MAKE_SND2_RIGHT((right2)) |                         \
        MAKE_SND3_RIGHT((right3)) |                         \
        MAKE_SND4_RIGHT((right4))                           \
        )

#define MAKE_SOUNDCNT_H output,
a_output,
b_output,
a_right,
a_left,
a_timer,
a_fifo,
b_right,
b_left,
b_timer,
b_fifo   
 

Value:

(                                                   \
        MAKE_SND_OUTPUT((output)) |                         \
        MAKE_SNDA_OUTPUT((a_output)) |                      \
        MAKE_SNDB_OUTPUT((b_output)) |                      \
        MAKE_SNDA_RIGHT((a_right)) |                        \
        MAKE_SNDA_LEFT((a_left)) |                          \
        MAKE_SNDA_TIMER((a_timer)) |                        \
        MAKE_SNDA_FIFO((a_fifo)) |                          \
        MAKE_SNDB_RIGHT((b_right)) |                        \
        MAKE_SNDB_LEFT((b_left)) |                          \
        MAKE_SNDB_TIMER((b_timer)) |                        \
        MAKE_SNDB_FIFO((b_fifo))                            \
        )

#define MAKE_SOUND1CNT_L swpshifts,
swpmode,
swptime   
 

Value:

(                                               \
        MAKE_SND1_SWPSHIFTS((swpshifts)) |              \
        MAKE_SND1_SWPMODE((swpmode)) |                  \
        MAKE_SND1_SWPTIME((swptime))                    \
        )

#define MAKE_SOUND1CNT_H length,
waveduty,
envtime,
envmode,
envinit   
 

Value:

(                                                               \
        MAKE_SND1_LENGTH((length)) |                                    \
        MAKE_SND1_WAVEDUTY((waveduty)) |                                \
        MAKE_SND1_ENVTIME((envtime)) |                                  \
        MAKE_SND1_ENVMODE((envmode)) |                                  \
        MAKE_SND1_ENVINIT((envinit))                                    \
        )

#define MAKE_SOUND1CNT_X freq,
timed,
reset   
 

Value:

(                                       \
        MAKE_SND1_FREQ((freq)) |                \
        MAKE_SND1_TIMED((timed)) |              \
        MAKE_SND1_RESET((reset))                \
        )

#define MAKE_SOUND2CNT_L length,
waveduty,
envtime,
envmode,
envinit   
 

Value:

(                                                               \
        MAKE_SND2_LENGTH((length)) |                                    \
        MAKE_SND2_WAVEDUTY((waveduty)) |                                \
        MAKE_SND2_ENVTIME((envtime)) |                                  \
        MAKE_SND2_ENVMODE((envmode)) |                                  \
        MAKE_SND2_ENVINIT((envinit))                                    \
        )

#define MAKE_SOUND2CNT_H freq,
timed,
reset   
 

Value:

(                                       \
        MAKE_SND2_FREQ((freq)) |                \
        MAKE_SND2_TIMED((timed)) |              \
        MAKE_SND2_RESET((reset))                \
        )

#define MAKE_SOUND3CNT_L bankmode,
bank,
enable   
 

Value:

(                                           \
        MAKE_SND3_BANKMODE((bankmode)) |            \
        MAKE_SND3_BANK((bank)) |                    \
        MAKE_SND3_ENABLE((enable))                  \
        )

#define MAKE_SOUND3CNT_H length,
output   
 

Value:

(                                   \
        MAKE_SND3_LENGTH((length)) |        \
        MAKE_SND3_OUTPUT((output))          \
        )

#define MAKE_SOUND3CNT_X freq,
timed,
reset   
 

Value:

(                                       \
        MAKE_SND3_FREQ((freq)) |                \
        MAKE_SND3_TIMED((timed)) |              \
        MAKE_SND3_RESET((reset))                \
        )

#define MAKE_SOUND4CNT_L length,
envtime,
envmode,
envinit   
 

Value:

(                                                       \
        MAKE_SND4_LENGTH((length)) |                            \
        MAKE_SND4_ENVTIME((envtime)) |                          \
        MAKE_SND4_ENVMODE((envmode)) |                          \
        MAKE_SND4_ENVINIT((envinit))                            \
        )

#define MAKE_SOUND4CNT_H div,
stages,
prestep,
timed,
reset   
 

Value:

(                                                       \
        MAKE_SND4_DIV((div)) |                                  \
        MAKE_SND4_STAGES((stages)) |                            \
        MAKE_SND4_PRESTEP((prestep)) |                          \
        MAKE_SND4_TIMED((timed)) |                              \
        MAKE_SND4_RESET((reset))                                \
        )

#define SET_SOUND_LEFTVOL leftvol   
 

Value:

{REG_SOUNDCNT_L &= _SND_LEFTVOL_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND_LEFTVOL(leftvol);}

#define SET_SOUND_RIGHTVOL rightvol   
 

Value:

{REG_SOUNDCNT_L &= _SND_RIGHTVOL_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND_RIGHTVOL(rightvol);}

#define SET_SOUND1_LEFT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND1_LEFT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND1_LEFT(enable);}

#define SET_SOUND2_LEFT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND2_LEFT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND2_LEFT(enable);}

#define SET_SOUND3_LEFT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND3_LEFT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND3_LEFT(enable);}

#define SET_SOUND4_LEFT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND4_LEFT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND4_LEFT(enable);}

#define SET_SOUND1_RIGHT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND1_RIGHT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND1_RIGHT(enable);}

#define SET_SOUND2_RIGHT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND2_RIGHT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND2_RIGHT(enable);}

#define SET_SOUND3_RIGHT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND3_RIGHT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND3_RIGHT(enable);}

#define SET_SOUND4_RIGHT enable   
 

Value:

{REG_SOUNDCNT_L &= _SND4_RIGHT_MASK;  \
        REG_SOUNDCNT_L |= MAKE_SND4_RIGHT(enable);}

#define SET_SOUND_OUTPUT output   
 

Value:

{REG_SOUNDCNT_H &= _SND_OUTPUT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SND_OUTPUT(output);}

#define SET_SOUNDA_OUTPUT output   
 

Value:

{REG_SOUNDCNT_H &= _SNDA_OUTPUT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDA_OUTPUT(output);}

#define SET_SOUNDB_OUTPUT output   
 

Value:

{REG_SOUNDCNT_H &= _SNDB_OUTPUT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDB_OUTPUT(output);}

#define SET_SOUNDA_RIGHT enable   
 

Value:

{REG_SOUNDCNT_H &= _SNDA_RIGHT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDA_RIGHT(enable);}

#define SET_SOUNDA_LEFT enable   
 

Value:

{REG_SOUNDCNT_H &= _SNDA_LEFT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDA_LEFT(enable);}

#define SET_SOUNDA_TIMER timer   
 

Value:

{REG_SOUNDCNT_H &= _SNDA_TIMER_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDA_TIMER(timer);}

#define SET_SOUNDA_FIFO fifo   
 

Value:

{REG_SOUNDCNT_H &= _SNDA_FIFO_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDA_FIFO(fifo);}

#define SET_SOUNDB_RIGHT enable   
 

Value:

{REG_SOUNDCNT_H &= _SNDB_RIGHT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDB_RIGHT(enable);}

#define SET_SOUNDB_LEFT enable   
 

Value:

{REG_SOUNDCNT_H &= _SNDB_LEFT_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDB_LEFT(enable);}

#define SET_SOUNDB_TIMER timer   
 

Value:

{REG_SOUNDCNT_H &= _SNDB_TIMER_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDB_TIMER(timer);}

#define SET_SOUNDB_FIFO fifo   
 

Value:

{REG_SOUNDCNT_H &= _SNDB_FIFO_MASK;  \
        REG_SOUNDCNT_H |= MAKE_SNDB_FIFO(fifo);}

#define SOUNDA_PLAY channel,
timer,
wave   
 

Value:

DMA(channel, (void *)&REG_FIFO_A_L, wave, timer, \
    DMA_ENABLE | DMA_START_FIFO | DMA_SIZE_32 | DMA_SRC_INC | \
    DMA_DST_INC | DMA_REPEAT)

#define SOUNDB_PLAY channel,
timer,
wave   
 

Value:

DMA(channel, (void *)&REG_FIFO_B_L, wave, timer, \
    DMA_ENABLE | DMA_START_FIFO | DMA_SIZE_32 | DMA_SRC_INC | \
    DMA_DST_INC | DMA_REPEAT)

#define SOUND_START_TIMER timer,
freq   
 

Value:

{set_timer_data(timer, 0x10000 - (0x1000000 / freq)); \
    set_timer_cnt(timer, TIM_ENABLE | TIM_IRQ | TIM_FREQ_1);}

#define SET_SOUNDA output,
left,
right,
timer   
 

Value:

{set_sounda_output(output); \
    set_sounda_left(left); \
    set_sounda_right(right); \
    set_sounda_timer(timer); \
    set_sounda_fifo(TRUE);}

#define SET_SOUNDB output,
left,
right,
timer   
 

Value:

{set_soundb_output(output); \
    set_soundb_left(left); \
    set_soundb_right(right); \
    set_soundb_timer(timer); \
    set_soundb_fifo(TRUE);}

#define set_sound_leftvol leftvol       SET_SOUND_LEFTVOL(leftvol)
 

Parameters:
leftvol  u8 [0..7] Left Volume
Left volume for sound channels 1 to 4.

#define set_sound_rightvol rightvol       SET_SOUND_RIGHTVOL(rightvol)
 

Parameters:
rightvol  u8 [0..7] Right Volume
Right volume for sound channels 1 to 4.

#define set_sound1_left enable       SET_SOUND1_LEFT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Left Output
Enable sound channel 1 to output to left speaker.

#define set_sound2_left enable       SET_SOUND2_LEFT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Left Output
Enable sound channel 2 to output to left speaker.

#define set_sound3_left enable       SET_SOUND3_LEFT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Left Output
Enable sound channel 3 to output to left speaker.

#define set_sound4_left enable       SET_SOUND4_LEFT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Left Output
Enable sound channel 4 to output to left speaker.

#define set_sound1_right enable       SET_SOUND1_RIGHT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Right Output
Enable sound channel 1 to output to right speaker.

#define set_sound2_right enable       SET_SOUND2_RIGHT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Right Output
Enable sound channel 2 to output to right speaker.

#define set_sound3_right enable       SET_SOUND3_RIGHT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Right Output
Enable sound channel 3 to output to right speaker.

#define set_sound4_right enable       SET_SOUND4_RIGHT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Right Output
Enable sound channel 4 to output to right speaker.

 
#define get_sound_leftvol      GET_SND_LEFTVOL(REG_SOUNDCNT_L)
 

Returns:
u8 [0..7] Left Volume
Left volume for sound channels 1 to 4.

 
#define get_sound_rightvol      GET_SND_RIGHTVOL(REG_SOUNDCNT_L)
 

Returns:
u8 [0..7] Right Volume
Right volume for sound channels 1 to 4.

 
#define get_sound1_left      GET_SND1_LEFT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Left Output
Returns TRUE if sound channel 1 output to left speaker is enabled.

 
#define get_sound2_left      GET_SND2_LEFT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Left Output
Returns TRUE if sound channel 2 output to left speaker is enabled.

 
#define get_sound3_left      GET_SND3_LEFT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Left Output
Returns TRUE if sound channel 3 output to left speaker is enabled.

 
#define get_sound4_left      GET_SND4_LEFT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Left Output
Returns TRUE if sound channel 4 output to left speaker is enabled.

 
#define get_sound1_right      GET_SND1_RIGHT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Right Output
Returns TRUE if sound channel 1 output to right speaker is enabled.

 
#define get_sound2_right      GET_SND2_RIGHT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Right Output
Returns TRUE if sound channel 2 output to right speaker is enabled.

 
#define get_sound3_right      GET_SND3_RIGHT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Right Output
Returns TRUE if sound channel 3 output to right speaker is enabled.

 
#define get_sound4_right      GET_SND4_RIGHT(REG_SOUNDCNT_L)
 

Returns:
bool [TRUE or FALSE] Enable Right Output
Returns TRUE if sound channel 4 output to right speaker is enabled.

#define set_sound_output output       SET_SOUND_OUTPUT(output)
 

Parameters:
output  u8 [SND_OUTPUT] Output Ratio
Output ratio for sound channels 1 to 4.

Sound Output defines:
 */
#define SND_OUTPUT_25
#define SND_OUTPUT_50
#define SND_OUTPUT_100

#define set_sounda_output output       SET_SOUNDA_OUTPUT(output)
 

Parameters:
output  bool [SNDA_OUTPUT] Output Ratio
Output ratio for Direct Sound A.

Sound A Output defines:
 */
#define SNDA_OUTPUT_50
#define SNDA_OUTPUT_100

#define set_soundb_output output       SET_SOUNDB_OUTPUT(output)
 

Parameters:
output  bool [SNDB_OUTPUT] Output Ratio
Output ratio for Direct Sound B.

Sound B Output defines:
 */
#define SNDB_OUTPUT_50
#define SNDB_OUTPUT_100

#define set_sounda_right enable       SET_SOUNDA_RIGHT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Right Output
Enable Direct Sound A to output to right speaker.

#define set_sounda_left enable       SET_SOUNDA_LEFT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Left Output
Enable Direct Sound A to output to left speaker.

#define set_sounda_timer timer       SET_SOUNDA_TIMER(timer)
 

Parameters:
timer  bool [0..1] Sampling Rate Timer
Sampling rate timer 0 or 1.

#define set_sounda_fifo fifo       SET_SOUNDA_FIFO(fifo)
 

Parameters:
fifo  bool [TRUE or FALSE] FIFO Reset

#define set_soundb_right enable       SET_SOUNDB_RIGHT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Right Output
Enable Direct Sound B to output to right speaker.

#define set_soundb_left enable       SET_SOUNDB_LEFT(enable)
 

Parameters:
enable  bool [TRUE or FALSE] Enable Left Output
Enable Direct Sound B to output to left speaker.

#define set_soundb_timer timer       SET_SOUNDB_TIMER(timer)
 

Parameters:
timer  bool [0..1] Sampling Rate Timer
Sampling rate timer 0 or 1.

#define set_soundb_fifo fifo       SET_SOUNDB_FIFO(fifo)
 

Parameters:
fifo  bool [TRUE or FALSE] FIFO Reset

 
#define get_sound_output      GET_SND_OUTPUT(REG_SOUNDCNT_H)
 

Returns:
u8 [SND_OUTPUT] Output Ratio
Output ratio for sound channels 1 to 4.

Sound Output defines:
 */
#define SND_OUTPUT_25
#define SND_OUTPUT_50
#define SND_OUTPUT_100

 
#define get_sounda_output      GET_SNDA_OUTPUT(REG_SOUNDCNT_H)
 

Returns:
bool [SNDA_OUTPUT] Output Ratio
Output ratio for Direct Sound A.

Sound A Output defines:
 */
#define SNDA_OUTPUT_50
#define SNDA_OUTPUT_100

 
#define get_soundb_output      GET_SNDB_OUTPUT(REG_SOUNDCNT_H)
 

Returns:
bool [SNDB_OUTPUT] Output Ratio
Output ratio for Direct Sound B.

Sound B Output defines:
 */
#define SNDB_OUTPUT_50
#define SNDB_OUTPUT_100

 
#define get_sounda_right      GET_SNDA_RIGHT(REG_SOUNDCNT_H)
 

Returns:
bool [TRUE or FALSE] Enable Right Output
Returns TRUE if Direct Sound A output to right speaker is enabled.

 
#define get_sounda_left      GET_SNDA_LEFT(REG_SOUNDCNT_H)
 

Returns:
bool [TRUE or FALSE] Enable Left Output
Returns TRUE if Direct Sound A output to left speaker is enabled.

 
#define get_sounda_timer      GET_SNDA_TIMER(REG_SOUNDCNT_H)
 

Returns:
bool [0..1] Sampling Rate Timer
Sampling rate timer 0 or 1.

 
#define get_sounda_fifo      GET_SNDA_FIFO(REG_SOUNDCNT_H)
 

Returns:
bool [TRUE or FALSE] FIFO Reset

 
#define get_soundb_right      GET_SNDB_RIGHT(REG_SOUNDCNT_H)
 

Returns:
bool [TRUE or FALSE] Enable Right Output
Returns TRUE if Direct Sound B output to right speaker is enabled.

 
#define get_soundb_left      GET_SNDB_LEFT(REG_SOUNDCNT_H)
 

Returns:
bool [TRUE or FALSE] Enable Left Output
Returns TRUE if Direct Sound B output to left speaker is enabled.

 
#define get_soundb_timer      GET_SNDB_TIMER(REG_SOUNDCNT_H)
 

Returns:
bool [0..1] Sampling Rate Timer
Sampling rate timer 0 or 1.

 
#define get_soundb_fifo      GET_SNDB_FIFO(REG_SOUNDCNT_H)
 

Returns:
bool [TRUE or FALSE] FIFO Reset

 
#define get_sound1_stat      GET_SND1_STAT(REG_SOUNDCNT_X)
 

Returns:
bool [TRUE or FALSE] Sound 1 Status
Returns TRUE if sound channel 1 is playing.

 
#define get_sound2_stat      GET_SND2_STAT(REG_SOUNDCNT_X)
 

Returns:
bool [TRUE or FALSE] Sound 2 Status
Returns TRUE if sound channel 2 is playing.

 
#define get_sound3_stat      GET_SND3_STAT(REG_SOUNDCNT_X)
 

Returns:
bool [TRUE or FALSE] Sound 3 Status
Returns TRUE if sound channel 3 is playing.

 
#define get_sound4_stat      GET_SND4_STAT(REG_SOUNDCNT_X)
 

Returns:
bool [TRUE or FALSE] Sound 4 Status
Returns TRUE if sound channel 4 is playing.

 
#define sound_on      REG_SOUNDCNT_X |= MAKE_SND_ENABLE(TRUE);
 

Enable sound

 
#define sound_off      REG_SOUNDCNT_X &= _SND_ENABLE_MASK;
 

Disable sound

#define set_soundcnt_l leftvol,
rightvol,
left1,
left2,
left3,
left4,
right1,
right2,
right3,
right4   
 

Value:

REG_SOUNDCNT_L = MAKE_SOUNDCNT_L(leftvol, rightvol, \
            left1, left2, left3, left4, right1, right2, right3, right4);
Parameters:
leftvol  u8 [0..7] Left Volume
rightvol  u8 [0..7] Right Volume
left1  bool [TRUE or FALSE] Sound 1 Left Output
left2  bool [TRUE or FALSE] Sound 2 Left Output
left3  bool [TRUE or FALSE] Sound 3 Left Output
left4  bool [TRUE or FALSE] Sound 4 Left Output
right1  bool [TRUE or FALSE] Sound 1 Right Output
right2  bool [TRUE or FALSE] Sound 2 Right Output
right3  bool [TRUE or FALSE] Sound 3 Right Output
right4  bool [TRUE or FALSE] Sound 4 Right Output

#define set_soundcnt_h output,
a_output,
b_output,
a_right,
a_left,
a_timer,
a_fifo,
b_right,
b_left,
b_timer,
b_fifo   
 

Value:

REG_SOUNDCNT_H = MAKE_SOUNDCNT_H(output, a_output, b_output,  \
                        a_right, a_left, a_timer, a_fifo,  \
                        b_right, b_left, b_timer, b_fifo);
Parameters:
output  u8 [SND_OUTPUT] Sound 1-4 Output Ratio
a_output  u8 [SNDA_OUTPUT] Direct Sound A Output Ratio
b_output  u8 [SNDB_OUTPUT] Direct Sound B Output Ratio
a_right  bool [TRUE or FALSE] Enable Direct Sound A Right Output
a_left  bool [TRUE or FALSE] Enable Direct Sound A Left Output
a_timer  bool [0..1] Direct Sound A Sampling Rate Timer
a_fifo  bool [TRUE or FALSE] Direct Sound A FIFO Reset
b_right  bool [TRUE or FALSE] Enable Direct Sound B Right Output
b_left  bool [TRUE or FALSE] Enable Direct Sound B Left Output
b_timer  bool [0..1] Direct Sound B Sampling Rate Timer
b_fifo  bool [TRUE or FALSE] Direct Sound B FIFO Reset
Sound Output defines:
 */
#define SND_OUTPUT_25
#define SND_OUTPUT_50
#define SND_OUTPUT_100

Sound A Output defines:
 */
#define SNDA_OUTPUT_50
#define SNDA_OUTPUT_100

Sound B Output defines:
 */
#define SNDB_OUTPUT_50
#define SNDB_OUTPUT_100

#define set_sound1cnt_l swpshifts,
swpmode,
swptime       REG_SOUND1CNT_L = MAKE_SOUND1CNT_L(swpshifts, swpmode, swptime);
 

Parameters:
swpshifts  u8 [0..7] Sweep Shifts
swpmode  bool [SND1_SWPMODE] Sweep Mode
swptime  u8 [SND1_SWPTIME] Sweep Time
Sound 1 Sweep Mode defines:
 */
#define SND1_SWPMODE_INC
#define SND1_SWPMODE_DEC

Sound 1 Sweep Time defines:
 */
#define SND1_SWPTIME_OFF
#define SND1_SWPTIME_7_8
#define SND1_SWPTIME_15_6
#define SND1_SWPTIME_23_4
#define SND1_SWPTIME_31_3
#define SND1_SWPTIME_39_1
#define SND1_SWPTIME_46_9
#define SND1_SWPTIME_54_7

#define set_sound1cnt_h length,
waveduty,
envtime,
envmode,
envinit       REG_SOUND1CNT_H = MAKE_SOUND1CNT_H(length, waveduty, envtime, envmode, envinit);
 

Parameters:
length  u8 [0..63] Sound Length
waveduty  u8 [SND1_WAVEDUTY] Wave Duty Cycle
envtime  u8 [0..7] Envelope Step Time
envmode  bool [SND1_ENVMODE] Envelope Mode
envinit  u8 [0..15] Initial Envelope Value
Sound 1 Wave Duty defines:
 */
#define SND1_WAVEDUTY_12_5
#define SND1_WAVEDUTY_25
#define SND1_WAVEDUTY_50
#define SND1_WAVEDUTY_75

Sound 1 Envelope Mode defines:
 */
#define SND1_ENVMODE_DEC
#define SND1_ENVMODE_INC

#define set_sound1cnt_x freq,
timed,
reset       REG_SOUND1CNT_X = MAKE_SOUND1CNT_X(freq, timed, reset);
 

Parameters:
freq  u16 [0..2047] Frequency
timed  bool [SND1_TIMED] Timed Mode
reset  bool [TRUE or FALSE] Sound Reset
Sound 1 Timed defines:
 */
#define SND1_TIMED_CONT
#define SND1_TIMED_TIMED

#define set_sound2cnt_l length,
waveduty,
envtime,
envmode,
envinit       REG_SOUND2CNT_L = MAKE_SOUND2CNT_L(length, waveduty, envtime, envmode, envinit);
 

Parameters:
length  u8 [0..63] Sound Length
waveduty  u8 [SND2_WAVEDUTY] Wave Duty Cycle
envtime  u8 [0..7] Envelope Time
envmode  bool [SND2_ENVMODE] Envelope Mode
envinit  u8 [0..15] Initial Envelope Mode
Sound 2 Wave Duty defines:
 */
#define SND2_WAVEDUTY_12_5
#define SND2_WAVEDUTY_25
#define SND2_WAVEDUTY_50
#define SND2_WAVEDUTY_75

Sound 2 Envelope Mode defines:
 */
#define SND2_ENVMODE_DEC
#define SND2_ENVMODE_INC

#define set_sound2cnt_h freq,
timed,
reset       REG_SOUND2CNT_H = MAKE_SOUND2CNT_H(freq, timed, reset);
 

Parameters:
freq  u16 [0..2047] Frequency
timed  bool [SND2_TIMED] Timed Mode
reset  bool [TRUE or FALSE] Sound Reset
Sound 2 Timed defines:
 */
#define SND2_TIMED_CONT
#define SND2_TIMED_TIMED

#define set_sound3cnt_l bankmode,
bank,
enable       REG_SOUND3CNT_L = MAKE_SOUND3CNT_L(bankmode, bank, enable);
 

Parameters:
bankmode  bool [SND3_BANKMODE] Bank Mode
bank  bool [0..1] Bank
enable  bool [TRUE or FALSE] Enable Sound Channel 3 Output
Sound 3 Bank Mode defines:
 */
#define SND3_BANKMODE_2x32
#define SND3_BANKMODE_1x64

#define set_sound3cnt_h length,
output       REG_SOUND3CNT_H = MAKE_SOUND3CNT_H(length, output);
 

Parameters:
length  u8 [0..255] Sound Length
output  u8 [SND3_OUTPUT] Output Ratio
Sound 3 Output defines:
 */
#define SND3_OUTPUT_MUTE
#define SND3_OUTPUT_100
#define SND3_OUTPUT_75
#define SND3_OUTPUT_50
#define SND3_OUTPUT_25

#define set_sound3cnt_x freq,
timed,
reset       REG_SOUND3CNT_X = MAKE_SOUND3CNT_X(freq, timed, reset);
 

Parameters:
freq  u16 [0..2047] Frequency
timed  bool [SND3_TIMED] Timed Mode
reset  bool Sound Reset
Sound 3 Timed defines:
 */
#define SND3_TIMED_CONT
#define SND3_TIMED_TIMED

#define set_sound4cnt_l length,
envtime,
envmode,
envinit       REG_SOUND4CNT_L = MAKE_SOUND4CNT_L(length, envtime, envmode, envinit);
 

Parameters:
length  u8 [0..63] Sound Length
envtime  u8 [0..7] Envelope Step Time
envmode  bool [SND4_ENVMODE] Envelope Mode
envinit  u8 [0..15] Initial Envelope Value
Sound 4 Envelope Mode defines:
 */
#define SND4_ENVMODE_DEC
#define SND4_ENVMODE_INC

#define set_sound4cnt_h div,
stages,
prestep,
timed,
reset       REG_SOUND4CNT_H = MAKE_SOUND4CNT_H(div, stages, prestep, timed, reset);
 

Parameters:
div  u8 [SND4_DIV] Clock Divider Frequency
stages  bool [SND4_STAGES] Counter Stages
prestep  u8 [SND4_PRESTEP] Counter Pre-Stepper Frequency
timed  bool [SND4_TIMED] Timed Mode
reset  bool [TRUE or FALSE] Sound Reset
Sound 4 Div defines:
 */
#define SND4_DIV_Fx2
#define SND4_DIV_F
#define SND4_DIV_Fd2
#define SND4_DIV_Fd3
#define SND4_DIV_Fd4
#define SND4_DIV_Fd5
#define SND4_DIV_Fd6
#define SND4_DIV_Fd7

Sound 4 Stages defines:
 */
#define SND4_STAGES_15
#define SND4_STAGES_7

Sound 4 Pre-Step defines:
 */
#define SND4_PRESTEP_2
#define SND4_PRESTEP_2p2
#define SND4_PRESTEP_2p3
#define SND4_PRESTEP_2p4
#define SND4_PRESTEP_2p5
#define SND4_PRESTEP_2p6
#define SND4_PRESTEP_2p7
#define SND4_PRESTEP_2p8
#define SND4_PRESTEP_2p9
#define SND4_PRESTEP_2p10
#define SND4_PRESTEP_2p11
#define SND4_PRESTEP_2p12
#define SND4_PRESTEP_2p13
#define SND4_PRESTEP_2p14

Sound 4 Timed defines:
 */
#define SND4_TIMED_CONT
#define SND4_TIMED_TIMED

#define sounda_play channel,
timer,
wave       SOUNDA_PLAY(channel, timer, wave)
 

Parameters:
channel  u8 [1..2] DMA Channel
timer  u8 [0..1] Timer
wave  void* Wave Data
Starts a DMA to continuously copy wave data to the Direct Sound A channel

#define soundb_play channel,
timer,
wave       SOUNDB_PLAY(channel, timer, wave)
 

Parameters:
channel  u8 [1..2] DMA Channel
timer  bool [0..1] Sampling Rate Timer
wave  void* Wave Data
Starts a DMA to continuously copy wave data to the Direct Sound B channel

#define sounda_stop channel       SOUNDA_STOP(channel)
 

Parameters:
channel  u8 [1..2] DMA Channel
Stops the DMA from copying wave data to the Direct Sound A channel

#define soundb_stop channel       SOUNDB_STOP(channel)
 

Parameters:
channel  u8 [1..2] DMA Channel
Stops the DMA from copying wave data to the Direct Sound B channel

#define sound_start_timer timer,
freq       SOUND_START_TIMER(timer, freq)
 

Parameters:
timer  bool [0..1] Sampling Rate Timer
freq  u16 Sample Frequency (eg. 16000 = 16khz)
Starts a timer at the specified frequency

#define sound_stop_timer timer       SOUND_STOP_TIMER(timer)
 

Parameters:
timer  bool [0..1] Sampling Rate Timer
Stops the timer

#define set_sounda output,
left,
right,
timer       SET_SOUNDA(output, left, right, timer)
 

Parameters:
output  bool [SNDA_OUTPUT] Output Ratio
left  bool [TRUE or FALSE] Enable Left Output
right  bool [TRUE or FALSE] Enable Right Output
timer  bool [0..1] Sampling Rate Timer
Sets up the Direct Sound A channel

Sound A Output defines:

 */
#define SNDA_OUTPUT_50
#define SNDA_OUTPUT_100

#define set_soundb output,
left,
right,
timer       SET_SOUNDB(output, left, right, timer)
 

Parameters:
output  bool [SNDB_OUTPUT] Output Ratio
left  bool [TRUE or FALSE] Enable Left Output
right  bool [TRUE or FALSE] Enable Right Output
timer  bool [0..1] Sampling Rate Timer
Sets up the Direct Sound B channel

Sound B Output defines:

 */
#define SNDB_OUTPUT_50
#define SNDB_OUTPUT_100


Generated on Wed May 19 21:45:09 2004 for Mushroom GBALib by doxygen 1.2.18