Fixed the sample rate config option not being used. Added different soundblaster type options. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1699
53 lines
1.4 KiB
C
53 lines
1.4 KiB
C
#ifndef YMF262_H
|
|
#define YMF262_H
|
|
|
|
|
|
#define BUILD_YMF262 (HAS_YMF262)
|
|
|
|
|
|
/* select number of output bits: 8 or 16 */
|
|
#define OPL3_SAMPLE_BITS 16
|
|
|
|
/* compiler dependence */
|
|
#ifndef OSD_CPU_H
|
|
#define OSD_CPU_H
|
|
typedef unsigned char UINT8; /* unsigned 8bit */
|
|
typedef unsigned short UINT16; /* unsigned 16bit */
|
|
typedef unsigned int UINT32; /* unsigned 32bit */
|
|
typedef signed char INT8; /* signed 8bit */
|
|
typedef signed short INT16; /* signed 16bit */
|
|
typedef signed int INT32; /* signed 32bit */
|
|
#endif
|
|
|
|
#if (OPL3_SAMPLE_BITS==16)
|
|
typedef INT16 OPL3SAMPLE;
|
|
#endif
|
|
#if (OPL3_SAMPLE_BITS==8)
|
|
typedef INT8 OPL3SAMPLE;
|
|
#endif
|
|
|
|
|
|
typedef void (*OPL3_TIMERHANDLER)(int channel,double interval_Sec);
|
|
typedef void (*OPL3_IRQHANDLER)(int param,int irq);
|
|
typedef void (*OPL3_UPDATEHANDLER)(int param,int min_interval_us);
|
|
|
|
|
|
|
|
#if BUILD_YMF262
|
|
|
|
int YMF262Init(int num, int clock, int rate);
|
|
void YMF262Shutdown(void);
|
|
void YMF262ResetChip(int which);
|
|
int YMF262Write(int which, int a, int v);
|
|
unsigned char YMF262Read(int which, int a);
|
|
int YMF262TimerOver(int which, int c);
|
|
void YMF262UpdateOne(int which, INT16 **buffers, int length);
|
|
|
|
void YMF262SetTimerHandler(int which, OPL3_TIMERHANDLER TimerHandler, int channelOffset);
|
|
void YMF262SetIRQHandler(int which, OPL3_IRQHANDLER IRQHandler, int param);
|
|
void YMF262SetUpdateHandler(int which, OPL3_UPDATEHANDLER UpdateHandler, int param);
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* YMF262_H */
|