summaryrefslogtreecommitdiffstats
path: root/private/inc/synth.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/inc/synth.h
downloadNT4.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.h72
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)