|
|
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 Solaris sound
1.1.1.2 root 5: *
1.1 root 6: * Copyright 1996, 1997 Manfred Thole
7: */
8:
9: extern uae_u16 sndbuffer[];
10: extern uae_u16 *sndbufpt;
11: extern int sound_fd;
12: extern int sndbufsize;
13:
1.1.1.3 ! root 14: STATIC_INLINE void flush_sound_buffer (void)
1.1 root 15: {
16: write (sound_fd, sndbuffer, sndbufsize);
17: sndbufpt = sndbuffer;
18: }
19:
1.1.1.3 ! root 20: STATIC_INLINE void check_sound_buffers (void)
1.1 root 21: {
22: if ((char *)sndbufpt - (char *)sndbuffer >= sndbufsize) {
23: flush_sound_buffer();
1.1.1.3 ! root 24: return 1;
1.1 root 25: }
1.1.1.3 ! root 26: return 0;
1.1 root 27: }
28:
29: #define PUT_SOUND_BYTE(b) do { *(uae_u8 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 1); } while (0)
30: #define PUT_SOUND_WORD(b) do { *(uae_u16 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 2); } while (0)
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.