- get sndblst and sound compiling on msvc.
Modified: trunk/reactos/drivers/dd/sndblst/card.c
Modified: trunk/reactos/drivers/dd/sndblst/dma.c
Modified: trunk/reactos/drivers/dd/sndblst/portio.c
Modified: trunk/reactos/drivers/dd/sndblst/sndblst.c
Modified: trunk/reactos/drivers/dd/sndblst/sndblst.h
Modified: trunk/reactos/drivers/dd/sound/wave.c
Modified: trunk/reactos/drivers/dd/sound/wave.h

Modified: trunk/reactos/drivers/dd/sndblst/card.c
--- trunk/reactos/drivers/dd/sndblst/card.c	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sndblst/card.c	2006-01-07 05:47:21 UTC (rev 20649)
@@ -7,7 +7,7 @@
 #include <ntddk.h>
 #include "sndblst.h"
 
-VOID SetOutputSampleRate(UINT BasePort, UINT SampleRate)
+VOID SetOutputSampleRate(ULONG BasePort, ULONG SampleRate)
 {
     // This only works for DSP v4.xx ONLY - need a workaround!
     DPRINT("Setting output sample rate\n");
@@ -22,7 +22,7 @@
 }
 
 
-VOID EnableSpeaker(UINT BasePort, BOOLEAN SpeakerOn)
+VOID EnableSpeaker(ULONG BasePort, BOOLEAN SpeakerOn)
 {
     DPRINT("Setting speaker status %d\n", SpeakerOn);
 
@@ -33,7 +33,7 @@
 }
 
 
-BOOLEAN IsSpeakerEnabled(UINT BasePort)
+BOOLEAN IsSpeakerEnabled(ULONG BasePort)
 {
     DPRINT("Obtaining speaker status\n");
 
@@ -48,7 +48,7 @@
 }
 
 
-VOID BeginPlayback(UINT BasePort, UINT BitDepth, UINT Channels, UINT BlockSize)
+VOID BeginPlayback(ULONG BasePort, ULONG BitDepth, ULONG Channels, ULONG BlockSize)
 {
     DPRINT("BeginPlayback(%d, %d, %d, %d)\n", BasePort, BitDepth, Channels, BlockSize);
 

Modified: trunk/reactos/drivers/dd/sndblst/dma.c
--- trunk/reactos/drivers/dd/sndblst/dma.c	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sndblst/dma.c	2006-01-07 05:47:21 UTC (rev 20649)
@@ -41,7 +41,7 @@
     IN PVOID Context)
 {
     PDEVICE_EXTENSION Device = DeviceObject->DeviceExtension;
-    UINT zzz;
+    ULONG zzz;
     PUCHAR VirtualAddress = (PUCHAR) MmGetMdlVirtualAddress(Device->Mdl);
 
     DPRINT("IoMapTransfer\n");

Modified: trunk/reactos/drivers/dd/sndblst/portio.c
--- trunk/reactos/drivers/dd/sndblst/portio.c	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sndblst/portio.c	2006-01-07 05:47:21 UTC (rev 20649)
@@ -12,7 +12,7 @@
 #include <ntddk.h>
 #include "sndblst.h"
 
-BOOLEAN WaitToSend(UINT BasePort)
+BOOLEAN WaitToSend(ULONG BasePort)
 {
     int TimeOut;
 
@@ -35,7 +35,7 @@
     return TRUE;
 }
 
-BOOLEAN WaitToReceive(UINT BasePort)
+BOOLEAN WaitToReceive(ULONG BasePort)
 {
     int TimeOut;
 
@@ -59,9 +59,9 @@
 }
 
 
-WORD InitSoundCard(UINT BasePort)
+USHORT InitSoundCard(ULONG BasePort)
 {
-    UINT TimeOut;
+    ULONG TimeOut;
     BOOLEAN Status;
     UCHAR DSP_Major, DSP_Minor;
 

Modified: trunk/reactos/drivers/dd/sndblst/sndblst.c
--- trunk/reactos/drivers/dd/sndblst/sndblst.c	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sndblst/sndblst.c	2006-01-07 05:47:21 UTC (rev 20649)
@@ -20,7 +20,7 @@
 
 /* INTERNAL VARIABLES ******************************************************/
 
-UINT DeviceCount = 0;
+ULONG DeviceCount = 0;
 
 
 /* FUNCTIONS ***************************************************************/
@@ -38,7 +38,7 @@
 //    CONFIG Config;
     RTL_QUERY_REGISTRY_TABLE Table[2];
     NTSTATUS s;
-    WORD DSP_Version = 0;
+    USHORT DSP_Version = 0;
     UCHAR DSP_Major = 0, DSP_Minor = 0;
 
     // This is TEMPORARY, to ensure that we don't process more than 1 device.
@@ -228,7 +228,7 @@
  * RETURNS: Success or failure
  */
 {
-  UINT Channel;
+  ULONG Channel;
   DPRINT("BlasterCleanup() called!\n");
 
     // Reset the device (should we do this?)
@@ -255,8 +255,8 @@
 {
     PIO_STACK_LOCATION Stack;
     PDEVICE_EXTENSION DeviceExtension;
-    UINT ByteCount;
-    PBYTE Data;
+    ULONG ByteCount;
+    PUCHAR Data;
 
     DPRINT("BlasterWrite() called!\n");
 
@@ -265,7 +265,7 @@
 
     DPRINT("%d bytes\n", Stack->Parameters.Write.Length);
 
-            Data = (PBYTE) Irp->AssociatedIrp.SystemBuffer;
+            Data = (PUCHAR) Irp->AssociatedIrp.SystemBuffer;
 
             for (ByteCount = 0; ByteCount < Stack->Parameters.Write.Length; ByteCount ++)
             {
@@ -307,7 +307,7 @@
 /*        case IOCTL_MIDI_PLAY :
         {
             DPRINT("Received IOCTL_MIDI_PLAY\n");
-            Data = (PBYTE) Irp->AssociatedIrp.SystemBuffer;
+            Data = (PUCHAR) Irp->AssociatedIrp.SystemBuffer;
 
             DPRINT("Sending %d bytes of MIDI data to 0x%d:\n", Stack->Parameters.DeviceIoControl.InputBufferLength, DeviceExtension->Port);
 

Modified: trunk/reactos/drivers/dd/sndblst/sndblst.h
--- trunk/reactos/drivers/dd/sndblst/sndblst.h	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sndblst/sndblst.h	2006-01-07 05:47:21 UTC (rev 20649)
@@ -96,9 +96,9 @@
 {
     PWSTR RegistryPath;
     PDRIVER_OBJECT DriverObject;
-    UINT Port;
-    UINT IRQ;
-    UINT DMA;
+    ULONG Port;
+    ULONG IRQ;
+    ULONG DMA;
     ULONG BufferSize;
     PADAPTER_OBJECT Adapter;
     PMDL Mdl;
@@ -123,8 +123,8 @@
 
 //typedef struct _CONFIG
 //{
-//    UINT Port;
-//    UINT IRQ;
+//    ULONG Port;
+//    ULONG IRQ;
 //} CONFIG, *PCONFIG;
 
 /*
@@ -139,9 +139,9 @@
     Prototypes for functions in portio.c :
 */
 
-BOOLEAN WaitToSend(UINT BasePort);
-BOOLEAN WaitToReceive(UINT BasePort);
-WORD InitSoundCard(UINT BasePort);
+BOOLEAN WaitToSend(ULONG BasePort);
+BOOLEAN WaitToReceive(ULONG BasePort);
+USHORT InitSoundCard(ULONG BasePort);
 
 /*
     Prototypes for functions in settings.c :
@@ -168,9 +168,9 @@
 
 
 
-VOID SetOutputSampleRate(UINT BasePort, UINT SampleRate);
-VOID EnableSpeaker(UINT BasePort, BOOLEAN SpeakerOn);
-BOOLEAN IsSpeakerEnabled(UINT BasePort);
-VOID BeginPlayback(UINT BasePort, UINT BitDepth, UINT Channels, UINT BlockSize);
+VOID SetOutputSampleRate(ULONG BasePort, ULONG SampleRate);
+VOID EnableSpeaker(ULONG BasePort, BOOLEAN SpeakerOn);
+BOOLEAN IsSpeakerEnabled(ULONG BasePort);
+VOID BeginPlayback(ULONG BasePort, ULONG BitDepth, ULONG Channels, ULONG BlockSize);
 
 #endif

Modified: trunk/reactos/drivers/dd/sound/wave.c
--- trunk/reactos/drivers/dd/sound/wave.c	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sound/wave.c	2006-01-07 05:47:21 UTC (rev 20649)
@@ -13,6 +13,7 @@
 /* FUNCTIONS **************************************************************/
 
 #include <ntddk.h>
+#include <halfuncs.h>
 #include <string.h>
 #include <devices.h>
 
@@ -38,7 +39,6 @@
 
 void sb16_play(WAVE_HDR* wave)
 {
-	unsigned int eflags;
 	ULONG MappedIrq;
 	KIRQL Dirql;
 	KAFFINITY Affinity;
@@ -64,9 +64,7 @@
     * saving the previous state of the interrupt flag
     */
 
-   	__asm__("pushf\n\tpop %0\n\tcli\n\t"
-	   : "=m" (eflags)
-	   : );
+   	_disable();
 
        memcpy(sb16.buffer,(&wave->data),wave->dLen);
 
@@ -82,9 +80,7 @@
 	// outb(0x21,(mask&~newmask));
 
        // Restore the interrupt flag
-	__asm__("push %0\n\tpopf\n\t"
-		   :
-		   : "m" (eflags));
+	_enable();
 
 
 

Modified: trunk/reactos/drivers/dd/sound/wave.h
--- trunk/reactos/drivers/dd/sound/wave.h	2006-01-07 05:37:22 UTC (rev 20648)
+++ trunk/reactos/drivers/dd/sound/wave.h	2006-01-07 05:47:21 UTC (rev 20649)
@@ -1,23 +1,25 @@
 KIRQL irql;
 KAFFINITY affinity;
 
+#include <pshpack1.h>
 typedef struct
 {
-	unsigned char		rID[4]	__attribute__((packed));					//4	0
-	unsigned int 		rLen	__attribute__((packed));						//4	4
-	unsigned char 	wID[4] __attribute__((packed));						//4	8
-	unsigned char 	fID[4] __attribute__((packed));						//4	12
-	unsigned int 		fLen __attribute__((packed));							//4	16
-	unsigned short 		wFormatTag __attribute__((packed));				//2	18
-	unsigned short 	nChannels __attribute__((packed));				//2	20
-	unsigned int 		nSamplesPerSec __attribute__((packed));		//2 22
-	unsigned int 		nAvgBytesPerSec __attribute__((packed));	//2	24
-	unsigned short 	nBlockAlign __attribute__((packed));			//2	26
-	unsigned short 	FormatSpecific __attribute__((packed));		//2	28
-	unsigned char 	dID[4] __attribute__((packed));						//4	30
-	unsigned int 		dLen __attribute__((packed));
+	unsigned char		rID[4]	;					//4	0
+	unsigned int 		rLen	;						//4	4
+	unsigned char 	wID[4] ;						//4	8
+	unsigned char 	fID[4] ;						//4	12
+	unsigned int 		fLen ;							//4	16
+	unsigned short 		wFormatTag ;				//2	18
+	unsigned short 	nChannels ;				//2	20
+	unsigned int 		nSamplesPerSec ;		//2 22
+	unsigned int 		nAvgBytesPerSec ;	//2	24
+	unsigned short 	nBlockAlign ;			//2	26
+	unsigned short 	FormatSpecific ;		//2	28
+	unsigned char 	dID[4] ;						//4	30
+	unsigned int 		dLen ;
 	unsigned char* 	data;
 }WAVE_HDR;
+#include <poppack.h>
 
 void sb16_play(WAVE_HDR* wave);
 void dump_wav(WAVE_HDR* wave);