mirror of
https://github.com/afska/gba-link-connection.git
synced 2026-04-02 23:35:13 -05:00
55 lines
1.9 KiB
C
55 lines
1.9 KiB
C
// SPDX-License-Identifier: MIT
|
|
//
|
|
// Copyright (c) 2020-2021 Antonio Niño Díaz
|
|
|
|
#ifndef SOUND_H__
|
|
#define SOUND_H__
|
|
|
|
#include "definitions.h"
|
|
|
|
// Enable or disable sound hardware. It must be enabled before doing anything
|
|
// else with sound hardware.
|
|
EXPORT_API void SOUND_MasterEnable(int enable);
|
|
|
|
// Set volume of DMA channels. Valid values are 100 and 50. Any other value will
|
|
// be treated as 50%.
|
|
EXPORT_API void SOUND_DMA_Volume(int dma_a_max, int dma_b_max);
|
|
|
|
// Set master volume of all PSG channels. Valid values are 100, 50 and 25.. Any
|
|
// other value will be treated as 25%.
|
|
EXPORT_API void SOUND_PSG_MasterVolume(int volume);
|
|
|
|
// Set left and right volume of all PSG channels. Valid values are 0 to 7.
|
|
EXPORT_API void SOUND_PSG_Volume(int volume_left, int volume_right);
|
|
|
|
// Specify which DMA channels are heard from which speakers.
|
|
EXPORT_API
|
|
void SOUND_DMA_Pan(int dma_a_left, int dma_a_right,
|
|
int dma_b_left, int dma_b_right);
|
|
|
|
// Specify which PSG channels are heard from which speakers.
|
|
EXPORT_API
|
|
void SOUND_PSG_Pan(int left_1, int right_1, int left_2, int right_2,
|
|
int left_3, int right_3, int left_4, int right_4);
|
|
|
|
// Set buffer that will be streamed to DMA channel A. The buffer needs to be
|
|
// aligned to 32 bits.
|
|
EXPORT_API void SOUND_DMA_Stream_A(const void *source);
|
|
|
|
// Set buffer that will be streamed to DMA channel B. The buffer needs to be
|
|
// aligned to 32 bits.
|
|
EXPORT_API void SOUND_DMA_Stream_B(const void *source);
|
|
|
|
// Set buffers that will be streamed to DMA channels A and B. The buffers need
|
|
// to be aligned to 32 bits.
|
|
EXPORT_API void SOUND_DMA_Setup_AB(const void *source_a, const void *source_b);
|
|
|
|
// Restart DMA transfer used for audio.
|
|
EXPORT_API void SOUND_DMA_Retrigger_AB(void);
|
|
|
|
// Specify which timer is assigned to each one of the DMA channels. Only timers
|
|
// 0 and 1 are valid.
|
|
EXPORT_API void SOUND_DMA_TimerSetup(int dma_a_timer, int dma_b_timer);
|
|
|
|
#endif // SOUND_H__
|