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