31#ifndef H_ADPLUG_WOODYOPL
32#define H_ADPLUG_WOODYOPL
34#define OPLTYPE_IS_OPL3
42typedef uintptr_t
Bitu;
55#define OPL_INLINE __inline
59#if defined(OPLTYPE_IS_OPL3)
60#define NUM_CHANNELS 18
65#define MAXOPERATORS (NUM_CHANNELS*2)
68#define FL05 ((fltype)0.5)
69#define FL2 ((fltype)2.0)
70#define PI ((fltype)3.1415926535897932384626433832795)
73#define FIXEDPT 0x10000
74#define FIXEDPT_LFO 0x1000000
78#define INTFREQU ((fltype)(14318180.0 / 288.0))
85#define OF_TYPE_SUS_NOKEEP 4
88#define ARC_CONTROL 0x00
89#define ARC_TVS_KSR_MUL 0x20
90#define ARC_KSL_OUTLEV 0x40
91#define ARC_ATTR_DECR 0x60
92#define ARC_SUSL_RELR 0x80
93#define ARC_FREQ_NUM 0xa0
94#define ARC_KON_BNUM 0xb0
95#define ARC_PERC_MODE 0xbd
96#define ARC_FEEDBACK 0xc0
97#define ARC_WAVE_SEL 0xe0
99#define ARC_SECONDSET 0x100
102#define OP_ACT_OFF 0x00
103#define OP_ACT_NORMAL 0x01
104#define OP_ACT_PERC 0x02
106#define BLOCKBUF_SIZE 512
111#define VIBFAC 70/50000
114#define TREMTAB_SIZE 53
115#define TREM_FREQ ((fltype)(3.7))
154#if defined(OPLTYPE_IS_OPL3)
173 #if defined(OPLTYPE_IS_OPL3)
static long bytespersample
Definition adlibemu.c:87
Definition woodyopl.h:160
void enable_operator(Bitu regbase, op_type *op_pt, Bit32u act_type)
Definition woodyopl.cpp:455
void change_waveform(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:395
op_type op[MAXOPERATORS]
Definition woodyopl.h:165
void adlib_init(Bit32u samplerate, Bit32u numchannels, Bit32u bytespersample)
Definition woodyopl.cpp:479
void adlib_getsample(Bit16s *sndptr, Bits numsamples)
Definition woodyopl.cpp:971
Bit8u wave_sel[44]
Definition woodyopl.h:175
Bit32u vibtab_add
Definition woodyopl.h:184
Bit32u opl_index
Definition woodyopl.h:172
void change_decayrate(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:357
void change_frequency(Bitu chanbase, Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:427
Bitu chip_num
Definition woodyopl.h:164
Bit32u tremtab_pos
Definition woodyopl.h:185
Bits int_numsamplechannels
Definition woodyopl.h:168
Bit32u tremtab_add
Definition woodyopl.h:186
void change_sustainlevel(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:385
Bits int_bytespersample
Definition woodyopl.h:169
void change_attackrate(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:318
void change_keepsustain(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:405
void change_releaserate(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:371
Bitu adlib_reg_read(Bitu port)
Definition woodyopl.cpp:900
void adlib_write_index(Bitu port, Bit8u val)
Definition woodyopl.cpp:916
Bit32u vibtab_pos
Definition woodyopl.h:183
void change_feedback(Bitu chanbase, op_type *op_pt)
Definition woodyopl.cpp:421
Bit8u adlibreg[512]
Definition woodyopl.h:174
void adlib_write(Bitu idx, Bit8u val)
Definition woodyopl.cpp:604
Bit8u status
Definition woodyopl.h:171
Bits int_samplerate
Definition woodyopl.h:167
void change_vibrato(Bitu regbase, op_type *op_pt)
Definition woodyopl.cpp:415
int val
Definition jpeglib.h:956
unsigned short uint16_t
Definition mid.cpp:99
int int32_t
Definition mid.cpp:97
unsigned int uint32_t
Definition mid.cpp:100
short int16_t
Definition mid.cpp:96
unsigned char uint8_t
Definition mid.cpp:98
signed char int8_t
Definition mid.cpp:95
int8_t Bit8s
Definition nukedopl.h:47
uint16_t Bit16u
Definition nukedopl.h:44
int32_t Bit32s
Definition nukedopl.h:43
intptr_t Bits
Definition nukedopl.h:39
int16_t Bit16s
Definition nukedopl.h:45
uint32_t Bit32u
Definition nukedopl.h:42
uint8_t Bit8u
Definition nukedopl.h:46
uintptr_t Bitu
Definition nukedopl.h:38
Definition woodyopl.h:129
Bit32s lastcval
Definition woodyopl.h:130
Bit32s cval
Definition woodyopl.h:130
bool tremolo
Definition woodyopl.h:145
Bit32u generator_pos
Definition woodyopl.h:148
Bit32u toff
Definition woodyopl.h:139
fltype sustain_level
Definition woodyopl.h:134
Bit32s mfbi
Definition woodyopl.h:135
Bit32s left_pan
Definition woodyopl.h:156
fltype a0
Definition woodyopl.h:136
Bits cur_env_step
Definition woodyopl.h:149
fltype a1
Definition woodyopl.h:136
fltype amp
Definition woodyopl.h:132
bool is_4op_attached
Definition woodyopl.h:155
Bits env_step_r
Definition woodyopl.h:150
Bit32s freq_high
Definition woodyopl.h:140
Bit8u step_skip_pos_a
Definition woodyopl.h:151
Bit32u op_state
Definition woodyopl.h:138
Bits env_step_a
Definition woodyopl.h:150
bool vibrato
Definition woodyopl.h:145
Bit32u wfpos
Definition woodyopl.h:131
Bit32u cur_wmask
Definition woodyopl.h:142
Bit32u tinc
Definition woodyopl.h:131
Bit32s right_pan
Definition woodyopl.h:156
bool is_4op
Definition woodyopl.h:155
fltype a3
Definition woodyopl.h:136
bool sus_keep
Definition woodyopl.h:144
fltype releasemul
Definition woodyopl.h:137
Bits env_step_skip_a
Definition woodyopl.h:152
fltype decaymul
Definition woodyopl.h:137
fltype a2
Definition woodyopl.h:136
Bit32u tcount
Definition woodyopl.h:131
fltype vol
Definition woodyopl.h:133
Bits env_step_d
Definition woodyopl.h:150
Bit32u act_state
Definition woodyopl.h:143
fltype step_amp
Definition woodyopl.h:132
Bit16s * cur_wform
Definition woodyopl.h:141
struct operator_struct op_type
static Bit32u generator_add
Definition woodyopl.h:213
#define fltype
Definition woodyopl.h:36
#define MAXOPERATORS
Definition woodyopl.h:65