diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/inc/synth.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/inc/synth.h')
-rw-r--r-- | private/inc/synth.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/private/inc/synth.h b/private/inc/synth.h new file mode 100644 index 000000000..473966499 --- /dev/null +++ b/private/inc/synth.h @@ -0,0 +1,72 @@ +/*++ BUILD Version: 0001 // Increment this if a change has global effects + + +Copyright (c) 1992 Microsoft Corporation + +Module Name: + + synth.h + +Abstract: + + This include file defines constants and types for + the Microsoft midi synthesizer driver + + This header file is shared between the low level driver and the + kernel mode driver. + +Author: + + Robin Speed (RobinSp) 20-Oct-92 + +Revision History: + +--*/ + +#define STR_DRIVERNAME L"synth" +#define STR_MV_DRIVERNAME L"mvopl3" +#define STR_OPL3_DEVICENAME L"\\Device\\opl3.mid" +#define STR_ADLIB_DEVICENAME L"\\Device\\adlib.mid" + +/* + * Stucture for passing synth data + * Why on earth isn't there a type for sharing short data? + */ + + typedef struct { + unsigned short IoPort; + unsigned short PortData; + } SYNTH_DATA, *PSYNTH_DATA; + +/* positions within FM */ +#define AD_LSI (0x000) +#define AD_LSI2 (0x101) +#define AD_TIMER1 (0x001) +#define AD_TIMER2 (0x002) +#define AD_MASK (0x004) +#define AD_CONNECTION (0x104) +#define AD_NEW (0x105) +#define AD_NTS (0x008) +#define AD_MULT (0x020) +#define AD_MULT2 (0x120) +#define AD_LEVEL (0x040) +#define AD_LEVEL2 (0x140) +#define AD_AD (0x060) +#define AD_AD2 (0x160) +#define AD_SR (0x080) +#define AD_SR2 (0x180) +#define AD_FNUMBER (0x0a0) +#define AD_FNUMBER2 (0x1a0) +#define AD_BLOCK (0x0b0) +#define AD_BLOCK2 (0x1b0) +#define AD_DRUM (0x0bd) +#define AD_FEEDBACK (0x0c0) +#define AD_FEEDBACK2 (0x1c0) +#define AD_WAVE (0x0e0) +#define AD_WAVE2 (0x1e0) + +/* +** Special IOCTL +*/ + +#define IOCTL_MIDI_SET_OPL3_MODE CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x000A, METHOD_BUFFERED, FILE_WRITE_ACCESS) |