diff -ruN eduke32_20170518-6135/Common.mak eduke32_20170518-6135-m/Common.mak
--- eduke32_20170518-6135/Common.mak	2017-04-12 09:30:38 +0000
+++ eduke32_20170518-6135-m/Common.mak	2017-05-19 11:38:44 +0000
@@ -129,6 +129,8 @@
             HOSTPLATFORM=QNX
         else ifeq ($(findstring SunOS,$(uname)),SunOS)
             HOSTPLATFORM=SUNOS
+        else ifeq ($(findstring MorphOS,$(uname)),MorphOS)
+            HOSTPLATFORM=MORPHOS
         else ifeq ($(findstring syllable,$(uname)),syllable)
             HOSTPLATFORM=SYLLABLE
         endif
@@ -335,7 +337,7 @@
     endif
 
     WINLIB?=/$(BITS)
-else ifeq ($(PLATFORM),WII)
+else ifeq ($(PLATFORM),$(filter $(PLATFORM),WII MORPHOS))
     IMPLICIT_ARCH=ppc
 else
     ifneq ($(ARCH),)
@@ -438,6 +440,12 @@
     override HAVE_FLAC = 0
     override HAVE_XMP = 0
 endif
+ifeq ($(PLATFORM),MORPHOS)
+    override USE_LIBVPX = 0
+    override NETCODE = 0
+    override HAVE_FLAC = 1
+    override HAVE_XMP = 0
+endif
 ifeq ($(PLATFORM),GCW)
     override USE_LIBVPX = 0
 endif
@@ -814,6 +822,17 @@
     SDL_TARGET=1
     LIBDIRS += -L$(LIBOGC_LIB) -L$(PORTLIBS)/lib -Lplatform/Wii/lib
 endif
+ifeq ($(PLATFORM),MORPHOS)
+    override USE_OPENGL=0
+    override POLYMER=0
+    override NOASM=1
+    override WITHOUT_GTK=1
+    COMMONFLAGS+= -noixemul -Wno-attributes
+    COMPILERFLAGS+= -DNO_ALIGNED_MALLOC
+    SDLCONFIG=
+    SDL_TARGET=1
+    LIBDIRS+=
+endif
 ifeq ($(PLATFORM),QNX)
     override USE_OPENGL=0
     override NOASM=1
@@ -926,6 +945,11 @@
     LIBS+= -laesnd_tueidj -lpng -lfat -lwiiuse -lbte -logc -lm -lwiikeyboard
 endif
 
+ifeq ($(PLATFORM),MORPHOS)
+    LIBS+= -lFLAC
+endif
+
+
 COMPILERFLAGS+= -DRENDERTYPE$(RENDERTYPE)=1 -DMIXERTYPE$(MIXERTYPE)=1
 
 ifneq (0,$(USE_OPENGL))
@@ -949,11 +973,11 @@
 
 
 ifneq ($(PLATFORM),WINDOWS)
-    ifneq ($(PLATFORM),WII)
+    ifneq ($(PLATFORM),$(filter $(PLATFORM),WII MORPHOS))
         ifneq ($(PLATFORM),BSD)
             LIBS+= -ldl
         endif
-        ifneq ($(PLATFORM),DARWIN)
+        ifeq ($(PLATFORM),$(filter $(PLATFORM),DARWIN MORPHOS))
             LIBS+= -pthread
         endif
     endif
diff -ruN eduke32_20170518-6135/GNUmakefile eduke32_20170518-6135-m/GNUmakefile
--- eduke32_20170518-6135/GNUmakefile	2017-04-24 06:11:11 +0000
+++ eduke32_20170518-6135-m/GNUmakefile	2017-05-19 01:03:17 +0000
@@ -582,6 +582,11 @@
     LIBS += -lvorbisidec
 endif
 
+ifeq ($(PLATFORM),MORPHOS)
+    DUKE3D_GAME_STRIPFLAGS+= --strip-unneeded --remove-section=.comment
+    DUKE3D_EDITOR_STRIPFLAGS+= --strip-unneeded --remove-section=.comment
+endif
+
 ifeq ($(RENDERTYPE),SDL)
     ifeq (11,$(HAVE_GTK2)$(STARTUP_WINDOW))
         DUKE3D_GAME_OBJS+= startgtk.game.cpp
diff -ruN eduke32_20170518-6135/source/audiolib/src/_multivc.h eduke32_20170518-6135-m/source/audiolib/src/_multivc.h
--- eduke32_20170518-6135/source/audiolib/src/_multivc.h	2016-11-08 03:59:05 +0000
+++ eduke32_20170518-6135-m/source/audiolib/src/_multivc.h	2017-05-19 11:51:44 +0000
@@ -204,7 +204,7 @@
 #define loopLengthTagCount 2
 extern const char *loopLengthTags[loopLengthTagCount];
 
-#if defined __POWERPC__ || defined GEKKO
+#if defined __POWERPC__ || defined GEKKO || defined __MORPHOS__
 # define BIGENDIAN
 #endif
 
diff -ruN eduke32_20170518-6135/source/build/include/compat.h eduke32_20170518-6135-m/source/build/include/compat.h
--- eduke32_20170518-6135/source/build/include/compat.h	2017-04-12 09:30:35 +0000
+++ eduke32_20170518-6135-m/source/build/include/compat.h	2017-05-19 11:38:25 +0000
@@ -245,7 +245,7 @@
 #  define B_BIG_ENDIAN    1
 # endif
 
-#elif defined(GEKKO) || defined(__ANDROID__)
+#elif defined(GEKKO) || defined(__ANDROID__) || defined(__MORPHOS__)
 # define B_LITTLE_ENDIAN 0
 # define B_BIG_ENDIAN 1
 
@@ -316,6 +316,10 @@
 # error Unknown endianness
 #endif
 
+#if defined __MORPHOS__
+#undef B_LITTLE_ENDIAN // 0 just doesn't work here
+#endif
+
 
 ////////// Standard library headers //////////
 
@@ -357,6 +361,7 @@
 # endif
 #endif
 
+
 ////////// Platform headers //////////
 
 #if !defined __APPLE__ && (!defined EDUKE32_BSD || !__STDC__)
@@ -582,6 +587,39 @@
 #endif
 
 
+////////// Network compatibility //////////
+
+#if defined(__MORPHOS__) || defined(__AMIGA__)
+# include <exec/types.h>
+# include <proto/exec.h>   // required for Open/CloseLibrary()
+#  if defined(__MORPHOS__)
+#   include <sys/filio.h>  // FIO* defines
+#   include <sys/sockio.h> // SIO* defines
+#   include <netinet/in.h>
+#   else
+#    include <proto/socket.h>
+#  endif
+
+// Make the names compatible
+# define closesocket(s) CloseSocket(s)
+# define GET_LAST_ERROR() Errno()
+# define ioctlsocket(s, request, status) IoctlSocket((LONG)s, (ULONG)request, (char*)status)
+# define ioctl ioctlsocket
+
+typedef unsigned int in_addr_t;
+typedef long         socklen_t;
+extern struct Library *SocketBase;
+
+#ifdef __AMIGA__
+ // for usleep() implementation
+ extern struct Device      *TimerBase;
+ extern struct MsgPort     *TimerPort;
+ extern struct timerequest *TimerRequest;
+#endif
+
+#endif
+
+
 ////////// Standard library monkey patching //////////
 
 #ifndef NULL
@@ -612,6 +650,10 @@
 # define SCNx32 "x"
 #endif
 
+#ifdef __MORPHOS__
+#undef STATIC
+#endif
+
 #if defined EDUKE32_OSX
 # if !defined __x86_64__ && defined __GNUC__
 // PK 20110617: is*() crashes for me in x86 code compiled from 64-bit, and gives link errors on ppc
diff -ruN eduke32_20170518-6135/source/build/src/sdlayer.cpp eduke32_20170518-6135-m/source/build/src/sdlayer.cpp
--- eduke32_20170518-6135/source/build/src/sdlayer.cpp	2017-02-25 09:15:45 +0000
+++ eduke32_20170518-6135-m/source/build/src/sdlayer.cpp	2017-05-19 11:22:01 +0000
@@ -311,7 +311,7 @@
 //
 
 /* XXX: libexecinfo could be used on systems without gnu libc. */
-#if !defined _WIN32 && defined __GNUC__ && !defined __OpenBSD__ && !(defined __APPLE__ && defined __BIG_ENDIAN__) && !defined GEKKO && !defined EDUKE32_TOUCH_DEVICES && !defined __OPENDINGUX__
+#if !defined _WIN32 && defined __GNUC__ && !defined __OpenBSD__ && !(defined __APPLE__ && defined __BIG_ENDIAN__) && !defined GEKKO && !defined EDUKE32_TOUCH_DEVICES && !defined __OPENDINGUX__ && !defined __MORPHOS__
 # define PRINTSTACKONSEGV 1
 # include <execinfo.h>
 #endif
