diff --git a/manual/configure_rockbox/sound_settings.tex b/manual/configure_rockbox/sound_settings.tex
index acfb62e..ff5abda 100644
--- a/manual/configure_rockbox/sound_settings.tex
+++ b/manual/configure_rockbox/sound_settings.tex
@@ -20,7 +20,7 @@ change to customise your listening experience.
   \opt{player}{minimum of -78~dB to a maximum of +18~dB.}%
   \opt{recorder,recorderv2fm,ondio}{minimum of -100~dB to a maximum of +12~dB.}%
   \opt{h100,h300}{minimum of -84~dB to a maximum of 0~dB.}%
-  \opt{iaudiom3,iaudiom5,iaudiox5,ipod3g,ipod4g,gigabeatf,mrobe100}{%
+  \opt{iaudiom3,iaudiom5,iaudiox5,ipod3g,ipod4g,gigabeatf,mrobe100,mpiohd200}{%
       minimum of -73~dB to a maximum of +6~dB.}%
   \opt{ipodnano}{minimum of -72~dB to a maximum of +6~dB.}%
   \opt{ipodvideo,cowond2}{minimum of -89~dB to a maximum of +6~dB.}%
@@ -41,7 +41,8 @@ change to customise your listening experience.
   \opt{masd}{The minimum setting is -15~dB and the maximum is 15~dB.}%
   \opt{masf}{The minimum setting is -12~dB and the maximum is 12~dB.}%
   \opt{h100,h300}{The minimum setting is 0~dB and the maximum is 24~dB.}%
-  \opt{ipodnano,ipodnano2g,ipodcolor}{The minimum setting is -6~dB and the maximum is 9~dB.}%
+  \opt{ipodnano,ipodnano2g,ipodcolor,mpiohd200}{%
+      The minimum setting is -6~dB and the maximum is 9~dB.}%
   \opt{ipodvideo}{The minimum setting is -12~dB and the maximum is 12~dB.}%
   \opt{iaudiom3,iaudiom5,iaudiox5,sansa,sansaAMS,h10,h10_5gb,vibe500}{%
       The minimum setting is -24~dB and the maximum is 24~dB.}
@@ -62,7 +63,8 @@ change to customise your listening experience.
   \opt{masd}{The minimum setting is -15~dB and the maximum is 15~dB.}%
   \opt{masf}{The minimum setting is -12~dB and the maximum is 12~dB.}%
   \opt{h100,h300}{The minimum setting is 0~dB and the maximum is 6~dB.}%
-  \opt{ipodnano,ipodnano2g,ipodcolor}{The minimum setting is -6~dB and the maximum is 9~dB.}%
+  \opt{ipodnano,ipodnano2g,ipodcolor,mpiohd200}{%
+      The minimum setting is -6~dB and the maximum is 9~dB.}%
   \opt{ipodvideo}{The minimum setting is -12~dB and the maximum is 12~dB.}%
   \opt{iaudiom3,iaudiom5,iaudiox5,sansa,sansaAMS,h10,h10_5gb,vibe500}{%
       The minimum setting is -24~dB and the maximum is 24~dB.}
@@ -389,6 +391,7 @@ change to customise your listening experience.
       \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
       \opt{IRIVER_H10_PAD}{\ButtonScrollUp}
       \opt{PBELL_VIBE500_PAD}{\ButtonUp}
+      \opt{MPIO_HD200_PAD}{\ButtonVolUp}
       \opt{touchscreen}{\TouchMidRight}
           &
       \opt{HAVEREMOTEKEYMAP}{
@@ -404,6 +407,7 @@ change to customise your listening experience.
       \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack}
       \opt{IRIVER_H10_PAD}{\ButtonScrollDown}
       \opt{PBELL_VIBE500_PAD}{\ButtonDown}
+      \opt{MPIO_HD200_PAD}{\ButtonVolDown}
       \opt{touchscreen}{\TouchMidLeft}
           &
       \opt{HAVEREMOTEKEYMAP}{
@@ -417,7 +421,7 @@ change to customise your listening experience.
       \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_C200_PAD%
           ,SANSA_FUZE_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IAUDIO_M3_PAD,MROBE100_PAD%
           ,SANSA_CLIP_PAD}{\ButtonUp}
-      \opt{IRIVER_H10_PAD}{\ButtonRew}
+      \opt{IRIVER_H10_PAD,MPIO_HD200_PAD}{\ButtonRew}
       \opt{touchscreen}{\ActionStdPrev}
           &
       \opt{HAVEREMOTEKEYMAP}{
@@ -432,7 +436,7 @@ change to customise your listening experience.
       \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_C200_PAD%
           ,SANSA_FUZE_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IAUDIO_M3_PAD,MROBE100_PAD%
           ,SANSA_CLIP_PAD}{\ButtonDown}
-      \opt{IRIVER_H10_PAD}{\ButtonFF}
+      \opt{IRIVER_H10_PAD,MPIO_HD200_PAD}{\ButtonFF}
       \opt{touchscreen}{\ActionStdNext}
           &
       \opt{HAVEREMOTEKEYMAP}{
@@ -445,7 +449,7 @@ change to customise your listening experience.
       %
       \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IAUDIO_X5_PAD%
           ,SANSA_C200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_VIDEO_PAD,SANSA_E200_PAD%
-          ,SANSA_FUZE_PAD,MROBE100_PAD,SANSA_CLIP_PAD}{\ButtonSelect}
+          ,SANSA_FUZE_PAD,MROBE100_PAD,SANSA_CLIP_PAD,MPIO_HD200_PAD}{\ButtonSelect}
       \opt{PBELL_VIBE500_PAD}{\ButtonOK}
       \opt{IRIVER_H10_PAD}{\ButtonRight}
       \opt{IAUDIO_M3_PAD}{\ButtonPlay}
@@ -463,7 +467,7 @@ change to customise your listening experience.
       \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
       \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu}
       \opt{IAUDIO_X5_PAD}{\ButtonPower/\ButtonRec}
-      \opt{IAUDIO_M3_PAD}{\ButtonRec}
+      \opt{IAUDIO_M3_PAD,MPIO_HD200_PAD}{\ButtonRec}
       \opt{SANSA_E200_PAD,SANSA_FUZE_PAD,IRIVER_H10_PAD}{\ButtonLeft}
       \opt{GIGABEAT_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,MROBE100_PAD,SANSA_CLIP_PAD}{\ButtonPower}
       \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
diff --git a/manual/configure_rockbox/system_options.tex b/manual/configure_rockbox/system_options.tex
index 9e70a0e..16f4003 100644
--- a/manual/configure_rockbox/system_options.tex
+++ b/manual/configure_rockbox/system_options.tex
@@ -35,6 +35,7 @@
       \opt{recorderv2fm}{2200~mAh}%
       \opt{ondiosp,ondiofm,vibe500}{1000~mAh}%
       \opt{h100,h300}{1300~mAh}%
+      \opt{mpiohd200}{850~mAh}%
       \opt{ipodmini}{400~mAh (1G) or 630~mAh (2G)}%
       \opt{ipodcolor}{700~mAh}%
       \opt{ipodnano}{300~mAh}%
diff --git a/manual/getting_started/installation.tex b/manual/getting_started/installation.tex
index 6f64257..0bc03d8 100644
--- a/manual/getting_started/installation.tex
+++ b/manual/getting_started/installation.tex
@@ -361,6 +361,29 @@ filesystem.\\*
   files using \fname{unzip}.
 }
 
+\opt{mpiohd200}{
+  Rockbox Utility will ask you for a compatible copy of the original
+  firmware. This is because for legal reasons we cannot distribute
+  the bootloader directly. Instead, we have to patch the MPIO firmware
+  with the Rockbox bootloader.
+
+  Download a supported version of the MPIO firmware for your 
+  \playername{} from the MPIO website, links can be found on 
+  \wikilink{MPIOHD200Port}.
+
+  \warn{The only tested version of the original firmware is 1.30.05
+  and as such is the only supported version}
+
+  If the file that you downloaded is a \fname{.zip} file, use an unzip
+  utility like mentioned in the prerequisites section to extract
+  the \fname{.SYS} from the \fname{.zip} file
+  to your desktop. Likewise, if the file that you downloaded is an
+  \fname{.exe} file, double-click on the \fname{.exe} file to extract
+  the \fname{.SYS} file to your desktop.
+  When running Linux you should be able to extract \fname{.exe}
+  files using \fname{unzip}.
+}
+
 \subsubsection{Choosing a Rockbox version}\label{sec:choosing_version}
 
 There are three different versions of Rockbox available from the
@@ -467,6 +490,7 @@ structure that Rockbox needs.\\}
     \nopt{gigabeats}{%
     \subsubsection{Installing the bootloader}
         \opt{h100,h300}{\input{getting_started/iriver_install.tex}}
+        \opt{mpiohd200}{\input{getting_started/mpio_install.tex}}
         \opt{ipod}{\input{getting_started/ipod_install.tex}}
         \opt{iaudio}{\input{getting_started/iaudio_install.tex}}
         \opt{h10,h10_5gb}{\input{getting_started/h10_install.tex}}
@@ -533,7 +557,20 @@ structure that Rockbox needs.\\}
   firmware process usually takes a minute or so.). You are now ready to go.
 \end{itemize}
 }
+\opt{mpiohd200}{
+  \begin{itemize}
+  \item Safely eject /unmount your \dap{}.
 
+  \item \warn{Before proceeding further, make sure that your player has a full charge
+  or that it is connected to the power adaptor. Interrupting the next step
+  due to a power failure most likely will brick your \dap{}.}
+  Update your \daps{} firmware with the patched bootloader. To do this, turn
+  the jukebox on. The update process should start automaticaly. The \playerman{} will
+  display animation indicating that the firmware update is in progress. Do \emph{not}
+  interrupt this process. When the firmware update is complete the player will restart.
+  (The update firmware process usually takes a minute or so.). You are now ready to go.
+\end{itemize}
+}
 \opt{e200}{Your e200 will automatically reboot and Rockbox should load.}
 
 
@@ -716,6 +753,11 @@ completely follow the manual uninstallation instructions below.}}
       Copy an unmodified original firmware to your player and update it.
 }
 
+\opt{mpiohd200}{
+    If you want to remove the Rockbox bootloader, simply flash an unpatched
+    \playerman{} firmware.
+}
+
 \nopt{gigabeats}{
   If you wish to clean up your disk, you may also wish to delete the
   \fname{.rockbox} directory and its contents.
@@ -764,13 +806,14 @@ completely follow the manual uninstallation instructions below.}}
   the update if the filename is correct, including case. Make sure that the patched
   Iriver firmware is called \fname{.hex}.}
 
-\nopt{h100,h300}{\item[``File Not Found'']}
-\opt{h100,h300}{\item[``-1 error'']}
+\nopt{h100,h300,mpiohd200}{\item[``File Not Found'']}
+\opt{h100,h300,mpiohd200}{\item[``-1 error'']}
   If you receive a
-  \nopt{h100,h300}{``File Not Found''}\opt{h100,h300}{``-1 error''} from the
-  bootloader, then the bootloader cannot find the Rockbox firmware. This is
-  usually a result of not extracting the contents of the \fname{.zip} file
-  to the proper location, and should not happen when Rockbox has been
+  \nopt{h100,h300,mpiohd200}{``File Not Found''}
+  \opt{h100,h300,mpiohd200}{``-1 error''} 
+  from the bootloader, then the bootloader cannot find the Rockbox firmware. 
+  This is usually a result of not extracting the contents of the \fname{.zip} 
+  file to the proper location, and should not happen when Rockbox has been
   installed with Rockbox Utility.
 
   To fix this, either install Rockbox with the Rockbox Utility which will take care
diff --git a/manual/getting_started/mpio_install.tex b/manual/getting_started/mpio_install.tex
new file mode 100644
index 0000000..3b54c9a
--- /dev/null
+++ b/manual/getting_started/mpio_install.tex
@@ -0,0 +1,27 @@
+% $Id$ %
+
+  Installing the bootloader is the trickiest part of the installation.
+  As explained above, we cannot distribute the bootloader directly, and
+  thus need to patch a compatible version of the MPIO firmware, which
+  can be downloaded as described above.
+
+
+\begin{enumerate}
+   \item Download official rockbox bootloader for MPIO HD200 from
+   \url {http://download.rockbox.org/bootloader/mpio/hd200/}
+   and save it to your desktop. The archive contains three files: bootloader.mpio, 
+   bootloader.map and rockbox-info.txt. The first file is actual bootloader, two
+   others can be used for debugging and are irrelevant for end user.
+   \item Build mkmpioboot tool (rbutil/mkmpioboot directory in rockbox source tree)
+   \item Process previously downloaded official firmware to include rockbox bootloader.
+   Open terminal window and type the following command:
+     \begin{code}
+       mkmpioboot HD200_UPG.SYS bootloader.mpio HD200_UPG.rb
+     \end{code}
+   \item Copy \fname{HD200\_UPG.rb} to the SYSTEM folder of your \dap{} and rename back to
+   \fname{HD200\_UPG.SYS}
+   \item Safe eject your \dap{}
+   \item Connect Wall charger and turn on the device. This should trigger firmware
+   upgrade process which will install rockbox bootloader to the flash memory of the
+   player.
+\end{enumerate}
diff --git a/manual/main_menu/recording_screen.tex b/manual/main_menu/recording_screen.tex
index b0e37cc..3bad2e7 100644
--- a/manual/main_menu/recording_screen.tex
+++ b/manual/main_menu/recording_screen.tex
@@ -55,7 +55,8 @@ The controls for this screen are:
         \\
     %
     \opt{IRIVER_H10_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
-        ,SANSA_E200_PAD,IPOD_4G_PAD,SANSA_C200_PAD,PBELL_VIBE500_PAD}{
+        ,SANSA_E200_PAD,IPOD_4G_PAD,SANSA_C200_PAD,PBELL_VIBE500_PAD%
+        ,MPIO_HD200_PAD}{
         \ActionRecNewfile
             &
         \opt{HAVEREMOTEKEYMAP}{
diff --git a/manual/platform/keymap-mpiohd200.tex b/manual/platform/keymap-mpiohd200.tex
new file mode 100644
index 0000000..c9eb9d8
--- /dev/null
+++ b/manual/platform/keymap-mpiohd200.tex
@@ -0,0 +1,122 @@
+% $Id$
+
+\newcommand{\ButtonRew}{\btnfnt{Rewind}}
+\newcommand{\ButtonFF}{\btnfnt{Forward}}
+\newcommand{\ButtonFunc}{\btnfnt{Function}}
+\newcommand{\ButtonRec}{\btnfnt{Rec}}
+\newcommand{\ButtonPlay}{\btnfnt{Play}}
+\newcommand{\ButtonVolUp}{\btnfnt{Volume Up}}
+\newcommand{\ButtonVolDown}{\btnfnt{Volume Down}}
+\newcommand{\ButtonHold}{\btnfnt{Hold}}
+
+%Button actions, standard context
+\newcommand{\ActionStdPrev}{\ButtonRew}
+\newcommand{\ActionStdPrevRepeat}{Long \ButtonRew}
+\newcommand{\ActionStdNext}{\ButtonFF}
+\newcommand{\ActionStdNextRepeat}{Long \ButtonFF}
+\newcommand{\ActionStdCancel}{\ButtonRec}
+\newcommand{\ActionStdContext}{Long \ButtonFunc}
+%\newcommand{\ActionStdQuickScreen}{Long \ButtonMode}
+%\newcommand{\ActionQuickScreenExit}{\ButtonMode}
+\newcommand{\ActionStdMenu}{Long \ButtonRec}
+\newcommand{\ActionStdOk}{\ButtonFunc}
+%\newcommand{\ActionStdRec}{Long \ButtonRec}
+
+%Button actions, wps context
+\newcommand{\ActionWpsPlay}{\ButtonPlay}
+\newcommand{\ActionWpsSkipNext}{\ButtonFF}
+\newcommand{\ActionWpsSkipPrev}{\ButtonRew}
+\newcommand{\ActionWpsSeekBack}{Long \ButtonRew}
+\newcommand{\ActionWpsSeekFwd}{Long \ButtonFF}
+%\newcommand{\ActionWpsAbSetBNextDir}{\ButtonOn{} + \ButtonRight}
+%\newcommand{\ActionWpsAbSetAPrevDir}{\ButtonOn{} + \ButtonLeft}
+\newcommand{\ActionWpsStop}{Long \ButtonPlay}
+\newcommand{\ActionWpsVolDown}{\ButtonVolDown}
+\newcommand{\ActionWpsVolUp}{\ButtonVolUp}
+%\newcommand{\ActionWpsPitchScreen}{\ButtonOn{} + \ButtonUp/\ButtonDown}
+\newcommand{\ActionWpsQuickScreen}{Long \ButtonRec}
+\newcommand{\ActionWpsMenu}{\ButtonRec}
+\newcommand{\ActionWpsContext}{Long \ButtonFunc}
+\newcommand{\ActionWpsBrowse}{\ButtonFunc}
+%\newcommand{\ActionWpsAbReset}{\ButtonOn{} + \ButtonFunc}
+%\newcommand{\ActionWpsIdThreeScreen}{\ButtonOn{} + \ButtonMode}
+%\newcommand{\ActionWpsHotkey}{\ButtonRec}
+
+%Button actions, tree context
+\newcommand{\ActionTreeWps}{\ButtonPlay}
+\newcommand{\ActionTreeStop}{Long \ButtonPlay}
+\newcommand{\ActionTreeEnter}{\ButtonFunc}
+\newcommand{\ActionTreeParentDirectory}{\ButtonRec}
+%\newcommand{\ActionTreeHotkey}{\ButtonRec}
+
+%Button actions, YesNo context
+\newcommand{\ActionYesNoAccept}{\ButtonFunc or \ButtonPlay}
+
+%Button actions, Setting context
+\newcommand{\ActionSettingInc}{\ButtonVolUp}
+\newcommand{\ActionSettingDec}{\ButtonVolDown}
+
+%Button actions, Virtual Keyboard Context
+\newcommand{\ActionKbdLeft}{\ButtonVolDown}
+\newcommand{\ActionKbdRight}{\ButtonVolUp}
+\newcommand{\ActionKbdSelect}{\ButtonFunc}
+%\newcommand{\ActionKbdCursorLeft}{\ButtonOn{} + \ButtonLeft}
+%\newcommand{\ActionKbdCursorRight}{\ButtonOn{} + \ButtonRight}
+\newcommand{\ActionKbdPageFlip}{Long \ButtonPlay}
+\newcommand{\ActionKbdDone}{\ButtonPlay}
+\newcommand{\ActionKbdAbort}{\ButtonRec}
+%\newcommand{\ActionKbdBackSpace}{\ButtonRec}
+\newcommand{\ActionKbdMorseInput}{Long \ButtonFunc}
+\newcommand{\ActionKbdMorseSelect}{\ButtonFunc}
+\newcommand{\ActionKbdUp}{\ButtonRew}
+\newcommand{\ActionKbdDown}{\ButtonFF}
+
+%Button actions, Pitch Screen context
+\newcommand{\ActionPsToggleMode}{\ButtonPlay}
+\newcommand{\ActionPsIncSmall}{\ButtonVolUp}
+\newcommand{\ActionPsIncBig}{Long \ButtonVolUp}
+\newcommand{\ActionPsDecSmall}{\ButtonVolDown}
+\newcommand{\ActionPsDecBig}{Long \ButtonVolDown}
+\newcommand{\ActionPsNudgeLeft}{\ButtonRew}
+\newcommand{\ActionPsNudgeRight}{\ButtonFF}
+\newcommand{\ActionPsReset}{\ButtonFunc}
+\newcommand{\ActionPsExit}{\ButtonRec}
+
+%Button actions, Recording screen context
+\newcommand{\ActionRecPause}{\ButtonPlay}
+\newcommand{\ActionRecNewfile}{Long \ButtonFunc}
+\newcommand{\ActionRecSettingsInc}{\ActionSettingInc}
+\newcommand{\ActionRecSettingsDec}{\ActionSettingDec}
+%\newcommand{\ActionRecPrev}{\ButtonUp}
+%\newcommand{\ActionRecNext}{\ButtonDown}
+%\newcommand{\ActionRecMenu}{\ButtonMode}
+%\newcommand{\ActionRecExit}{\ButtonOff}
+
+%Button actions, FM radio context
+\newcommand{\ActionFMPreset}{\ButtonFunc}
+\newcommand{\ActionFMMenu}{Long \ButtonFunc}
+%\newcommand{\ActionFMMode}{Long \ButtonOn}
+\newcommand{\ActionFMStop}{Long \ButtonPlay}
+\newcommand{\ActionFMExit}{\ButtonRec}
+\newcommand{\ActionFMPlay}{\ButtonPlay}
+\newcommand{\ActionFMSettingsInc}{\ActionSettingInc}
+\newcommand{\ActionFMSettingsDec}{\ActionSettingDec}
+\newcommand{\ActionFMPrev}{\ButtonRew}
+\newcommand{\ActionFMNext}{\ButtonFF}
+
+%Button actions, Bookmark screen context
+\newcommand{\ActionBmDelete}{Long \ButtonRec}
+
+%Plugin lib actions
+\newcommand{\PluginUp}{\ButtonRew}
+\newcommand{\PluginDown}{\ButtonFF}
+\newcommand{\PluginLeft}{\ButtonVolDown}
+\newcommand{\PluginRight}{\ButtonVolUp}
+\newcommand{\PluginUpRepeat}{Long \ButtonRew}
+\newcommand{\PluginDownRepeat}{Long \ButtonFF}
+\newcommand{\PluginLeftRepeat}{Long \ButtonVolDown}
+\newcommand{\PluginRightRepeat}{Long \ButtonVolUp}
+\newcommand{\PluginCancel}{\ButtonRec}
+\newcommand{\PluginExit}{\ButtonRec{} + \ButtonPlay}
+\newcommand{\PluginSelect}{\ButtonFunc}
+\newcommand{\PluginSelectRepeat}{Long \ButtonFunc}
diff --git a/manual/platform/mpiohd200.tex b/manual/platform/mpiohd200.tex
new file mode 100644
index 0000000..91cdf16
--- /dev/null
+++ b/manual/platform/mpiohd200.tex
@@ -0,0 +1,31 @@
+% $Id$ %
+\def\UseOption{mpiohd200}
+\edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH}
+\edef\UseOption{\UseOption,MPIO_HD200_PAD}
+\edef\UseOption{\UseOption,HAVE_BACKLIGHT}
+\edef\UseOption{\UseOption,HAVE_DISK_STORAGE}
+\edef\UseOption{\UseOption,HAVE_CAR_ADAPTER_MODE}
+\edef\UseOption{\UseOption,iriver}
+\edef\UseOption{\UseOption,MPIO_RC_HD200_PAD}
+\edef\UseOption{\UseOption,HAVEREMOTEKEYMAP}
+
+\newcommand{\playerman}{MPIO}
+\newcommand{\playertype}{HD200}
+\newcommand{\playerlongtype}{\playertype}
+\newcommand{\dapdisplaywidth}{128}
+\newcommand{\dapdisplayheight}{128}
+\newcommand{\dapdisplaydepth}{2}
+\newcommand{\specimg}{mpiohd200}
+%Used to name the player, e.g. ...to the \dap
+\newcommand{\dap}{player}
+%For use when referring to the player. E.g. the \daps\ capacity ...
+\newcommand{\daps}{player's}
+\newcommand{\firmwarefilename}{\fname{rockbox.mpio}}
+\newcommand{\firmwareextension}{\fname{mpio}}
+\newcommand{\screenshotsize}{4cm}
+\newcommand{\disk}{hard disk}
+
+% link external keymap file
+\input{platform/keymap-mpiohd200.tex}
+\input{platform/remote-keymap-mpiohd200.tex}
+
diff --git a/manual/platform/remote-keymap-mpiohd200.tex b/manual/platform/remote-keymap-mpiohd200.tex
new file mode 100644
index 0000000..2ac1d6f
--- /dev/null
+++ b/manual/platform/remote-keymap-mpiohd200.tex
@@ -0,0 +1,79 @@
+ 
+\newcommand{\ButtonRCRew}{\btnfnt{Rewind}}
+\newcommand{\ButtonRCFF}{\btnfnt{Forward}}
+\newcommand{\ButtonRCFunc}{\btnfnt{Function}}
+\newcommand{\ButtonRCPlay}{\btnfnt{Play}}
+\newcommand{\ButtonRCVolUp}{\btnfnt{Volume Up}}
+\newcommand{\ButtonRCVolDown}{\btnfnt{Volume Down}}
+\newcommand{\ButtonRCHold}{\btnfnt{Hold}}
+
+%Button actions, standard context
+\newcommand{\ActionRCStdPrev}{\ButtonRCRew}
+\newcommand{\ActionRCStdPrevRepeat}{Long \ButtonRCRew}
+\newcommand{\ActionRCStdNext}{\ButtonRCFF}
+\newcommand{\ActionRCStdNextRepeat}{Long \ButtonRCFF}
+\newcommand{\ActionRCStdCancel}{\ButtonRCPlay{} + \ButtonRCFunc}
+\newcommand{\ActionRCStdContext}{Long \ButtonRCFunc}
+%\newcommand{\ActionRCStdQuickScreen}{Long \ButtonRCMode}
+%\newcommand{\ActionRCQuickScreenExit}{\ButtonRCMode}
+%\newcommand{\ActionRCStdMenu}{\ButtonRCMode}
+\newcommand{\ActionRCStdOk}{\ButtonRCFunc}
+
+%Button actions, wps context
+\newcommand{\ActionRCWpsPlay}{\ButtonRCPlay}
+\newcommand{\ActionRCWpsSkipNext}{\ButtonRCFF}
+\newcommand{\ActionRCWpsSkipPrev}{\ButtonRCRew}
+\newcommand{\ActionRCWpsSeekBack}{Long \ButtonRCRew}
+\newcommand{\ActionRCWpsSeekFwd}{Long \ButtonRCFF}
+%\newcommand{\ActionRCWpsAbSetBNextDir}{\ButtonRCBitrate}
+%\newcommand{\ActionRCWpsAbSetAPrevDir}{\ButtonRCSource}
+\newcommand{\ActionRCWpsStop}{Long \ButtonRCPlay}
+\newcommand{\ActionRCWpsVolDown}{\ButtonRCVolDown}
+\newcommand{\ActionRCWpsVolUp}{\ButtonRCVolUp}
+%\newcommand{\ActionRCWpsPitchScreen}{Long \ButtonRCOn}
+%\newcommand{\ActionRCWpsQuickScreen}{Long \ButtonRCMode}
+\newcommand{\ActionRCWpsMenu}{\ButtonRCFunc{} + \ButtonRCPlay}
+\newcommand{\ActionRCWpsContext}{Long \ButtonRCFunc}
+\newcommand{\ActionRCWpsBrowse}{\ButtonRCFunc}
+%\newcommand{\ActionRCWpsAbReset}{\ButtonRCOn{} + \ButtonRCFunc}
+%\newcommand{\ActionRCWpsIdThreeScreen}{\ButtonRCOn{} + \ButtonRCMode}
+ 
+%Button actions, tree context
+\newcommand{\ActionRCTreeWps}{\ButtonRCPlay}
+\newcommand{\ActionRCTreeStop}{Long \ButtonRCPlay}
+\newcommand{\ActionRCTreeEnter}{\ButtonRCFunc}
+\newcommand{\ActionRCTreeParentDirectory}{\ButtonRCFunc{} + \ButtonRCPlay}
+
+%Button actions, YesNo context
+\newcommand{\ActionRCYesNoAccept}{\ButtonRCFunc{} or \ButtonRCPlay}
+
+%Button actions, Setting context
+\newcommand{\ActionRCSettingInc}{\ButtonRCVolUp}
+\newcommand{\ActionRCSettingDec}{\ButtonRCVolDown}
+
+%Button actions, Recording screen context
+\newcommand{\ActionRCRecPause}{\ButtonRCPlay}
+\newcommand{\ActionRCRecNewfile}{Long \ButtonRCFunc}
+\newcommand{\ActionRCRecSettingsInc}{\ButtonRCVolUp}
+\newcommand{\ActionRCRecSettingsDec}{\ButtonRCVolDown}
+\newcommand{\ActionRCRecPrev}{\ButtonRCRew}
+\newcommand{\ActionRCRecNext}{\ButtonRCFF}
+%\newcommand{\ActionRCRecMenu}{\ButtonRCMode}
+%\newcommand{\ActionRCRecExit}{\ButtonRCStop}
+
+%Button actions, FM radio context
+\newcommand{\ActionRCFMPreset}{\ButtonRCFunc}
+\newcommand{\ActionRCFMMenu}{Long \ButtonRCFunc}
+%\newcommand{\ActionRCFMMode}{Long \ButtonRCOn}
+\newcommand{\ActionRCFMStop}{Long \ButtonRCPlay}
+\newcommand{\ActionRCFMExit}{\ButtonRCFunc{} + \ButtonRCPlay}
+\newcommand{\ActionRCFMPlay}{\ButtonRCPlay}
+\newcommand{\ActionRCFMSettingsInc}{\ActionRCSettingInc}
+\newcommand{\ActionRCFMSettingsDec}{\ActionRCSettingInc}
+\newcommand{\ActionRCFMPrev}{\ButtonRCRew}
+\newcommand{\ActionRCFMNext}{\ButtonRCFF}
+\newcommand{\ActionRCFMVolUp}{\ButtonRCVolUp}
+\newcommand{\ActionRCFMVolDown}{\ButtonRCVolDown}
+
+%Button actions, Bookmark screen context
+%\newcommand{\ActionRCBmDelete}{\ButtonRCRec}
diff --git a/manual/plugins/main.tex b/manual/plugins/main.tex
index 6026d96..db43259 100644
--- a/manual/plugins/main.tex
+++ b/manual/plugins/main.tex
@@ -41,7 +41,7 @@ text files%
 
 \opt{lcd_bitmap}{\input{plugins/goban.tex}}
 
-\opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,sansac200}{
+\opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,sansac200,mpiohd200}{
   \input{plugins/invadrox.tex}}}
 
 {\input{plugins/jackpot.tex}}
@@ -198,7 +198,7 @@ option from the \setting{Context Menu} (see \reference{ref:Contextmenu}).}
 \opt{lcd_bitmap}{\nopt{%
   ONDIO_PAD%,m200, % not enough buttons for keymap
   ,ipod1g2g,ipod3g,ipod4g,ipodmini% horizontal pixelformat not implemented
-  ,iaudiom3%,mpiohd2000, % vertical interleaved pixelformat not implemented
+  ,iaudiom3,mpiohd200, % vertical interleaved pixelformat not implemented
   ,mrobe100% lcd size/depth not implemented
   }{
   \input{plugins/rockboy.tex}}}
diff --git a/manual/rockbox_interface/main.tex b/manual/rockbox_interface/main.tex
index ee32fc9..5e8490a 100644
--- a/manual/rockbox_interface/main.tex
+++ b/manual/rockbox_interface/main.tex
@@ -89,6 +89,27 @@ detail in the following paragraph.
   used in Rockbox. 
   }
   %
+  \opt{mpiohd200}{
+  Hold or lay the \dap{} so that the side with the LCD is facing towards you.
+  On the right hand side there is a rocker at the top which serves as
+  \ButtonRew{} and \ButtonFF{} when pressed in the appropriate direction.
+  Pressing the rocker down functions as \ButtonFunc{}. Below the rocker there are
+  two buttons \ButtonRec{} and \ButtonPlay{}. At the bottom of the right panel
+  there is the \ButtonHold{} switch which you can slide up and down.
+
+  On the top pannel of the \dap{} there is another rocker which serves as the 
+  \ButtonVolUp{} and \ButtonVolDown{} when pressed on the right and left side 
+  respectively.
+
+  On the left hand side of the \dap{} there is headphone mini jack plug at the top
+  and a small hole at the bottom, the reset switch. In the event that your \dap{}
+  hard locks, you can reset it by inserting a paper clip into the hole where the 
+  reset switch is.
+
+  On the bottom pannel of the \dap{}, from left to right, you can find the
+  following: power jack, line-in jack and USB port (under rubber cover).
+  }
+  %
   \opt{ipod4g,ipodcolor,ipodvideo,ipodmini}{ 
   The main controls on the \dap{} are a slightly indented scroll wheel 
   with a flat round button in the center. Hold the \dap{} with these controls 
@@ -497,6 +518,7 @@ detail in the following paragraph.
 To turn on and off your Rockbox enabled \dap{} use the following keys:
     \begin{btnmap}
       \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}%
+      \opt{MPIO_HD200_PAD}{Long \ButtonPlay}%
       \opt{IPOD_4G_PAD}{\ButtonMenu{} / \ButtonSelect}%
       \opt{IPOD_3G_PAD}{\ButtonMenu{} / \ButtonPlay}%
       \opt{ONDIO_PAD}{\ButtonOff}\opt{RECORDER_PAD,PLAYER_PAD}%
@@ -514,6 +536,7 @@ To turn on and off your Rockbox enabled \dap{} use the following keys:
           \\
 
       \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{Long \ButtonOff}%
+      \opt{MPIO_HD200_PAD}{Long \ButtonPlay}%
       \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonPlay}%
       \opt{ONDIO_PAD,recorderv2fm}{Long \ButtonOff}%
       \opt{recorder}{Double tap \ButtonOff\ when playback is stopped}%
@@ -550,7 +573,7 @@ To turn on and off your Rockbox enabled \dap{} use the following keys:
   {\ButtonPower} until the \dap{} shuts off or reboots.
 }%
 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_M3_PAD,IRIVER_H10_PAD,MROBE100_PAD
-,PBELL_VIBE500_PAD}{%
+,PBELL_VIBE500_PAD,MPIO_HD200_PAD}{%
   In the unlikely event of a software failure, a hardware reset can be
   performed by inserting a paperclip gently into the Reset hole.
 }%
@@ -598,6 +621,15 @@ To turn on and off your Rockbox enabled \dap{} use the following keys:
     and then press the \ButtonOn{} button.
     }
 
+  \opt{mpiohd200}
+    {
+    Rockbox has a dual-boot feature. To boot into the original firmware,
+    when the \dap{} is turned off, press and hold the \ButtonRec{} button,
+    and then press the \ButtonPlay{} button. This will bring you to the
+    short menu where you can choose among: Boot Rockbox, Boot MPIO firmware
+    and Shutdown. Select the option you need with \ButtonRew{} and \ButtonFF{}
+    and confirm with long \ButtonPlay{}.
+    }
   \opt{h10,h10_5gb}
     {
     Rockbox has a dual-boot feature. It loads the original firmware from
diff --git a/manual/rockbox_interface/wps.tex b/manual/rockbox_interface/wps.tex
index 2e97262..7ca54d0 100644
--- a/manual/rockbox_interface/wps.tex
+++ b/manual/rockbox_interface/wps.tex
@@ -268,9 +268,9 @@ album etc. To access this screen, %
       SANSA_C200_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD}{
   press \ActionWpsIdThreeScreen. }%
 \opt{PLAYER_PAD,ONDIO_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,IAUDIO_M3_PAD,%
-      GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_CLIP_PAD,PBELL_VIBE500_PAD}{press
-  \ActionWpsContext{} to access the \setting{WPS Context Menu} and select
-  \setting{Show Track Info}. }%
+      GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_CLIP_PAD,PBELL_VIBE500_PAD,%
+      MPIO_HD200_PAD}{press \ActionWpsContext{} to access the 
+      \setting{WPS Context Menu} and select \setting{Show Track Info}. }
 \opt{RECORDER_PAD,PLAYER_PAD,ONDIO_PAD}{Use \ButtonLeft\ and \ButtonRight\
   to move through the information.}%
 
