|
|
1.1.1.2 root 1: /*
1.1 root 2: * UAE - The Un*x Amiga Emulator
1.1.1.2 root 3: *
1.1 root 4: * Support for Linux/ALSA sound
1.1.1.2 root 5: *
1.1 root 6: * Copyright 1997 Bernd Schmidt
7: * Copyright 2004 Heikki Orsila
8: */
9:
10: #include <alsa/asoundlib.h>
11:
1.1.1.4 ! root 12: extern uae_u16 *sndbufpt, *sndbuf_base;
1.1 root 13: extern int sndbufsize;
14:
1.1.1.4 ! root 15: extern void finish_sound_buffers (void);
1.1 root 16:
1.1.1.3 root 17: static int check_sound_buffers (void)
1.1 root 18: {
1.1.1.4 ! root 19: if ((char *) sndbufpt - (char *) sndbuf_base >= sndbufsize) {
! 20: finish_sound_buffers ();
1.1.1.3 root 21: return 1;
1.1 root 22: }
1.1.1.3 root 23: return 0;
1.1 root 24: }
25:
26: #define PUT_SOUND_BYTE(b) do { *(uae_u8 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 1); } while (0)
27: #define PUT_SOUND_WORD(b) do { *(uae_u16 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 2); } while (0)
28: #define PUT_SOUND_BYTE_LEFT(b) PUT_SOUND_BYTE(b)
29: #define PUT_SOUND_WORD_LEFT(b) PUT_SOUND_WORD(b)
30: #define PUT_SOUND_BYTE_RIGHT(b) PUT_SOUND_BYTE(b)
31: #define PUT_SOUND_WORD_RIGHT(b) PUT_SOUND_WORD(b)
32: #define SOUND16_BASE_VAL 0
33: #define SOUND8_BASE_VAL 128
34:
1.1.1.4 ! root 35: #define DEFAULT_SOUND_MAXB 2048
! 36: #define DEFAULT_SOUND_MINB 2048
1.1 root 37: #define DEFAULT_SOUND_BITS 16
38: #define DEFAULT_SOUND_FREQ 44100
39: #define HAVE_STEREO_SUPPORT
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.