22#ifndef NUVIE_SOUND_ORIGIN_FX_ADLIB_DRIVER_H
23#define NUVIE_SOUND_ORIGIN_FX_ADLIB_DRIVER_H
25#include "ultima/nuvie/core/nuvie_defs.h"
26#include "ultima/nuvie/conf/configuration.h"
44 unsigned char num_tim_records;
45 unsigned char *adlib_tim_data;
47 struct adlib_instrument {
55 unsigned char *tim_data;
58 adlib_instrument adlib_ins[11];
60 int adlib_num_active_channels;
61 unsigned char *midi_chan_tim_ptr[32];
62 uint8 midi_chan_tim_off_10[32];
63 sint16 midi_chan_tim_off_11[32];
64 sint16 midi_chan_pitch[32];
65 sint16 midi_chan_volume[29];
68 uint8 adlib_bd_status;
72 void play_note(uint8 channel, sint8 note, uint8 velocity);
73 void control_mode_change(uint8 channel, uint8 function, uint8 value);
74 void program_change(sint8 channel, uint8 program_number);
75 void pitch_bend(uint8 channel, uint8 pitch_lsb, uint8 pitch_msb);
76 void interrupt_vector();
79 sint16 read_sint16(
unsigned char *buf);
80 void midi_write_adlib(
unsigned int r,
unsigned char v);
83 unsigned char *get_tim_data(uint8 program_number);
85 uint8 adlib_voice_op(sint8 voice);
86 uint8 adlib_voice_op1(sint8 voice);
87 uint16 sub_60D(sint16 val);
88 uint16 sub_4BF(uint8 channel, uint8 note, uint8 velocity,
unsigned char *cur_tim_ptr);
89 void sub_45E(sint16 voice);
90 void sub_48E(sint16 voice, uint8 val);
91 void write_adlib_instrument(sint8 voice,
unsigned char *tim_data);
Definition: configuration.h:60
Definition: origin_fx_adib_driver.h:34