Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers...
[reactos.git] / drivers / multimedia / audio / sndblst.old / test.c
diff --git a/drivers/multimedia/audio/sndblst.old/test.c b/drivers/multimedia/audio/sndblst.old/test.c
new file mode 100644 (file)
index 0000000..1223f2c
--- /dev/null
@@ -0,0 +1,70 @@
+#include <stdio.h>
+#include <windows.h>
+#include <ntddk.h>
+#include "mpu401.h"
+
+int main()
+{
+//    NTSTATUS s;
+//    PHANDLE Handle;
+//    PIO_STATUS_BLOCK Status;
+    DWORD BytesReturned;
+    BYTE Test[3]; // Will store MIDI data
+    BYTE Notes[] = {50, 52, 54, 55, 57, 59, 61};
+    HANDLE Device;
+    UINT Note;
+    UINT Junk;
+
+    printf("Test program for MPU401 driver\n");
+
+    Device = CreateFile("\\\\.\\MPU401_Out_0", GENERIC_READ | GENERIC_WRITE,
+                        FILE_SHARE_READ | FILE_SHARE_WRITE,
+                        NULL,
+                        OPEN_EXISTING,
+                        FILE_FLAG_NO_BUFFERING,
+                        NULL);
+
+    if (Device == INVALID_HANDLE_VALUE)
+    {
+        printf("Device is busy or could not be found.\n");
+        return -1;
+    }
+
+    printf("Device is open, let's play some music...\n");
+
+        Test[0] = 0x90;
+        Test[2] = 0x7f;
+
+    for (Note = 0; Note < sizeof(Notes); Note ++)
+    {
+        Test[1] = Notes[Note];
+
+    DeviceIoControl(
+        Device,
+        IOCTL_MIDI_PLAY,
+        &Test,
+        sizeof(Test),
+        NULL,
+        0,
+        &BytesReturned,
+        NULL
+        );
+
+        for (Junk = 0; Junk < 100000; Junk ++);   // Pause
+    }
+
+
+/*    s = IoCreateFile(Handle, GENERIC_READ | GENERIC_WRITE,
+                     OBJ_KERNEL_HANDLE,
+                     Status,
+                     0,
+                     FILE_SHARE_READ | FILE_SHARE_WRITE,
+                     FILE_OPEN,
+                     FILE_NON_DIRECTORY_FILE,
+                     NULL,
+                     0,
+                     CreateFileTypeNone,
+                     NULL,
+                     0);
+*/
+}