|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * DOS Sound Blaster interface.
5: *
6: * (c) 1996 Peter Remmers
7: */
8:
9: /* internally used types */
10: typedef UWORD BOOL;
11:
12: typedef enum
13: {
14: SB_Type_StdSB,
15: SB_Type_SbPro,
16: SB_Type_SB16
17: }
18: tSBType;
19:
20: extern tSBType SB_Type;
21:
22: extern volatile int IsPlaying;
23: extern int CurrentBuffer;
24:
25: BOOL SB_Reset (void);
26: inline void SB_WriteDSP (UBYTE value);
27: inline UBYTE SB_ReadDSP (void);
28: inline void SB_WriteMixer (UBYTE reg, UBYTE data);
29: inline UBYTE SB_ReadMixer (UBYTE reg);
30: BOOL SB_DetectMixer (void);
31: void SB_Play_8Bit_Std (UWORD bytes);
32: void SB_Play_8Bit_SbPro (UWORD bytes);
33: void SB_Play_8Bit_SB16 (UWORD bytes);
34: void SB_Play_16Bit (UWORD bytes);
35: void SB_IntHandler (void);
36: void SB_SetRate_LoSpeed (UWORD rate);
37: void SB_SetRate_HiSpeed (UWORD rate);
38: void SB_SetRate_SB16 (UWORD rate);
39: int SB_SetRate (unsigned short rate);
40: int SB_SetBits (unsigned char bits);
41: int SB_SetChannels (unsigned char channels);
42: int SB_SetSigned (int sign);
43: void SB_SpeakerOff(void);
44: void SB_SpeakerOn(void);
45: void SB_SetVolume(UBYTE vol);
46: void irq2 (void);
47: void irq5 (void);
48: void irq7 (void);
49: void irq10 (void);
50: int SB_Detect (unsigned short *base, unsigned short *irq, unsigned short *dmalo, unsigned short *dmahi);
51: int SB_InitBuffers(int bufsize);
52: int SB_Init (unsigned short base, unsigned short irq, unsigned short dmalo, unsigned short dmahi);
53: void SB_Done (void);
54: void SB_DirectWrite(unsigned int size, int freq);
55: void SB_GetVersion (unsigned char *Maj, unsigned char *Min);
56: int SB_DetectInitSound(int *dspbits, int *dsprate, int *sndbufsize, unsigned int *direct_buffers, int *stereo_sound);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.