|
|
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 the AF sound system 1.1.1.2 ! root 5: * 1.1 root 6: * Copyright 1996 Marcus Sundberg 7: */ 8: 9: #include <AF/AFlib.h> 10: 11: extern AFAudioConn *aud; 12: extern AC ac; 13: extern long aftime; 14: extern int rate; 15: extern int sndbufsize; 16: extern uae_u16 sndbuffer[]; 17: extern uae_u16 *sndbufpt; 18: 19: static __inline__ void flush_sound_buffer(void) 20: { 21: long size = (char *)sndbufpt - (char *)sndbuffer; 22: if (AFGetTime(ac) > aftime) 23: aftime = AFGetTime(ac); 24: AFPlaySamples(ac, aftime, size, (unsigned char*) sndbuffer); 25: aftime += size / 2; 26: sndbufpt = sndbuffer; 27: } 28: 29: static __inline__ void check_sound_buffers (void) 30: { 31: if ((char *)sndbufpt - (char *)sndbuffer >= sndbufsize) { 32: flush_sound_buffer(); 33: } 34: } 35: 36: #define PUT_SOUND_BYTE(b) do { *(uae_u8 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 1); } while (0) 37: #define PUT_SOUND_WORD(b) do { *(uae_u16 *)sndbufpt = b; sndbufpt = (uae_u16 *)(((uae_u8 *)sndbufpt) + 2); } while (0) 38: #define SOUND16_BASE_VAL 0 39: #define SOUND8_BASE_VAL 128 40: 41: #define DEFAULT_SOUND_BSIZ 8192 42: #define DEFAULT_SOUND_BITS 16 43: #define DEFAULT_SOUND_FREQ 44100 44:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.