Xemu [doxygen]  hyppo 0a42be3a057156924bc1b626a687bd6e27349c45 @ Sat 19 Mar 02:15:11 CET 2022
audio65.h
Go to the documentation of this file.
1 /* A work-in-progess MEGA65 (Commodore-65 clone origins) emulator
2  Part of the Xemu project, please visit: https://github.com/lgblgblgb/xemu
3  Copyright (C)2016-2021 LGB (Gábor Lénárt) <lgblgblgb@gmail.com>
4 
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
18 
19 #ifndef XEMU_MEGA65_AUDIO65_H_INCLUDED
20 #define XEMU_MEGA65_AUDIO65_H_INCLUDED
21 
22 #define NUMBER_OF_SIDS 4
23 
24 #define AUDIO_BUFFER_SAMPLES_MIN 1024
25 #define AUDIO_BUFFER_SAMPLES_MAX 32768
26 #define AUDIO_BUFFER_SAMPLES_DEFAULT 1024
27 
28 #ifdef NEED_SID_H
29 #include "xemu/sid.h"
30 extern struct SidEmulation sid[NUMBER_OF_SIDS];
31 #endif
32 
33 // You may want to disable audio emulation since it can disturb non-real-time emulation
34 #define AUDIO_EMULATION
35 
36 #define AUDIO_DEFAULT_SEPARATION 60
37 #define AUDIO_DEFAULT_VOLUME 100
38 #define AUDIO_UNCHANGED_SEPARATION -1000
39 #define AUDIO_UNCHANGED_VOLUME -1000
40 
41 extern int stereo_separation;
42 extern int audio_volume;
43 
44 extern void audio65_init ( int sid_cycles_per_sec, int sound_mix_freq, int volume, int separation, unsigned int buffer_size );
45 extern void audio65_reset ( void );
46 extern void audio65_clear_regs ( void );
47 extern void audio65_start ( void );
48 extern void audio65_opl3_write ( Uint8 reg, Uint8 data );
49 extern void audio65_sid_write ( const int addr, const Uint8 data );
50 extern void audio65_sid_inc_framecount ( void );
51 extern void audio_set_stereo_parameters ( int vol, int sep );
52 
53 #endif
audio65_init
void audio65_init(int sid_cycles_per_sec, int sound_mix_freq, int volume, int separation, unsigned int buffer_size)
Definition: audio65.c:382
addr
int addr
Definition: dma65.c:81
m65-memcontent-generator.data
data
Definition: m65-memcontent-generator.py:119
audio65_sid_inc_framecount
void audio65_sid_inc_framecount(void)
Definition: audio65.c:120
Uint8
uint8_t Uint8
Definition: fat32.c:51
audio65_start
void audio65_start(void)
Definition: audio65.c:367
audio65_opl3_write
void audio65_opl3_write(Uint8 reg, Uint8 data)
Definition: audio65.c:109
sid
struct SidEmulation sid[NUMBER_OF_SIDS]
Definition: audio65.c:37
audio_set_stereo_parameters
void audio_set_stereo_parameters(int vol, int sep)
Definition: audio65.c:217
stereo_separation
int stereo_separation
Definition: audio65.c:34
sid.h
audio65_sid_write
void audio65_sid_write(const int addr, const Uint8 data)
Definition: audio65.c:98
NUMBER_OF_SIDS
#define NUMBER_OF_SIDS
Definition: audio65.h:22
audio65_clear_regs
void audio65_clear_regs(void)
Definition: audio65.c:338
audio65_reset
void audio65_reset(void)
Definition: audio65.c:350
audio_volume
int audio_volume
Definition: audio65.c:35
SidEmulation
Definition: sid.h:78