summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authordsainty <dsainty>2002-12-31 06:59:51 +0000
committerdsainty <dsainty>2002-12-31 06:59:51 +0000
commitab6c09ec943bc5e19832d4748b153b5ebdd8b909 (patch)
treeb55a34a61c8d38a7f035faaba10c8f20259793ff /emulators
parentf2a24dfaef085f09a609b1ca80c0602ef638a709 (diff)
downloadpkgsrc-ab6c09ec943bc5e19832d4748b153b5ebdd8b909.tar.gz
Palm OS Emulator, version 3.5
Diffstat (limited to 'emulators')
-rw-r--r--emulators/palmosemulator/DESCR8
-rw-r--r--emulators/palmosemulator/Makefile60
-rw-r--r--emulators/palmosemulator/PLIST88
-rw-r--r--emulators/palmosemulator/distinfo13
-rw-r--r--emulators/palmosemulator/patches/patch-aa107
-rw-r--r--emulators/palmosemulator/patches/patch-ab24
-rw-r--r--emulators/palmosemulator/patches/patch-ac16
-rw-r--r--emulators/palmosemulator/patches/patch-ad23
-rw-r--r--emulators/palmosemulator/patches/patch-ae16
-rw-r--r--emulators/palmosemulator/patches/patch-af17
-rw-r--r--emulators/palmosemulator/patches/patch-ag36
11 files changed, 408 insertions, 0 deletions
diff --git a/emulators/palmosemulator/DESCR b/emulators/palmosemulator/DESCR
new file mode 100644
index 00000000000..682f720f7c1
--- /dev/null
+++ b/emulators/palmosemulator/DESCR
@@ -0,0 +1,8 @@
+Palm OS Emulator is an emulator for hardware capable of running the Palm OS
+operating system, with an X based interface.
+
+To use the emulator you must obtain a ROM image of the Palm OS operating
+system. If you have a Palm OS device, you can extract the ROM image directly.
+
+Read "UsingPalmOSEmulator.pdf" for details of how to extract ROM images and
+how to use the emulator. Run "pose" to start the emulator.
diff --git a/emulators/palmosemulator/Makefile b/emulators/palmosemulator/Makefile
new file mode 100644
index 00000000000..867180db5d1
--- /dev/null
+++ b/emulators/palmosemulator/Makefile
@@ -0,0 +1,60 @@
+# $NetBSD: Makefile,v 1.1.1.1 2002/12/31 06:59:52 dsainty Exp $
+#
+
+DISTNAME= emulator_src_${PKGVERSION}
+PKGNAME= palmosemulator-3.5
+CATEGORIES= emulators x11
+MASTER_SITES= http://www.palmos.com/dev/tools/emulator/sources/
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
+ emulator-skins-19.tar.gz
+
+MAINTAINER= dsainty@netbsd.org
+HOMEPAGE= http://www.palmos.com/dev/tools/emulator/
+COMMENT= Palm OS Emulator
+
+DIST_SUBDIR= ${PKGBASE}
+
+# Source is under sources/ directory, skins are not...
+SITES_emulator-skins-19.tar.gz= http://www.palmos.com/dev/tools/emulator/
+
+#LICENSE= GPL
+
+WRKSRC= ${WRKDIR}/Emulator_Src_3.5
+POSE_BUILD_DIR= ${WRKSRC}/BuildUnix
+POSE_SHARE_DIR= ${PREFIX}/share/palmosemulator
+POSE_SKINS_DIR= ${POSE_SHARE_DIR}/skins
+WRKSRC_SKINS= ${WRKDIR}/Skins_v1.9
+
+CONFIGURE_DIRS= ${POSE_BUILD_DIR}
+BUILD_DIRS= ${POSE_BUILD_DIR}
+
+USE_BUILDLINK2= YES
+USE_X11= YES
+USE_GMAKE= YES
+
+GNU_CONFIGURE= YES
+CONFIGURE_ARGS+= --with-fltk=${BUILDLINK_PREFIX.fltk}
+CONFIGURE_ARGS+= --enable-debug
+CONFIGURE_ENV+= PACKAGE_SKINS_DIR=${POSE_SKINS_DIR}
+
+do-install:
+ ${INSTALL_PROGRAM} ${POSE_BUILD_DIR}/pose ${PREFIX}/bin/pose
+ ${INSTALL_DATA_DIR} ${POSE_SHARE_DIR}
+ ${INSTALL_DATA_DIR} ${POSE_SHARE_DIR}/docs
+ ${FIND} ${WRKSRC}/Docs -type f -print | \
+ while read i; do \
+ ${INSTALL_DATA} "$$i" ${POSE_SHARE_DIR}/docs; \
+ done
+ ${INSTALL_DATA} ${WRKSRC_SKINS}/ReadMe.txt ${POSE_SHARE_DIR}/docs/ReadMe_skins.txt
+ ${INSTALL_DATA_DIR} ${POSE_SHARE_DIR}/prc
+ ${INSTALL_DATA} ${WRKSRC}/ROMTransfer/Source/ROM_Transfer.prc ${POSE_SHARE_DIR}/prc
+ ${INSTALL_DATA_DIR} ${POSE_SKINS_DIR}
+ ${FIND} ${WRKSRC_SKINS} \( -name "*.skin" -o -name "*.jpg" \) -print |\
+ while read i; do \
+ ${INSTALL_DATA} "$$i" ${POSE_SKINS_DIR}; \
+ done
+
+.include "../../x11/fltk/buildlink2.mk"
+.include "../../mk/pthread.buildlink2.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/emulators/palmosemulator/PLIST b/emulators/palmosemulator/PLIST
new file mode 100644
index 00000000000..ddf2b7d7a00
--- /dev/null
+++ b/emulators/palmosemulator/PLIST
@@ -0,0 +1,88 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2002/12/31 06:59:54 dsainty Exp $
+bin/pose
+share/palmosemulator/docs/12rollin.pdf
+share/palmosemulator/docs/13hewgil.pdf
+share/palmosemulator/docs/Debugger.html
+share/palmosemulator/docs/POSER Profiler.rtf
+share/palmosemulator/docs/ReadMe_skins.txt
+share/palmosemulator/docs/UsingPalmOSEmulator.pdf
+share/palmosemulator/docs/_Bugs.txt
+share/palmosemulator/docs/_Building.txt
+share/palmosemulator/docs/_Contributing.txt
+share/palmosemulator/docs/_Credits.txt
+share/palmosemulator/docs/_GPL.txt
+share/palmosemulator/docs/_News.txt
+share/palmosemulator/docs/_OldNews.txt
+share/palmosemulator/docs/_ReadMe.txt
+share/palmosemulator/docs/_ToDo.txt
+share/palmosemulator/prc/ROM_Transfer.prc
+share/palmosemulator/skins/HandEra330.skin
+share/palmosemulator/skins/HandEra330Cards.skin
+share/palmosemulator/skins/HandEra330Cards_16.jpg
+share/palmosemulator/skins/HandEra330Cards_32.jpg
+share/palmosemulator/skins/HandEra330_16.jpg
+share/palmosemulator/skins/HandEra330_32.jpg
+share/palmosemulator/skins/Palm_III.skin
+share/palmosemulator/skins/Palm_III_16.jpg
+share/palmosemulator/skins/Palm_III_32.jpg
+share/palmosemulator/skins/Palm_IIIc.skin
+share/palmosemulator/skins/Palm_IIIc_16.jpg
+share/palmosemulator/skins/Palm_IIIc_32.jpg
+share/palmosemulator/skins/Palm_IIIe.skin
+share/palmosemulator/skins/Palm_IIIe_16.jpg
+share/palmosemulator/skins/Palm_IIIe_32.jpg
+share/palmosemulator/skins/Palm_IIIx.skin
+share/palmosemulator/skins/Palm_IIIx_16.jpg
+share/palmosemulator/skins/Palm_IIIx_32.jpg
+share/palmosemulator/skins/Palm_Pilot.skin
+share/palmosemulator/skins/Palm_Pilot_16.jpg
+share/palmosemulator/skins/Palm_Pilot_32.jpg
+share/palmosemulator/skins/Palm_V.skin
+share/palmosemulator/skins/Palm_VII.skin
+share/palmosemulator/skins/Palm_VII_16.jpg
+share/palmosemulator/skins/Palm_VII_32.jpg
+share/palmosemulator/skins/Palm_VIIx.skin
+share/palmosemulator/skins/Palm_VIIx_16.jpg
+share/palmosemulator/skins/Palm_VIIx_32.jpg
+share/palmosemulator/skins/Palm_V_16.jpg
+share/palmosemulator/skins/Palm_V_32.jpg
+share/palmosemulator/skins/Palm_i705.skin
+share/palmosemulator/skins/Palm_i705_16.jpg
+share/palmosemulator/skins/Palm_i705_32.jpg
+share/palmosemulator/skins/Palm_m100.skin
+share/palmosemulator/skins/Palm_m100_16.jpg
+share/palmosemulator/skins/Palm_m100_32.jpg
+share/palmosemulator/skins/Palm_m130.skin
+share/palmosemulator/skins/Palm_m130_16.jpg
+share/palmosemulator/skins/Palm_m130_32.jpg
+share/palmosemulator/skins/Palm_m500.skin
+share/palmosemulator/skins/Palm_m500_16.jpg
+share/palmosemulator/skins/Palm_m500_32.jpg
+share/palmosemulator/skins/Palm_m505.skin
+share/palmosemulator/skins/Palm_m505_16.jpg
+share/palmosemulator/skins/Palm_m505_32.jpg
+share/palmosemulator/skins/Palm_m515.skin
+share/palmosemulator/skins/Palm_m515_16.jpg
+share/palmosemulator/skins/Palm_m515_32.jpg
+share/palmosemulator/skins/Pilot.skin
+share/palmosemulator/skins/Pilot_16.jpg
+share/palmosemulator/skins/Pilot_32.jpg
+share/palmosemulator/skins/Symbol_1500.skin
+share/palmosemulator/skins/Symbol_1500_16.jpg
+share/palmosemulator/skins/Symbol_1500_32.jpg
+share/palmosemulator/skins/Symbol_1700.skin
+share/palmosemulator/skins/Symbol_1700_16.jpg
+share/palmosemulator/skins/Symbol_1700_32.jpg
+share/palmosemulator/skins/TRGpro.skin
+share/palmosemulator/skins/TRGpro_16.jpg
+share/palmosemulator/skins/TRGpro_32.jpg
+share/palmosemulator/skins/Workpad.skin
+share/palmosemulator/skins/Workpad_16.jpg
+share/palmosemulator/skins/Workpad_32.jpg
+share/palmosemulator/skins/Workpad_c3.skin
+share/palmosemulator/skins/Workpad_c3_16.jpg
+share/palmosemulator/skins/Workpad_c3_32.jpg
+@dirrm share/palmosemulator/skins
+@dirrm share/palmosemulator/prc
+@dirrm share/palmosemulator/docs
+@dirrm share/palmosemulator
diff --git a/emulators/palmosemulator/distinfo b/emulators/palmosemulator/distinfo
new file mode 100644
index 00000000000..adce1d74da4
--- /dev/null
+++ b/emulators/palmosemulator/distinfo
@@ -0,0 +1,13 @@
+$NetBSD: distinfo,v 1.1.1.1 2002/12/31 06:59:54 dsainty Exp $
+
+SHA1 (palmosemulator/emulator_src_3.5.tar.gz) = 2debd7690736397d0af41f7b2d482df65391fc65
+Size (palmosemulator/emulator_src_3.5.tar.gz) = 3162363 bytes
+SHA1 (palmosemulator/emulator-skins-19.tar.gz) = 70b0497061d6877a4e3c6a378fa647c64fe3e019
+Size (palmosemulator/emulator-skins-19.tar.gz) = 2443913 bytes
+SHA1 (patch-aa) = eef35ce5c3d91bf56903bb48c0c78bd333591fcc
+SHA1 (patch-ab) = 7019049a50432317283cfe8b57fc042879fddf20
+SHA1 (patch-ac) = c00a821d390ab92b28a01a47e7934eed4261fe6f
+SHA1 (patch-ad) = 71b971e6961134fe179609602b709e7a5ef62605
+SHA1 (patch-ae) = 93ac777942b85b0abf3310c833406b6d24771f39
+SHA1 (patch-af) = 746c83222cd847d6383fe9484ac81366b083ad22
+SHA1 (patch-ag) = 9d4fba5f8bef808b8a00b71484c308da613d8140
diff --git a/emulators/palmosemulator/patches/patch-aa b/emulators/palmosemulator/patches/patch-aa
new file mode 100644
index 00000000000..b06e7edc9ca
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-aa
@@ -0,0 +1,107 @@
+$NetBSD: patch-aa,v 1.1.1.1 2002/12/31 06:59:54 dsainty Exp $
+
+--- SrcShared/omnithread/omnithread.h.orig Sat Mar 30 01:11:07 2002
++++ SrcShared/omnithread/omnithread.h Sat Nov 23 23:43:30 2002
+@@ -64,102 +64,8 @@
+ //
+
+
+-#if defined(__arm__) && defined(__atmos__)
+ #include <omnithread/posix.h>
+
+-#elif defined(__alpha__) && defined(__osf1__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__powerpc__) && defined(__aix__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__hpux__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__WIN32__)
+-#include <omnithread/nt.h>
+-
+-#ifdef _MSC_VER
+-
+-// Using MSVC++ to compile. If compiling library as a DLL,
+-// define _OMNITHREAD_DLL. If compiling as a statuc library, define
+-// _WINSTATIC
+-// If compiling an application that is to be statically linked to omnithread,
+-// define _WINSTATIC (if the application is to be dynamically linked,
+-// there is no need to define any of these macros).
+-
+-#if defined (_OMNITHREAD_DLL) && defined(_WINSTATIC)
+-#error "Both _OMNITHREAD_DLL and _WINSTATIC are defined."
+-#elif defined(_OMNITHREAD_DLL)
+-#define _OMNITHREAD_NTDLL_ __declspec(dllexport)
+-#elif !defined(_WINSTATIC)
+-#define _OMNITHREAD_NTDLL_ __declspec(dllimport)
+-#elif defined(_WINSTATIC)
+-#define _OMNITHREAD_NTDLL_
+-#endif
+- // _OMNITHREAD_DLL && _WINSTATIC
+-
+-#else
+-
+-// Not using MSVC++ to compile
+-#define _OMNITHREAD_NTDLL_
+-
+-#endif
+- // _MSC_VER
+-
+-#elif defined(__sun__)
+-#include <omnithread/solaris.h>
+-
+-#elif defined(__sunos__)
+-#if __OSVERSION__ != 5
+-// XXX Workaround for SUN C++ compiler (seen on 4.2) Template.DB code
+-// regeneration bug. See omniORB2/CORBA_sysdep.h for details.
+-#if !defined(__SUNPRO_CC) || __OSVERSION__ != '5'
+-#error "Only SunOS 5.x or later is supported."
+-#endif
+-#endif
+-#ifdef UsePthread
+-#include <omnithread/posix.h>
+-#else
+-#include <omnithread/solaris.h>
+-#endif
+-
+-#elif defined(__linux__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__nextstep__)
+-#include <omnithread/mach.h>
+-
+-#elif defined(__VMS)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__SINIX__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__osr5__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__irix__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(macintosh)
+-#include <null_thread.h>
+-
+-#elif defined(__QNXNTO__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__svr4__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__FreeBSD__)
+-#include <omnithread/posix.h>
+-
+-#elif defined(__bsdi__)
+-#include <omnithread/posix.h>
+-
+-#else
+-#error "No implementation header file"
+-#endif
+
+ #if !defined(__WIN32__)
+ #define _OMNITHREAD_NTDLL_
diff --git a/emulators/palmosemulator/patches/patch-ab b/emulators/palmosemulator/patches/patch-ab
new file mode 100644
index 00000000000..5a49b4c747b
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-ab
@@ -0,0 +1,24 @@
+$NetBSD: patch-ab,v 1.1.1.1 2002/12/31 06:59:54 dsainty Exp $
+
+--- BuildUnix/configure.orig Sat Nov 23 23:54:59 2002
++++ BuildUnix/configure Sun Nov 24 00:57:08 2002
+@@ -3180,6 +3180,11 @@
+ THREAD_LIBS="-lpthread"
+ ;;
+
++*-netbsd*)
++ THREAD_FLAGS="-D_REENTRANT -DPthreadDraftVersion=10"
++ THREAD_LIBS="-lpthread"
++ ;;
++
+ *-nto*)
+ THREAD_FLAGS="-D_REENTRANT -DPthreadDraftVersion=10"
+ THREAD_LIBS=""
+@@ -3853,6 +3858,7 @@
+ s%@CXXCPP@%$CXXCPP%g
+ s%@GLLIB@%$GLLIB%g
+ s%@AR@%$AR%g
++s%@PACKAGE_SKINS_DIR@%$PACKAGE_SKINS_DIR%g
+ s%@POSER_CFLAGS@%$POSER_CFLAGS%g
+ s%@POSER_CXXFLAGS@%$POSER_CXXFLAGS%g
+ s%@THREAD_FLAGS@%$THREAD_FLAGS%g
diff --git a/emulators/palmosemulator/patches/patch-ac b/emulators/palmosemulator/patches/patch-ac
new file mode 100644
index 00000000000..02299d92502
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-ac
@@ -0,0 +1,16 @@
+$NetBSD: patch-ac,v 1.1.1.1 2002/12/31 06:59:54 dsainty Exp $
+
+--- SrcShared/Skins.cpp.orig Sat Mar 30 01:11:17 2002
++++ SrcShared/Skins.cpp Sun Nov 24 02:01:04 2002
+@@ -1163,6 +1163,11 @@
+ if (!scanDir.Exists ())
+ scanDir = EmDirRef (EmDirRef::GetEmulatorDirectory (), "skins");
+
++#ifdef PACKAGE_SKINS_DIR
++ if (!scanDir.Exists ())
++ scanDir = EmDirRef (PACKAGE_SKINS_DIR);
++#endif
++
+ #if PLATFORM_UNIX
+ // On Unix, also look in the /usr/local/share/pose and /usr/share/pose directories.
+
diff --git a/emulators/palmosemulator/patches/patch-ad b/emulators/palmosemulator/patches/patch-ad
new file mode 100644
index 00000000000..e950c3499ab
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-ad
@@ -0,0 +1,23 @@
+$NetBSD: patch-ad,v 1.1.1.1 2002/12/31 06:59:54 dsainty Exp $
+
+--- BuildUnix/Makefile.in.orig Sat Mar 30 01:11:21 2002
++++ BuildUnix/Makefile.in Sun Nov 24 02:24:49 2002
+@@ -70,6 +70,7 @@
+ GLLIB = @GLLIB@
+ MAKEINFO = @MAKEINFO@
+ PACKAGE = @PACKAGE@
++PACKAGE_SKINS_FLAGS = -DPACKAGE_SKINS_DIR="\"@PACKAGE_SKINS_DIR@\""
+ POSER_CFLAGS = @POSER_CFLAGS@
+ POSER_CXXFLAGS = @POSER_CXXFLAGS@
+ RANLIB = @RANLIB@
+@@ -85,8 +86,8 @@
+ VPATH = $(srcdir)/../SrcUnix: $(srcdir)/../SrcShared: $(srcdir)/../SrcShared/Hardware: $(srcdir)/../SrcShared/Hardware/TRG: $(srcdir)/../SrcShared/omnithread: $(srcdir)/../SrcShared/Palm/Platform/Core/System/Src: $(srcdir)/../SrcShared/Patches: $(srcdir)/../SrcShared/UAE:
+
+
+-CFLAGS = $(POSER_CFLAGS) $(LOCAL_CFLAGS) $(FLAGS) $(THREAD_FLAGS) $(X_CFLAGS)
+-CXXFLAGS = $(POSER_CXXFLAGS) $(LOCAL_CFLAGS) $(FLAGS) $(THREAD_FLAGS) $(X_CFLAGS)
++CFLAGS = $(POSER_CFLAGS) $(LOCAL_CFLAGS) $(FLAGS) $(THREAD_FLAGS) $(PACKAGE_SKINS_FLAGS) $(X_CFLAGS)
++CXXFLAGS = $(POSER_CXXFLAGS) $(LOCAL_CFLAGS) $(FLAGS) $(THREAD_FLAGS) $(PACKAGE_SKINS_FLAGS) $(X_CFLAGS)
+ INCLUDES = -I$(srcdir)/../SrcShared -I$(srcdir)/../SrcShared/Hardware -I$(srcdir)/../SrcShared/Hardware/TRG -I$(srcdir)/../SrcShared/Palm/Device -I$(srcdir)/../SrcShared/Palm/Platform -I$(srcdir)/../SrcShared/Palm/Platform/Core/Hardware/IncsPrv -I$(srcdir)/../SrcShared/Palm/Platform/Core/System/IncsPrv -I$(srcdir)/../SrcShared/Palm/Platform/Incs -I$(srcdir)/../SrcShared/Palm/Platform/Incs/Core -I$(srcdir)/../SrcShared/Palm/Platform/Incs/Core/Hardware -I$(srcdir)/../SrcShared/Palm/Platform/Incs/Core/System -I$(srcdir)/../SrcShared/Palm/Platform/Incs/Core/UI -I$(srcdir)/../SrcShared/Palm/Platform/Incs/Libraries -I$(srcdir)/../SrcShared/Gzip -I$(srcdir)/../SrcShared/jpeg -I$(srcdir)/../SrcShared/omnithread -I$(srcdir)/../SrcShared/Patches -I$(srcdir)/../SrcShared/UAE -I$(srcdir)/../SrcUnix -I$(srcdir)/../SrcUnix/espws-2.0
+
+ SRC_UNIX = EmApplicationFltk.cpp EmApplicationFltk.h EmCommonUnix.h EmDirRefUnix.cpp EmDirRefUnix.h EmDlgFltk.cpp EmDlgFltk.h EmDocumentUnix.cpp EmDocumentUnix.h EmFileRefUnix.cpp EmFileRefUnix.h EmMenusFltk.cpp EmMenusFltk.h EmPixMapUnix.cpp EmPixMapUnix.h EmTransportSerialUnix.cpp EmTransportSerialUnix.h EmTransportUSBUnix.cpp EmTransportUSBUnix.h EmWindowFltk.cpp EmWindowFltk.h Platform_Unix.cpp jconfig.h
diff --git a/emulators/palmosemulator/patches/patch-ae b/emulators/palmosemulator/patches/patch-ae
new file mode 100644
index 00000000000..ba648f8e115
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-ae
@@ -0,0 +1,16 @@
+$NetBSD: patch-ae,v 1.1.1.1 2002/12/31 06:59:56 dsainty Exp $
+
+Without this patch, ROM transfers tend to not get very far due to consistently
+lost characters.
+
+--- SrcUnix/EmTransportSerialUnix.cpp.orig Sat Mar 30 01:11:19 2002
++++ SrcUnix/EmTransportSerialUnix.cpp Sun Nov 24 05:42:39 2002
+@@ -220,7 +220,7 @@
+ // Programming Mini-Howto") says to turn off these for "raw" (as opposed to
+ // "canonical") mode.
+
+- io.c_lflag &= ~(ICANON | ECHO | ISIG);
++ io.c_lflag &= ~(ICANON | ECHO | ISIG | IEXTEN);
+
+ // The UNIX Programming FAQ (<www://www.faqs.org/faqs/unix-faq/programmer/faq/>)
+ // recommends just setting all the c_iflags and c_oflags to zero.
diff --git a/emulators/palmosemulator/patches/patch-af b/emulators/palmosemulator/patches/patch-af
new file mode 100644
index 00000000000..3432e0cf510
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-af
@@ -0,0 +1,17 @@
+$NetBSD: patch-af,v 1.1.1.1 2002/12/31 06:59:57 dsainty Exp $
+
+Without this patch and with non-preemptive threads, the emulator hangs on the
+first stylus event (mouse click). Even worse, it hangs with the mouse
+grabbed. Strategies for reducing the number of calls to yield() may improve
+emulation performance.
+
+--- SrcShared/Hardware/EmCPU68K.cpp.orig Sun Nov 24 17:47:03 2002
++++ SrcShared/Hardware/EmCPU68K.cpp Sun Nov 24 17:34:23 2002
+@@ -136,6 +136,7 @@
+ if (sleeping || ((++counter & 0x7FFF) == 0)) \
+ { \
+ this->CycleSlowly (sleeping); \
++ omni_thread::yield(); \
+ } \
+ } \
+ }
diff --git a/emulators/palmosemulator/patches/patch-ag b/emulators/palmosemulator/patches/patch-ag
new file mode 100644
index 00000000000..9de2d9f3462
--- /dev/null
+++ b/emulators/palmosemulator/patches/patch-ag
@@ -0,0 +1,36 @@
+$NetBSD: patch-ag,v 1.1.1.1 2002/12/31 06:59:57 dsainty Exp $
+
+This patch prevents the emulator from grabbing the mouse. It isn't clear why
+the emulator does grab the mouse, a fairly bad-mannered thing for an
+application to do.
+
+There doesn't appear to be any actual reason for doing so, and if the emulator
+hangs for any reason with the mouse grab in-force, it tends to disable the
+entire X session.
+
+--- SrcShared/EmWindow.cpp.orig Sun Dec 1 16:05:17 2002
++++ SrcShared/EmWindow.cpp Sun Dec 1 16:05:00 2002
+@@ -229,11 +229,6 @@
+ if (down && (fCurrentButton == kElement_None))
+ {
+ what = ::SkinTestPoint (where);
+-
+- if ((what != kElement_Frame) && (what != kElement_None))
+- {
+- this->HostMouseCapture ();
+- }
+ }
+
+ // If the pen is up, or if we were already in the progress of tracking
+@@ -288,11 +283,6 @@
+ fCurrentButton = what;
+ else
+ fCurrentButton = kElement_None;
+-
+- if (fCurrentButton == kElement_None)
+- {
+- this->HostMouseRelease ();
+- }
+ }
+
+