diff --git a/.gitattributes b/.gitattributes
index 92ff10a031..60a221e871 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -8511,9 +8511,9 @@ rtl/msdos/dos.pp svneol=native#text/plain
 rtl/msdos/msmouse.pp svneol=native#text/plain
 rtl/msdos/ports.pp svneol=native#text/plain
 rtl/msdos/printer.pp svneol=native#text/plain
+rtl/msdos/prt0comn.asm svneol=native#text/plain
 rtl/msdos/prt0m.asm svneol=native#text/plain
 rtl/msdos/prt0s.asm svneol=native#text/plain
-rtl/msdos/prt0stm.asm svneol=native#text/plain
 rtl/msdos/prt0t.asm svneol=native#text/plain
 rtl/msdos/registers.inc svneol=native#text/plain
 rtl/msdos/rtldefs.inc svneol=native#text/plain
diff --git a/rtl/msdos/Makefile b/rtl/msdos/Makefile
index 2acfb6fb01..05e0bd2706 100644
--- a/rtl/msdos/Makefile
+++ b/rtl/msdos/Makefile
@@ -1,8 +1,8 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014-02-06 rev 26692]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2014/03/24]
 #
 default: all
-MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-android jvm-java jvm-android i8086-msdos
+MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim i386-android m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii powerpc-aix sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian arm-android powerpc64-linux powerpc64-darwin powerpc64-embedded powerpc64-aix avr-embedded armeb-linux armeb-embedded mips-linux mipsel-linux mipsel-embedded mipsel-android jvm-java jvm-android i8086-msdos
 BSDs = freebsd netbsd openbsd darwin
 UNIXs = linux $(BSDs) solaris qnx haiku aix
 LIMIT83fs = go32v2 os2 emx watcom msdos
@@ -186,6 +186,12 @@ $(error When compiling for arm-embedded, a sub-architecture (e.g. SUBARCH=armv4t
 endif
 override FPCOPT+=-Cp$(SUBARCH)
 endif
+ifeq ($(FULL_TARGET),mipsel-embedded)
+ifeq ($(SUBARCH),)
+$(error When compiling for mipsel-embedded, a sub-architecture (e.g. SUBARCH=pic32mx) must be defined)
+endif
+override FPCOPT+=-Cp$(SUBARCH)
+endif
 ifneq ($(findstring $(OS_SOURCE),$(LIMIT83fs)),)
 TARGETSUFFIX=$(OS_TARGET)
 SOURCESUFFIX=$(OS_SOURCE)
@@ -546,6 +552,9 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 rtlconst typinfo types strutils getopts fgl classes msmouse ports  printer charset cpall ctypes
 endif
+ifeq ($(FULL_TARGET),mipsel-embedded)
+override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 rtlconst typinfo types strutils getopts fgl classes msmouse ports  printer charset cpall ctypes
+endif
 ifeq ($(FULL_TARGET),mipsel-android)
 override TARGET_UNITS+=system uuchar objpas strings dos heaptrc lineinfo sysconst sysutils math macpas iso7185 rtlconst typinfo types strutils getopts fgl classes msmouse ports  printer charset cpall ctypes
 endif
@@ -768,6 +777,9 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 override TARGET_IMPLICITUNITS+=exeinfo cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
 endif
+ifeq ($(FULL_TARGET),mipsel-embedded)
+override TARGET_IMPLICITUNITS+=exeinfo cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
+endif
 ifeq ($(FULL_TARGET),mipsel-android)
 override TARGET_IMPLICITUNITS+=exeinfo cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258 cp437 cp646 cp850 cp856 cp866 cp874 cp8859_1 cp8859_5 cp8859_2 cp852
 endif
@@ -990,6 +1002,9 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
 endif
+ifeq ($(FULL_TARGET),mipsel-embedded)
+override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
+endif
 ifeq ($(FULL_TARGET),mipsel-android)
 override TARGET_LOADERS+=prt0s prt0t prt0m # exceptn fpu
 endif
@@ -1213,6 +1228,9 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
+ifeq ($(FULL_TARGET),mipsel-embedded)
+override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
+endif
 ifeq ($(FULL_TARGET),mipsel-android)
 override COMPILER_INCLUDEDIR+=$(INC) $(PROCINC)
 endif
@@ -1435,6 +1453,9 @@ endif
 ifeq ($(FULL_TARGET),mipsel-linux)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
+ifeq ($(FULL_TARGET),mipsel-embedded)
+override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
+endif
 ifeq ($(FULL_TARGET),mipsel-android)
 override COMPILER_SOURCEDIR+=$(INC) $(PROCINC) $(COMMON)
 endif
@@ -2634,11 +2655,11 @@ SYSINCDEPS=$(addprefix $(INC)/,$(SYSINCNAMES))
 include $(PROCINC)/makefile.cpu
 SYSCPUDEPS=$(addprefix $(PROCINC)/,$(CPUINCNAMES))
 SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
-prt0s$(OEXT) : prt0s.asm prt0stm.asm
+prt0s$(OEXT) : prt0s.asm prt0comn.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
-prt0t$(OEXT) : prt0t.asm prt0stm.asm
+prt0t$(OEXT) : prt0t.asm prt0comn.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
-prt0m$(OEXT) : prt0m.asm prt0stm.asm
+prt0m$(OEXT) : prt0m.asm prt0comn.asm
 	$(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
 system$(PPUEXT) : system.pp $(SYSDEPS)
 	$(COMPILER) -Us -Sg system.pp
diff --git a/rtl/msdos/Makefile.fpc b/rtl/msdos/Makefile.fpc
index 98dab390bd..b6cf4bbf92 100644
--- a/rtl/msdos/Makefile.fpc
+++ b/rtl/msdos/Makefile.fpc
@@ -65,11 +65,11 @@ SYSDEPS=$(SYSINCDEPS) $(SYSCPUDEPS)
 #
 # Loaders
 #
-prt0s$(OEXT) : prt0s.asm prt0stm.asm
+prt0s$(OEXT) : prt0s.asm prt0comn.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0s$(OEXT) prt0s.asm
-prt0t$(OEXT) : prt0t.asm prt0stm.asm
+prt0t$(OEXT) : prt0t.asm prt0comn.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0t$(OEXT) prt0t.asm
-prt0m$(OEXT) : prt0m.asm prt0stm.asm
+prt0m$(OEXT) : prt0m.asm prt0comn.asm
         $(NASM) -f obj -o $(UNITTARGETDIRPREFIX)prt0m$(OEXT) prt0m.asm
 #
 # System Units (System, Objpas, Strings)
diff --git a/rtl/msdos/prt0stm.asm b/rtl/msdos/prt0comn.asm
similarity index 100%
rename from rtl/msdos/prt0stm.asm
rename to rtl/msdos/prt0comn.asm
diff --git a/rtl/msdos/prt0m.asm b/rtl/msdos/prt0m.asm
index 29a35583fe..2345559cec 100644
--- a/rtl/msdos/prt0m.asm
+++ b/rtl/msdos/prt0m.asm
@@ -1,3 +1,3 @@
 ; nasm -f obj -o prt0m.o prt0m.asm
 %define __MEDIUM__
-%include "prt0stm.asm"
+%include "prt0comn.asm"
diff --git a/rtl/msdos/prt0s.asm b/rtl/msdos/prt0s.asm
index 7baeff8ee4..c7488ee863 100644
--- a/rtl/msdos/prt0s.asm
+++ b/rtl/msdos/prt0s.asm
@@ -1,3 +1,3 @@
 ; nasm -f obj -o prt0s.o prt0s.asm
 %define __SMALL__
-%include "prt0stm.asm"
+%include "prt0comn.asm"
diff --git a/rtl/msdos/prt0t.asm b/rtl/msdos/prt0t.asm
index 46bcf0c944..7f76362978 100644
--- a/rtl/msdos/prt0t.asm
+++ b/rtl/msdos/prt0t.asm
@@ -1,3 +1,3 @@
 ; nasm -f obj -o prt0t.o prt0t.asm
 %define __TINY__
-%include "prt0stm.asm"
+%include "prt0comn.asm"