diff --git a/DEVELOPERS-HINTS b/DEVELOPERS-HINTS
index 82a2a33..9a9bbd8 100644
--- a/DEVELOPERS-HINTS
+++ b/DEVELOPERS-HINTS
@@ -190,6 +190,8 @@
 Support programs, libraries, etc:
 ---------------------------------
 
+	dlls/dxerr8/		- DirectX 8 error import lib
+	dlls/dxerr9/		- DirectX 9 error import lib
 	dlls/dxguid/		- DirectX UUID import lib
 	dlls/uuid/		- Windows-compatible UUID import lib
 	documentation/		- some documentation
diff --git a/configure b/configure
index d2ec533..8c4e3f5 100755
--- a/configure
+++ b/configure
@@ -20075,7 +20075,7 @@
 MAKE_PROG_RULES=programs/Makeprog.rules
 
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/amstream/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/ctl3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3dx8/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/secur32/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/version/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ac_config_files="$ac_config_files Make.rules dlls/Makedll.rules dlls/Maketest.rules libs/Makelib.rules programs/Makeprog.rules Makefile dlls/Makefile dlls/advapi32/Makefile dlls/advapi32/tests/Makefile dlls/amstream/Makefile dlls/avicap32/Makefile dlls/avifil32/Makefile dlls/cabinet/Makefile dlls/capi2032/Makefile dlls/cfgmgr32/Makefile dlls/comcat/Makefile dlls/comctl32/Makefile dlls/comctl32/tests/Makefile dlls/commdlg/Makefile dlls/crtdll/Makefile dlls/crypt32/Makefile dlls/ctl3d/Makefile dlls/d3d8/Makefile dlls/d3d9/Makefile dlls/d3dim/Makefile dlls/d3dx8/Makefile dlls/dciman32/Makefile dlls/ddraw/Makefile dlls/ddraw/tests/Makefile dlls/devenum/Makefile dlls/dinput/Makefile dlls/dinput8/Makefile dlls/dmband/Makefile dlls/dmcompos/Makefile dlls/dmime/Makefile dlls/dmloader/Makefile dlls/dmscript/Makefile dlls/dmstyle/Makefile dlls/dmsynth/Makefile dlls/dmusic/Makefile dlls/dmusic32/Makefile dlls/dplay/Makefile dlls/dplayx/Makefile dlls/dpnhpast/Makefile dlls/dsound/Makefile dlls/dsound/tests/Makefile dlls/dswave/Makefile dlls/dxerr8/Makefile dlls/dxerr9/Makefile dlls/dxguid/Makefile dlls/gdi/Makefile dlls/gdi/tests/Makefile dlls/glu32/Makefile dlls/glut32/Makefile dlls/iccvid/Makefile dlls/icmp/Makefile dlls/ifsmgr.vxd/Makefile dlls/imagehlp/Makefile dlls/imm32/Makefile dlls/iphlpapi/Makefile dlls/iphlpapi/tests/Makefile dlls/kernel/Makefile dlls/kernel/tests/Makefile dlls/lzexpand/Makefile dlls/mapi32/Makefile dlls/mmdevldr.vxd/Makefile dlls/monodebg.vxd/Makefile dlls/mpr/Makefile dlls/msacm/Makefile dlls/msacm/imaadp32/Makefile dlls/msacm/msadp32/Makefile dlls/msacm/msg711/Makefile dlls/msacm/winemp3/Makefile dlls/msdmo/Makefile dlls/mshtml/Makefile dlls/msi/Makefile dlls/msimg32/Makefile dlls/msisys/Makefile dlls/msnet32/Makefile dlls/msrle32/Makefile dlls/msvcrt/Makefile dlls/msvcrt/tests/Makefile dlls/msvcrt20/Makefile dlls/msvcrt40/Makefile dlls/msvcrtd/Makefile dlls/msvidc32/Makefile dlls/msvideo/Makefile dlls/mswsock/Makefile dlls/netapi32/Makefile dlls/netapi32/tests/Makefile dlls/newdev/Makefile dlls/ntdll/Makefile dlls/ntdll/tests/Makefile dlls/odbc32/Makefile dlls/ole32/Makefile dlls/oleacc/Makefile dlls/oleaut32/Makefile dlls/oleaut32/tests/Makefile dlls/olecli/Makefile dlls/oledlg/Makefile dlls/olepro32/Makefile dlls/olesvr/Makefile dlls/opengl32/Makefile dlls/psapi/Makefile dlls/qcap/Makefile dlls/quartz/Makefile dlls/rasapi32/Makefile dlls/richedit/Makefile dlls/rpcrt4/Makefile dlls/rpcrt4/tests/Makefile dlls/rsabase/Makefile dlls/secur32/Makefile dlls/serialui/Makefile dlls/setupapi/Makefile dlls/shdocvw/Makefile dlls/shell32/Makefile dlls/shell32/tests/Makefile dlls/shfolder/Makefile dlls/shlwapi/Makefile dlls/shlwapi/tests/Makefile dlls/snmpapi/Makefile dlls/sti/Makefile dlls/tapi32/Makefile dlls/ttydrv/Makefile dlls/twain/Makefile dlls/unicows/Makefile dlls/url/Makefile dlls/urlmon/Makefile dlls/urlmon/tests/Makefile dlls/user/Makefile dlls/user/tests/Makefile dlls/uuid/Makefile dlls/uxtheme/Makefile dlls/vdhcp.vxd/Makefile dlls/version/Makefile dlls/vmm.vxd/Makefile dlls/vnbt.vxd/Makefile dlls/vnetbios.vxd/Makefile dlls/vtdapi.vxd/Makefile dlls/vwin32.vxd/Makefile dlls/win32s/Makefile dlls/winaspi/Makefile dlls/wined3d/Makefile dlls/winedos/Makefile dlls/wineps/Makefile dlls/wininet/Makefile dlls/wininet/tests/Makefile dlls/winmm/Makefile dlls/winmm/joystick/Makefile dlls/winmm/mcianim/Makefile dlls/winmm/mciavi/Makefile dlls/winmm/mcicda/Makefile dlls/winmm/mciseq/Makefile dlls/winmm/mciwave/Makefile dlls/winmm/midimap/Makefile dlls/winmm/tests/Makefile dlls/winmm/wavemap/Makefile dlls/winmm/winealsa/Makefile dlls/winmm/winearts/Makefile dlls/winmm/wineaudioio/Makefile dlls/winmm/winejack/Makefile dlls/winmm/winenas/Makefile dlls/winmm/wineoss/Makefile dlls/winnls/Makefile dlls/winsock/Makefile dlls/winsock/tests/Makefile dlls/winspool/Makefile dlls/winspool/tests/Makefile dlls/wintab32/Makefile dlls/wintrust/Makefile dlls/wow32/Makefile dlls/wsock32/Makefile dlls/x11drv/Makefile documentation/Makefile include/Makefile libs/Makefile libs/port/Makefile libs/unicode/Makefile libs/wine/Makefile libs/wpp/Makefile loader/Makefile programs/Makefile programs/avitools/Makefile programs/clock/Makefile programs/cmdlgtst/Makefile programs/control/Makefile programs/expand/Makefile programs/notepad/Makefile programs/progman/Makefile programs/regedit/Makefile programs/regsvr32/Makefile programs/rpcss/Makefile programs/rundll32/Makefile programs/start/Makefile programs/uninstaller/Makefile programs/view/Makefile programs/wcmd/Makefile programs/wineboot/Makefile programs/winebrowser/Makefile programs/winecfg/Makefile programs/wineconsole/Makefile programs/winedbg/Makefile programs/winefile/Makefile programs/winemenubuilder/Makefile programs/winemine/Makefile programs/winepath/Makefile programs/winetest/Makefile programs/winevdm/Makefile programs/winhelp/Makefile programs/winver/Makefile server/Makefile tools/Makefile tools/widl/Makefile tools/winapi/Makefile tools/winebuild/Makefile tools/winedump/Makefile tools/winegcc/Makefile tools/wmc/Makefile tools/wrc/Makefile"
 
 
 cat >confcache <<\_ACEOF
@@ -20653,6 +20653,8 @@
   "dlls/dsound/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/dsound/Makefile" ;;
   "dlls/dsound/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/dsound/tests/Makefile" ;;
   "dlls/dswave/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/dswave/Makefile" ;;
+  "dlls/dxerr8/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/dxerr8/Makefile" ;;
+  "dlls/dxerr9/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/dxerr9/Makefile" ;;
   "dlls/dxguid/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/dxguid/Makefile" ;;
   "dlls/gdi/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/gdi/Makefile" ;;
   "dlls/gdi/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES dlls/gdi/tests/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 996a3d7..4630e1a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1530,6 +1530,8 @@
 dlls/dsound/Makefile
 dlls/dsound/tests/Makefile
 dlls/dswave/Makefile
+dlls/dxerr8/Makefile
+dlls/dxerr9/Makefile
 dlls/dxguid/Makefile
 dlls/gdi/Makefile
 dlls/gdi/tests/Makefile
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index c28f3cc..92ad41e 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -156,6 +156,8 @@
 	d3d9 \
 	d3dx8 \
 	ddraw \
+	dxerr8 \
+	dxerr9 \
 	dxguid \
 	glu32 \
 	glut32 \
@@ -267,6 +269,8 @@
 	iphlpapi.dll$(DLLEXT) \
 	joystick.drv$(DLLEXT) \
 	kernel32.dll$(DLLEXT) \
+	libdxerr8.a \
+	libdxerr9.a \
 	libdxguid.a \
 	libuuid.a \
 	lz32.dll$(DLLEXT) \
@@ -876,6 +880,12 @@
 x11drv.dll$(DLLEXT): x11drv/x11drv.dll$(DLLEXT)
 	$(RM) $@ && $(LN_S) x11drv/x11drv.dll$(DLLEXT) $@
 
+libdxerr8.a: dxerr8/libdxerr8.a
+	$(RM) $@ && $(LN_S) dxerr8/libdxerr8.a $@
+
+libdxerr9.a: dxerr9/libdxerr9.a
+	$(RM) $@ && $(LN_S) dxerr9/libdxerr9.a $@
+
 libdxguid.a: dxguid/libdxguid.a
 	$(RM) $@ && $(LN_S) dxguid/libdxguid.a $@
 
@@ -1003,6 +1013,8 @@
 
 ALL_IMPORT_LIBS = \
 	$(IMPORT_LIBS:%=%.$(IMPLIBEXT)) \
+	libdxerr8.a \
+	libdxerr9.a \
 	libdxguid.a \
 	libuuid.a
 
@@ -1838,6 +1850,8 @@
 winsock/ws2_32.dll$(DLLEXT): winsock
 wsock32/wsock32.dll$(DLLEXT): wsock32
 x11drv/x11drv.dll$(DLLEXT): x11drv
+dxerr8/libdxerr8.a: dxerr8
+dxerr9/libdxerr9.a: dxerr9
 dxguid/libdxguid.a: dxguid
 uuid/libuuid.a: uuid
 
diff --git a/dlls/dxerr8/.cvsignore b/dlls/dxerr8/.cvsignore
new file mode 100644
index 0000000..9dd8dd4
--- /dev/null
+++ b/dlls/dxerr8/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+libdxerr8.a.dbg.c
diff --git a/dlls/dxerr8/Makefile.in b/dlls/dxerr8/Makefile.in
new file mode 100644
index 0000000..8a12034
--- /dev/null
+++ b/dlls/dxerr8/Makefile.in
@@ -0,0 +1,29 @@
+DEFS      = -D__WINESRC__
+DLLFLAGS  = @DLLFLAGS@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = libdxerr8.a
+
+C_SRCS = \
+	dxerr8.c
+
+EXTRA_OBJS = $(MODULE).dbg.o
+
+all: $(MODULE)
+
+@MAKE_RULES@
+
+$(MODULE): $(OBJS) Makefile.in
+	$(RM) $@
+	$(AR) $@ $(OBJS)
+	$(RANLIB) $@
+
+man:
+
+doc-html:
+
+doc-sgml:
+
+### Dependencies:
diff --git a/dlls/dxerr8/dxerr8.c b/dlls/dxerr8/dxerr8.c
new file mode 100644
index 0000000..d97d611
--- /dev/null
+++ b/dlls/dxerr8/dxerr8.c
@@ -0,0 +1,157 @@
+/*
+ * DirectX 8 error routines
+ *
+ * Copyright 2004 Robert Reif
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/*
+ * TODO:
+ *      Add error codes for D3D8, D3DX8, DDRAW, DPLAY8, DMUSIC, DINPUT and DSHOW.
+ *      Sort list for faster lookup.
+ */
+
+#include <stdarg.h>
+#include <stdio.h>
+
+#define COM_NO_WINDOWS_H
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "winnls.h"
+
+#include "mmsystem.h"
+#include "dsound.h"
+
+#include "dxerr8.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(dxerr);
+
+typedef struct {
+    HRESULT      hr;
+    const CHAR*  resultA;
+    const WCHAR* resultW;
+    const CHAR*  descriptionA;
+    const WCHAR* descriptionW;
+} error_info;
+
+#include "errors.h"
+
+const char * WINAPI DXGetErrorString8A(HRESULT hr)
+{
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr)
+            return info[i].resultA;
+    }
+
+    return "Unknown";
+}
+
+const WCHAR * WINAPI DXGetErrorString8W(HRESULT hr)
+{
+    static const WCHAR unknown[] = { 'U', 'n', 'k', 'n', 'o', 'w', 'n', 0 };
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr) {
+            return info[i].resultW;
+        }
+    }
+
+    return unknown;
+}
+
+const char * WINAPI DXGetErrorDescription8A(HRESULT hr)
+{
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr)
+            return info[i].descriptionA;
+    }
+
+    return "n/a";
+}
+
+const WCHAR * WINAPI DXGetErrorDescription8W(HRESULT hr)
+{
+    static const WCHAR na[] = { 'n', '/', 'a', 0 };
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr) {
+            return info[i].descriptionW;
+        }
+    }
+
+    return na;
+}
+
+HRESULT WINAPI DXTraceA(const char* strFile, DWORD dwLine, HRESULT hr, const char*  strMsg, BOOL bPopMsgBox)
+{
+    char msg[1024];
+    TRACE("(%p,%ld,0x%08lx,%p,%d)\n", strFile, dwLine, hr, strMsg, bPopMsgBox);
+
+    if (bPopMsgBox) {
+        snprintf(msg, sizeof(msg), "File: %s\nLine: %ld\nError Code: %s (0x%08lx)\nCalling: %s",
+            strFile, dwLine, DXGetErrorString8A(hr), hr, strMsg);
+        MessageBoxA(0, msg, "Unexpected error encountered", MB_OK|MB_ICONERROR);
+    } else {
+        snprintf(msg, sizeof(msg), "%s(%ld): %s (hr=%s (0x%08lx))", strFile,
+            dwLine, strMsg, DXGetErrorString8A(hr), hr);
+        OutputDebugStringA(msg);
+    }
+
+    return hr;
+}
+
+HRESULT WINAPI DXTraceW(const char* strFile, DWORD dwLine, HRESULT hr, const WCHAR* strMsg, BOOL bPopMsgBox)
+{
+    WCHAR msg[1024];
+    TRACE("(%p,%ld,0x%08lx,%p,%d)\n", strFile, dwLine, hr, strMsg, bPopMsgBox);
+
+    if (bPopMsgBox) {
+        WCHAR format[] = { 'F','i','l','e',':',' ','%','s','\\','n','L','i','n',
+            'e',':',' ','%','l','d','\\','n','E','r','r','o','r',' ','C','o',
+            'd','e',':',' ','%','s',' ','(','0','x','%','0','8','l','x',')',
+            '\\','n','C','a','l','l','i','n','g',':',' ','%','s',0 };
+        WCHAR caption[] = { 'U','n','e','x','p','e','c','t','e','d',' ','e','r',
+            'r','o','r',' ','e','n','c','o','u','n','t','e','r','e','d',0 }; 
+        /* FIXME: should use wsnprintf */
+        wsprintfW(msg, format, strFile, dwLine, 
+                  DXGetErrorString8W(hr), hr, strMsg);
+        MessageBoxW(0, msg, caption, MB_OK|MB_ICONERROR);
+    } else {
+        WCHAR format[] = { '%','s','(','%','l','d',')',':',' ','%','s',' ','(',
+            'h','r','=','%','s',' ','(','0','x','%','0','8','l','x',')',')',' ',
+            0 };
+        /* FIXME: should use wsnprintf */
+        wsprintfW(msg, format, strFile, dwLine, strMsg, 
+                  DXGetErrorString8W(hr), hr);
+        OutputDebugStringW(msg);
+    }
+
+    return hr;
+}
diff --git a/dlls/dxerr8/errors.awk b/dlls/dxerr8/errors.awk
new file mode 100644
index 0000000..f983367
--- /dev/null
+++ b/dlls/dxerr8/errors.awk
@@ -0,0 +1,65 @@
+BEGIN {
+	print "/* Machine generated. Do not edit. */"
+	print ""
+	lines = 0
+}
+{ 
+	split($0, array, FS)
+
+	if (NF > 0 && length(array[1]) > 0) {
+		lines++
+
+		# save the first word is the names array
+		names[lines] = array[1] 
+
+		# create the WCHAR version of the name
+		printf "static const WCHAR name%dW[] = { ", lines
+		i = 1
+		len = length(array[1]) + 1
+		while (i < len) {
+			printf "'%s',", substr(array[1],i,1)
+			i++
+		}
+		print  "0 };"
+	
+		# create the CHAR version of the description
+		printf "static const CHAR description%dA[] = \"", lines
+		word = 2
+		while (word < (NF + 1)) {
+			printf "%s", array[word]
+			if (word < NF )
+				printf " "
+			word++
+		}
+		print  "\";"
+	
+		# create the WCHAR version of the description
+		printf "static const WCHAR description%dW[] = { ", lines
+		word = 2
+		while (word < (NF + 1)) {
+			i = 1
+			len = length(array[word]) + 1
+			while (i < len) {
+				printf "'%s',", substr(array[word],i,1)
+				i++
+			}
+			if (word < NF )
+				printf "' ',"
+			word++
+		}
+		print  "0 };"
+	}
+}
+END {
+	print ""
+	print "static const error_info info[] = {"
+
+	i = 1 
+	while ( i <= lines) { 
+		printf "    { %s, \"%s\", name%dW, description%dA, description%dW },\n", 
+			names[i], names[i], i, i,i 
+		i++
+	}
+
+	print "};"
+}
diff --git a/dlls/dxerr8/errors.dat b/dlls/dxerr8/errors.dat
new file mode 100644
index 0000000..20ad527
--- /dev/null
+++ b/dlls/dxerr8/errors.dat
@@ -0,0 +1,26 @@
+S_OK				Succeeded
+DS_NO_VIRTUALIZATION		Succeeded but with different 3D algorithn
+DS_INCOMPLETE			Succeeded but not with all effects
+DSERR_ALLOCATED			Already allocated
+DSERR_CONTROLUNAVAIL		Control unavailable
+E_INVALIDARG			Invalid argument
+DSERR_INVALIDCALL		Invalid call
+E_FAIL				Undetermined error
+DSERR_PRIOLEVELNEEDED		Insufficiant priority level
+E_OUTOFMEMORY			Out of memory
+DSERR_BADFORMAT			Bad WAVE format
+E_NOTIMPL			Not implemented
+DSERR_NODRIVER			No driver
+DSERR_ALREADYINITIALIZED	Already initialized
+CLASS_E_NOAGGREGATION		No aggregation
+DSERR_BUFFERLOST		Buffer lost
+DSERR_OTHERAPPHASPRIO		Other app has higher priority
+DSERR_UNINITIALIZED		Not initialized
+E_NOINTERFACE			No interface
+E_ACCESSDENIED			Access denied
+DSERR_BUFFERTOOSMALL		Buffer too small
+DSERR_DS8_REQUIRED		Direct Sound 8 required
+DSERR_SENDLOOP			Circular loop
+DSERR_BADSENDBUFFERGUID		Bad send buffer GUID
+DSERR_OBJECTNOTFOUND		Object not found
+DSERR_FXUNAVAILABLE		Effect not available
diff --git a/dlls/dxerr8/errors.h b/dlls/dxerr8/errors.h
new file mode 100644
index 0000000..c8eb81b
--- /dev/null
+++ b/dlls/dxerr8/errors.h
@@ -0,0 +1,109 @@
+/* Machine generated. Do not edit. */
+
+static const WCHAR name1W[] = { 'S','_','O','K',0 };
+static const CHAR description1A[] = "Succeeded";
+static const WCHAR description1W[] = { 'S','u','c','c','e','e','d','e','d',0 };
+static const WCHAR name2W[] = { 'D','S','_','N','O','_','V','I','R','T','U','A','L','I','Z','A','T','I','O','N',0 };
+static const CHAR description2A[] = "Succeeded but with different 3D algorithn";
+static const WCHAR description2W[] = { 'S','u','c','c','e','e','d','e','d',' ','b','u','t',' ','w','i','t','h',' ','d','i','f','f','e','r','e','n','t',' ','3','D',' ','a','l','g','o','r','i','t','h','n',0 };
+static const WCHAR name3W[] = { 'D','S','_','I','N','C','O','M','P','L','E','T','E',0 };
+static const CHAR description3A[] = "Succeeded but not with all effects";
+static const WCHAR description3W[] = { 'S','u','c','c','e','e','d','e','d',' ','b','u','t',' ','n','o','t',' ','w','i','t','h',' ','a','l','l',' ','e','f','f','e','c','t','s',0 };
+static const WCHAR name4W[] = { 'D','S','E','R','R','_','A','L','L','O','C','A','T','E','D',0 };
+static const CHAR description4A[] = "Already allocated";
+static const WCHAR description4W[] = { 'A','l','r','e','a','d','y',' ','a','l','l','o','c','a','t','e','d',0 };
+static const WCHAR name5W[] = { 'D','S','E','R','R','_','C','O','N','T','R','O','L','U','N','A','V','A','I','L',0 };
+static const CHAR description5A[] = "Control unavailable";
+static const WCHAR description5W[] = { 'C','o','n','t','r','o','l',' ','u','n','a','v','a','i','l','a','b','l','e',0 };
+static const WCHAR name6W[] = { 'E','_','I','N','V','A','L','I','D','A','R','G',0 };
+static const CHAR description6A[] = "Invalid argument";
+static const WCHAR description6W[] = { 'I','n','v','a','l','i','d',' ','a','r','g','u','m','e','n','t',0 };
+static const WCHAR name7W[] = { 'D','S','E','R','R','_','I','N','V','A','L','I','D','C','A','L','L',0 };
+static const CHAR description7A[] = "Invalid call";
+static const WCHAR description7W[] = { 'I','n','v','a','l','i','d',' ','c','a','l','l',0 };
+static const WCHAR name8W[] = { 'E','_','F','A','I','L',0 };
+static const CHAR description8A[] = "Undetermined error";
+static const WCHAR description8W[] = { 'U','n','d','e','t','e','r','m','i','n','e','d',' ','e','r','r','o','r',0 };
+static const WCHAR name9W[] = { 'D','S','E','R','R','_','P','R','I','O','L','E','V','E','L','N','E','E','D','E','D',0 };
+static const CHAR description9A[] = "Insufficiant priority level";
+static const WCHAR description9W[] = { 'I','n','s','u','f','f','i','c','i','a','n','t',' ','p','r','i','o','r','i','t','y',' ','l','e','v','e','l',0 };
+static const WCHAR name10W[] = { 'E','_','O','U','T','O','F','M','E','M','O','R','Y',0 };
+static const CHAR description10A[] = "Out of memory";
+static const WCHAR description10W[] = { 'O','u','t',' ','o','f',' ','m','e','m','o','r','y',0 };
+static const WCHAR name11W[] = { 'D','S','E','R','R','_','B','A','D','F','O','R','M','A','T',0 };
+static const CHAR description11A[] = "Bad WAVE format";
+static const WCHAR description11W[] = { 'B','a','d',' ','W','A','V','E',' ','f','o','r','m','a','t',0 };
+static const WCHAR name12W[] = { 'E','_','N','O','T','I','M','P','L',0 };
+static const CHAR description12A[] = "Not implemented";
+static const WCHAR description12W[] = { 'N','o','t',' ','i','m','p','l','e','m','e','n','t','e','d',0 };
+static const WCHAR name13W[] = { 'D','S','E','R','R','_','N','O','D','R','I','V','E','R',0 };
+static const CHAR description13A[] = "No driver";
+static const WCHAR description13W[] = { 'N','o',' ','d','r','i','v','e','r',0 };
+static const WCHAR name14W[] = { 'D','S','E','R','R','_','A','L','R','E','A','D','Y','I','N','I','T','I','A','L','I','Z','E','D',0 };
+static const CHAR description14A[] = "Already initialized";
+static const WCHAR description14W[] = { 'A','l','r','e','a','d','y',' ','i','n','i','t','i','a','l','i','z','e','d',0 };
+static const WCHAR name15W[] = { 'C','L','A','S','S','_','E','_','N','O','A','G','G','R','E','G','A','T','I','O','N',0 };
+static const CHAR description15A[] = "No aggregation";
+static const WCHAR description15W[] = { 'N','o',' ','a','g','g','r','e','g','a','t','i','o','n',0 };
+static const WCHAR name16W[] = { 'D','S','E','R','R','_','B','U','F','F','E','R','L','O','S','T',0 };
+static const CHAR description16A[] = "Buffer lost";
+static const WCHAR description16W[] = { 'B','u','f','f','e','r',' ','l','o','s','t',0 };
+static const WCHAR name17W[] = { 'D','S','E','R','R','_','O','T','H','E','R','A','P','P','H','A','S','P','R','I','O',0 };
+static const CHAR description17A[] = "Other app has higher priority";
+static const WCHAR description17W[] = { 'O','t','h','e','r',' ','a','p','p',' ','h','a','s',' ','h','i','g','h','e','r',' ','p','r','i','o','r','i','t','y',0 };
+static const WCHAR name18W[] = { 'D','S','E','R','R','_','U','N','I','N','I','T','I','A','L','I','Z','E','D',0 };
+static const CHAR description18A[] = "Not initialized";
+static const WCHAR description18W[] = { 'N','o','t',' ','i','n','i','t','i','a','l','i','z','e','d',0 };
+static const WCHAR name19W[] = { 'E','_','N','O','I','N','T','E','R','F','A','C','E',0 };
+static const CHAR description19A[] = "No interface";
+static const WCHAR description19W[] = { 'N','o',' ','i','n','t','e','r','f','a','c','e',0 };
+static const WCHAR name20W[] = { 'E','_','A','C','C','E','S','S','D','E','N','I','E','D',0 };
+static const CHAR description20A[] = "Access denied";
+static const WCHAR description20W[] = { 'A','c','c','e','s','s',' ','d','e','n','i','e','d',0 };
+static const WCHAR name21W[] = { 'D','S','E','R','R','_','B','U','F','F','E','R','T','O','O','S','M','A','L','L',0 };
+static const CHAR description21A[] = "Buffer too small";
+static const WCHAR description21W[] = { 'B','u','f','f','e','r',' ','t','o','o',' ','s','m','a','l','l',0 };
+static const WCHAR name22W[] = { 'D','S','E','R','R','_','D','S','8','_','R','E','Q','U','I','R','E','D',0 };
+static const CHAR description22A[] = "Direct Sound 8 required";
+static const WCHAR description22W[] = { 'D','i','r','e','c','t',' ','S','o','u','n','d',' ','8',' ','r','e','q','u','i','r','e','d',0 };
+static const WCHAR name23W[] = { 'D','S','E','R','R','_','S','E','N','D','L','O','O','P',0 };
+static const CHAR description23A[] = "Circular loop";
+static const WCHAR description23W[] = { 'C','i','r','c','u','l','a','r',' ','l','o','o','p',0 };
+static const WCHAR name24W[] = { 'D','S','E','R','R','_','B','A','D','S','E','N','D','B','U','F','F','E','R','G','U','I','D',0 };
+static const CHAR description24A[] = "Bad send buffer GUID";
+static const WCHAR description24W[] = { 'B','a','d',' ','s','e','n','d',' ','b','u','f','f','e','r',' ','G','U','I','D',0 };
+static const WCHAR name25W[] = { 'D','S','E','R','R','_','O','B','J','E','C','T','N','O','T','F','O','U','N','D',0 };
+static const CHAR description25A[] = "Object not found";
+static const WCHAR description25W[] = { 'O','b','j','e','c','t',' ','n','o','t',' ','f','o','u','n','d',0 };
+static const WCHAR name26W[] = { 'D','S','E','R','R','_','F','X','U','N','A','V','A','I','L','A','B','L','E',0 };
+static const CHAR description26A[] = "Effect not available";
+static const WCHAR description26W[] = { 'E','f','f','e','c','t',' ','n','o','t',' ','a','v','a','i','l','a','b','l','e',0 };
+
+static const error_info info[] = {
+    { S_OK, "S_OK", name1W, description1A, description1W },
+    { DS_NO_VIRTUALIZATION, "DS_NO_VIRTUALIZATION", name2W, description2A, description2W },
+    { DS_INCOMPLETE, "DS_INCOMPLETE", name3W, description3A, description3W },
+    { DSERR_ALLOCATED, "DSERR_ALLOCATED", name4W, description4A, description4W },
+    { DSERR_CONTROLUNAVAIL, "DSERR_CONTROLUNAVAIL", name5W, description5A, description5W },
+    { E_INVALIDARG, "E_INVALIDARG", name6W, description6A, description6W },
+    { DSERR_INVALIDCALL, "DSERR_INVALIDCALL", name7W, description7A, description7W },
+    { E_FAIL, "E_FAIL", name8W, description8A, description8W },
+    { DSERR_PRIOLEVELNEEDED, "DSERR_PRIOLEVELNEEDED", name9W, description9A, description9W },
+    { E_OUTOFMEMORY, "E_OUTOFMEMORY", name10W, description10A, description10W },
+    { DSERR_BADFORMAT, "DSERR_BADFORMAT", name11W, description11A, description11W },
+    { E_NOTIMPL, "E_NOTIMPL", name12W, description12A, description12W },
+    { DSERR_NODRIVER, "DSERR_NODRIVER", name13W, description13A, description13W },
+    { DSERR_ALREADYINITIALIZED, "DSERR_ALREADYINITIALIZED", name14W, description14A, description14W },
+    { CLASS_E_NOAGGREGATION, "CLASS_E_NOAGGREGATION", name15W, description15A, description15W },
+    { DSERR_BUFFERLOST, "DSERR_BUFFERLOST", name16W, description16A, description16W },
+    { DSERR_OTHERAPPHASPRIO, "DSERR_OTHERAPPHASPRIO", name17W, description17A, description17W },
+    { DSERR_UNINITIALIZED, "DSERR_UNINITIALIZED", name18W, description18A, description18W },
+    { E_NOINTERFACE, "E_NOINTERFACE", name19W, description19A, description19W },
+    { E_ACCESSDENIED, "E_ACCESSDENIED", name20W, description20A, description20W },
+    { DSERR_BUFFERTOOSMALL, "DSERR_BUFFERTOOSMALL", name21W, description21A, description21W },
+    { DSERR_DS8_REQUIRED, "DSERR_DS8_REQUIRED", name22W, description22A, description22W },
+    { DSERR_SENDLOOP, "DSERR_SENDLOOP", name23W, description23A, description23W },
+    { DSERR_BADSENDBUFFERGUID, "DSERR_BADSENDBUFFERGUID", name24W, description24A, description24W },
+    { DSERR_OBJECTNOTFOUND, "DSERR_OBJECTNOTFOUND", name25W, description25A, description25W },
+    { DSERR_FXUNAVAILABLE, "DSERR_FXUNAVAILABLE", name26W, description26A, description26W },
+};
diff --git a/dlls/dxerr8/make_errors b/dlls/dxerr8/make_errors
new file mode 100755
index 0000000..75e4b6b
--- /dev/null
+++ b/dlls/dxerr8/make_errors
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec awk -f errors.awk < errors.dat > errors.h
diff --git a/dlls/dxerr9/.cvsignore b/dlls/dxerr9/.cvsignore
new file mode 100644
index 0000000..cdb801f
--- /dev/null
+++ b/dlls/dxerr9/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+libdxerr9.a.dbg.c
diff --git a/dlls/dxerr9/Makefile.in b/dlls/dxerr9/Makefile.in
new file mode 100644
index 0000000..16771c9
--- /dev/null
+++ b/dlls/dxerr9/Makefile.in
@@ -0,0 +1,29 @@
+DEFS      = -D__WINESRC__
+DLLFLAGS  = @DLLFLAGS@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = libdxerr9.a
+
+C_SRCS = \
+	dxerr9.c
+
+EXTRA_OBJS = $(MODULE).dbg.o
+
+all: $(MODULE)
+
+@MAKE_RULES@
+
+$(MODULE): $(OBJS) Makefile.in
+	$(RM) $@
+	$(AR) $@ $(OBJS)
+	$(RANLIB) $@
+
+man:
+
+doc-html:
+
+doc-sgml:
+
+### Dependencies:
diff --git a/dlls/dxerr9/dxerr9.c b/dlls/dxerr9/dxerr9.c
new file mode 100644
index 0000000..6bfee44
--- /dev/null
+++ b/dlls/dxerr9/dxerr9.c
@@ -0,0 +1,157 @@
+/*
+ * DirectX 9 error routines
+ *
+ * Copyright 2004 Robert Reif
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/*
+ * TODO:
+ *      Add error codes for D3D9, D3DX9, D3D8, D3DX8, DDRAW, DPLAY8, DMUSIC, DINPUT and DSHOW.
+ *      Sort list for faster lookup.
+ */
+
+#include <stdarg.h>
+#include <stdio.h>
+
+#define COM_NO_WINDOWS_H
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "winnls.h"
+
+#include "mmsystem.h"
+#include "dsound.h"
+
+#include "dxerr9.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(dxerr);
+
+typedef struct {
+    HRESULT      hr;
+    const CHAR*  resultA;
+    const WCHAR* resultW;
+    const CHAR*  descriptionA;
+    const WCHAR* descriptionW;
+} error_info;
+
+#include "errors.h"
+
+const char * WINAPI DXGetErrorString9A(HRESULT hr)
+{
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr)
+            return info[i].resultA;
+    }
+
+    return "Unknown";
+}
+
+const WCHAR * WINAPI DXGetErrorString9W(HRESULT hr)
+{
+    static const WCHAR unknown[] = { 'U', 'n', 'k', 'n', 'o', 'w', 'n', 0 };
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr) {
+            return info[i].resultW;
+        }
+    }
+
+    return unknown;
+}
+
+const char * WINAPI DXGetErrorDescription9A(HRESULT hr)
+{
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr)
+            return info[i].descriptionA;
+    }
+
+    return "n/a";
+}
+
+const WCHAR * WINAPI DXGetErrorDescription9W(HRESULT hr)
+{
+    static const WCHAR na[] = { 'n', '/', 'a', 0 };
+    unsigned int i;
+    TRACE("(0x%08lx)\n", hr);
+
+    for (i = 0; i < sizeof(info)/sizeof(info[0]); i++) {
+        if (hr == info[i].hr) {
+            return info[i].descriptionW;
+        }
+    }
+
+    return na;
+}
+
+HRESULT WINAPI DXTraceA(const char* strFile, DWORD dwLine, HRESULT hr, const char*  strMsg, BOOL bPopMsgBox)
+{
+    char msg[1024];
+    TRACE("(%p,%ld,0x%08lx,%p,%d)\n", strFile, dwLine, hr, strMsg, bPopMsgBox);
+
+    if (bPopMsgBox) {
+        snprintf(msg, sizeof(msg), "File: %s\nLine: %ld\nError Code: %s (0x%08lx)\nCalling: %s",
+            strFile, dwLine, DXGetErrorString9A(hr), hr, strMsg);
+        MessageBoxA(0, msg, "Unexpected error encountered", MB_OK|MB_ICONERROR);
+    } else {
+        snprintf(msg, sizeof(msg), "%s(%ld): %s (hr=%s (0x%08lx))", strFile,
+            dwLine, strMsg, DXGetErrorString9A(hr), hr);
+        OutputDebugStringA(msg);
+    }
+
+    return hr;
+}
+
+HRESULT WINAPI DXTraceW(const char* strFile, DWORD dwLine, HRESULT hr, const WCHAR* strMsg, BOOL bPopMsgBox)
+{
+    WCHAR msg[1024];
+    TRACE("(%p,%ld,0x%08lx,%p,%d)\n", strFile, dwLine, hr, strMsg, bPopMsgBox);
+
+    if (bPopMsgBox) {
+        WCHAR format[] = { 'F','i','l','e',':',' ','%','s','\\','n','L','i','n',
+            'e',':',' ','%','l','d','\\','n','E','r','r','o','r',' ','C','o',
+            'd','e',':',' ','%','s',' ','(','0','x','%','0','8','l','x',')',
+            '\\','n','C','a','l','l','i','n','g',':',' ','%','s',0 };
+        WCHAR caption[] = { 'U','n','e','x','p','e','c','t','e','d',' ','e','r',
+            'r','o','r',' ','e','n','c','o','u','n','t','e','r','e','d',0 }; 
+        /* FIXME: should use wsnprintf */
+        wsprintfW(msg, format, strFile, dwLine, 
+                  DXGetErrorString9W(hr), hr, strMsg);
+        MessageBoxW(0, msg, caption, MB_OK|MB_ICONERROR);
+    } else {
+        WCHAR format[] = { '%','s','(','%','l','d',')',':',' ','%','s',' ','(',
+            'h','r','=','%','s',' ','(','0','x','%','0','8','l','x',')',')',' ',
+            0 };
+        /* FIXME: should use wsnprintf */
+        wsprintfW(msg, format, strFile, dwLine, strMsg, 
+                  DXGetErrorString9W(hr), hr);
+        OutputDebugStringW(msg);
+    }
+
+    return hr;
+}
diff --git a/dlls/dxerr9/errors.awk b/dlls/dxerr9/errors.awk
new file mode 100644
index 0000000..f983367
--- /dev/null
+++ b/dlls/dxerr9/errors.awk
@@ -0,0 +1,65 @@
+BEGIN {
+	print "/* Machine generated. Do not edit. */"
+	print ""
+	lines = 0
+}
+{ 
+	split($0, array, FS)
+
+	if (NF > 0 && length(array[1]) > 0) {
+		lines++
+
+		# save the first word is the names array
+		names[lines] = array[1] 
+
+		# create the WCHAR version of the name
+		printf "static const WCHAR name%dW[] = { ", lines
+		i = 1
+		len = length(array[1]) + 1
+		while (i < len) {
+			printf "'%s',", substr(array[1],i,1)
+			i++
+		}
+		print  "0 };"
+	
+		# create the CHAR version of the description
+		printf "static const CHAR description%dA[] = \"", lines
+		word = 2
+		while (word < (NF + 1)) {
+			printf "%s", array[word]
+			if (word < NF )
+				printf " "
+			word++
+		}
+		print  "\";"
+	
+		# create the WCHAR version of the description
+		printf "static const WCHAR description%dW[] = { ", lines
+		word = 2
+		while (word < (NF + 1)) {
+			i = 1
+			len = length(array[word]) + 1
+			while (i < len) {
+				printf "'%s',", substr(array[word],i,1)
+				i++
+			}
+			if (word < NF )
+				printf "' ',"
+			word++
+		}
+		print  "0 };"
+	}
+}
+END {
+	print ""
+	print "static const error_info info[] = {"
+
+	i = 1 
+	while ( i <= lines) { 
+		printf "    { %s, \"%s\", name%dW, description%dA, description%dW },\n", 
+			names[i], names[i], i, i,i 
+		i++
+	}
+
+	print "};"
+}
diff --git a/dlls/dxerr9/errors.dat b/dlls/dxerr9/errors.dat
new file mode 100644
index 0000000..0421539
--- /dev/null
+++ b/dlls/dxerr9/errors.dat
@@ -0,0 +1,25 @@
+S_OK				Succeeded
+DS_NO_VIRTUALIZATION		Succeeded but with different 3D algorithn
+DSERR_ALLOCATED			Already allocated			
+DSERR_CONTROLUNAVAIL		Control unavailable
+E_INVALIDARG			Invalid argument
+DSERR_INVALIDCALL		Invalid call
+E_FAIL				Undetermined error
+DSERR_PRIOLEVELNEEDED		Insufficiant priority level
+E_OUTOFMEMORY			Out of memory
+DSERR_BADFORMAT			Bad WAVE format
+E_NOTIMPL			Not implemented
+DSERR_NODRIVER			No driver
+DSERR_ALREADYINITIALIZED	Already initialized
+CLASS_E_NOAGGREGATION		No aggregation
+DSERR_BUFFERLOST		Buffer lost
+DSERR_OTHERAPPHASPRIO		Other app has higher priority
+DSERR_UNINITIALIZED		Not initialized
+E_NOINTERFACE			No interface
+E_ACCESSDENIED			Access denied
+DSERR_BUFFERTOOSMALL		Buffer too small
+DSERR_DS8_REQUIRED		Direct Sound 8 required
+DSERR_SENDLOOP			Circular loop
+DSERR_BADSENDBUFFERGUID		Bad send buffer GUID
+DSERR_OBJECTNOTFOUND		Object not found
+DSERR_FXUNAVAILABLE		Effect not available
diff --git a/dlls/dxerr9/errors.h b/dlls/dxerr9/errors.h
new file mode 100644
index 0000000..2d7ba2b
--- /dev/null
+++ b/dlls/dxerr9/errors.h
@@ -0,0 +1,105 @@
+/* Machine generated. Do not edit. */
+
+static const WCHAR name1W[] = { 'S','_','O','K',0 };
+static const CHAR description1A[] = "Succeeded";
+static const WCHAR description1W[] = { 'S','u','c','c','e','e','d','e','d',0 };
+static const WCHAR name2W[] = { 'D','S','_','N','O','_','V','I','R','T','U','A','L','I','Z','A','T','I','O','N',0 };
+static const CHAR description2A[] = "Succeeded but with different 3D algorithn";
+static const WCHAR description2W[] = { 'S','u','c','c','e','e','d','e','d',' ','b','u','t',' ','w','i','t','h',' ','d','i','f','f','e','r','e','n','t',' ','3','D',' ','a','l','g','o','r','i','t','h','n',0 };
+static const WCHAR name3W[] = { 'D','S','E','R','R','_','A','L','L','O','C','A','T','E','D',0 };
+static const CHAR description3A[] = "Already allocated";
+static const WCHAR description3W[] = { 'A','l','r','e','a','d','y',' ','a','l','l','o','c','a','t','e','d',0 };
+static const WCHAR name4W[] = { 'D','S','E','R','R','_','C','O','N','T','R','O','L','U','N','A','V','A','I','L',0 };
+static const CHAR description4A[] = "Control unavailable";
+static const WCHAR description4W[] = { 'C','o','n','t','r','o','l',' ','u','n','a','v','a','i','l','a','b','l','e',0 };
+static const WCHAR name5W[] = { 'E','_','I','N','V','A','L','I','D','A','R','G',0 };
+static const CHAR description5A[] = "Invalid argument";
+static const WCHAR description5W[] = { 'I','n','v','a','l','i','d',' ','a','r','g','u','m','e','n','t',0 };
+static const WCHAR name6W[] = { 'D','S','E','R','R','_','I','N','V','A','L','I','D','C','A','L','L',0 };
+static const CHAR description6A[] = "Invalid call";
+static const WCHAR description6W[] = { 'I','n','v','a','l','i','d',' ','c','a','l','l',0 };
+static const WCHAR name7W[] = { 'E','_','F','A','I','L',0 };
+static const CHAR description7A[] = "Undetermined error";
+static const WCHAR description7W[] = { 'U','n','d','e','t','e','r','m','i','n','e','d',' ','e','r','r','o','r',0 };
+static const WCHAR name8W[] = { 'D','S','E','R','R','_','P','R','I','O','L','E','V','E','L','N','E','E','D','E','D',0 };
+static const CHAR description8A[] = "Insufficiant priority level";
+static const WCHAR description8W[] = { 'I','n','s','u','f','f','i','c','i','a','n','t',' ','p','r','i','o','r','i','t','y',' ','l','e','v','e','l',0 };
+static const WCHAR name9W[] = { 'E','_','O','U','T','O','F','M','E','M','O','R','Y',0 };
+static const CHAR description9A[] = "Out of memory";
+static const WCHAR description9W[] = { 'O','u','t',' ','o','f',' ','m','e','m','o','r','y',0 };
+static const WCHAR name10W[] = { 'D','S','E','R','R','_','B','A','D','F','O','R','M','A','T',0 };
+static const CHAR description10A[] = "Bad WAVE format";
+static const WCHAR description10W[] = { 'B','a','d',' ','W','A','V','E',' ','f','o','r','m','a','t',0 };
+static const WCHAR name11W[] = { 'E','_','N','O','T','I','M','P','L',0 };
+static const CHAR description11A[] = "Not implemented";
+static const WCHAR description11W[] = { 'N','o','t',' ','i','m','p','l','e','m','e','n','t','e','d',0 };
+static const WCHAR name12W[] = { 'D','S','E','R','R','_','N','O','D','R','I','V','E','R',0 };
+static const CHAR description12A[] = "No driver";
+static const WCHAR description12W[] = { 'N','o',' ','d','r','i','v','e','r',0 };
+static const WCHAR name13W[] = { 'D','S','E','R','R','_','A','L','R','E','A','D','Y','I','N','I','T','I','A','L','I','Z','E','D',0 };
+static const CHAR description13A[] = "Already initialized";
+static const WCHAR description13W[] = { 'A','l','r','e','a','d','y',' ','i','n','i','t','i','a','l','i','z','e','d',0 };
+static const WCHAR name14W[] = { 'C','L','A','S','S','_','E','_','N','O','A','G','G','R','E','G','A','T','I','O','N',0 };
+static const CHAR description14A[] = "No aggregation";
+static const WCHAR description14W[] = { 'N','o',' ','a','g','g','r','e','g','a','t','i','o','n',0 };
+static const WCHAR name15W[] = { 'D','S','E','R','R','_','B','U','F','F','E','R','L','O','S','T',0 };
+static const CHAR description15A[] = "Buffer lost";
+static const WCHAR description15W[] = { 'B','u','f','f','e','r',' ','l','o','s','t',0 };
+static const WCHAR name16W[] = { 'D','S','E','R','R','_','O','T','H','E','R','A','P','P','H','A','S','P','R','I','O',0 };
+static const CHAR description16A[] = "Other app has higher priority";
+static const WCHAR description16W[] = { 'O','t','h','e','r',' ','a','p','p',' ','h','a','s',' ','h','i','g','h','e','r',' ','p','r','i','o','r','i','t','y',0 };
+static const WCHAR name17W[] = { 'D','S','E','R','R','_','U','N','I','N','I','T','I','A','L','I','Z','E','D',0 };
+static const CHAR description17A[] = "Not initialized";
+static const WCHAR description17W[] = { 'N','o','t',' ','i','n','i','t','i','a','l','i','z','e','d',0 };
+static const WCHAR name18W[] = { 'E','_','N','O','I','N','T','E','R','F','A','C','E',0 };
+static const CHAR description18A[] = "No interface";
+static const WCHAR description18W[] = { 'N','o',' ','i','n','t','e','r','f','a','c','e',0 };
+static const WCHAR name19W[] = { 'E','_','A','C','C','E','S','S','D','E','N','I','E','D',0 };
+static const CHAR description19A[] = "Access denied";
+static const WCHAR description19W[] = { 'A','c','c','e','s','s',' ','d','e','n','i','e','d',0 };
+static const WCHAR name20W[] = { 'D','S','E','R','R','_','B','U','F','F','E','R','T','O','O','S','M','A','L','L',0 };
+static const CHAR description20A[] = "Buffer too small";
+static const WCHAR description20W[] = { 'B','u','f','f','e','r',' ','t','o','o',' ','s','m','a','l','l',0 };
+static const WCHAR name21W[] = { 'D','S','E','R','R','_','D','S','8','_','R','E','Q','U','I','R','E','D',0 };
+static const CHAR description21A[] = "Direct Sound 8 required";
+static const WCHAR description21W[] = { 'D','i','r','e','c','t',' ','S','o','u','n','d',' ','8',' ','r','e','q','u','i','r','e','d',0 };
+static const WCHAR name22W[] = { 'D','S','E','R','R','_','S','E','N','D','L','O','O','P',0 };
+static const CHAR description22A[] = "Circular loop";
+static const WCHAR description22W[] = { 'C','i','r','c','u','l','a','r',' ','l','o','o','p',0 };
+static const WCHAR name23W[] = { 'D','S','E','R','R','_','B','A','D','S','E','N','D','B','U','F','F','E','R','G','U','I','D',0 };
+static const CHAR description23A[] = "Bad send buffer GUID";
+static const WCHAR description23W[] = { 'B','a','d',' ','s','e','n','d',' ','b','u','f','f','e','r',' ','G','U','I','D',0 };
+static const WCHAR name24W[] = { 'D','S','E','R','R','_','O','B','J','E','C','T','N','O','T','F','O','U','N','D',0 };
+static const CHAR description24A[] = "Object not found";
+static const WCHAR description24W[] = { 'O','b','j','e','c','t',' ','n','o','t',' ','f','o','u','n','d',0 };
+static const WCHAR name25W[] = { 'D','S','E','R','R','_','F','X','U','N','A','V','A','I','L','A','B','L','E',0 };
+static const CHAR description25A[] = "Effect not available";
+static const WCHAR description25W[] = { 'E','f','f','e','c','t',' ','n','o','t',' ','a','v','a','i','l','a','b','l','e',0 };
+
+static const error_info info[] = {
+    { S_OK, "S_OK", name1W, description1A, description1W },
+    { DS_NO_VIRTUALIZATION, "DS_NO_VIRTUALIZATION", name2W, description2A, description2W },
+    { DSERR_ALLOCATED, "DSERR_ALLOCATED", name3W, description3A, description3W },
+    { DSERR_CONTROLUNAVAIL, "DSERR_CONTROLUNAVAIL", name4W, description4A, description4W },
+    { E_INVALIDARG, "E_INVALIDARG", name5W, description5A, description5W },
+    { DSERR_INVALIDCALL, "DSERR_INVALIDCALL", name6W, description6A, description6W },
+    { E_FAIL, "E_FAIL", name7W, description7A, description7W },
+    { DSERR_PRIOLEVELNEEDED, "DSERR_PRIOLEVELNEEDED", name8W, description8A, description8W },
+    { E_OUTOFMEMORY, "E_OUTOFMEMORY", name9W, description9A, description9W },
+    { DSERR_BADFORMAT, "DSERR_BADFORMAT", name10W, description10A, description10W },
+    { E_NOTIMPL, "E_NOTIMPL", name11W, description11A, description11W },
+    { DSERR_NODRIVER, "DSERR_NODRIVER", name12W, description12A, description12W },
+    { DSERR_ALREADYINITIALIZED, "DSERR_ALREADYINITIALIZED", name13W, description13A, description13W },
+    { CLASS_E_NOAGGREGATION, "CLASS_E_NOAGGREGATION", name14W, description14A, description14W },
+    { DSERR_BUFFERLOST, "DSERR_BUFFERLOST", name15W, description15A, description15W },
+    { DSERR_OTHERAPPHASPRIO, "DSERR_OTHERAPPHASPRIO", name16W, description16A, description16W },
+    { DSERR_UNINITIALIZED, "DSERR_UNINITIALIZED", name17W, description17A, description17W },
+    { E_NOINTERFACE, "E_NOINTERFACE", name18W, description18A, description18W },
+    { E_ACCESSDENIED, "E_ACCESSDENIED", name19W, description19A, description19W },
+    { DSERR_BUFFERTOOSMALL, "DSERR_BUFFERTOOSMALL", name20W, description20A, description20W },
+    { DSERR_DS8_REQUIRED, "DSERR_DS8_REQUIRED", name21W, description21A, description21W },
+    { DSERR_SENDLOOP, "DSERR_SENDLOOP", name22W, description22A, description22W },
+    { DSERR_BADSENDBUFFERGUID, "DSERR_BADSENDBUFFERGUID", name23W, description23A, description23W },
+    { DSERR_OBJECTNOTFOUND, "DSERR_OBJECTNOTFOUND", name24W, description24A, description24W },
+    { DSERR_FXUNAVAILABLE, "DSERR_FXUNAVAILABLE", name25W, description25A, description25W },
+};
diff --git a/dlls/dxerr9/make_errors b/dlls/dxerr9/make_errors
new file mode 100755
index 0000000..75e4b6b
--- /dev/null
+++ b/dlls/dxerr9/make_errors
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec awk -f errors.awk < errors.dat > errors.h
