diff -x CVS -urN scummvm.orig/backends/intern.h scummvm/backends/intern.h
--- scummvm.orig/backends/intern.h	2005-08-16 19:15:36.000000000 +0200
+++ scummvm/backends/intern.h	2005-10-12 23:45:28.000000000 +0200
@@ -49,6 +49,10 @@
 #define SAMPLES_PER_SEC 16000
 #elif defined(__PLAYSTATION2__)
 #define SAMPLES_PER_SEC 48000 // the SPU can't handle anything else
+#elif defined(OPIE_BACKEND)
+#define SAMPLES_PER_SEC 22050
+#define SAMPLES_PER_SEC_OLD 11025
+#define SAMPLES_PER_SEC_NEW 22050
 #else
 //#define SAMPLES_PER_SEC 11025
 #define SAMPLES_PER_SEC 22050
diff -x CVS -urN scummvm.orig/backends/wince/CEActionsPocket.cpp scummvm/backends/wince/CEActionsPocket.cpp
--- scummvm.orig/backends/wince/CEActionsPocket.cpp	2005-07-30 23:10:55.000000000 +0200
+++ scummvm/backends/wince/CEActionsPocket.cpp	2005-10-12 22:52:25.000000000 +0200
@@ -22,7 +22,7 @@
 
 #include "common/stdafx.h"
 #include "CEActionsPocket.h"
-#include "EventsBuffer.h"
+#include "backends/wince/CEkeys/EventsBuffer.h"
 
 #include "gui/message.h"
 
diff -x CVS -urN scummvm.orig/backends/wince/CEActionsSmartphone.cpp scummvm/backends/wince/CEActionsSmartphone.cpp
--- scummvm.orig/backends/wince/CEActionsSmartphone.cpp	2005-07-30 23:10:55.000000000 +0200
+++ scummvm/backends/wince/CEActionsSmartphone.cpp	2005-10-12 22:28:40.000000000 +0200
@@ -21,7 +21,7 @@
 
 //#define SIMU_SMARTPHONE 1
 
-//#ifdef WIN32_PLATFORM_WFSP
+#ifdef WIN32_PLATFORM_WFSP
 
 #include "common/stdafx.h"
 #include "CEActionsSmartphone.h"
@@ -203,4 +203,4 @@
 	return false;
 }
 
-//#endif
+#endif
diff -x CVS -urN scummvm.orig/backends/wince/CEActionsSmartphone.h scummvm/backends/wince/CEActionsSmartphone.h
--- scummvm.orig/backends/wince/CEActionsSmartphone.h	2005-07-30 23:10:55.000000000 +0200
+++ scummvm/backends/wince/CEActionsSmartphone.h	2005-10-12 22:28:40.000000000 +0200
@@ -22,7 +22,7 @@
 #ifndef CEACTIONSSMARTPHONE
 #define CEACTIONSSMARTPHONE
 
-//#ifdef WIN32_PLATFORM_WFSP
+#ifdef WIN32_PLATFORM_WFSP
 
 #include "common/stdafx.h"
 #include "common/scummsys.h"
@@ -76,4 +76,4 @@
 
 #endif
 
-//#endif
+#endif
diff -x CVS -urN scummvm.orig/backends/wince/CEDevice.cpp scummvm/backends/wince/CEDevice.cpp
--- scummvm.orig/backends/wince/CEDevice.cpp	2005-07-30 23:10:55.000000000 +0200
+++ scummvm/backends/wince/CEDevice.cpp	2005-10-12 23:36:19.000000000 +0200
@@ -31,7 +31,8 @@
 #define KEY_INBOX 0xc3
 #define KEY_TASK 0xc4
 
-//#ifdef WIN32_PLATFORM_WFSP
+
+#ifdef WIN32_PLATFORM_WFSP
 const char* SMARTPHONE_KEYS_NAME[] = {
 	"1", "2", "3","4", "5", "6", "7", "8", "9", "*", "0", "#",
 	"Home", "Back", "Up", "Down", "Left", "Right", "Action", "Hang up", "Call",
@@ -63,10 +64,12 @@
 
 #define TIMER_TRIGGER 9000
 
-//#endif
+#endif
 
 // Power management code borrowed from MoDaCo & Betaplayer. Thanks !
+// TODO: make it work on OPIE based devices
 void CEDevice::init() {
+#ifndef OPIE_BACKEND
 	HINSTANCE dll = LoadLibrary(TEXT("aygshell.dll"));
 	if (dll) {
 		*(FARPROC*)&_SHIdleTimerReset = GetProcAddress(dll, MAKEINTRESOURCE(2006));
@@ -80,15 +83,19 @@
 	if (_SetPowerRequirement)
 		_hPowerManagement = _SetPowerRequirement(TEXT("BKL1:"), 0, 1, NULL, 0);
 	_lastTime = GetTickCount();
+#endif
 }
 
 void CEDevice::end() {
+#ifndef OPIE_BACKEND
 	if (_ReleasePowerRequirement && _hPowerManagement) {
 		_ReleasePowerRequirement(_hPowerManagement);
 	}
+#endif
 }
 
 void CEDevice::wakeUp() {
+#ifndef OPIE_BACKEND
 	DWORD currentTime = GetTickCount();
 	if (currentTime > _lastTime + TIMER_TRIGGER) {
 		_lastTime = currentTime;
@@ -96,6 +103,7 @@
 		if (_SHIdleTimerReset)
 			_SHIdleTimerReset();
 	}
+#endif
 }
 
 bool CEDevice::hasPocketPCResolution() {
@@ -157,7 +165,8 @@
 	if (keyCode == SDLK_F4)
 		return "F4 (hard 4)";
 
-//#ifdef WIN32_PLATFORM_WFSP
+#ifdef WIN32_PLATFORM_WFSP
+
 	if (hasSmartphoneResolution()) {
 		int i = 0;
 		while (SMARTPHONE_KEYS_MAPPING[i]) {
@@ -166,7 +175,8 @@
 			i++;
 		}
 	}
-//#endif
+
+#endif
 
 	sprintf(key_name, "Key %.4x", keyCode);
 	return key_name;
diff -x CVS -urN scummvm.orig/backends/wince/CEDevice.h scummvm/backends/wince/CEDevice.h
--- scummvm.orig/backends/wince/CEDevice.h	2005-07-30 23:10:55.000000000 +0200
+++ scummvm/backends/wince/CEDevice.h	2005-10-12 22:29:32.000000000 +0200
@@ -27,7 +27,10 @@
 #include "common/system.h"
 #include "common/str.h"
 
+#ifndef OPIE_BACKEND
 #include <gx.h>
+#endif
+
 
 class CEDevice {
 	public:
diff -x CVS -urN scummvm.orig/backends/wince/CELauncherDialog.cpp scummvm/backends/wince/CELauncherDialog.cpp
--- scummvm.orig/backends/wince/CELauncherDialog.cpp	2005-07-30 23:10:55.000000000 +0200
+++ scummvm/backends/wince/CELauncherDialog.cpp	2005-10-12 23:34:20.000000000 +0200
@@ -50,7 +50,11 @@
 		videoDriver += tempo;
 		new StaticTextWidget(this, 0, 10, _w, kLineHeight, videoDriver, kTextAlignCenter);
 		Common::String displayInfos("Display ");
+#ifdef OPIE_BACKEND
+		sprintf(tempo, "(real %dx%d)", OSystem_WINCE3::getScreenWidth(), OSystem_WINCE3::getScreenHeight());
+#else
 		sprintf(tempo, "%dx%d (real %dx%d)", GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), OSystem_WINCE3::getScreenWidth(), OSystem_WINCE3::getScreenHeight());
+#endif
 		displayInfos += tempo;
 		new StaticTextWidget(this, 0, 20, _w, kLineHeight, displayInfos, kTextAlignCenter);
 	}
@@ -82,7 +86,7 @@
 	}
 }
 
-void CELauncherDialog::addCandidate(String &path, DetectedGameList &candidates) {
+void CELauncherDialog::addCandidate(String path, DetectedGameList &candidates) {
 	int idx = -1;
 	DetectedGame result;
 
diff -x CVS -urN scummvm.orig/backends/wince/CELauncherDialog.h scummvm/backends/wince/CELauncherDialog.h
--- scummvm.orig/backends/wince/CELauncherDialog.h	2005-01-01 17:08:48.000000000 +0100
+++ scummvm/backends/wince/CELauncherDialog.h	2005-10-12 22:25:42.000000000 +0200
@@ -30,15 +30,18 @@
 #include "gui/launcher.h"
 
 class CELauncherDialog : public GUI::LauncherDialog {
+	typedef Common::String String;
+	typedef Common::StringList StringList;
+
 public:
 	CELauncherDialog(GameDetector &detector);
 	virtual void handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data);
 protected:
 	void addGame();
-	void addCandidate(String &path, DetectedGameList &candidates);
+	void addCandidate(String path, DetectedGameList &candidates);
 	void automaticScanDirectory(const FilesystemNode &node);
 };
 
 typedef GUI::LauncherDialog GUILauncherDialog;
 
-#endif
\ No newline at end of file
+#endif
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/CEGUI.h scummvm/backends/wince/CEgui/CEGUI.h
--- scummvm.orig/backends/wince/CEgui/CEGUI.h	2005-01-01 17:08:48.000000000 +0100
+++ scummvm/backends/wince/CEgui/CEGUI.h	2005-10-12 23:25:50.000000000 +0200
@@ -19,8 +19,7 @@
  *
  */
 
-#include "ToolbarHandler.h"
-#include "Panel.h"
-#include "ItemSwitch.h"
-#include "PanelKeyboard.h"
-
+#include "backends/wince/CEgui/ToolbarHandler.h"
+#include "backends/wince/CEgui/Panel.h"
+#include "backends/wince/CEgui/ItemSwitch.h"
+#include "backends/wince/CEgui/PanelKeyboard.h"
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/ItemAction.h scummvm/backends/wince/CEgui/ItemAction.h
--- scummvm.orig/backends/wince/CEgui/ItemAction.h	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/CEgui/ItemAction.h	2005-10-12 22:52:30.000000000 +0200
@@ -27,7 +27,8 @@
 #include "common/system.h"
 
 #include "gui/Actions.h"
-#include "CEgui/PanelItem.h"
+#include "backends/wince/CEgui/PanelItem.h"
+
 namespace CEGUI {
 
 	class ItemAction : public PanelItem {
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/ItemSwitch.h scummvm/backends/wince/CEgui/ItemSwitch.h
--- scummvm.orig/backends/wince/CEgui/ItemSwitch.h	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/CEgui/ItemSwitch.h	2005-10-12 22:52:43.000000000 +0200
@@ -26,8 +26,8 @@
 #include "common/scummsys.h"
 #include "common/system.h"
 
-#include "Panel.h"
-#include "EventsBuffer.h"
+#include "backends/wince/CEgui/Panel.h"
+#include "backends/wince/CEkeys/EventsBuffer.h"
 
 using GUI::Key;
 
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/PanelItem.h scummvm/backends/wince/CEgui/PanelItem.h
--- scummvm.orig/backends/wince/CEgui/PanelItem.h	2005-01-01 17:08:48.000000000 +0100
+++ scummvm/backends/wince/CEgui/PanelItem.h	2005-10-12 22:52:49.000000000 +0200
@@ -26,7 +26,7 @@
 #include "common/scummsys.h"
 #include "common/system.h"
 
-#include "Toolbar.h"
+#include "backends/wince/CEgui/Toolbar.h"
 
 namespace CEGUI {
 
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/PanelKeyboard.cpp scummvm/backends/wince/CEgui/PanelKeyboard.cpp
--- scummvm.orig/backends/wince/CEgui/PanelKeyboard.cpp	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/CEgui/PanelKeyboard.cpp	2005-10-12 22:52:36.000000000 +0200
@@ -20,7 +20,7 @@
  */
 
 #include "common/stdafx.h"
-#include "PanelKeyboard.h"
+#include "backends/wince/CEgui/PanelKeyboard.h"
 
 namespace CEGUI {
 
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/PanelKeyboard.h scummvm/backends/wince/CEgui/PanelKeyboard.h
--- scummvm.orig/backends/wince/CEgui/PanelKeyboard.h	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/CEgui/PanelKeyboard.h	2005-10-12 22:52:55.000000000 +0200
@@ -26,8 +26,8 @@
 #include "common/scummsys.h"
 #include "common/system.h"
 
-#include "Toolbar.h"
-#include "EventsBuffer.h"
+#include "backends/wince/CEgui/Toolbar.h"
+#include "backends/wince/CEkeys/EventsBuffer.h"
 
 using GUI::Key;
 using CEKEYS::EventsBuffer;
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/SDL_ImageResource.cpp scummvm/backends/wince/CEgui/SDL_ImageResource.cpp
--- scummvm.orig/backends/wince/CEgui/SDL_ImageResource.cpp	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/CEgui/SDL_ImageResource.cpp	2005-10-12 23:28:18.000000000 +0200
@@ -22,6 +22,10 @@
 #include "common/stdafx.h"
 #include "SDL_ImageResource.h"
 
+#ifdef OPIE_BACKEND
+#include "backends/wince/CEgui/SDL_xpm.h"
+#endif
+
 namespace CEGUI {
 
 	SDL_ImageResource::SDL_ImageResource() :
@@ -30,6 +34,21 @@
 	}
 
 	SDL_Surface* SDL_ImageResource::load(WORD resourceID) {
+#ifdef OPIE_BACKEND
+	        if ( resourceID == PANEL_GENERIC ) _surface=IMG_ReadXPMFromArray(panelbig_xpm);
+	        else if ( resourceID == PANEL_KEYBOARD ) _surface=IMG_ReadXPMFromArray(keyboard_xpm);
+	        else if ( resourceID == ITEM_SKIP ) _surface=IMG_ReadXPMFromArray(Action_xpm);
+	        else if ( resourceID == ITEM_OPTIONS ) _surface=IMG_ReadXPMFromArray(DiskwFolder_xpm);
+	        else if ( resourceID == ITEM_SOUND_ON ) _surface=IMG_ReadXPMFromArray(SoundOn_xpm);
+		else if ( resourceID == ITEM_SOUND_OFF ) _surface=IMG_ReadXPMFromArray(SoundOff_xpm);
+	        else if ( resourceID == ITEM_VIEW_PORTRAIT ) _surface=IMG_ReadXPMFromArray(MonkeyPortrait_xpm); 
+	        else if ( resourceID == ITEM_VIEW_LANDSCAPE ) _surface=IMG_ReadXPMFromArray(MonkeyLandscape_xpm); 
+		else {
+		    error("SDL_ImageResource::load(): resource %d not found",resourceID);
+		    return NULL;
+		}
+		return _surface;
+#else
 		HRSRC resource;
 		HGLOBAL resourceGlobal;
 		LPVOID resourcePointer;
@@ -57,6 +76,7 @@
 		_surface = SDL_LoadBMP_RW(surfaceData, 1);
 
 		return _surface;
+#endif
 	};
 
 	SDL_Surface* SDL_ImageResource::get() {
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/SDL_ImageResource.h scummvm/backends/wince/CEgui/SDL_ImageResource.h
--- scummvm.orig/backends/wince/CEgui/SDL_ImageResource.h	2005-01-01 17:08:48.000000000 +0100
+++ scummvm/backends/wince/CEgui/SDL_ImageResource.h	2005-10-12 22:52:09.000000000 +0200
@@ -28,6 +28,19 @@
 
 #include "SDL.h"
 
+#ifdef OPIE_BACKEND
+#include "backends/wince/resource.h"
+#include "backends/wince/images/panelbig.xpm"
+#include "backends/wince/images/keyboard.xpm"
+#include "backends/wince/images/Action.xpm"
+#include "backends/wince/images/DiskwFolder.xpm"
+#include "backends/wince/images/SoundOn.xpm"
+#include "backends/wince/images/SoundOff.xpm"
+#include "backends/wince/images/MonkeyPortrait.xpm"
+#include "backends/wince/images/MonkeyLandscape.xpm"
+#endif
+
+
 namespace CEGUI {
 	class SDL_ImageResource {
 	public:
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/SDL_xpm.c scummvm/backends/wince/CEgui/SDL_xpm.c
--- scummvm.orig/backends/wince/CEgui/SDL_xpm.c	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/CEgui/SDL_xpm.c	2005-10-12 23:25:38.000000000 +0200
@@ -0,0 +1,459 @@
+/*
+    SDL_image:  An example image loading library for use with SDL
+    Copyright (C) 1999-2004 Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 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
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    slouken@libsdl.org
+*/
+
+/* $Id: IMG_xpm.c,v 1.10 2004/01/04 22:04:38 slouken Exp $ */
+
+/*
+ * XPM (X PixMap) image loader:
+ *
+ * Supports the XPMv3 format, EXCEPT:
+ * - hotspot coordinates are ignored
+ * - only colour ('c') colour symbols are used
+ * - rgb.txt is not used (for portability), so only RGB colours
+ *   are recognized (#rrggbb etc) - only a few basic colour names are
+ *   handled
+ *
+ * The result is an 8bpp indexed surface if possible, otherwise 32bpp.
+ * The colourkey is correctly set if transparency is used.
+ * 
+ * Besides the standard API, also provides
+ *
+ *     SDL_Surface *IMG_ReadXPMFromArray(char **xpm)
+ *
+ * that reads the image data from an XPM file included in the C source.
+ *
+ * TODO: include rgb.txt here. The full table (from solaris 2.6) only
+ * requires about 13K in binary form.
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "backends/wince/CEgui/SDL_xpm.h"
+
+/* See if an image is contained in a data source */
+int IMG_isXPM(SDL_RWops *src)
+{
+	char magic[9];
+
+	return (SDL_RWread(src, magic, sizeof(magic), 1)
+		&& memcmp(magic, "/* XPM */", 9) == 0);
+}
+
+/* Hash table to look up colors from pixel strings */
+#define STARTING_HASH_SIZE 256
+
+struct hash_entry {
+	char *key;
+	Uint32 color;
+	struct hash_entry *next;
+};
+
+struct color_hash {
+	struct hash_entry **table;
+	struct hash_entry *entries; /* array of all entries */
+	struct hash_entry *next_free;
+	int size;
+	int maxnum;
+};
+
+static int hash_key(const char *key, int cpp, int size)
+{
+	int hash;
+
+	hash = 0;
+	while ( cpp-- > 0 ) {
+		hash = hash * 33 + *key++;
+	}
+	return hash & (size - 1);
+}
+
+static struct color_hash *create_colorhash(int maxnum)
+{
+	int bytes, s;
+	struct color_hash *hash;
+
+	/* we know how many entries we need, so we can allocate
+	   everything here */
+	hash = malloc(sizeof *hash);
+	if(!hash)
+		return NULL;
+
+	/* use power-of-2 sized hash table for decoding speed */
+	for(s = STARTING_HASH_SIZE; s < maxnum; s <<= 1)
+		;
+	hash->size = s;
+	hash->maxnum = maxnum;
+	bytes = hash->size * sizeof(struct hash_entry **);
+	hash->entries = NULL;	/* in case malloc fails */
+	hash->table = malloc(bytes);
+	if(!hash->table)
+		return NULL;
+	memset(hash->table, 0, bytes);
+	hash->entries = malloc(maxnum * sizeof(struct hash_entry));
+	if(!hash->entries)
+		return NULL;
+	hash->next_free = hash->entries;
+	return hash;
+}
+
+static int add_colorhash(struct color_hash *hash,
+                         char *key, int cpp, Uint32 color)
+{
+	int index = hash_key(key, cpp, hash->size);
+	struct hash_entry *e = hash->next_free++;
+	e->color = color;
+	e->key = key;
+	e->next = hash->table[index];
+	hash->table[index] = e;
+	return 1;
+}
+
+/* fast lookup that works if cpp == 1 */
+#define QUICK_COLORHASH(hash, key) ((hash)->table[*(Uint8 *)(key)]->color)
+
+static Uint32 get_colorhash(struct color_hash *hash, const char *key, int cpp)
+{
+	struct hash_entry *entry = hash->table[hash_key(key, cpp, hash->size)];
+	while(entry) {
+		if(memcmp(key, entry->key, cpp) == 0)
+			return entry->color;
+		entry = entry->next;
+	}
+	return 0;		/* garbage in - garbage out */
+}
+
+static void free_colorhash(struct color_hash *hash)
+{
+	if(hash && hash->table) {
+		free(hash->table);
+		free(hash->entries);
+		free(hash);
+	}
+}
+
+/* portable case-insensitive string comparison */
+static int string_equal(const char *a, const char *b, int n)
+{
+	while(*a && *b && n) {
+		if(toupper((unsigned char)*a) != toupper((unsigned char)*b))
+			return 0;
+		a++;
+		b++;
+		n--;
+	}
+	return *a == *b;
+}
+
+#define ARRAYSIZE(a) (int)(sizeof(a) / sizeof((a)[0]))
+
+/*
+ * convert colour spec to RGB (in 0xrrggbb format).
+ * return 1 if successful.
+ */
+static int color_to_rgb(char *spec, int speclen, Uint32 *rgb)
+{
+	/* poor man's rgb.txt */
+	static struct { char *name; Uint32 rgb; } known[] = {
+		{"none",  0xffffffff},
+		{"black", 0x00000000},
+		{"white", 0x00ffffff},
+		{"red",   0x00ff0000},
+		{"green", 0x0000ff00},
+		{"blue",  0x000000ff}
+
+	};
+
+	if(spec[0] == '#') {
+		char buf[7];
+		switch(speclen) {
+		case 4:
+			buf[0] = buf[1] = spec[1];
+			buf[2] = buf[3] = spec[2];
+			buf[4] = buf[5] = spec[3];
+			break;
+		case 7:
+			memcpy(buf, spec + 1, 6);
+			break;
+		case 13:
+			buf[0] = spec[1];
+			buf[1] = spec[2];
+			buf[2] = spec[5];
+			buf[3] = spec[6];
+			buf[4] = spec[9];
+			buf[5] = spec[10];
+			break;
+		}
+		buf[6] = '\0';
+		*rgb = strtol(buf, NULL, 16);
+		return 1;
+	} else {
+		int i;
+		for(i = 0; i < ARRAYSIZE(known); i++)
+			if(string_equal(known[i].name, spec, speclen)) {
+				*rgb = known[i].rgb;
+				return 1;
+			}
+		return 0;
+	}
+}
+
+#ifndef MAX
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#endif
+
+static char *linebuf;
+static int buflen;
+static char *error;
+
+/*
+ * Read next line from the source.
+ * If len > 0, it's assumed to be at least len chars (for efficiency).
+ * Return NULL and set error upon EOF or parse error.
+ */
+static char *get_next_line(char ***lines, SDL_RWops *src, int len)
+{
+	if(lines) {
+		return *(*lines)++;
+	} else {
+		char c;
+		int n;
+		do {
+			if(SDL_RWread(src, &c, 1, 1) <= 0) {
+				error = "Premature end of data";
+				return NULL;
+			}
+		} while(c != '"');
+		if(len) {
+			len += 4;	/* "\",\n\0" */
+			if(len > buflen){
+				buflen = len;
+				linebuf = realloc(linebuf, buflen);
+				if(!linebuf) {
+					error = "Out of memory";
+					return NULL;
+				}
+			}
+			if(SDL_RWread(src, linebuf, len - 1, 1) <= 0) {
+				error = "Premature end of data";
+				return NULL;
+			}
+			n = len - 2;
+		} else {
+			n = 0;
+			do {
+				if(n >= buflen - 1) {
+					if(buflen == 0)
+						buflen = 16;
+					buflen *= 2;
+					linebuf = realloc(linebuf, buflen);
+					if(!linebuf) {
+						error = "Out of memory";
+						return NULL;
+					}
+				}
+				if(SDL_RWread(src, linebuf + n, 1, 1) <= 0) {
+					error = "Premature end of data";
+					return NULL;
+				}
+			} while(linebuf[n++] != '"');
+			n--;
+		}
+		linebuf[n] = '\0';
+		return linebuf;
+	}
+}
+
+#define SKIPSPACE(p)				\
+do {						\
+	while(isspace((unsigned char)*(p)))	\
+	      ++(p);				\
+} while(0)
+
+#define SKIPNONSPACE(p)					\
+do {							\
+	while(!isspace((unsigned char)*(p)) && *p)	\
+	      ++(p);					\
+} while(0)
+
+/* read XPM from either array or RWops */
+static SDL_Surface *load_xpm(char **xpm, SDL_RWops *src)
+{
+	SDL_Surface *image = NULL;
+	int index;
+	int x, y;
+	int w, h, ncolors, cpp;
+	int indexed;
+	Uint8 *dst;
+	struct color_hash *colors = NULL;
+	SDL_Color *im_colors = NULL;
+	char *keystrings = NULL, *nextkey;
+	char *line;
+	char ***xpmlines = NULL;
+	int pixels_len;
+
+	error = NULL;
+	linebuf = NULL;
+	buflen = 0;
+
+	if(xpm)
+		xpmlines = &xpm;
+
+	line = get_next_line(xpmlines, src, 0);
+	if(!line)
+		goto done;
+	/*
+	 * The header string of an XPMv3 image has the format
+	 *
+	 * <width> <height> <ncolors> <cpp> [ <hotspot_x> <hotspot_y> ]
+	 *
+	 * where the hotspot coords are intended for mouse cursors.
+	 * Right now we don't use the hotspots but it should be handled
+	 * one day.
+	 */
+	if(sscanf(line, "%d %d %d %d", &w, &h, &ncolors, &cpp) != 4
+	   || w <= 0 || h <= 0 || ncolors <= 0 || cpp <= 0) {
+		error = "Invalid format description";
+		goto done;
+	}
+
+	keystrings = malloc(ncolors * cpp);
+	if(!keystrings) {
+		error = "Out of memory";
+		goto done;
+	}
+	nextkey = keystrings;
+
+	/* Create the new surface */
+	if(ncolors <= 256) {
+		indexed = 1;
+		image = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 8,
+					     0, 0, 0, 0);
+		im_colors = image->format->palette->colors;
+		image->format->palette->ncolors = ncolors;
+	} else {
+		indexed = 0;
+		image = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 32,
+					     0xff0000, 0x00ff00, 0x0000ff, 0);
+	}
+	if(!image) {
+		/* Hmm, some SDL error (out of memory?) */
+		goto done;
+	}
+
+	/* Read the colors */
+	colors = create_colorhash(ncolors);
+	if (!colors) {
+		error = "Out of memory";
+		goto done;
+	}
+	for(index = 0; index < ncolors; ++index ) {
+		char *p;
+		line = get_next_line(xpmlines, src, 0);
+		if(!line)
+			goto done;
+
+		p = line + cpp + 1;
+
+		/* parse a colour definition */
+		for(;;) {
+			char nametype;
+			char *colname;
+			Uint32 rgb, pixel;
+
+			SKIPSPACE(p);
+			if(!*p) {
+				error = "colour parse error";
+				goto done;
+			}
+			nametype = *p;
+			SKIPNONSPACE(p);
+			SKIPSPACE(p);
+			colname = p;
+			SKIPNONSPACE(p);
+			if(nametype == 's')
+				continue;      /* skip symbolic colour names */
+
+			if(!color_to_rgb(colname, p - colname, &rgb))
+				continue;
+
+			memcpy(nextkey, line, cpp);
+			if(indexed) {
+				SDL_Color *c = im_colors + index;
+				c->r = rgb >> 16;
+				c->g = rgb >> 8;
+				c->b = rgb;
+				pixel = index;
+			} else
+				pixel = rgb;
+			add_colorhash(colors, nextkey, cpp, pixel);
+			nextkey += cpp;
+			if(rgb == 0xffffffff)
+				SDL_SetColorKey(image, SDL_SRCCOLORKEY, pixel);
+			break;
+		}
+	}
+
+	/* Read the pixels */
+	pixels_len = w * cpp;
+	dst = image->pixels;
+	for(y = 0; y < h; y++) {
+		line = get_next_line(xpmlines, src, pixels_len);
+		if(indexed) {
+			/* optimization for some common cases */
+			if(cpp == 1)
+				for(x = 0; x < w; x++)
+					dst[x] = QUICK_COLORHASH(colors,
+								 line + x);
+			else
+				for(x = 0; x < w; x++)
+					dst[x] = get_colorhash(colors,
+							       line + x * cpp,
+							       cpp);
+		} else {
+			for (x = 0; x < w; x++)
+				((Uint32*)dst)[x] = get_colorhash(colors,
+								line + x * cpp,
+								  cpp);
+		}
+		dst += image->pitch;
+	}
+
+done:
+	if(error) {
+		SDL_FreeSurface(image);
+		image = NULL;
+		IMG_SetError(error);
+	}
+	free(keystrings);
+	free_colorhash(colors);
+	free(linebuf);
+	return(image);
+}
+
+SDL_Surface *IMG_ReadXPMFromArray(char **xpm)
+{
+	return load_xpm(xpm, NULL);
+}
+
diff -x CVS -urN scummvm.orig/backends/wince/CEgui/SDL_xpm.h scummvm/backends/wince/CEgui/SDL_xpm.h
--- scummvm.orig/backends/wince/CEgui/SDL_xpm.h	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/CEgui/SDL_xpm.h	2005-10-10 00:22:00.000000000 +0200
@@ -0,0 +1,67 @@
+/*
+    SDL_image:  An example image loading library for use with SDL
+    Copyright (C) 1999-2004 Sam Lantinga
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 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
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+    Sam Lantinga
+    slouken@libsdl.org
+*/
+
+/* $Id: SDL_image.h,v 1.17 2004/01/04 17:33:01 slouken Exp $ */
+
+/* A simple library to load images of various formats as SDL surfaces */
+
+#ifndef _SDL_XPM_H
+#define _SDL_XPM_H
+
+#include "SDL.h"
+#include "SDL_version.h"
+#include "begin_code.h"
+
+/* Set up for C function definitions, even when using C++ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
+*/
+#define SDL_IMAGE_MAJOR_VERSION	1
+#define SDL_IMAGE_MINOR_VERSION	2
+#define SDL_IMAGE_PATCHLEVEL	4
+
+/* This macro can be used to fill a version structure with the compile-time
+ * version of the SDL_image library.
+ */
+#define SDL_IMAGE_VERSION(X)						\
+{									\
+	(X)->major = SDL_IMAGE_MAJOR_VERSION;				\
+	(X)->minor = SDL_IMAGE_MINOR_VERSION;				\
+	(X)->patch = SDL_IMAGE_PATCHLEVEL;				\
+}
+
+extern DECLSPEC SDL_Surface * SDLCALL IMG_ReadXPMFromArray(char **xpm);
+
+/* We'll use SDL for reporting errors */
+#define IMG_SetError	SDL_SetError
+#define IMG_GetError	SDL_GetError
+
+/* Ends C function definitions when using C++ */
+#ifdef __cplusplus
+}
+#endif
+#include "close_code.h"
+
+#endif /* _SDL_IMAGE_H */
diff -x CVS -urN scummvm.orig/backends/wince/build.rules scummvm/backends/wince/build.rules
--- scummvm.orig/backends/wince/build.rules	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/build.rules	2005-10-12 22:48:22.000000000 +0200
@@ -0,0 +1,10 @@
+# Build settings for the SDL backend
+MODULES  += backends/wince
+MODULES  += backends/sdl
+DEFINES  += -DUNIX
+INCLUDES += `sdl-config --cflags` backend/wince
+LIBS     += `sdl-config --libs`
+
+# Uncomment this in addition to the above if you compile on Mac OS X
+# DEFINES += -DMACOSX
+# LIBS	+= -framework QuickTime -framework AudioUnit
diff -x CVS -urN scummvm.orig/backends/wince/defs.h scummvm/backends/wince/defs.h
--- scummvm.orig/backends/wince/defs.h	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/defs.h	2005-10-12 22:43:16.000000000 +0200
@@ -0,0 +1,8 @@
+#define WORD int
+#define DWORD long
+
+#define VK_BACK 8
+#define VK_SPACE 32
+#define VK_ESCAPE 27
+
+// SDL_ImageResource
diff -x CVS -urN scummvm.orig/backends/wince/images/Action.xpm scummvm/backends/wince/images/Action.xpm
--- scummvm.orig/backends/wince/images/Action.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/Action.xpm	2005-10-09 16:01:22.000000000 +0200
@@ -0,0 +1,294 @@
+/* XPM */
+static char *Action_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 256 2",
+"   c #040204",
+".  c #649A04",
+"X  c #848284",
+"o  c #84C204",
+"O  c #DCA23C",
+"+  c #74A20C",
+"@  c #BC7204",
+"#  c #F4C67C",
+"$  c #4C4A4C",
+"%  c #CC8204",
+"&  c #9CE20C",
+"*  c #ECA20C",
+"=  c #D49224",
+"-  c #242224",
+";  c #646664",
+":  c #DC9204",
+">  c #9C9A9C",
+",  c #94D214",
+"<  c #B4B2B4",
+"1  c #F4AE1C",
+"2  c #141214",
+"3  c #8CCA0C",
+"4  c #E4B25C",
+"5  c #747674",
+"6  c #E49A04",
+"7  c #8C8E8C",
+"8  c #84BA14",
+"9  c #C47A04",
+"0  c #5C5A5C",
+"q  c #D48A04",
+"w  c #F4AA1C",
+"e  c #343234",
+"r  c #A4A6A4",
+"t  c #CCCACC",
+"y  c #F4BA44",
+"u  c #74AE04",
+"i  c #A4FA04",
+"p  c #F4AA14",
+"a  c #94DA04",
+"s  c #ECAA3C",
+"d  c #FCD28C",
+"f  c #ECA214",
+"g  c #6C6E6C",
+"h  c #C4C2C4",
+"j  c #FCB624",
+"k  c #1C1A1C",
+"l  c #8CCA14",
+"z  c #E49A0C",
+"x  c #0C0E0C",
+"c  c #8C8A8C",
+"v  c #84C214",
+"b  c #BC7604",
+"n  c #545254",
+"m  c #CC8604",
+"M  c #A4EE04",
+"N  c #2C2A2C",
+"B  c #DC9604",
+"V  c #A4A2A4",
+"C  c #FCB224",
+"Z  c #7C7E7C",
+"A  c #949694",
+"S  c #C47E04",
+"D  c #646264",
+"F  c #D48E04",
+"G  c #3C3A3C",
+"H  c #ACAEAC",
+"J  c #74AA0C",
+"K  c #9CDA14",
+"L  c #ECA614",
+"P  c #E49E0C",
+"I  c #040604",
+"U  c #6C9E14",
+"Y  c #848684",
+"T  c #8CC60C",
+"R  c #DCA64C",
+"E  c #74A60C",
+"W  c #FCCE84",
+"Q  c #9CE60C",
+"!  c #D49634",
+"~  c #6C6A6C",
+"^  c #9C9E9C",
+"/  c #94D614",
+"(  c #BCBABC",
+")  c #F4B21C",
+"_  c #141614",
+"`  c #8CCE0C",
+"'  c #ECBE6C",
+"]  c #7C7A7C",
+"[  c #949294",
+"{  c #5C5E5C",
+"}  c #343634",
+"|  c #ACAAAC",
+" . c #DCDADC",
+".. c #ACFE04",
+"X. c #9CDE0C",
+"o. c #ECAE3C",
+"O. c #FCD68C",
+"+. c #747274",
+"@. c #C4C6C4",
+"#. c #1C1E1C",
+"$. c #94CE14",
+"%. c #C47604",
+"&. c #545654",
+"*. c #D48604",
+"=. c #2C2E2C",
+"-. c #E49604",
+";. c #CC7E04",
+":. c #DC8E04",
+">. c #74AE0C",
+",. c #F4A614",
+"<. c #EC9E0C",
+"1. c #8100BF",
+"2. c #008C14",
+"3. c #001F05",
+"4. c #00FA00",
+"5. c #008100",
+"6. c #ECB8FF",
+"7. c #7419FF",
+"8. c #C1F7FF",
+"9. c #81BFFF",
+"0. c #7FF440",
+"q. c #16ED00",
+"w. c #377300",
+"e. c #270000",
+"r. c #00A80C",
+"t. c #004000",
+"y. c #00F951",
+"u. c #00BF00",
+"i. c #050000",
+"p. c #008000",
+"a. c #00F851",
+"s. c #008100",
+"d. c #00BC80",
+"f. c #000A31",
+"g. c #000051",
+"h. c black",
+"j. c #000040",
+"k. c black",
+"l. c black",
+"z. c black",
+"x. c #00B800",
+"c. c #001900",
+"v. c #00F700",
+"b. c #00BF00",
+"n. c #E23213",
+"m. c #137E05",
+"M. c #F70000",
+"N. c #0E0000",
+"B. c #00F014",
+"V. c #00F805",
+"C. c #007300",
+"Z. c black",
+"A. c #E96D28",
+"S. c #4118EF",
+"D. c #F7F773",
+"F. c #BFBF00",
+"G. c #A43750",
+"H. c #5C30A5",
+"J. c #0110F7",
+"K. c #007EBF",
+"L. c black",
+"P. c black",
+"I. c #510051",
+"U. c #0E0000",
+"Y. c #D41067",
+"T. c #747EA5",
+"R. c #C1A7F7",
+"E. c #813FBF",
+"W. c #260000",
+"Q. c #180000",
+"!. c #F70051",
+"~. c #BF0000",
+"^. c #004643",
+"/. c #000200",
+"(. c black",
+"). c black",
+"_. c #800143",
+"`. c #7D0000",
+"'. c #000200",
+"]. c black",
+"[. c #9F8C78",
+"{. c #0E9F31",
+"}. c #020251",
+"|. c #120000",
+" X c #517F02",
+".X c #0E1600",
+"XX c #020000",
+"oX c #120000",
+"OX c #5813A2",
+"+X c #EDB028",
+"@X c #735FF7",
+"#X c #0001BF",
+"$X c #6C004C",
+"%X c #EF00EF",
+"&X c #70BC73",
+"*X c #810A00",
+"=X c #700066",
+"-X c #1D00B4",
+";X c #1D13F7",
+":X c #82B0BF",
+">X c #005F00",
+",X c #F80100",
+"<X c #906C51",
+"1X c #D37E00",
+"2X c #5863D5",
+"3X c #ED23B4",
+"4X c #7337F7",
+"5X c #0017BF",
+"6X c #0E007C",
+"7X c #A100BC",
+"8X c #F7BC77",
+"9X c #BF0A81",
+"0X c #70006E",
+"qX c #ED0018",
+"wX c #7300F8",
+"eX c #0080BF",
+"rX c #6CF8B2",
+"tX c #EF8118",
+"yX c #708CF8",
+"uX c #819FBF",
+"iX c #64027C",
+"pX c #1B00BC",
+"aX c #1D0077",
+"sX c #820081",
+"dX c #0002B0",
+"fX c #F8003D",
+"gX c #90BC51",
+"hX c #D30A00",
+"jX c #70001B",
+"kX c #ED006E",
+"lX c #7300F7",
+"zX c #0000BF",
+"xX c #0E007A",
+"cX c #A10031",
+"vX c #F70051",
+"bX c #BF0000",
+"nX c #26E653",
+"mX c #B317F4",
+"MX c #F76241",
+"NX c #BF0000",
+"BX c #006342",
+"VX c #800131",
+"CX c #1A6C51",
+"ZX c #820100",
+"AX c #00003D",
+"SX c #00006E",
+"DX c #00A0F7",
+"FX c #005BBF",
+"GX c #37021B",
+"HX c #30006E",
+"JX c #C8A0F7",
+"KX c #7D5BBF",
+"LX c #870234",
+"PX c #01000B",
+"IX c black",
+"UX c black",
+/* pixels */
+"                                                                ",
+"                                                                ",
+"                    r                                           ",
+"                    k r #.                                      ",
+"                    _ k _ > [                                   ",
+"                    r k k ^ A ^ 7                               ",
+"                     .H _ > ^ > > ^ 7                           ",
+"            ....    _ ( _ G G ^ > ^ > ^ 7                       ",
+"            Q Q ....    _ H [ G G A > > ^ A c                   ",
+"            u ` & & ....    ^ r 7 G G 7 7 [ Y k r               ",
+"        O.d     J T X.X.....    ^ V Y G G Z ; k k r             ",
+"        ) y d d     E T / / ....    A > Y G G _ #.k             ",
+"        C w ,.y O.d     U o $., ....  [ A > c _ t _             ",
+"        j ) ,.L : o.d O.    + 8 l i   Z Y [ ^ k  .(             ",
+"        1 w L <.B : : s O.d     l M   +.Z c 7 k _ h             ",
+"        1 L <.P : : :.q % O d W   a   0 +.Z 7 k _ k             ",
+"        L * 6 6 : :.q % ;.9 = W   o   - N ; c _ < _             ",
+"            B B : :.F % ;.b ;.#   u   &.; =.e _ H <             ",
+"                :.F *.S ;.@ 9 '   .   &.; g c k _ |             ",
+"                    m S 9 @ @ 4     $ &.; +.c _ k _             ",
+"                        S @ @ R   =.$ 0 ~ Z A _ | _             ",
+"                    { x     @ =   #.- $ ; X A k r r             ",
+"                    X Z 2 {     &.0 $ N e { [ _ k A             ",
+"                        x g ; D D ; ~ g { } G _ k k             ",
+"                            &.g g g 5 5 Z X X k A _             ",
+"                                0 5 ] Z Z 7 7 k r r             ",
+"                                    D Z A > [ _ k A             ",
+"                                        g [ A k k k             ",
+"                                            g k 7 #.            ",
+"                                                7 7             ",
+"                                                                ",
+"                                                                "
+};
diff -x CVS -urN scummvm.orig/backends/wince/images/DiskwFolder.xpm scummvm/backends/wince/images/DiskwFolder.xpm
--- scummvm.orig/backends/wince/images/DiskwFolder.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/DiskwFolder.xpm	2005-10-10 05:12:34.000000000 +0200
@@ -0,0 +1,294 @@
+/* XPM */
+static char *DiskwFolder_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 256 2",
+"   c black",
+".  c #050400",
+"X  c #0A0900",
+"o  c #090904",
+"O  c #0E0C05",
+"+  c #050D1C",
+"@  c #161001",
+"#  c #16140B",
+"$  c #1F1A09",
+"%  c #13243E",
+"&  c #231D08",
+"*  c #231E0E",
+"=  c #2E2507",
+"-  c #2D2509",
+";  c #302709",
+":  c #32290A",
+">  c #322A0C",
+",  c #342B0D",
+"<  c #3D320E",
+"1  c #38311B",
+"2  c #3D361A",
+"3  c #13294E",
+"4  c #022670",
+"5  c #022C72",
+"6  c #052D77",
+"7  c #02326E",
+"8  c #0B3D69",
+"9  c #033276",
+"0  c #023877",
+"q  c #0C347F",
+"w  c #083C7E",
+"e  c #11326B",
+"r  c #17336D",
+"t  c #20386A",
+"y  c #05436F",
+"u  c #0A4A75",
+"i  c #0B526D",
+"p  c #0F517A",
+"a  c #134364",
+"s  c #135C6A",
+"d  c #115E6C",
+"f  c #165A73",
+"g  c #185777",
+"h  c #1C557D",
+"j  c #136371",
+"k  c #15607D",
+"l  c #234D6A",
+"z  c #2F4F6D",
+"x  c #2B5468",
+"c  c #2F5669",
+"v  c #2B5570",
+"b  c #2A5576",
+"n  c #315265",
+"m  c #325567",
+"M  c #44380E",
+"N  c #4D3F0F",
+"B  c #443B1E",
+"V  c #453D1D",
+"C  c #50410F",
+"Z  c #54440D",
+"A  c #534413",
+"S  c #544512",
+"D  c #554815",
+"F  c #594912",
+"G  c #5A4B16",
+"H  c #5D4D15",
+"J  c #574C23",
+"K  c #6A550D",
+"L  c #635112",
+"P  c #675514",
+"I  c #665418",
+"U  c #6E5A13",
+"Y  c #6E5B18",
+"T  c #6F5C1B",
+"R  c #705C16",
+"E  c #765F11",
+"W  c #715E1D",
+"Q  c #63562E",
+"!  c #72601E",
+"~  c #75611A",
+"^  c #75611D",
+"/  c #796213",
+"(  c #7C6413",
+")  c #7A651D",
+"_  c #7C671E",
+"`  c #7E6819",
+"'  c #7F691E",
+"]  c #6F622F",
+"[  c #6D6135",
+"{  c #756221",
+"}  c #7A6724",
+"|  c #7B6825",
+" . c #77693A",
+".. c #7A6A31",
+"X. c #4E4E4E",
+"o. c #074D84",
+"O. c #0E4285",
+"+. c #0A5589",
+"@. c #114D81",
+"#. c #154E8A",
+"$. c #16508F",
+"%. c #195182",
+"&. c #1C5381",
+"*. c #175592",
+"=. c #1B5293",
+"-. c #1C5394",
+";. c #1C5494",
+":. c #1D5896",
+">. c #1C5E94",
+",. c #1E5B98",
+"<. c #1F5D99",
+"1. c #0E6291",
+"2. c #176284",
+"3. c #23538C",
+"4. c #215A99",
+"5. c #205E9B",
+"6. c #21619C",
+"7. c #21659E",
+"8. c #246DA2",
+"9. c #266EA4",
+"0. c #2865A2",
+"q. c #2C67A4",
+"w. c #2A6DA6",
+"e. c #2D6CA7",
+"r. c #2671A5",
+"t. c #2774A7",
+"y. c #2A77AA",
+"u. c #2F71AA",
+"i. c #2879A9",
+"p. c #337BAF",
+"a. c #3977B2",
+"s. c #3878B2",
+"d. c #3A78B4",
+"f. c #2D80B0",
+"g. c #3581B4",
+"h. c #3E87B9",
+"j. c #3B89BB",
+"k. c #3E89BD",
+"l. c #4484BF",
+"z. c #4588C1",
+"x. c #4A8FC2",
+"c. c #4B98CB",
+"v. c #5192CC",
+"b. c #589DCC",
+"n. c #529DD1",
+"m. c #569AD0",
+"M. c #65A5D0",
+"N. c #6EB2EB",
+"B. c #7CC3FA",
+"V. c #816915",
+"C. c #816919",
+"Z. c #856D19",
+"A. c #846C1D",
+"S. c #886F1B",
+"D. c #89701B",
+"F. c #89711D",
+"G. c #8C741E",
+"H. c #806B23",
+"J. c #836D20",
+"K. c #846E21",
+"L. c #867021",
+"P. c #887123",
+"I. c #8A7426",
+"U. c #8E7624",
+"Y. c #8B752B",
+"T. c #8D7628",
+"R. c #8F7825",
+"E. c #937A24",
+"W. c #90792A",
+"Q. c #917A2D",
+"!. c #937D2D",
+"~. c #967E2A",
+"^. c #987F23",
+"/. c #957F32",
+"(. c #957F35",
+"). c #837440",
+"_. c #897840",
+"`. c #9D842D",
+"'. c #998337",
+"]. c #998439",
+"[. c #9D873C",
+"{. c #9E893D",
+"}. c #A0872F",
+"|. c #A38B33",
+" X c #AC933B",
+".X c #B0973F",
+"XX c #948448",
+"oX c #9D8D4E",
+"OX c #9C8C53",
+"+X c #A18B40",
+"@X c #A28D41",
+"#X c #A89342",
+"$X c #A89345",
+"%X c #AA9445",
+"&X c #AC9747",
+"*X c #AA9549",
+"=X c #AC9748",
+"-X c #AF9947",
+";X c #AA994E",
+":X c #A19053",
+">X c #A39459",
+",X c #AB9A51",
+"<X c #B39C46",
+"1X c #B69F49",
+"2X c #B19E53",
+"3X c #B6A14F",
+"4X c #B8A147",
+"5X c #B8A048",
+"6X c #BBA34D",
+"7X c #BFA54B",
+"8X c #B6A15A",
+"9X c #B8A452",
+"0X c #BAA55D",
+"qX c #BFA852",
+"wX c #BDA95B",
+"eX c #BDA962",
+"rX c #C1A74A",
+"tX c #C5AB47",
+"yX c #C5AC4B",
+"uX c #C3AC52",
+"iX c #C4AE5B",
+"pX c #C8AD59",
+"aX c #CAB254",
+"sX c #CBB35A",
+"dX c #D1B559",
+"fX c #D3B851",
+"gX c #D4BA5C",
+"hX c #C7AF62",
+"jX c #C1AF6B",
+"kX c #C4B065",
+"lX c #CDB364",
+"zX c #D4BB64",
+"xX c #D2B869",
+"cX c #D0BA72",
+"vX c #DEC55A",
+"bX c #D6C067",
+"nX c #DBC364",
+"mX c #DBC36A",
+"MX c #D9C273",
+"NX c #E0C55E",
+"BX c #E5CB5E",
+"VX c #E3C764",
+"CX c #E0C76E",
+"ZX c #E3CA62",
+"AX c #E3CC69",
+"SX c #E2CC72",
+"DX c #E7D164",
+"FX c #F3DA77",
+"GX c #93DAFE",
+"HX c #DFCC88",
+"JX c #E4D089",
+"KX c #F1DC94",
+"LX c #C1C1C1",
+"PX c #D1F0FE",
+"IX c #FFFFFF",
+"UX c #FFFFFF",
+/* pixels */
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                                                ",
+"                                !.|                             ",
+"            jX>X. . .         D }.|.|.|                         ",
+"            HXJXhX,X@ X       } }.|. X.X}.}                     ",
+"          . KXMXmXmXaX;XX     W.`.`.`.`.`.`.                    ",
+"          . MXSXFXAXZXnXpX:X    { T.~.`.`.D                     ",
+"          . MXAXvXDXBXDXnXxXeXOX    { I.I.{                     ",
+"          o xXzXNXvXBXZXVXbXxXlXwXoX.   ! I.I.D                 ",
+"            cXlXnXfXZXfXnXdXCXmXzXhXwXoX    R.~.P.!             ",
+"            eXkXpXgXgXdXgXdXaXgXdXaXpXiX^.  K.U.E.E.L.W         ",
+"            0X8X0XiXqXpXuXuXgXaXfXyXdXuX^.. G ^ L.F.E.E.E.D     ",
+"            [  .).XX2X9XqXuXuXyXtXyXyXqX^..   , ) A.D.R.G.I     ",
+"                  # 1 Q _.3X6XuXrXrX7X<X^.. LXX.  J L.V.J.&     ",
+"                      o 2 ] =X#X4X5X1X-XE.. IXIXIX  Z.F.T       ",
+"            @.r.9.>.@.8     V *X&X%X%X$XG.  IXIXLX  Z.P.        ",
+"          i.g.h.p.7.6.,.#.    B ].@X@X{.F.  IXIXX.: C.!         ",
+"        f.j.M.b.x.u.6.:.%.O.    ..(.[.+XS.  IXLX  F '           ",
+"      1.i.c.PXGXm.s.0.;.h b %   J Y.'./.Z.  IXX.; R I           ",
+"      i.k.n.B.N.v.a.5.=.v m 3   * _ /.Q.V.  LX  L H.            ",
+"      i.y.k.z.l.d.q.;.&.c n e + O ~ T.Q.V.  X.= U I             ",
+"      t.9.9.w.e.0.4.3.g x z q   o G P.K.(     Z I               ",
+"      +.8.7.6.<.:.-.f s l t 4   O A ~ P.E   = H I               ",
+"        o.7.5.2.k j d i a r     $ > Y C.K   M I                 ",
+"          *.$.#.p u y 7 6         < N P /   S D                 ",
+"            0 w 9 5 5 4               M ` D C -                 ",
+"                                          D D                   ",
+"                                                                ",
+"                                                                "
+};
diff -x CVS -urN scummvm.orig/backends/wince/images/MonkeyLandscape.xpm scummvm/backends/wince/images/MonkeyLandscape.xpm
--- scummvm.orig/backends/wince/images/MonkeyLandscape.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/MonkeyLandscape.xpm	2005-10-09 16:23:46.000000000 +0200
@@ -0,0 +1,54 @@
+/* XPM */
+static char *MonkeyLandscape_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 16 1",
+"  c #040204",
+". c #8C8D8C",
+"X c #464746",
+"o c #C9CAC9",
+"O c #2A2B2A",
+"+ c #A8A9A8",
+"@ c #2C7EB4",
+"# c #6D6D6D",
+"$ c #F8F6F8",
+"% c #2C5E7C",
+"& c #1A1B1A",
+"* c #999A99",
+"= c #5C5D5C",
+"- c #D5D7D5",
+"; c #363436",
+": c #B5B4B5",
+/* pixels */
+"                                ",
+"                                ",
+"                                ",
+"                                ",
+"                                ",
+"                         ;*#    ",
+"                        ;*:#    ",
+"                       ;*+*:#   ",
+"  O &:*              &#.**#+=   ",
+"  O  ::*           &#..+:.#*#   ",
+"  O&.#+:*        O.....*# O.+#  ",
+"  ;..#.::*     &.+:::.#+&  &#=  ",
+"  ;X.=*+....*::o--$$o*XX;O;XX&  ",
+"  O;. #...*::---$$$$$*;;%@;=#&  ",
+"  O    *:::--$$$$$$$$-+;O;;#.O  ",
+"      &#:---$$$$$$$$$$$*;;#o*;& ",
+"       #:::---$$$$$$$$--+:*:.O& ",
+"  O   #..**:-----$$$$:-+=.:#;;& ",
+"  ;;.=#+...*::::::--o*.:::+#;&  ",
+"  OX.#+::+......*:::+.##...#;&  ",
+"  ;;.#::*      O.....**:# ;*#   ",
+"  O &.+*         &=#...+:+.+=   ",
+"  O  &*             &#..*+*:#   ",
+"  O                   ;...++#   ",
+"                       O**:#    ",
+"                         ;*#    ",
+"                                ",
+"                                ",
+"                                ",
+"                                ",
+"                                ",
+"                                "
+};
diff -x CVS -urN scummvm.orig/backends/wince/images/MonkeyPortrait.xpm scummvm/backends/wince/images/MonkeyPortrait.xpm
--- scummvm.orig/backends/wince/images/MonkeyPortrait.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/MonkeyPortrait.xpm	2005-10-09 16:23:56.000000000 +0200
@@ -0,0 +1,54 @@
+/* XPM */
+static char *MonkeyPortrait_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 16 1",
+"  c #040204",
+". c #8C8D8C",
+"X c #464746",
+"o c #C9CAC9",
+"O c #2A2B2A",
+"+ c #A8A9A8",
+"@ c #2C7EB4",
+"# c #6D6D6D",
+"$ c #F8F6F8",
+"% c #2C5E7C",
+"& c #1A1B1A",
+"* c #999A99",
+"= c #5C5D5C",
+"- c #D5D7D5",
+"; c #363436",
+": c #B5B4B5",
+/* pixels */
+"                                ",
+"               &&&              ",
+"          #=&&O;O;&&            ",
+"       #=#+#X#.*.;;;#=##        ",
+"     ##:+*.&X=#o:###*+:+##      ",
+"     *:*##O ;;;#*:+.;.*+:*      ",
+"     ;*+*.  O@;;:.:. ++.*;      ",
+"      ;**:#&;%O;+=:.#:*.*       ",
+"       ;.+*+X;;*-+:#:+..O       ",
+"        #..#X;+$--.#*..;        ",
+"        &...**-$$:*.*.#         ",
+"         #.:o$$$$$o+..&         ",
+"         &.:$$$$$$-:.#          ",
+"          .:$$$$$$-:.=          ",
+"          O+-$$$$$::.&          ",
+"           .-$$$$-:*.           ",
+"           &o-$$$-:.O           ",
+"            :-$$$-:.            ",
+"            :-$$--:.            ",
+"            *:-$--:.            ",
+"            .:---:*.            ",
+"            .*:-:*..            ",
+"           *..:-:*.+            ",
+"          *:..:::..:*           ",
+"         *::+.*##.+::*          ",
+"        *:+.*# & ##+:+*         ",
+"        ::##=     =##.&         ",
+"        & ....    ...&          ",
+"          &.X;    ;X;           ",
+"        OOO;;OO  O;O;OOO        ",
+"                                ",
+"                                "
+};
diff -x CVS -urN scummvm.orig/backends/wince/images/SoundOff.xpm scummvm/backends/wince/images/SoundOff.xpm
--- scummvm.orig/backends/wince/images/SoundOff.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/SoundOff.xpm	2005-10-09 16:24:33.000000000 +0200
@@ -0,0 +1,294 @@
+/* XPM */
+static char *SoundOff_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 256 2",
+"   c #040204",
+".  c #848274",
+"X  c #C4C2B4",
+"o  c #444234",
+"O  c #64624C",
+"+  c #A4A294",
+"@  c #6C6E6C",
+"#  c #949284",
+"$  c #E4E2DC",
+"%  c #54523C",
+"&  c #B4B2A4",
+"*  c #746E54",
+"=  c #D4D2CC",
+"-  c #949294",
+";  c #545654",
+":  c #64625C",
+">  c #A4A6A4",
+",  c #7C7A6C",
+"<  c #8C8A7C",
+"1  c #B4B6B4",
+"2  c #2C2A24",
+"3  c #444644",
+"4  c #F4F2EC",
+"5  c #5C5A44",
+"6  c #CCCAC4",
+"7  c #9C9A94",
+"8  c #848684",
+"9  c #74766C",
+"0  c #9C9A8C",
+"q  c #DCDAD4",
+"w  c #6C6A64",
+"e  c #ACAEA4",
+"r  c #34362C",
+"t  c #84827C",
+"y  c #CCC6C4",
+"u  c #4C4A3C",
+"i  c #6C6A54",
+"p  c #ACAA9C",
+"a  c #54564C",
+"s  c #BCBAAC",
+"d  c #645E54",
+"f  c #646264",
+"g  c #7C7A7C",
+"h  c #9C9E9C",
+"j  c #C4C2BC",
+"k  c #646254",
+"l  c #A4A29C",
+"z  c #94928C",
+"x  c #ECEAE4",
+"c  c #545244",
+"v  c #B4B2AC",
+"b  c #6C6E64",
+"n  c #8C8A84",
+"m  c #BCBEB4",
+"M  c #FCFAFC",
+"N  c #444634",
+"B  c #74726C",
+"V  c #DCD6D4",
+"C  c #5C5A5C",
+"Z  c #ACAAAC",
+"A  c #7C7A74",
+"S  c #343234",
+"D  c #4C4E44",
+"F  c #F4F2F4",
+"G  c #5C5A4C",
+"H  c #9C9E94",
+"J  c #747674",
+"K  c #E4DEDC",
+"L  c #ACAEAC",
+"P  c #3C3E3C",
+"I  c #84867C",
+"U  c #646664",
+"Y  c #C4C6BC",
+"T  c #A4A69C",
+"R  c #94968C",
+"E  c #ECEEEC",
+"W  c #545644",
+"Q  c #B4B6AC",
+"!  c #8C8E84",
+"~  c #1C1A14",
+"^  c #848674",
+"/  c #6C624C",
+"(  c #746E6C",
+")  c #74725C",
+"_  c #D4D6CC",
+"`  c #949694",
+"'  c #5C5A54",
+"]  c #6C665C",
+"[  c #ACAAA4",
+"{  c #7C7E6C",
+"}  c #BCBAB4",
+"|  c #2C2E2C",
+" . c #4C4A4C",
+".. c #CCCEC4",
+"X. c #7C766C",
+"o. c #9C9E8C",
+"O. c #DCDED4",
+"+. c #B4AEA4",
+"@. c #3C3A2C",
+"#. c #544E3C",
+"$. c #645E5C",
+"%. c #847E7C",
+"&. c #A49E9C",
+"*. c #6C6654",
+"=. c #747264",
+"-. c #C4BEBC",
+";. c #4C4634",
+":. c #F4F6F4",
+">. c #645E4C",
+",. c #A49E94",
+"<. c #8C867C",
+"1. c #6C6664",
+"2. c #CCC6BC",
+"3. c #ACA69C",
+"4. c #9C968C",
+"5. c #F4EEEC",
+"6. c #5C5644",
+"7. c #BCB6AC",
+"8. c #948E84",
+"9. c #81BF00",
+"0. c #7FF400",
+"q. c #16ED00",
+"w. c #377300",
+"e. c #270000",
+"r. c #00A80C",
+"t. c #004000",
+"y. c #00F951",
+"u. c #00BF00",
+"i. c #050000",
+"p. c #008000",
+"a. c #00F851",
+"s. c #008100",
+"d. c #006084",
+"f. c #000A2B",
+"g. c #000051",
+"h. c black",
+"j. c #000040",
+"k. c black",
+"l. c black",
+"z. c black",
+"x. c #00B800",
+"c. c #001900",
+"v. c #00F700",
+"b. c #00BF00",
+"n. c #E23210",
+"m. c #137E06",
+"M. c #F70000",
+"N. c #0E0000",
+"B. c #00F013",
+"V. c #00F805",
+"C. c #007300",
+"Z. c black",
+"A. c #E96D28",
+"S. c #4118EF",
+"D. c #F7F773",
+"F. c #BFBF00",
+"G. c #A4A750",
+"H. c #5C10A5",
+"J. c #0110F7",
+"K. c #007EBF",
+"L. c black",
+"P. c black",
+"I. c #510051",
+"U. c #0E0000",
+"Y. c #D41067",
+"T. c #747EA5",
+"R. c #C10FF7",
+"E. c #815EBF",
+"W. c #260000",
+"Q. c #180000",
+"!. c #F70051",
+"~. c #BF0000",
+"^. c #004643",
+"/. c #000200",
+"(. c black",
+"). c black",
+"_. c #800143",
+"`. c #7D0000",
+"'. c #000200",
+"]. c black",
+"[. c #9F5C7C",
+"{. c #0EFB2B",
+"}. c #020251",
+"|. c #120000",
+" X c #517F02",
+".X c #0E1600",
+"XX c #020000",
+"oX c #120000",
+"OX c #5813A2",
+"+X c #EDB028",
+"@X c #735FF7",
+"#X c #0001BF",
+"$X c #6C004C",
+"%X c #EF00EF",
+"&X c #706073",
+"*X c #810A00",
+"=X c #D00066",
+"-X c #3900B4",
+";X c #1D13F7",
+":X c #82B0BF",
+">X c #005F00",
+",X c #B50100",
+"<X c #8C6C51",
+"1X c #D17E00",
+"2X c #5863D5",
+"3X c #ED23B4",
+"4X c #7337F7",
+"5X c #0017BF",
+"6X c #0E0000",
+"7X c #A100DE",
+"8X c #F76076",
+"9X c #BF0A81",
+"0X c #70006E",
+"qX c #ED0018",
+"wX c #7300F8",
+"eX c #0080BF",
+"rX c #6CF8B2",
+"tX c #EF8118",
+"yX c #705CF8",
+"uX c #81FBBF",
+"iX c #C40200",
+"pX c #3700DE",
+"aX c #1D0076",
+"sX c #820081",
+"dX c #0002B4",
+"fX c #B50037",
+"gX c #8C6051",
+"hX c #D10A00",
+"jX c #70001B",
+"kX c #ED006E",
+"lX c #7300F7",
+"zX c #0000BF",
+"xX c #0E007E",
+"cX c #A1002B",
+"vX c #F70051",
+"bX c #BF0000",
+"nX c #267D53",
+"mX c #B3A3F4",
+"MX c #F70841",
+"NX c #BF0200",
+"BX c #005EEC",
+"VX c #800113",
+"CX c #1A6E51",
+"ZX c #820100",
+"AX c #00003D",
+"SX c #00006E",
+"DX c #0098F7",
+"FX c #0058BF",
+"GX c #A7021B",
+"HX c #10006E",
+"JX c #C898F7",
+"KX c #7D58BF",
+"LX c #870280",
+"PX c #010007",
+"IX c black",
+"UX c black",
+/* pixels */
+"                                                                ",
+"                                                                ",
+"                      L                                         ",
+"                      $ K [                                     ",
+"                      5.:.E q >                                 ",
+"                      4 4 4 $ $ V h                             ",
+"                      4 :.p = O.V $ ..7                         ",
+"                      4 E ) ) p ....= 6 Y `                     ",
+"                      x 5.i ..i i + q 6 2.j m z                 ",
+"                      K q i *.2.Y k / o.j j X } } n             ",
+"                      _ 6 >.Q >.>.m j >.>.0 } } 7.Q             ",
+"                          W 6.v v >.>.m m 5 5 7.Q v             ",
+"                      h 3   ` % W v s G 5 } 6.7.e &             ",
+"                    h  .  ~ o ` l 6.6.} Q 6.c v & e             ",
+"                  1 3   | 2 t u #.e & 6.6.Q % e +.+             ",
+"                  z   J  .@.o z l W 6.Q & c c 3.[ H             ",
+"                  -   J d D ] u % +.v c c +.#.e H #             ",
+"                  z   w U : z 7 t c c & v #.u 3.+ <             ",
+"                  8   w B @ z H [ e < #.#.e u 4.7 .             ",
+"                  A   U b t z T p +.+.e I u o 0 0 ,             ",
+"                  f   ' U , z l p [ e p p ,., + # =.            ",
+"                  ;   P : %.z 7 T [ 3.T + + 0 ,.I ]             ",
+"            z - ; P     P B n ,.l p + ,.+ ,.z # < k             ",
+"          8 F Z @ P         ] R + + l ,.H 0 8.# < d             ",
+"          8 Z Z @ |             b T + ,.0 # ! . . d             ",
+"          ; @ @ S S                 b 0 o.8.. 8.. a             ",
+"            P S |                       b ! # . . u             ",
+"                                            u , 9 u             ",
+"                                                u r             ",
+"                                                2               ",
+"                                                                ",
+"                                                                "
+};
diff -x CVS -urN scummvm.orig/backends/wince/images/SoundOn.xpm scummvm/backends/wince/images/SoundOn.xpm
--- scummvm.orig/backends/wince/images/SoundOn.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/SoundOn.xpm	2005-10-09 16:24:28.000000000 +0200
@@ -0,0 +1,294 @@
+/* XPM */
+static char *SoundOn_xpm[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 256 2",
+"   c #040204",
+".  c #848274",
+"X  c #C4C2B4",
+"o  c #444234",
+"O  c #FC6A6C",
+"+  c #64624C",
+"@  c #A4A294",
+"#  c #6C6E6C",
+"$  c #949284",
+"%  c #E4E2DC",
+"&  c #54523C",
+"*  c #B4B2A4",
+"=  c #746E54",
+"-  c #D4D2CC",
+";  c #949294",
+":  c #545654",
+">  c #64625C",
+",  c #7C7A6C",
+"<  c #8C8A7C",
+"1  c #A4A6A4",
+"2  c #BC0204",
+"3  c #B4B6B4",
+"4  c #444644",
+"5  c #F4F2EC",
+"6  c #5C5A44",
+"7  c #2C2A24",
+"8  c #CCCAC4",
+"9  c #9C9A94",
+"0  c #848684",
+"q  c #74766C",
+"w  c #9C9A8C",
+"e  c #DCDAD4",
+"r  c #6C6A64",
+"t  c #84827C",
+"y  c #CCC6C4",
+"u  c #4C4A3C",
+"i  c #6C6A54",
+"p  c #ACAA9C",
+"a  c #54564C",
+"s  c #BCBAAC",
+"d  c #645E54",
+"f  c #646264",
+"g  c #7C7A7C",
+"h  c #ACAEA4",
+"j  c #34362C",
+"k  c #9C9E9C",
+"l  c #C4C2BC",
+"z  c #646254",
+"x  c #A4A29C",
+"c  c #94928C",
+"v  c #ECEAE4",
+"b  c #545244",
+"n  c #B4B2AC",
+"m  c #6C6E64",
+"M  c #8C8A84",
+"N  c #BCBEB4",
+"B  c #FCFAFC",
+"V  c #444634",
+"C  c #74726C",
+"Z  c #DCD6D4",
+"A  c #5C5A5C",
+"S  c #7C7A74",
+"D  c #4C4E44",
+"F  c #F4F2F4",
+"G  c #5C5A4C",
+"H  c #9C9E94",
+"J  c #747674",
+"K  c #E4DEDC",
+"L  c #84867C",
+"P  c #646664",
+"I  c #ACAEAC",
+"U  c #3C3E3C",
+"Y  c #C4C6BC",
+"T  c #A4A69C",
+"R  c #94968C",
+"E  c #ECEEEC",
+"W  c #545644",
+"Q  c #B4B6AC",
+"!  c #8C8E84",
+"~  c #1C1A14",
+"^  c #848674",
+"/  c #6C624C",
+"(  c #746E6C",
+")  c #74725C",
+"_  c #D4D6CC",
+"`  c #949694",
+"'  c #5C5A54",
+"]  c #6C665C",
+"[  c #7C7E6C",
+"{  c #ACAAA4",
+"}  c #FC0204",
+"|  c #BCBAB4",
+" . c #4C4A4C",
+".. c #2C2E2C",
+"X. c #CCCEC4",
+"o. c #7C766C",
+"O. c #9C9E8C",
+"+. c #DCDED4",
+"@. c #544E3C",
+"#. c #645E5C",
+"$. c #847E7C",
+"%. c #B4AEA4",
+"&. c #3C3A2C",
+"*. c #A49E9C",
+"=. c #6C6654",
+"-. c #747264",
+";. c #C4BEBC",
+":. c #4C4634",
+">. c #F4F6F4",
+",. c #645E4C",
+"<. c #A49E94",
+"1. c #8C867C",
+"2. c #6C6664",
+"3. c #CCC6BC",
+"4. c #ACA69C",
+"5. c #9C968C",
+"6. c #F4EEEC",
+"7. c #5C5644",
+"8. c #BCB6AC",
+"9. c #948E84",
+"0. c #7FF400",
+"q. c #16ED00",
+"w. c #377300",
+"e. c #270000",
+"r. c #00A80C",
+"t. c #004000",
+"y. c #00F951",
+"u. c #00BF00",
+"i. c #050000",
+"p. c #008000",
+"a. c #00F851",
+"s. c #008100",
+"d. c #0004B0",
+"f. c #000A37",
+"g. c #000051",
+"h. c black",
+"j. c #000040",
+"k. c black",
+"l. c black",
+"z. c black",
+"x. c #00B800",
+"c. c #001900",
+"v. c #00F700",
+"b. c #00BF00",
+"n. c #E23214",
+"m. c #13BE05",
+"M. c #F70000",
+"N. c #0E0000",
+"B. c #00F014",
+"V. c #00F805",
+"C. c #007300",
+"Z. c black",
+"A. c #E96D28",
+"S. c #4118EF",
+"D. c #F7F773",
+"F. c #BFBF00",
+"G. c #A4A750",
+"H. c #5C10A5",
+"J. c #0110F7",
+"K. c #00BEBF",
+"L. c black",
+"P. c black",
+"I. c #510051",
+"U. c #0E0000",
+"Y. c #D41067",
+"T. c #74BEA5",
+"R. c #C197F7",
+"E. c #8155BF",
+"W. c #260000",
+"Q. c #180000",
+"!. c #F70051",
+"~. c #BF0000",
+"^. c #004643",
+"/. c #000200",
+"(. c black",
+"). c black",
+"_. c #800143",
+"`. c #BD0000",
+"'. c #000200",
+"]. c black",
+"[. c #9F5C7C",
+"{. c #0EFB2B",
+"}. c #020251",
+"|. c #120000",
+" X c #517F02",
+".X c #0E1600",
+"XX c #020000",
+"oX c #120000",
+"OX c #5813A2",
+"+X c #EDB028",
+"@X c #735FF7",
+"#X c #0001BF",
+"$X c #6C004C",
+"%X c #EF00EF",
+"&X c #700473",
+"*X c #810A00",
+"=X c #D00066",
+"-X c #3900B4",
+";X c #1D13F7",
+":X c #82B0BF",
+">X c #005F00",
+",X c #B50100",
+"<X c #8C6C51",
+"1X c #D1BE00",
+"2X c #5863D5",
+"3X c #ED23B4",
+"4X c #7337F7",
+"5X c #0017BF",
+"6X c #0E0000",
+"7X c #A100DE",
+"8X c #F70476",
+"9X c #BF0A81",
+"0X c #70006E",
+"qX c #ED0018",
+"wX c #7300F8",
+"eX c #0080BF",
+"rX c #6CF8B2",
+"tX c #EF8118",
+"yX c #705CF8",
+"uX c #81FBBF",
+"iX c #C40200",
+"pX c #3700DE",
+"aX c #1D0076",
+"sX c #820081",
+"dX c #0002E0",
+"fX c #B50043",
+"gX c #8C0451",
+"hX c #D10A00",
+"jX c #70001B",
+"kX c #ED006E",
+"lX c #7300F7",
+"zX c #0000BF",
+"xX c #0E007E",
+"cX c #A1002B",
+"vX c #F70051",
+"bX c #BF0000",
+"nX c #261F53",
+"mX c #B3DDF4",
+"MX c #F70841",
+"NX c #BF0200",
+"BX c #006A88",
+"VX c #80012B",
+"CX c #1A6B51",
+"ZX c #820100",
+"AX c #00003D",
+"SX c #00006E",
+"DX c #0098F7",
+"FX c #0058BF",
+"GX c #A7021B",
+"HX c #10006E",
+"JX c #C898F7",
+"KX c #BD58BF",
+"LX c #870280",
+"PX c #010007",
+"IX c black",
+"UX c black",
+/* pixels */
+"                                                                ",
+"                                                                ",
+"                      I                                         ",
+"                      % K {                                     ",
+"                      6.>.E e 1                                 ",
+"                      5 5 5 % % Z k                             ",
+"                      5 >.p - +.Z % X.9                         ",
+"                      5 E ) ) p X.X.- 8 Y `                     ",
+"                      v 6.i X.i i @ e 8 3.l N c                 ",
+"                      K e i =.3.Y z / O.l l X | | M             ",
+"                      _ 8 ,.Q ,.,.N l ,.,.w | | 8.Q             ",
+"                          W 7.n n ,.,.N N 6 6 8.Q n             ",
+"                      k 4   ` & W n s G 6 | 7.8.h *             ",
+"                    k  .  ~ o ` x 7.7.| Q 7.b n * h             ",
+"                  3 4   ..7 t u @.h * 7.7.Q & h %.@             ",
+"                  c   J  .&.o c x W 7.Q * b b 4.{ H             ",
+"                  ;   J d D ] u & %.n b b %.@.h H $             ",
+"                  c   r P > c 9 t b b * n @.u 4.@ <             ",
+"                  0   r C # c H { h < @.@.h u 5.9 .             ",
+"                  g   P m t c T p %.%.h L u o w w ,             ",
+"                  >   ' P , c x p { h p p <., @ $ -.            ",
+"                  :   U > $.c 9 T { 4.T @ @ w <.L ]             ",
+"          O       O     U C M <.x p @ <.@ <.c $ < z             ",
+"        2 } O   2 } O       ] R @ @ x <.H w 9.$ < d             ",
+"          2 } 2 } O             m T @ <.w $ ! . . d             ",
+"            2 } O                   m w O.9.. 9.. a             ",
+"          2 } } } O                     m ! $ . . u             ",
+"        2 } O   2 } O                       u , q u             ",
+"          O       O                             u j             ",
+"                                                7               ",
+"                                                                ",
+"                                                                "
+};
diff -x CVS -urN scummvm.orig/backends/wince/images/keyboard.xpm scummvm/backends/wince/images/keyboard.xpm
--- scummvm.orig/backends/wince/images/keyboard.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/keyboard.xpm	2005-10-11 23:43:59.000000000 +0200
@@ -0,0 +1,73 @@
+/* XPM */
+static char *keyboard_xpm[] = {
+"320 40 30 1",
+"  c #000000",
+". c #C8C8C8",
+"+ c #C0C0C0",
+"@ c #B8B8B8",
+"# c #B0B0B0",
+"$ c #909090",
+"% c #989898",
+"& c #888888",
+"* c #686868",
+"= c #404040",
+"- c #808080",
+"; c #585858",
+"> c #484848",
+", c #505050",
+"' c #606060",
+") c #282828",
+"! c #707070",
+"~ c #787878",
+"{ c #303030",
+"] c #D8D8D8",
+"^ c #A8A8A8",
+"/ c #A0A0A0",
+"( c #D0D0D0",
+"_ c #F8F8F8",
+": c #E0E0E0",
+"< c #F0F0F0",
+"[ c #E8E8E8",
+"} c #202020",
+"| c #181818",
+"1 c #383838",
+"    .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$    .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$                  .+@@@@@@@@#$                  .+@@@@@@@@#$    ",
+"   ##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=  ##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=                ##%&$$$$$$$$*=                ##%&$$$$$$$$*=   ",
+"   $-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)  $-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)                $-;>>,,,,,;'>)                $-;>>,,,,,;'>)   ",
+"   &!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)  &!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)                &!,,,;;''''!,)                &!,,,;;''''!,)   ",
+"   &~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)  &~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)                &~,;'*****!~,)                &~,;'*****!~,)   ",
+"   &~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')  &~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')                &~''*!~~~~-&')                &~''*!~~~~-&')   ",
+"   &-'*!;>>>!&%'{&-'*>>>>>'&%'{&-'*!;>>>'&%'{&-'*>>>>>'&%'{&-'*>>>>>>-%'{&-'*>>>>>,&%'{&-'*!'>>>>-%'{&-'*>>>~>>;%'{&-'*!,>>~-&%'{&-'*!-,>>*&%'{&-'*>>>*>>,$'{&-'*>>>~--&%'{&-'>=>,>>>;%'{  &-'*!~>>,-&%'{&-'**>>>;-&%'{&-'**>>>'-&%'{&-'*!-'>>*&%'{&-'*'>>>>*&%'{                &-'*!-'!--&%'{                &-'*!;>'--&%'{   ",
+"   &-*!~>.]^>$/*{&-*,!]]].!'/*{&-*!=*.]+;*/*{&-*,!]]]+;!/*{&-*,!]]]]%,/*{&-*,!]]]]>$/*{&-*!=*+]]%,$*{&-*,!]%,%]~~*{&-*!;~]%,&$/*{&-*!~->]#>$/*{&-*,!]%>#]/;*{&-*,!]%,&&$/*{&-,!(]~%]],/*{  &-*!'>%]>&$/*{&-**=^].&>$/*{&-*!=^].!'$/*{&-*!~';.#>$/*{&-*!=#]]#>$/*{                &-*!~>~',&$/*{                &-*!,,.>&&$/*{   ",
+"   &-*!;~_:<>$/*{&-*,-_.^_],/*{&-*';<]#_.,/*{&-*,-_.#_+,/*{&-*,-_.^^&*/*{&-*,-_.^^>$/*{&-*';<<^]_/;*{&-*,-_^>^_&!*{&-*!,-_^>&$/*{&-*!~~;_]>$/*{&-*,-_^#_#,$*{&-*,-_^>&&$/*{&->~__%.__;$*{  &-**,#__;-$/*{&-*=%_%+<>$/*{&-*>&<$:.>$/*{&-*!'>._]>$/*{&-**,_]#%,$/*{                &-*!'*_:>&$/*{                &-*=;]$>>>,/*{   ",
+"   &-*!=#_%_$;/*{&-*,-_:]_$;/*{&-*=/_$>$~*/*{&-*,-_^>]_;$*{&-*,-_:]]~*/*{&-*,-_.^&'$/*{&-*=%_$'$%!-*{&-*,-_:]:_&!*{&-*!,-_^>&$/*{&-*!~';_]>$/*{&-*,-_<_]>~/*{&-*,-_^>&&$/*{&->~_]+:]_;$*{  &-*,-.._;-$/*{&-**,-;.:>$/*{&-*!=>%<%,$/*{&-*!=##]]>$/*{&-*;*_<_%>$/*{                &-*!=^:_&'$/*{                &-'>[_____,%*{   ",
+"   &-*!=:<^_+,/*{&-*,-_.^<],/*{&-*=/_&>$!;/*{&-*,-_^>]_;$*{&-*,-_.^^'-/*{&-*,-_:]%,$/*{&-*=/_&^__^;*{&-*,-_:]:_&!*{&-*!,-_^>&$/*{&-**=~'_]>$/*{&-*,-__]_&,/*{&-*,-_^>>~$/*{&->~_#]_#_;$*{  &-*!,>^_;-$/*{&-*!,,]<!,$/*{&-*!,>%]]>$/*{&-*>&<&]]'-/*{&-**,$~#_;&/*{                &-*!=:_.+>$/*{                &-*=,.$>>>,/*{   ",
+"   &-*,!____<,/*{&-*,-_+&:_;$*{&-*,!_#$_:,/*{&-*,-_+$<.,/*{&-*,-_+&&'-/*{&-*,-_^>,-$/*{&-*,!_.&#_^;*{&-*,-_^>^_&!*{&-*!,-_^>&$/*{&-*=%_#_.>$/*{&-*,-_+>]<;~*{&-*,-_.^^>$/*{&->~_%_]^_;$*{  &-*!~>^_;-$/*{&-**,]<%&>$/*{&-*,!]'#<>$/*{&-*=/____^,/*{&-*,!]'+:>$/*{                &-*>&____'-/*{                &-*!;>.;-&$/*{   ",
+"   &-*=#_&;^_$'*{&-*,-___<%,/*{&-*!=%<_:!;/*{&-*,-___]!*/*{&-*,-____^,/*{&-*,-_^>&&$/*{&-*!=%:_<+*&*{&-*,-_^>^_&!*{&-*!,-_^>&$/*{&-**,._:!'$/*{&-*,-_^>&_+;*{&-*,-____;&/*{&->~_-:+^_;$*{  &-*!~>^_;-$/*{&-*=%____;&/*{&-**,._<%>$/*{&-*'=,;]]>-/*{&-**,._<%,$/*{                &-*!=,>>;>$/*{                &-*!~'>'&&$/*{   ",
+"   &-*;=,>~>;,/*{&-*!=,;;>>&/*{&-*!!>>;>,$/*{&-*!=,;;>;$/*{&-*!=,;;;>-/*{&-*!=,>~&&$/*{&-*!!>>;>>!/*{&-*!=,>~>;,/*{&-*!~>;>~&$/*{&-*!;>;>,&$/*{&-*!=,>~>;;~*{&-*!=,;;;>$/*{&-*=,>>>>;,/*{  &-*!~!>;>&$/*{&-**=,;;;>$/*{&-*!;>;>>-$/*{&-*!~~;>>;$/*{&-*!;>;>>-$/*{                &-*!~~&&-&$/*{                &-*!~-&&&&$/*{   ",
+"   &-*!~~&&&-$/*{&-*!~~--&&$/*{&-*!~-&-&&$/*{&-*!~~--&&$/*{&-*!~~---&$/*{&-*!~~&&&&$/*{&-*!~-&-&&$/*{&-*!~~&&&-$/*{&-*!~--&&&$/*{&-*!~--&&&$/*{&-*!~~&&&-&/*{&-*!~~---&$/*{&-*!!-&&&-$/*{  &-*!~-&-&&$/*{&-*!~~---&$/*{&-*!~--&&&$/*{&-*!~-&&&&$/*{&-*!~--&&&$/*{                &-*!~-&&&&$/*{                &-*!~-&&&&$/*{   ",
+"   $-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{  $-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{                $-*!~-&&&&$/*{                $-*!~-&&&&$/*{   ",
+"   $&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{  $&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{                $&!~-&$$$$%^*{                $&!~-&$$$$%^*{   ",
+"   --!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{  --!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{                --!-$%////^/;{                --!-$%////^/;{   ",
+"   ,>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)}  ,>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)}                ,>===>>>>>,=)}                ,>===>>>>>,=)}   ",
+"    }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}    }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}                  }||||||||}}}                  }||||||||}}}    ",
+"    .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$    .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$  .+@@@@@@@@#$    .+@@@@@@@@#$  (+@@@@@@@+#&  .+@@@@@@@@#$    .+@@@@@@@@#$    ",
+"   ##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=  ##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=##%&$$$$$$$$*=  ##%&$$$$$$$$*=#.#/////////!=##%&$$$$$$$$*=  ##%&$$$$$$$$*=   ",
+"   $-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)  $-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)$-;>>,,,,,;'>)  $-;>>,,,,,;'>)$$*'''*****!,}$-;>>,,,,,;'>)  $-;>>,,,,,;'>)   ",
+"   &!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)  &!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)&!,,,;;''''!,)  &!,,,;;''''!,)--'**!!!!!!~,}&!,,,;;''''!,)  &!,,,;;''''!,)   ",
+"   &~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)  &~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)&~,;'*****!~,)  &~,;'*****!~,)--**!~~~~~~-;}&~,;'*****!~,)  &~,;'*****!~,)   ",
+"   &~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')  &~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')&~''*!~~~~-&')  &~''*!~~~~-&')-&!!~------&')&~''*!~~~~-&')  &~''*!~~~~-&')   ",
+"   &-'*>>>~,>;%'{&-'*!'>>>'&%'{&-'*>>>>>'&%'{&-'*!'>>>'&%'{&-'*>>>>>,&%'{&-'**>>>,-&%'{&-'*=>>>>>!%'{&-'*>>>~>>;%'{&-'*=>,~>>;%'{&-;1=,>>,,>''{&-'*>>>*>>'%'{&-'*=>>'>>;%'{&-'*>>>>>>-%'{  &-'*!,>>,-&%'{&-'*=>>>>,&%'{&-'**>>>'-&%'{&-'**>>>'-&%'{&-'**>>>'-&%'{  &-'*!---!-&%'{&&!~-~---&&$')&-'*!,----&%'{  &-'*!--->>>%'{   ",
+"   &-*,!]%>~]~~*{&-*!=*+]+!,/*{&-*,!]]]+;&/*{&-*!=*+]+!,/*{&-*,!]]]]$,/*{&-**=^]]$>$/*{&-*=%]]]]#,/*{&-*,!]%,%]~~*{&-*=%]~,%]&!*{&-1/(,^]$&]%={&-*,!]%>#.;$*{&-*=%]%>+]~~*{&-*,!]]]]%,/*{  &-*!=$]]&'$/*{&-*=%]]]]>$/*{&-*!=^].!;$/*{&-**=^]+;'$/*{&-*!=%].!'$/*{  &-*!~-'>'>$/*{&&~~>;>>;>$$')&-*!=$>>!&$/*{  &-*!~-&&>_,%*{   ",
+"   &-*,-__~&_&!*{&-*';<:^:<*&*{&-*,-_.+_%,/*{&-*';<:^:<*&*{&-*,-_.^<<,/*{&-*=%_+]_!~/*{&-*,-^:_^%,/*{&-*,-_^>^_&!*{&-*>&_%>._*&*{&-1/_$<_.#_$>{&-*!=+<%_^,/*{&-**,:_#_+,/*{&-*';^^]_$;/*{  &-*,!_^#+>$/*{&-*,-^^<.>$/*{&-*,-_^:]>$/*{&-*=%_$].>$/*{&-*,-_%].>$/*{  &-*!>>&+_;&/*{&&~*'____$;$')&-**,_:^!>$/*{  &-*!~'>'>_,%*{   ",
+"   &-*,-_<]$_&!*{&-*=%_$>$_^;*{&-*,-_+^_^,/*{&-*=%_$>$_^;*{&-*,-_.^<:,/*{&-*>&_]#$>$/*{&-*!,>]_;,&/*{&-*,-_^>^_&!*{&-*!=:]'_+,/*{&->~_]_:<]_''{&-*!;'<_]>-/*{&-*!>-__<;!/*{&-*!*>%_#>$/*{  &-*=/_#]!>$/*{&-*!,>%<;'$/*{&-**,::_%,$/*{&-*=/_'+_;&/*{&-*=/_;^_;&/*{  &-*';:_._>$/*{&&~~>+._:>$$')&-*!=__:_~*/*{  &-*!,,.>>_,%*{   ",
+"   &-*,-_%<]_&!*{&-*=/_&'&_^;*{&-*,-___.;-/*{&-*=/_&'&_^;*{&-*,-_:<_~;/*{&-*,=$#:_$;/*{&-*!~>]_;-$/*{&-*,-_^>^_&!*{&-*!=#_^_$;/*{&-'>___%__];*{&-*!;'<_]>-/*{&-*!~>+_%>$/*{&-*!=%_#>!$/*{  &-*=/_%+<>$/*{&-*!~>:#>&$/*{&-*=%_$.:>$/*{&-*',]_]_;&/*{&-*=/_;^_;&/*{  &-*,!_:__>$/*{&&~~;-_:^>$$')&-*!=_._:'-/*{  &-*=;]$>>_,%*{   ",
+"   &-*,-_&%__&!*{&-*,!_.&._&!*{&-*,-_^;>'$/*{&-*,!_..__&!*{&-*,-_^&_+,/*{&-*=._%^_%,/*{&-*!~>]_;-$/*{&-*;*_]&]_!-*{&-*!'*_::>$/*{&-*=(_]'__^;*{&-**=.<^_^,/*{&-*!~>^_&'$/*{&-*,!_]&&'-/*{  &-*>&_~#<>$/*{&-*!,-_&'&$/*{&-*=/_!+<>$/*{&-*;*^!.]>$/*{&-*>&_~+:>$/*{  &-*!=*^:_;&/*{&&~~->:_!!$$')&-**,_+&>,$/*{  &-'>[_____,%*{   ",
+"   &-*,-_&>#_&!*{&-*!=%:_:%,/*{&-*,-_^>&&$/*{&-*!=%:_<</;*{&-*,-_^>+_&!*{&-*,*]__.;&/*{&-*!~>]_;-$/*{&-*!=%<_<%,/*{&-*!~>]_#>$/*{&-*=#_^>]_$'*{&-*=%_%>#_~~*{&-*!~>^_&'$/*{&-*=/____^,/*{  &-*!=#_<%>$/*{&-*!>%_;-&$/*{&-*',._<%>$/*{&-*';]_:!;$/*{&-*!=+_<$,$/*{  &-*!~*>>$>$/*{&&~~-,'~>&$$')&-*!='>'&&$/*{  &-*=,.$>>>,/*{   ",
+"   &-*!=,>!>;,/*{&-*!!>>;>,&/*{&-*!=,>~&&$/*{&-*!!>>;>'!-*{&-*!=,>*>;,/*{&-*!,>;;>'$/*{&-*!~,>;>&$/*{&-*!!>>;>>&/*{&-*!~,>;>!$/*{&-*;=,>;>;,/*{&-**=,>!>;,/*{&-*!~!>;>&$/*{&-*'=,;;;>-/*{  &-*!'>;>>-$/*{&-*!!>;>&&$/*{&-*!;>;>>-$/*{&-*!,>;>,&$/*{&-*!;>;>>&$/*{  &-*!~-&&;&$/*{&&~~-&~*&&$$')&-*!~!&&&&$/*{  &-*!;>.;-&$/*{   ",
+"   &-*!~~&&&-$/*{&-*!~-&-&&$/*{&-*!~~&&&&$/*{&-*!~-&-&~~/*{&-*!~~&&&-$/*{&-*!~---&&$/*{&-*!~-&-&&$/*{&-*!~-&-&&$/*{&-*!~-&-&&$/*{&-*!~~&&&-$/*{&-*!~~&&&-$/*{&-*!~-&-&&$/*{&-*!~~---&$/*{  &-*!~--&&&$/*{&-*!~--&&&$/*{&-*!~--&&&$/*{&-*!~--&&&$/*{&-*!~--&&&$/*{  &-*!~-&&&&$/*{&&~~-&&&&&$$')&-*!~-&&&&$/*{  &-*!~'>'&&$/*{   ",
+"   $-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{  $-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{$-*!~-&&&&$/*{  $-*!~-&&&&$/*{&&~~-&&&&&$$')$-*!~-&&&&$/*{  $-*!~-&&&&$/*{   ",
+"   $&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{  $&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{$&!~-&$$$$%^*{  $&!~-&$$$$%^*{&$~--&$$$$$%*)$&!~-&$$$$%^*{  $&!~-&$$$$%^*{   ",
+"   --!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{  --!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{--!-$%////^/;{  --!-$%////^/;{--~&&$$$$$%$>)--!-$%////^/;{  --!-$%////^/;{   ",
+"   ,>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)}  ,>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)},>===>>>>>,=)}  ,>===>>>>>,=)},=1=======>{)),>===>>>>>,=)}  ,>===>>>>>,=)}   ",
+"    }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}    }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}  }||||||||}}}    }||||||||}}}  }})))))))){)  }||||||||}}}    }||||||||}}}    "};
diff -x CVS -urN scummvm.orig/backends/wince/images/panelbig.xpm scummvm/backends/wince/images/panelbig.xpm
--- scummvm.orig/backends/wince/images/panelbig.xpm	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/images/panelbig.xpm	2005-10-11 02:23:35.000000000 +0200
@@ -0,0 +1,192 @@
+/* XPM */
+static char *panelbig_xpm[] = {
+"320 40 149 2",
+"  	c #000000",
+". 	c #000200",
+"+ 	c #565755",
+"@ 	c #6A6C69",
+"# 	c #8A8C89",
+"$ 	c #CBCECA",
+"% 	c #D9DBD7",
+"& 	c #1C1D1B",
+"* 	c #2E302D",
+"= 	c #D3D5D2",
+"- 	c #C5C7C4",
+"; 	c #E0E2DF",
+"> 	c #151614",
+", 	c #3D3F3C",
+"' 	c #BEC1BD",
+") 	c #B8BAB7",
+"! 	c #919390",
+"~ 	c #1D1D16",
+"{ 	c #A9ABA8",
+"] 	c #646563",
+"^ 	c #7A7C79",
+"/ 	c #222421",
+"( 	c #494A48",
+"_ 	c #737572",
+": 	c #828481",
+"< 	c #5D5F5C",
+"[ 	c #9B9D99",
+"} 	c #A3A5A2",
+"| 	c #B0B2AE",
+"1 	c #353734",
+"2 	c #292A28",
+"3 	c #3A3B39",
+"4 	c #413E32",
+"5 	c #2C2A1F",
+"6 	c #46542E",
+"7 	c #798E4A",
+"8 	c #90AE54",
+"9 	c #A0C156",
+"0 	c #849E52",
+"a 	c #536726",
+"b 	c #181E0A",
+"c 	c #22221B",
+"d 	c #54523B",
+"e 	c #95AF61",
+"f 	c #94B33A",
+"g 	c #212F0A",
+"h 	c #13180F",
+"i 	c #181A0C",
+"j 	c #252217",
+"k 	c #353524",
+"l 	c #536133",
+"m 	c #6D823F",
+"n 	c #638525",
+"o 	c #2F4502",
+"p 	c #445522",
+"q 	c #37451F",
+"r 	c #252A13",
+"s 	c #596C3D",
+"t 	c #6F6941",
+"u 	c #B3EE43",
+"v 	c #A7CF3A",
+"w 	c #8DBB00",
+"x 	c #93B409",
+"y 	c #8CB404",
+"z 	c #9EC02B",
+"A 	c #9AC10C",
+"B 	c #84A329",
+"C 	c #7CB422",
+"D 	c #B5D84D",
+"E 	c #ACCD39",
+"F 	c #4F720C",
+"G 	c #B5DB66",
+"H 	c #96B226",
+"I 	c #70A103",
+"J 	c #95D009",
+"K 	c #7CA008",
+"L 	c #7BC705",
+"M 	c #648007",
+"N 	c #7CB032",
+"O 	c #A7C61A",
+"P 	c #9DBD05",
+"Q 	c #ADC62A",
+"R 	c #769A00",
+"S 	c #293A07",
+"T 	c #1F2614",
+"U 	c #8A7C4E",
+"V 	c #608E06",
+"W 	c #424441",
+"X 	c #94C107",
+"Y 	c #86A804",
+"Z 	c #A2C16B",
+"` 	c #8FC031",
+" .	c #3B550A",
+"..	c #40540B",
+"+.	c #6AA305",
+"@.	c #73B900",
+"#.	c #4C7015",
+"$.	c #9FE424",
+"%.	c #659805",
+"&.	c #7AB800",
+"*.	c #A0CD20",
+"=.	c #8EC206",
+"-.	c #2F4713",
+";.	c #416217",
+">.	c #719607",
+",.	c #7AAB02",
+"'.	c #506F1D",
+").	c #6EAC00",
+"!.	c #5D9802",
+"~.	c #6C9700",
+"{.	c #549107",
+"].	c #A3DD24",
+"^.	c #567200",
+"/.	c #4F514E",
+"(.	c #86D600",
+"_.	c #121107",
+":.	c #33430A",
+"<.	c #74A71E",
+"[.	c #304D07",
+"}.	c #778E36",
+"|.	c #558900",
+"1.	c #66A709",
+"2.	c #516208",
+"3.	c #1F2809",
+"4.	c #475F01",
+"5.	c #528102",
+"6.	c #29360B",
+"7.	c #0C0F0B",
+"8.	c #17170F",
+"9.	c #74B30F",
+"0.	c #5D840A",
+"a.	c #80B702",
+"b.	c #080B07",
+"c.	c #111310",
+"d.	c #335902",
+"e.	c #7FB718",
+"f.	c #8EC143",
+"g.	c #655E47",
+"h.	c #3D3F2D",
+"i.	c #4F7805",
+"j.	c #4D8303",
+"k.	c #283E03",
+"l.	c #65941E",
+"m.	c #497904",
+"n.	c #97C54F",
+"o.	c #3F6404",
+"p.	c #444533",
+"q.	c #83A43A",
+"r.	c #426C01",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + @ # $ % & . . . @ + * & . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = = - ; ; > . . , ; = ' ) ! & . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ~ . . . . . . . . . . . . . . . . . > ; ; { ; % . . . ] ; ; ; ; ; ^ . . . . . . . . . . . . . . . / > . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . & ( _ @ . . . . . . . . . . & ; ' { ; % . . . ^ ; ; ; ; ; { . . . . . . . . . . . . . . . ' ) : # < / . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . [ % % % ; = [ . . . . . . . . . , ; } % % | . . / | ; ; ; ; % = . . . . . . . . . . . . . . @ % = = % - , . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . , % % % % ) } . . . . . . . . . + % } = % ! . . * ) % % % % = = . . . . . . . . . . . . . & ' = | % = ) * . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ) = | | = = < . . . . . . . . ] [ [ = $ < . . ] = = [ | { { | 1 . > . . . . . . . . . . ) = $ { = = | * . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ] - { | $ = | & . . . . . . . ! ' - $ ' , . . ^ $ - } $ = $ = ] . . . . . . . . . . . . ! [ ! { $ = { . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . / ! ! | - - $ ] . . . . . . . } $ $ $ { 2 . . : - } ) $ $ - $ # . . . . . . . . . . . 3 - $ $ $ $ $ ! . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > - - - - - ' . . . . . > 2 | - - - : . . . { - - ' - - - - ) ( . . . . . . . . . ( ' - - - - - - _ . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . } ' ' ' ' ) 1 . . . . . , ) ' ) ' ] . . . | ' ' ' ' ' ) ' ) : . . . . . . . . . ! ' ' ' ' ) ' ' < . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > ! ) ) ) ) { ( . . . . ] ) ) # # / . . . | ) ) ) ) ) ) ) | { . . . . . . . . / ) ) ) ) ) ! # # 3 . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 } { | | | # . . . . _ | { ^ | & . . . | | | | # | | | | | . . . . . . . . ] | | | | | # | | , . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . > . . . . . . . . . . > . . . > . . . . . . . . . . . . . > . . > . > . . . > . . . . . . . . . . . . > > . . . . . . . . . . . . . . . . . . . _ } { { 2 . . . # } ! # { . . . > { } { } & # } { } } & . . . . . . ] { { { { } [ # } { . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . 5 6 7 8 9 0 a b > . . . . c d e 9 9 f a g . . . . h i j k g . . l 0 0 m n o . 6 l l p q > 6 l r > > j s l 6 k . > . ~ l l l l . c l p r . > 6 t l k . . > ] } } ] . . . # } # # } . . . 2 } } } } . ] } } } } 1 . . . . . . ! } } } : # ! ^ } } . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . r u v w x y z A B C i . > q D E A x y y y y F i > q G E H I J . . n u x K L M . N O P Q B f Q O O H 9 D Q P O Q R S . T O Q O O 9 D v O Q U G D E O Q x V . . [ [ ] ( . . ! ! : : ! . . . , [ [ [ ! . & [ [ ! ! _ . . . . . W [ [ [ ! * ! _ # [ [ . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . 0 X w Y R K H Y R L b > i Z X x x Y y x P ` L  .. ..u A Y +.@.. . #.$.y R L M > %.&.y P P P *.P X Q Q X A y X X @.&.> i $.X O P Q Q A X z D E Q Q z =.Y &.h . _ ^ # ^ . . # # _ ] ] . . . ( # # # # . . # # ] ] ] . . . . . ] # # # _ * # @ : # # . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . -.$.X y H @.;.g ..@.%.. > 9 u H R >.V M >.Y Y ,.$.o '.$.A K ).!.. . 6 $.x H L ~.. {.P x ~.>.K X P X y K ~.x P X x K L h h ].*.x K Y x O A O x R K Y P X ,.!.^.. / @ _ ^ * . ^ ^ ^ _ /.. . . /._ _ ^ ] . . ] ^ + _ _ , . . . ] _ _ _ + . * _ + ] _ _ . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . -.(.=.X X X ^.~ _.^.:.. . u *.>.R <.[.T r R M ).(.M }.u x K @.|.> .  .].y R @.!.> |.y x >.1.,.^.z A x >.K 2.2.w X K =.3.b ].v H >.V 4.P y A K B K 4.Y w H >.V . & ] _ _ ( > ] _ @ _ 3 . . . ] _ _ @ < . . < _ + _ _ + . . 3 ] _ _ _ 2 . 3 _ ] ] _ _ . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . h 5.w X P P P E z ^.T . . u A >.+.6.. . 7.g 6.h 8.> I $.z >.9.F > . q (.A Y L C . 0.a.Y ~.&.F . V X y N &.. 7.].A K a.o i ].Q <.%.[.> +.J w R 1.[.. #.].Y >.@.. . ( ] ] ] + ] ] ] ] & . . > ] ] ] ] 4 . . / ] ( ] ] ] . . ] ] ] ] + . . 3 ] ( < ] ] . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . b x y A P P E Q y >.> . J E R I r . . > 7.> 7.b.c.N J y B +.d.. > q *.y Y &.+.. 0.z y >.9.F . ^.y H ~.&.> 7.J v K <..._.].O K ~.... V *.P R K 6.. ..].H R a.. . ( ] ] ] < ] ] + + . . . & ] ] ] ] * . . . < ( ] < < . > ] ] ] ] 3 . . , ( ( < < + . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . 8.o M e.C ` w ~.I r . =.f.y 1.6.. . 7.g.l T _.> N =.a.K !.o . . q z y >.).I . F y ).V K ;.. '.a.Y V <.7.7.f.=.B !.:.8.=.z V V S > ^.=.y >.%.T . l *.K V {.. . , + + + + ( , ( , . . . , + ( ( 3 > . . . * , + + + 3 ( + + /.2 . . . ( /.+ + /.( . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . h.c 7.i i.9.e.C ~.%.6.. a.&.9.9.i.8.> > Z 9 n ^.6.V @.9.1.Y  .. . q f.e.+.%.%.. '.9.+.j.!. .. ;.9.+.V !.c.7.f.f.V %.k.8.` &.V l.S . '.9.).|.|.b . n C !.5.|.. . * /.( ( ( , ( ( * . . . , ( + ( ( . . . . > , /.( /.( /./.( ( . . . . ( /.( /.( ( . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . h.8 f.<.}.p 7 C 1.5.m.g . V 9.).9.C C 8 n.C V j.|.6.o.).1.9.1.C k p.n.C ).!.|.V . '.).+.j.{. .. 4.1.1.|.V 7.7.f.e.l.|.g h 9.1.V 5.g . #.).1.|.V i > q.C {.j.F . . . ( ( ( ( 1 ( , > . . . * * , , * . . . . . ( ( ( ( ( ( ( ( 1 . . . . , ( ( ( ( * . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . ;.N C f.C n.C C <.m.m.i .  .1.1.9.1.@.1.C {.j.5.r.. [.).).C C C n.n.C C 1.!.V {.> '.1.1.m.V o > a C 1.{.!.7.T C @.0.j.r h C 1.j.5.6.> '.C 1.j.V b . q.1.j.m.4.. . . 5 , * * , , , . . . . 3 , 3 1 . . . . . . , , , , , , , , > . . . . , , ( , 3 * . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . i o j.{.{.{.j.j.m.5.4.. . . 3.{.!.!.!.!.l.m.m.S . . . -.!.1.C +.l.!.1.1.1.!.j.|.. ;.V {.j.V :.. ;.1.!.j.j.. [.V l.m.j.h . {.{.|.m.3.. #.!.{.j.0.3.. |.j.m.m.[.. . . . 5 , , , 1 2 . . . . , 3 , . . . . . . . * , , 1 1 W 3 . . . . . . , , , , 3 / . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . .  .r.m.j.j.m.m.[.b > & . . o.m.{.{.m.j.i.#.. . . . h j.{.{.{.{.j.j.j.{.j.j.m.. [.m.m.m.0.:.. ..j.j.m.m.i -.m.m.r.|.. . j.m.i.j.r . d.5.j.m.m.b > r.i.F j.k.. . . . > 1 1 3 3 & . . . . 1 1 1 . . . . . . . . . 1 , , * & . . . . . . 1 1 1 * 2 & . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . b g o o S g . . . . . . . 3.4.#.r.4.k.b . . . . . 3.4.m.m.m.F g  .m.i.m.i.. g o :.[.6.b . k.o.o.o.o.. h 3.g :.[.. h :.[.o o . . [.o.o.o.o.3.. h 3.6.:.3.. . . . . 2 1 2 1 > . . . . 1 1 3 2 . . . . . . . . . . 1 1 . . . . . . . * 1 2 / * > . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > / & > . . . . . . . . . . . . . . . . . . . . / . . . . . . . * * 2 * * . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > . . . . . . . * * 2 2 * . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > & / 2 . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ",
+"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                "};
diff -x CVS -urN scummvm.orig/backends/wince/module.mk scummvm/backends/wince/module.mk
--- scummvm.orig/backends/wince/module.mk	1970-01-01 01:00:00.000000000 +0100
+++ scummvm/backends/wince/module.mk	2005-10-12 22:53:08.000000000 +0200
@@ -0,0 +1,35 @@
+MODULE := backends/wince
+
+MODULE_OBJS := \
+	backends/sdl/events.o \
+	backends/sdl/graphics.o \
+	backends/sdl/sdl.o \
+	backends/wince/CEkeys/EventsBuffer.o \
+	backends/wince/CEgui/GUIElement.o \
+	backends/wince/CEgui/ItemAction.o \
+	backends/wince/CEgui/ItemSwitch.o \
+	backends/wince/CEgui/Panel.o \
+	backends/wince/CEgui/PanelItem.o \
+	backends/wince/CEgui/PanelKeyboard.o \
+	backends/wince/CEgui/SDL_xpm.o \
+	backends/wince/CEgui/SDL_ImageResource.o \
+	backends/wince/CEgui/Toolbar.o \
+	backends/wince/CEgui/ToolbarHandler.o \
+	backends/wince/CEActionsPocket.o \
+	backends/wince/CEActionsSmartphone.o \
+	backends/wince/CELauncherDialog.o \
+	backends/wince/CEScaler.o \
+	backends/wince/CEDevice.o \
+	gui/Key.o \
+	gui/KeysDialog.o \
+	gui/Actions.o \
+	backends/wince/wince-sdl.o
+
+
+MODULE_DIRS += \
+	backends/sdl \
+	backends/wince 
+
+# We don't use the common.rules here on purpose
+OBJS := $(MODULE_OBJS) $(OBJS)
+#include $(srcdir)/common.rules
diff -x CVS -urN scummvm.orig/backends/wince/portdefs.h scummvm/backends/wince/portdefs.h
--- scummvm.orig/backends/wince/portdefs.h	2005-01-28 21:49:41.000000000 +0100
+++ scummvm/backends/wince/portdefs.h	2005-10-12 22:46:58.000000000 +0200
@@ -62,7 +62,9 @@
 #include <direct.h>
 #include <time.h>
 
+#ifndef OPIE_BACKEND
 void drawError(char*);
+#endif
 
 #define vsnprintf _vsnprintf
 
diff -x CVS -urN scummvm.orig/backends/wince/wince-sdl.cpp scummvm/backends/wince/wince-sdl.cpp
--- scummvm.orig/backends/wince/wince-sdl.cpp	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/wince-sdl.cpp	2005-10-12 23:56:23.000000000 +0200
@@ -37,20 +37,33 @@
 #include "gui/Actions.h"
 #include "CEActionsPocket.h"
 #include "CEActionsSmartphone.h"
-#include "ItemAction.h"
+#include "backends/wince/CEgui/ItemAction.h"
 #include "gui/KeysDialog.h"
 
 #include "gui/message.h"
 
 #include "sound/fmopl.h"
 
+#ifndef OPIE_BACKEND
 #include "ozone.h"
 #include "CEException.h"
+#endif
 
 #ifdef USE_VORBIS
+
+#ifdef USE_TREMOR
+#include <tremor/ivorbisfile.h>
+#else
 #include <vorbis/vorbisfile.h>
 #endif
 
+#endif
+
+#ifdef OPIE_BACKEND
+#include <qapplication.h>
+#endif
+
+
 using namespace CEGUI;
 
 // ********************************************************************************************
@@ -114,7 +127,22 @@
 
 // ********************************************************************************************
 
-// MAIN
+
+#ifdef OPIE_BACKEND
+// MAIN code for OPIE backend
+
+extern "C" int scummvm_main(GameDetector &gameDetector, int argc, char **argv);
+extern "C" int main(int argc, char *argv[]) {
+	CEDevice::init();
+	OSystem_WINCE3::initScreenInfos();
+	GUI::Actions::init(_gameDetector);
+	return scummvm_main(_gameDetector, argc, argv);
+}
+
+// ********************************************************************************************
+
+#else
+// MAIN code for WINCE backend
 
 extern "C" int scummvm_main(GameDetector &gameDetector, int argc, char **argv);
 
@@ -174,6 +202,8 @@
 	pumpMessages();
 }
 
+#endif
+
 // ********************************************************************************************
 
 int OSystem_WINCE3::getScreenWidth() {
@@ -185,6 +215,18 @@
 }
 
 void OSystem_WINCE3::initScreenInfos() {
+#ifdef OPIE_BACKEND
+	_isOzone = false;
+	// force landscape
+	if ( qApp->desktop()->width() > qApp->desktop()->height() ) {
+	    _platformScreenWidth = qApp->desktop()->width();
+    	    _platformScreenHeight = qApp->desktop()->height();
+	}
+	else {
+	    _platformScreenWidth = qApp->desktop()->height();
+    	    _platformScreenHeight = qApp->desktop()->width();
+	}
+#else
 	// Check if we're running Ozone
 	int result;
 	RawFrameBufferInfo frameBufferInfo;
@@ -195,6 +237,7 @@
 	// And obtain the real screen size
 	_platformScreenWidth = (result > 0 ? frameBufferInfo.cxPixels : GetSystemMetrics(SM_CXSCREEN));
 	_platformScreenHeight = (result > 0 ? frameBufferInfo.cyPixels : GetSystemMetrics(SM_CYSCREEN));
+#endif
 }
 
 bool OSystem_WINCE3::isOzone() {
@@ -214,6 +257,16 @@
 	_freeLook(false), _forcePanelInvisible(false), _toolbarHighDrawn(false), _zoomUp(false), _zoomDown(false),
 	_scalersChanged(false), _monkeyKeyboard(false), _lastKeyPressed(0)
 {
+
+
+	_screen = NULL;
+	_hwscreen = NULL;
+	_tmpscreen = NULL;
+	_tmpscreen2 = NULL;
+	_toolbarLow = NULL;
+	_toolbarHigh = NULL;
+
+
 	_isSmartphone = CEDevice::hasSmartphoneResolution();
 	memset(&_mouseCurState, 0, sizeof(_mouseCurState));
 	if (_isSmartphone) {
@@ -224,11 +277,11 @@
 	// Initialize global key mapping for Smartphones
 	GUI_Actions::Instance()->initInstanceMain(this);
 	GUI_Actions::Instance()->loadMapping();
-
+#ifndef OPIE_BACKEND
 	if (_isSmartphone) {
 		loadSmartphoneConfiguration();
 	}
-
+#endif
 
 }
 
@@ -617,7 +670,7 @@
 	desired.samples = 128;
 	desired.callback = private_sound_proc;
 	desired.userdata = param;
-
+#ifndef OPIE_BACKEND
 	// Add sound thread priority
 	if (!ConfMan.hasKey("sound_thread_priority")) {
 #ifdef SH3
@@ -630,6 +683,7 @@
 		thread_priority = ConfMan.getInt("sound_thread_priority");
 
 	desired.thread_priority = thread_priority;
+#endif
 
 	if (SDL_OpenAudio(&desired, NULL) != 0) {
 		return false;
@@ -822,7 +876,7 @@
 		return true;
 	}
 
-//#ifdef WIN32_PLATFORM_WFSP
+#ifdef WIN32_PLATFORM_WFSP
 	if (_isSmartphone) {
 		if (_screenWidth > 320)
 			error("Game resolution not supported on Smartphone");
@@ -835,7 +889,7 @@
 		initZones();
 		return true;
 	}
-//#endif
+#endif
 
 	return false;
 }
@@ -995,11 +1049,13 @@
 	displayWidth = _screenWidth * _scaleFactorXm / _scaleFactorXd;
 	displayHeight = _screenHeight * _scaleFactorYm / _scaleFactorYd;
 
+#ifndef OPIE_BACKEND
 	// FIXME
 	if (!(displayWidth > GetSystemMetrics(SM_CXSCREEN))) { // no rotation
 		displayWidth = GetSystemMetrics(SM_CXSCREEN);
 		displayHeight = GetSystemMetrics(SM_CYSCREEN);
 	}
+#endif
 
 	_hwscreen = SDL_SetVideoMode(displayWidth, displayHeight, 16, SDL_FULLSCREEN | SDL_SWSURFACE);
 	if (_hwscreen == NULL) {
@@ -1109,6 +1165,26 @@
 		SDL_FreeSurface(_tmpscreen);
 		_tmpscreen = NULL;
 	}
+
+	if (_tmpscreen2) {
+		SDL_FreeSurface(_tmpscreen2);
+		_tmpscreen2 = NULL;
+	}
+
+	if (_toolbarLow) {
+		SDL_FreeSurface(_toolbarLow);
+		_toolbarLow = NULL;
+	}
+
+	if (_toolbarHigh) {
+		SDL_FreeSurface(_toolbarHigh);
+		_toolbarHigh = NULL;
+	}
+	if (_overlayscreen) {
+		printf("SDL_FreeSurface(_overlayscreen);\n");
+		SDL_FreeSurface(_overlayscreen);
+		_overlayscreen = NULL;
+	}
 }
 
 void OSystem_WINCE3::hotswapGFXMode() {
@@ -1118,11 +1194,15 @@
 	// Keep around the old _screen & _tmpscreen so we can restore the screen data
 	// after the mode switch.
 	SDL_Surface *old_screen = _screen;
-	SDL_Surface *old_tmpscreen = _tmpscreen;
+	SDL_Surface *old_overlayscreen = _overlayscreen;
 
 	// Release the HW screen surface
 	SDL_FreeSurface(_hwscreen);
 
+	SDL_FreeSurface(_tmpscreen);
+	SDL_FreeSurface(_tmpscreen2);
+
+
 	// Release toolbars
 	free(_toolbarLow->pixels);
 	SDL_FreeSurface(_toolbarLow);
@@ -1139,11 +1219,11 @@
 
 	// Restore old screen content
 	SDL_BlitSurface(old_screen, NULL, _screen, NULL);
-	SDL_BlitSurface(old_tmpscreen, NULL, _tmpscreen, NULL);
+	SDL_BlitSurface(old_overlayscreen, NULL, _overlayscreen, NULL);
 
 	// Free the old surfaces
 	SDL_FreeSurface(old_screen);
-	SDL_FreeSurface(old_tmpscreen);
+	SDL_FreeSurface(old_overlayscreen);
 
 	// Blit everything to the screen
 	internUpdateScreen();
@@ -1415,6 +1495,10 @@
 		OSystem_SDL::drawMouse();
 }
 
+int16 OSystem_WINCE3::getPreferredGUIHeight() {
+    return ( _toolbarHandler.visible() ? _overlayHeight - 40 : _overlayHeight );
+}
+
 void OSystem_WINCE3::fillMouseEvent(Event &event, int x, int y) {
 	event.mouse.x = x;
 	event.mouse.y = y;
@@ -1525,8 +1609,10 @@
 
 	CEDevice::wakeUp();
 
+#ifndef OPIE_BACKEND
 	if (_isSmartphone)
 		currentTime = GetTickCount();
+#endif
 
 	while(SDL_PollEvent(&ev)) {
 		switch(ev.type) {
@@ -1639,8 +1725,8 @@
 		}
 	}
 
+#ifndef OPIE_BACKEND
 	// Simulate repeated key for Smartphones
-
 	if (!keyEvent) {
 		if (_isSmartphone) {
 
@@ -1653,17 +1739,19 @@
 			}
 		}
 	}
-
+#endif
 	return false;
 }
 
 void OSystem_WINCE3::quit() {
+#ifndef OPIE_BACKEND
 	fclose(stdout_file);
 	fclose(stderr_file);
 	if (gDebugLevel <= 0) {
 		DeleteFile(TEXT("\\scummvm_stdout.txt"));
 		DeleteFile(TEXT("\\scummvm_stderr.txt"));
 	}
+#endif
 	CEDevice::end();
 	OSystem_SDL::quit();
 }
diff -x CVS -urN scummvm.orig/backends/wince/wince-sdl.h scummvm/backends/wince/wince-sdl.h
--- scummvm.orig/backends/wince/wince-sdl.h	2005-07-30 23:10:56.000000000 +0200
+++ scummvm/backends/wince/wince-sdl.h	2005-10-12 23:49:02.000000000 +0200
@@ -26,11 +26,14 @@
 #include "common/scummsys.h"
 #include "common/system.h"
 #include "common/scaler.h"
+#include "base/gameDetector.h"
+
+
 #include "backends/intern.h"
 #include "backends/sdl/sdl-common.h"
 
-#include "CEgui.h"
-#include "CEkeys.h"
+#include "backends/wince/CEgui/CEGUI.h"
+#include "backends/wince/CEkeys/CEKeys.h"
 #include "CEDevice.h"
 #include "CEScaler.h"
 
@@ -74,7 +77,7 @@
 	void swap_zoom_up();
 	void swap_zoom_down();
 
-//#ifdef WIN32_PLATFORM_WFSP
+// #ifdef WIN32_PLATFORM_WFSP
 	// Smartphone actions
 
 	void initZones();
@@ -86,8 +89,9 @@
 	void move_cursor_left();
 	void move_cursor_right();
 	void switch_zone();
-//#endif
+// #endif
 
+	virtual int16 getPreferredGUIHeight();
 	static int getScreenWidth();
 	static int getScreenHeight();
 	static void initScreenInfos();
diff -x CVS -urN scummvm.orig/base/main.cpp scummvm/base/main.cpp
--- scummvm.orig/base/main.cpp	2005-09-17 12:27:34.000000000 +0200
+++ scummvm/base/main.cpp	2005-10-13 00:18:21.000000000 +0200
@@ -46,6 +46,14 @@
 #include "backends/wince/CELauncherDialog.h"
 #endif
 
+#ifdef OPIE_BACKEND
+#include "backends/wince/CELauncherDialog.h"
+#include "backends/wince/CEDevice.h"
+#include "backends/wince/wince-sdl.h"
+#include "gui/Actions.h"
+#endif
+
+
 #ifdef __DC__
 #include "backends/dc/DCLauncherDialog.h"
 #endif
@@ -260,7 +268,7 @@
 	// Setup a dummy palette, for the mouse cursor
 	setupDummyPalette(system);
 
-#if defined(_WIN32_WCE)
+#if defined(_WIN32_WCE) || defined(OPIE_BACKEND)
 	CELauncherDialog dlg(detector);
 #elif defined(__DC__)
 	DCLauncherDialog dlg(detector);
@@ -319,7 +327,7 @@
 	return result;
 }
 
-#ifdef _WIN32_WCE
+#if defined(_WIN32_WCE) || defined(OPIE_BACKEND)
 extern "C" int scummvm_main(GameDetector &detector, int argc, char *argv[]) {
 #elif defined(__PLAYSTATION2__) || defined(__PSP__)
 extern "C" int scummvm_main(int argc, char *argv[]) {
@@ -407,8 +415,10 @@
 
 	// Parse the command line information
 #ifndef _WIN32_WCE
+#ifndef OPIE_BACKEND
 	GameDetector detector;
 #endif
+#endif
 
 #ifdef __SYMBIAN32__
 	// init keymap support here: we wanna move this somewhere else?
diff -x CVS -urN scummvm.orig/common/stdafx.h scummvm/common/stdafx.h
--- scummvm.orig/common/stdafx.h	2005-09-30 23:45:41.000000000 +0200
+++ scummvm/common/stdafx.h	2005-10-13 00:11:47.000000000 +0200
@@ -145,4 +145,22 @@
 #define MAXPATHLEN 256
 #endif
 
+#ifdef OPIE_BACKEND
+#define WORD int
+#define DWORD long
+
+#define VK_BACK 8
+#define VK_SPACE 32
+#define VK_ESCAPE 27
+#define TRUE true
+#define FALSE false
+
+#endif
+
+#if defined(_WIN32_WCE) || defined(OPIE_BACKEND)
+#define		KEY_ALL_SKIP	3457
+
+#endif
+
+
 #endif
diff -x CVS -urN scummvm.orig/common/system.cpp scummvm/common/system.cpp
--- scummvm.orig/common/system.cpp	2005-09-03 20:15:47.000000000 +0200
+++ scummvm/common/system.cpp	2005-10-13 00:30:32.000000000 +0200
@@ -48,7 +48,7 @@
 	return OSystem_X11_create();
 #elif defined(__MORPHOS__)
 	return OSystem_MorphOS_create();
-#elif defined(_WIN32_WCE)
+#elif defined(_WIN32_WCE) || defined(OPIE_BACKEND)
 	return OSystem_WINCE3_create();
 #elif defined(__GP32__)	// ph0x
 	return OSystem_GP32_create();
diff -x CVS -urN scummvm.orig/common/system.h scummvm/common/system.h
--- scummvm.orig/common/system.h	2005-07-30 23:10:58.000000000 +0200
+++ scummvm/common/system.h	2005-10-12 23:54:23.000000000 +0200
@@ -489,6 +489,19 @@
 	 */
 	virtual int16 getOverlayWidth()   { return getWidth(); }
 
+	/**
+	 * Return the preferred height of the gui.
+	 * @see getOverlayHeight
+	 */
+	virtual int16 getPreferredGUIHeight()  { return getOverlayHeight(); }
+
+	/**
+	 * Return the preferred width of the gui.
+	 * @see getOverlayWidth
+	 */
+	virtual int16 getPreferredGUIWidth()   { return getOverlayWidth(); }
+
+
 	virtual int screenToOverlayX(int x) { return x; }
 	virtual int screenToOverlayY(int y) { return y; }
 	virtual int overlayToScreenX(int x) { return x; }
diff -x CVS -urN scummvm.orig/configure scummvm/configure
--- scummvm.orig/configure	2005-10-11 20:09:52.000000000 +0200
+++ scummvm/configure	2005-10-12 23:59:57.000000000 +0200
@@ -1241,6 +1241,14 @@
 		LIBS="$LIBS `$_sdlconfig --libs`"
 		MODULES="$MODULES backends/sdl"
 		;;
+	opie)
+		find_sdlconfig
+		INCLUDES="$INCLUDES `$_sdlconfig --cflags`"
+		LIBS="$LIBS `$_sdlconfig --libs`"
+		MODULES="$MODULES backends/wince"
+		DEFINES="$DEFINES -DOPIE_BACKEND -DSMALL_SCREEN_DEVICE -DSCUMM_NEED_ALIGNMENT"
+		MODULE_DIRS="$MODULE_DIRS backends/wince"
+		;;
 	x11)
 		INCLUDES="$INCLUDES -I/usr/X11R6/include"
 		LIBS="$LIBS -lpthread -lXext -lX11"
diff -x CVS -urN scummvm.orig/gui/Actions.cpp scummvm/gui/Actions.cpp
--- scummvm.orig/gui/Actions.cpp	2005-07-30 23:11:00.000000000 +0200
+++ scummvm/gui/Actions.cpp	2005-10-12 23:40:44.000000000 +0200
@@ -19,13 +19,13 @@
  *
  */
 
-#include "stdafx.h"
+#include "common/stdafx.h"
 #include "gui/Actions.h"
 #include "gui/message.h"
 #include "scumm/scumm.h"
 #include "common/config-manager.h"
 
-#ifdef _WIN32_WCE
+#if defined(OPIE_BACKEND) || defined(_WIN32_WCE)
 	#include "backends/wince/CEActionsPocket.h"
 	#include "backends/wince/CEActionsSmartphone.h"
 #elif defined(__SYMBIAN32__)
@@ -55,6 +55,8 @@
 		CEActionsPocket::init(detector);
 	else
 		CEActionsSmartphone::init(detector);
+#elif defined(OPIE_BACKEND)
+	CEActionsPocket::init(detector);
 #elif defined(__SYMBIAN32__)
 	SymbianActions::init(detector);
 #endif
diff -x CVS -urN scummvm.orig/gui/Key.cpp scummvm/gui/Key.cpp
--- scummvm.orig/gui/Key.cpp	2005-07-05 22:22:37.000000000 +0200
+++ scummvm/gui/Key.cpp	2005-10-12 23:37:24.000000000 +0200
@@ -19,7 +19,7 @@
  *
  */
 
-#include "stdafx.h"
+#include "common/stdafx.h"
 #include "gui/Key.h"
 
 namespace GUI {
diff -x CVS -urN scummvm.orig/gui/KeysDialog.cpp scummvm/gui/KeysDialog.cpp
--- scummvm.orig/gui/KeysDialog.cpp	2005-07-30 23:11:00.000000000 +0200
+++ scummvm/gui/KeysDialog.cpp	2005-10-12 23:39:31.000000000 +0200
@@ -19,15 +19,18 @@
  *
  */
 
-#include "stdafx.h"
+#include "common/stdafx.h"
 #include "gui/KeysDialog.h"
 #include "gui/Actions.h"
+#ifndef OPIE_BACKEND
 #include <sdl_keyboard.h>
+#endif
 
-#ifdef _WIN32_WCE
-#include "CEDevice.h"
+#if defined(_WIN32_WCE) || defined(OPIE_BACKEND)
+#include "backends/wince/CEDevice.h"
 #endif
 
+
 namespace GUI {
 
 /*
diff -x CVS -urN scummvm.orig/gui/PopUpWidget.cpp scummvm/gui/PopUpWidget.cpp
--- scummvm.orig/gui/PopUpWidget.cpp	2005-08-22 19:25:03.000000000 +0200
+++ scummvm/gui/PopUpWidget.cpp	2005-10-12 23:51:40.000000000 +0200
@@ -78,7 +78,7 @@
 	// FIXME - OSystem should send out notification messages when the screen
 	// resolution changes... we could generalize CommandReceiver and CommandSender.
 
-	const int screenH = g_system->getOverlayHeight();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	// HACK: For now, we do not do scrolling. Instead, we draw the dialog
 	// in two columns if it's too tall.
diff -x CVS -urN scummvm.orig/gui/about.cpp scummvm/gui/about.cpp
--- scummvm.orig/gui/about.cpp	2005-09-17 00:18:46.000000000 +0200
+++ scummvm/gui/about.cpp	2005-10-12 23:52:29.000000000 +0200
@@ -76,8 +76,8 @@
 
 	int i;
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	int outerBorder;
 
diff -x CVS -urN scummvm.orig/gui/browser.cpp scummvm/gui/browser.cpp
--- scummvm.orig/gui/browser.cpp	2005-07-30 23:11:01.000000000 +0200
+++ scummvm/gui/browser.cpp	2005-10-12 23:53:18.000000000 +0200
@@ -132,8 +132,8 @@
 BrowserDialog::BrowserDialog(const char *title, bool dirBrowser)
 	: Dialog(0, 0, 320, 200) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	GUI::WidgetSize ws;
 	int buttonHeight;
diff -x CVS -urN scummvm.orig/gui/chooser.cpp scummvm/gui/chooser.cpp
--- scummvm.orig/gui/chooser.cpp	2005-07-30 23:11:01.000000000 +0200
+++ scummvm/gui/chooser.cpp	2005-10-12 23:51:24.000000000 +0200
@@ -33,8 +33,8 @@
 ChooserDialog::ChooserDialog(const String &title, const String &buttonLabel, int height)
 	: Dialog(8, (200 - height) / 2, 320 - 2 * 8, height) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	GUI::WidgetSize ws;
 	int buttonWidth, buttonHeight;
diff -x CVS -urN scummvm.orig/gui/console.cpp scummvm/gui/console.cpp
--- scummvm.orig/gui/console.cpp	2005-10-08 21:40:47.000000000 +0200
+++ scummvm/gui/console.cpp	2005-10-12 23:52:16.000000000 +0200
@@ -52,8 +52,8 @@
 	: Dialog(0, 0, 1, 1),
 	_widthPercent(widthPercent), _heightPercent(heightPercent) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 	
 	_font = FontMan.getFontByUsage(Graphics::FontManager::kConsoleFont);
 
diff -x CVS -urN scummvm.orig/gui/launcher.cpp scummvm/gui/launcher.cpp
--- scummvm.orig/gui/launcher.cpp	2005-08-18 17:21:58.000000000 +0200
+++ scummvm/gui/launcher.cpp	2005-10-12 23:53:03.000000000 +0200
@@ -139,8 +139,8 @@
 EditGameDialog::EditGameDialog(const String &domain, GameSettings target)
 	: OptionsDialog(domain, 10, 40, 320 - 2 * 10, 140) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	_w = screenW - 2 * 10;
 
@@ -491,8 +491,8 @@
 LauncherDialog::LauncherDialog(GameDetector &detector)
 	: Dialog(0, 0, 320, 200), _detector(detector) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	const int hBorder = 10;
 
diff -x CVS -urN scummvm.orig/gui/message.cpp scummvm/gui/message.cpp
--- scummvm.orig/gui/message.cpp	2005-07-30 23:11:01.000000000 +0200
+++ scummvm/gui/message.cpp	2005-10-12 23:51:07.000000000 +0200
@@ -37,8 +37,8 @@
 MessageDialog::MessageDialog(const Common::String &message, const char *defaultButton, const char *altButton)
 	: Dialog(30, 20, 260, 124) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	GUI::WidgetSize ws;
 	int buttonWidth, buttonHeight;
diff -x CVS -urN scummvm.orig/gui/options.cpp scummvm/gui/options.cpp
--- scummvm.orig/gui/options.cpp	2005-10-09 00:02:53.000000000 +0200
+++ scummvm/gui/options.cpp	2005-10-12 23:50:54.000000000 +0200
@@ -486,8 +486,8 @@
 GlobalOptionsDialog::GlobalOptionsDialog()
 	: OptionsDialog(Common::ConfigManager::kApplicationDomain, 10, 40, 320 - 2 * 10, 140) {
 
-	const int screenW = g_system->getOverlayWidth();
-	const int screenH = g_system->getOverlayHeight();
+	const int screenW = g_system->getPreferredGUIWidth();
+	const int screenH = g_system->getPreferredGUIHeight();
 
 	GUI::WidgetSize ws;
 	int buttonWidth, buttonHeight;
diff -x CVS -urN scummvm.orig/scumm/dialogs.cpp scummvm/scumm/dialogs.cpp
--- scummvm.orig/scumm/dialogs.cpp	2005-10-08 23:25:09.000000000 +0200
+++ scummvm/scumm/dialogs.cpp	2005-10-12 23:58:14.000000000 +0200
@@ -45,7 +45,7 @@
 #endif
 
 #ifdef SMALL_SCREEN_DEVICE
-#include "KeysDialog.h"
+#include "gui/KeysDialog.h"
 #endif
 
 using GUI::CommandSender;
diff -x CVS -urN scummvm.orig/scumm/input.cpp scummvm/scumm/input.cpp
--- scummvm.orig/scumm/input.cpp	2005-09-24 07:26:12.000000000 +0200
+++ scummvm/scumm/input.cpp	2005-10-13 00:36:51.000000000 +0200
@@ -37,9 +37,6 @@
 #include "scumm/sound.h"
 
 
-#ifdef _WIN32_WCE
-#define		KEY_ALL_SKIP	3457
-#endif
 
 namespace Scumm {
 
@@ -150,7 +147,7 @@
 
 		case OSystem::EVENT_LBUTTONDOWN:
 			_leftBtnPressed |= msClicked|msDown;
-#if defined(_WIN32_WCE) || defined(PALMOS_MODE)
+#if defined(_WIN32_WCE) || defined(PALMOS_MODE) || defined(OPIE_BACKEND)
 			_mouse.x = event.mouse.x;
 			_mouse.y = event.mouse.y;
 
@@ -164,7 +161,7 @@
 
 		case OSystem::EVENT_RBUTTONDOWN:
 			_rightBtnPressed |= msClicked|msDown;
-#if defined(_WIN32_WCE) || defined(PALMOS_MODE)
+#if defined(_WIN32_WCE) || defined(PALMOS_MODE) || defined(OPIE_BACKEND)
 			_mouse.x = event.mouse.x;
 			_mouse.y = event.mouse.y;
 
@@ -339,7 +336,7 @@
 		return;
 	}
 
-#ifdef _WIN32_WCE
+#if defined(OPIE_BACKEND) || defined(_WIN32_WCE)
 	if (_lastKeyHit == KEY_ALL_SKIP) {
 		// Skip cutscene
 		if (smushMode) {
