22 #ifndef NUVIE_SOUND_ADPLUG_FM_OPL_H 23 #define NUVIE_SOUND_ADPLUG_FM_OPL_H 25 #include "common/scummsys.h" 35 #define BUILD_YM3812 (HAS_YM3812) 36 #define BUILD_YM3526 (HAS_YM3526) 37 #define BUILD_Y8950 (HAS_Y8950) 40 #define OPL_SAMPLE_BITS 16 42 #if (OPL_SAMPLE_BITS==16) 43 typedef int16 OPLSAMPLE;
45 #if (OPL_SAMPLE_BITS==8) 46 typedef int8 OPLSAMPLE;
50 typedef void (*OPL_TIMERHANDLER)(
int channel,
double interval_Sec);
51 typedef void (*OPL_IRQHANDLER)(
int param,
int irq);
52 typedef void (*OPL_UPDATEHANDLER)(
int param,
int min_interval_us);
53 typedef void (*OPL_PORTHANDLER_W)(
int param,
unsigned char data);
54 typedef unsigned char (*OPL_PORTHANDLER_R)(
int param);
59 int YM3812Init(
int num,
int clock,
int rate);
60 void YM3812Shutdown(
void);
61 void YM3812ResetChip(
int which);
62 int YM3812Write(
int which,
int a,
int v);
63 unsigned char YM3812Read(
int which,
int a);
64 int YM3812TimerOver(
int which,
int c);
65 void YM3812UpdateOne(
int which, int16 *buffer,
int length);
67 void YM3812SetTimerHandler(
int which, OPL_TIMERHANDLER TimerHandler,
int channelOffset);
68 void YM3812SetIRQHandler(
int which, OPL_IRQHANDLER IRQHandler,
int param);
69 void YM3812SetUpdateHandler(
int which, OPL_UPDATEHANDLER UpdateHandler,
int param);
83 int YM3526Init(
int num,
int clock,
int rate);
85 void YM3526Shutdown(
void);
86 void YM3526ResetChip(
int which);
87 int YM3526Write(
int which,
int a,
int v);
88 unsigned char YM3526Read(
int which,
int a);
89 int YM3526TimerOver(
int which,
int c);
97 void YM3526UpdateOne(
int which, int16 *buffer,
int length);
99 void YM3526SetTimerHandler(
int which, OPL_TIMERHANDLER TimerHandler,
int channelOffset);
100 void YM3526SetIRQHandler(
int which, OPL_IRQHANDLER IRQHandler,
int param);
101 void YM3526SetUpdateHandler(
int which, OPL_UPDATEHANDLER UpdateHandler,
int param);
110 #include "ymdeltat.h" 116 void Y8950SetPortHandler(
int which, OPL_PORTHANDLER_W PortHandler_w, OPL_PORTHANDLER_R PortHandler_r,
int param);
117 void Y8950SetKeyboardHandler(
int which, OPL_PORTHANDLER_W KeyboardHandler_w, OPL_PORTHANDLER_R KeyboardHandler_r,
int param);
118 void Y8950SetDeltaTMemory(
int which,
void *deltat_rom,
int deltat_rom_size);
120 int Y8950Init(
int num,
int clock,
int rate);
121 void Y8950Shutdown(
void);
122 void Y8950ResetChip(
int which);
123 int Y8950Write(
int which,
int a,
int v);
124 unsigned char Y8950Read(
int which,
int a);
125 int Y8950TimerOver(
int which,
int c);
126 void Y8950UpdateOne(
int which, int16 *buffer,
int length);
128 void Y8950SetTimerHandler(
int which, OPL_TIMERHANDLER TimerHandler,
int channelOffset);
129 void Y8950SetIRQHandler(
int which, OPL_IRQHANDLER IRQHandler,
int param);
130 void Y8950SetUpdateHandler(
int which, OPL_UPDATEHANDLER UpdateHandler,
int param);
Definition: detection.h:27