From 675b22e76b798bc0e36cdd1edb97b17546c03cf2 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Mon, 24 Aug 2020 11:04:02 -0400 Subject: xduoox3: Initial manual TODO: * Screenshots * Plugin keymaps Change-Id: Iaecaa2f585693eb5c2c301bd07aeaa27cdf2588f --- apps/keymaps/keymap-xduoox3.c | 2 +- manual/configure_rockbox/display_options.tex | 3 +- manual/configure_rockbox/sound_settings.tex | 7 +- manual/configure_rockbox/system_options.tex | 24 +++- manual/getting_started/installation.tex | 129 +++++++++++----------- manual/getting_started/xduoox3_install.tex | 28 +++++ manual/platform/keymap-xduoox3.tex | 103 +++++++++++++++++ manual/platform/xduoox3.tex | 26 +++++ manual/rockbox_interface/images/xduoox3-front.png | Bin 0 -> 119794 bytes manual/rockbox_interface/main.tex | 4 +- 10 files changed, 251 insertions(+), 75 deletions(-) create mode 100644 manual/getting_started/xduoox3_install.tex create mode 100644 manual/platform/keymap-xduoox3.tex create mode 100644 manual/platform/xduoox3.tex create mode 100644 manual/rockbox_interface/images/xduoox3-front.png diff --git a/apps/keymaps/keymap-xduoox3.c b/apps/keymaps/keymap-xduoox3.c index 31f8aa0946..e73798d4fe 100644 --- a/apps/keymaps/keymap-xduoox3.c +++ b/apps/keymaps/keymap-xduoox3.c @@ -85,7 +85,7 @@ static const struct button_mapping button_context_list[] = { /** Bookmark Screen **/ static const struct button_mapping button_context_bmark[] = { - { ACTION_BMS_DELETE, BUTTON_PLAY|BUTTON_REPEAT, BUTTON_PLAY }, + { ACTION_BMS_DELETE, BUTTON_HOME|BUTTON_REPEAT, BUTTON_PLAY }, LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_LIST) }; /* button_context_bmark */ diff --git a/manual/configure_rockbox/display_options.tex b/manual/configure_rockbox/display_options.tex index 4978753444..33ddc3e18c 100755 --- a/manual/configure_rockbox/display_options.tex +++ b/manual/configure_rockbox/display_options.tex @@ -195,7 +195,8 @@ \item[Screen Scrolls Out of View.] Screens can be manually scrolled horizontally by pressing \opt{IRIVER_H10_PAD}{Long \ButtonRew/\ButtonFF}% - \nopt{IRIVER_H10_PAD,MPIO_HD200_PAD,MPIO_HD300_PAD% + \opt{IRIVER_H10_PAD,XDUOO_X3_PAD}{Long \ButtonPrev/\ButtonNext}% + \nopt{IRIVER_H10_PAD,MPIO_HD200_PAD,MPIO_HD300_PAD,XDUOO_X3_PAD% ,touchscreen}{% Long \ButtonRight/\ButtonLeft}. Setting this option to \setting{Yes} diff --git a/manual/configure_rockbox/sound_settings.tex b/manual/configure_rockbox/sound_settings.tex index c87d52322e..c4ef325689 100644 --- a/manual/configure_rockbox/sound_settings.tex +++ b/manual/configure_rockbox/sound_settings.tex @@ -336,7 +336,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{MPIO_HD200_PAD,XDUOO_X3_PAD}{\ButtonVolUp} \opt{MPIO_HD300_PAD}{\ButtonScrollUp} \opt{touchscreen}{\TouchMidRight} & @@ -354,7 +354,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{MPIO_HD200_PAD,XDUOO_X3_PAD}{\ButtonVolDown} \opt{MPIO_HD300_PAD}{\ButtonScrollDown} \opt{touchscreen}{\TouchMidLeft} & @@ -377,6 +377,7 @@ change to customise your listening experience. \opt{GIGABEAT_RC_PAD}{\ButtonRCVolUp} \opt{IAUDIO_RC_PAD}{\ButtonRCUp} &} + \opt{XDUOO_X3_PAD}{\ButtonPrev} Moves to the previous EQ band. \\ % @@ -392,6 +393,7 @@ change to customise your listening experience. \opt{GIGABEAT_RC_PAD}{\ButtonRCVolDown} \opt{IAUDIO_RC_PAD}{\ButtonRCDown} &} + \opt{XDUOO_X3_PAD}{\ButtonNext} Moves to the next EQ band. \\ % @@ -432,6 +434,7 @@ change to customise your listening experience. \opt{GIGABEAT_RC_PAD}{\ButtonRCDsp} \opt{IAUDIO_RC_PAD}{\ButtonRCRec} &} + \opt{XDUOO_X3_PAD}{\ButtonHome} Exits the graphic EQ screen. \\ \end{btnmap} diff --git a/manual/configure_rockbox/system_options.tex b/manual/configure_rockbox/system_options.tex index 28d1c1a577..f23be48370 100755 --- a/manual/configure_rockbox/system_options.tex +++ b/manual/configure_rockbox/system_options.tex @@ -319,7 +319,7 @@ therefore result in better runtime. \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ,IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD% ,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% - ,SAMSUNG_YH820_PAD}{% + ,SAMSUNG_YH820_PAD,XDUOO_X3_PAD}{% Switching modes back and forth is done by pressing the \opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonRec}% \opt{GIGABEAT_S_PAD,SANSA_CLIP_PAD,MROBE100_PAD,IRIVER_H10_PAD,SANSA_FUZEPLUS_PAD}% @@ -334,6 +334,7 @@ therefore result in better runtime. \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect+\ButtonLeft} \opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonRight} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonFF} + \opt{XDUOO_X3_PAD}{\ButtonOption+\ButtonNext{} or \ButtonOption+\ButtonPrev} keys, respectively.% }% \opt{HAVEREMOTEKEYMAP}{ @@ -355,7 +356,7 @@ therefore result in better runtime. \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} {\ButtonScrollFwd{} / \ButtonScrollBack} \opt{SANSA_FUZEPLUS_PAD}{\ButtonUp{} / \ButtonDown;} - \opt{GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD} + \opt{GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD} {\ButtonVolUp{} / \ButtonVolDown} \opt{IRIVER_H10_PAD}{\ButtonScrollUp{} / \ButtonScrollDown} \opt{MROBE100_PAD,PBELL_VIBE500_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD% @@ -375,6 +376,7 @@ therefore result in better runtime. \opt{IRIVER_H10_PAD}{\ButtonFF} \opt{IRIVER_VIBE500_PAD}{\ButtonMenu} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight} + \opt{XDUOO_X3_PAD}{\ButtonPower} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD}{Long \ButtonRCFF}% @@ -387,7 +389,7 @@ therefore result in better runtime. \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonUp} \opt{IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% ,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% - ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay} + ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,XDUOO_X3_PAD}{\ButtonPlay} \opt{GIGABEAT_S_PAD}{\ButtonPlay; \ButtonUp} & \opt{HAVEREMOTEKEYMAP}{ @@ -406,8 +408,9 @@ therefore result in better runtime. {\ButtonMenu; Long \ButtonPlay} \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonPlay} \opt{PBELL_VIBE500_PAD}{\ButtonCancel; Long \ButtonPlay} - \opt{MROBE100_PAD}{\ButtonDisplay; Long {\ButtonPlay}} + \opt{MROBE100_PAD}{\ButtonDisplay; Long \ButtonPlay} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft} + \opt{XDUOO_X3_PAD}{\ButtonHome} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD}{Long \ButtonRCPlay}% @@ -423,6 +426,7 @@ therefore result in better runtime. {\ButtonLeft} \opt{GIGABEAT_RC_PAD}{\ButtonPrev; \ButtonLeft}% \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} + \opt{XDUOO_X3_PAD}{\ButtonPrev} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD}{\ButtonRCRew}% @@ -437,6 +441,7 @@ therefore result in better runtime. {\ButtonRight} \opt{GIGABEAT_RC_PAD}{\ButtonNext; \ButtonRight}% \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF} + \opt{XDUOO_X3_PAD}{\ButtonNext} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD}{\ButtonRCFF}% @@ -458,6 +463,7 @@ therefore result in better runtime. \opt{IRIVER_H10_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD% ,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay} + \opt{XDUOO_X3_PAD}{\ButtonPower}% & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD}{\ButtonRCPlay}% @@ -473,6 +479,7 @@ therefore result in better runtime. \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{Long \ButtonPlay} \opt{MROBE100_PAD}{\ButtonDisplay; Long \ButtonPlay} \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRec} + \opt{XDUOO_X3_PAD}{\ButtonHome} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD}{Long \ButtonRCPlay}% @@ -486,6 +493,7 @@ therefore result in better runtime. {\ButtonLeft} \opt{GIGABEAT_S_PAD}{\ButtonPrev; \ButtonLeft} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} + \opt{XDUOO_X3_PAD}{\ButtonPrev} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD}{\ButtonRCRew}% @@ -499,6 +507,7 @@ therefore result in better runtime. {\ButtonRight} \opt{GIGABEAT_S_PAD}{\ButtonNext; \ButtonRight} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF} + \opt{XDUOO_X3_PAD}{\ButtonNext} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD}{\ButtonRCFF}% @@ -512,6 +521,7 @@ therefore result in better runtime. {Long \ButtonLeft} \opt{GIGABEAT_S_PAD}{Long \ButtonPrev; Long \ButtonLeft} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew} + \opt{XDUOO_X3_PAD}{Long \ButtonPrev} & \opt{HAVEREMOTEKEYMAP}{ \opt{MROBE100_RC_PAD}{Long \ButtonRCRew}% @@ -525,6 +535,7 @@ therefore result in better runtime. {Long \ButtonRight} \opt{GIGABEAT_S_PAD}{Long \ButtonNext; Long \ButtonRight} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF} + \opt{XDUOO_X3_PAD}{Long \ButtonNext} & \opt{HAVEREMOTEKEYMAP}{ \opt{MROBE100_RC_PAD}{Long \ButtonRCFF}% @@ -540,6 +551,7 @@ therefore result in better runtime. \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} {\ButtonMenu} \opt{PBELL_VIBE500_PAD}{\ButtonCancel} + \opt{XDUOO_X3_PAD}{\ButtonOption} & \opt{HAVEREMOTEKEYMAP}{ \opt{MROBE100_RC_PAD}{\ButtonRCDisplay}% @@ -555,6 +567,7 @@ therefore result in better runtime. \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MROBE100_PAD} {Long \ButtonMenu} \opt{PBELL_VIBE500_PAD}{\ButtonMenu} + \opt{XDUOO_X3_PAD}{Long \ButtonOption} & \opt{HAVEREMOTEKEYMAP}{ \opt{MROBE100_RC_PAD}{Long \ButtonRCDisplay}% @@ -571,6 +584,7 @@ therefore result in better runtime. \opt{MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% ,SAMSUNG_YH820_PAD} {\ButtonUp / \ButtonDown} + \opt{XDUOO_X3_PAD}{\ButtonVolUp{} / \ButtonVolDown} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD,MROBE100_RC_PAD} @@ -586,6 +600,7 @@ therefore result in better runtime. \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight} \opt{PBELL_VIBE500_PAD}{\ButtonOK} + \opt{XDUOO_X3_PAD}{\ButtonPlay} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD}{Long \ButtonRCFF}% @@ -600,6 +615,7 @@ therefore result in better runtime. \opt{GIGABEAT_S_PAD}{Long \ButtonSelect; Long \ButtonBack} \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRight} \opt{PBELL_VIBE500_PAD}{Long \ButtonOK} + \opt{XDUOO_X3_PAD}{Long \ButtonPlay} & \opt{HAVEREMOTEKEYMAP}{ \opt{GIGABEAT_RC_PAD}{Long \ButtonRCRew}% diff --git a/manual/getting_started/installation.tex b/manual/getting_started/installation.tex index 77a3e326f9..882057b80f 100644 --- a/manual/getting_started/installation.tex +++ b/manual/getting_started/installation.tex @@ -5,17 +5,17 @@ before beginning there are a few important things to know. \section{Before Starting} -\opt{e200}{\fixme{NOTE: These instructions will not work on the -``Rhapsody'' version of the E200 series (also known as E200R). Please -follow the instructions at +\opt{e200}{\fixme{NOTE: These instructions will not work on the +``Rhapsody'' version of the E200 series (also known as E200R). Please +follow the instructions at \url{http://www.rockbox.org/wiki/SansaE200RInstallation}.}} \opt{ipodnano,ipodnano2g,ipodvideo,ipod6g,e200,c200,c200v2,e200v2,clipv1,clipv2,cowond2,fuze,fuzev2}{ -\begin{description} -\item[Supported hardware versions.] +\begin{description} +\item[Supported hardware versions.] \opt{ipodnano,ipodnano2g}{ The \playertype{} is available in multiple versions, not - all of which run Rockbox. Rockbox presently runs only on + all of which run Rockbox. Rockbox presently runs only on the first and second generation Ipod Nano. Rockbox does \emph{not} run on the third, fourth or fifth generation Ipod Nano. For information on identifying which Ipod you own, see this page on @@ -23,7 +23,7 @@ follow the instructions at } \opt{ipodvideo}{ The \playertype{} is the 5th/5.5th generation \playerman{} only. - For information on identifying which Ipod you own, see this page on Apple's + For information on identifying which Ipod you own, see this page on Apple's website: \url{http://www.info.apple.com/kbnum/n61688}. } \opt{ipod6g}{ @@ -33,7 +33,7 @@ follow the instructions at } \opt{c200,c200v2,e200,e200v2}{ The \playertype{} is available in multiple versions, and you need to make - sure which you have by checking the Sandisk firmware version number under + sure which you have by checking the Sandisk firmware version number under Settings $\rightarrow$ Info. The v1 firmware is named 01.xx.xx, while the v2 firmware begins with 03. Make sure that you are following the instructions from the correct manual. @@ -97,14 +97,14 @@ follow the instructions at \end{description} } \opt{iriverh300}{ -\begin{description} +\begin{description} \item[DRM capability.] If your \dap{} has a US firmware, then by installing Rockbox you will \emph{permanently} lose the ability to playback files with DRM. \end{description} } \opt{sansaAMS,fuzeplus}{ -\begin{description} +\begin{description} \item[DRM capability.] It is possible that installation of the bootloader may lead to you \emph{permanently} losing the ability to playback files with DRM. @@ -112,7 +112,7 @@ follow the instructions at } \nopt{gigabeats}{ -\begin{description} +\begin{description} \nopt{ipod1g2g}{ \item[USB connection.] @@ -121,9 +121,9 @@ follow the instructions at \item[Firewire connection.] } To transfer Rockbox to your \dap{} you need to - connect it to your computer. For manual installation/uninstallation, or - should autodetection fail during automatic installation, you need to know - where to access the \dap{}. On Windows this means you need to know + connect it to your computer. For manual installation/uninstallation, or + should autodetection fail during automatic installation, you need to know + where to access the \dap{}. On Windows this means you need to know the drive letter associated with the \dap{}. On Linux you need to know the mount point of your \dap{}. On Mac OS X you need to know the volume name of your \dap{}. @@ -189,7 +189,7 @@ follow the instructions at } \opt{gigabeatf}{The installation requires you to change a setting in the original firmware. Make sure the option under \setting{Setup - $\rightarrow$ Connections $\rightarrow$ PC Connections} is set to + $\rightarrow$ Connections $\rightarrow$ PC Connections} is set to \setting{gigabeat room}. Also, during installation, do not connect your \dap{} using the cradle but plug the USB cable directly to the \dap{}. } @@ -209,7 +209,7 @@ follow the instructions at } \opt{ipod,sansa}{ -\begin{description} +\begin{description} \item[Administrator/Root rights.] Installing the bootloader portion of Rockbox requires you to have administrative (Windows) or root (Linux) rights. Consequently when doing either the automatic or manual bootloader install, @@ -279,7 +279,7 @@ still available to you.\\ most of the Rockbox code is contained in a ``build'' that resides on your \daps{} drive. This makes it easy to update Rockbox. The build consists of a directory called - \fname{.rockbox} which contains all of the Rockbox files, and is + \fname{.rockbox} which contains all of the Rockbox files, and is located in the root of your \daps{} drive. \end{description} } @@ -320,7 +320,7 @@ instructions below.\\}} When first starting \caps{Rockbox Utility} run ``Autodetect'', found in the configuration dialog (File $\rightarrow$ Configure). Autodetection -can detect most player types. If autodetection fails or is unable to detect +can detect most player types. If autodetection fails or is unable to detect the mountpoint, make sure to enter the correct values. The mountpoint indicates the location of the \dap{} in your filesystem. On Windows, this is the drive letter the \dap{} gets assigned, on other systems this is a path in the @@ -333,16 +333,16 @@ filesystem.\\* the bootloader directly. Instead, we have to patch the Iriver firmware with the Rockbox bootloader. - Download a supported version of the Iriver firmware for your - \playername{} from the Iriver website, links can be found on + Download a supported version of the Iriver firmware for your + \playername{} from the Iriver website, links can be found on \wikilink{IriverBoot}. - - Supported Iriver firmware versions currently include - \opt{iriverh100}{1.63US, 1.63EU, 1.63K, 1.65US, 1.65EU, 1.65K, 1.66US, + + Supported Iriver firmware versions currently include + \opt{iriverh100}{1.63US, 1.63EU, 1.63K, 1.65US, 1.65EU, 1.65K, 1.66US, 1.66EU and 1.66K. Note that the H140 uses the same firmware as the H120; H120 and H140 owners should use the firmware called \fname{ihp\_120.hex}. - Likewise, the iHP110 and iHP115 use the same firmware, called - \fname{ihp\_100.hex}. Be sure to use the correct firmware file for + Likewise, the iHP110 and iHP115 use the same firmware, called + \fname{ihp\_100.hex}. Be sure to use the correct firmware file for your player.} \opt{iriverh300}{1.28K, 1.28EU, 1.28J, 1.29K, 1.29J, 1.30EU and 1.31K. \note{The US \playername{} firmware is not supported and cannot be @@ -353,11 +353,11 @@ filesystem.\\* \warn{Installing a non-US firmware on a US \playername{} will \emph{permanently} remove DRM support from the player.}} - If the file that you downloaded is a \fname{.zip} file, use an unzip + 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{.hex} 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 + 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{.hex} file to your desktop. When running Linux you should be able to extract \fname{.exe} files using \fname{unzip}. @@ -369,8 +369,8 @@ filesystem.\\* 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 + Download a supported version of the MPIO firmware for your + \playername{} from the MPIO website, links can be found on \opt{mpiohd200}{\wikilink{MPIOHD200Port}}% \opt{mpiohd300}{\wikilink{MPIOHD300Port}}. @@ -420,11 +420,11 @@ to select which version you wish to install. \item[Release.] The release version is the latest stable release, free of known critical bugs. For a manual install, the current stable release of Rockbox is available at \url{http://www.rockbox.org/download/}. - + \item[Development Build.] The development build is built at each change to the Rockbox source code repository and represents the current state of Rockbox development. This means that the build could contain bugs but most of - the time is safe to use. For a manual install, you can download the current build from + the time is safe to use. For a manual install, you can download the current build from \url{http://build.rockbox.org/}. \item[Archived Build.] In addition to the release version and the current build, @@ -434,8 +434,8 @@ to select which version you wish to install. \end{description} -\note{Because current and archived builds are development versions that - change frequently, they may behave differently than described in this manual, +\note{Because current and archived builds are development versions that + change frequently, they may behave differently than described in this manual, or they may introduce new (and potentially annoying) bugs. Unless you wish to try the latest and greatest features at the price of possibly greater instability, or you wish to help with development, you should stick with the release.\\*} @@ -461,18 +461,18 @@ partition (containing at least a file called \fname{nk.bin}) and the main data partition. Rockbox \emph{must} be installed onto the main data partition.}} -\begin{enumerate} +\begin{enumerate} \item Download your chosen version of Rockbox from the links in the previous section. -\item Connect your \dap{} to the computer via USB +\item Connect your \dap{} to the computer via USB \opt{sansa,sansaAMS,iriverh10,iriverh10_5gb,vibe500,fuzeplus,samsungyh} { in MSC mode } \opt{ipod3g,ipod4g,ipodmini,ipodcolor}{ or Firewire }as described in the manual that came with your \dap{}. \item Take the \fname{.zip} file that you downloaded and use - the ``Extract all'' command of your unzip program to extract + the ``Extract all'' command of your unzip program to extract the files onto \opt{gigabeats,fuzeplus}{the main data partition of } \opt{cowond2}{either an SD card or the internal memory of } @@ -482,7 +482,7 @@ data partition.}} will not be possible to save settings.}} \end{enumerate} -\note{The entire contents of the \fname{.zip} file should be extracted +\note{The entire contents of the \fname{.zip} file should be extracted directly to the root of your \daps{} drive. Do not try to create a separate directory on your \dap{} for the Rockbox files! The \fname{.zip} file already contains the internal @@ -490,11 +490,9 @@ structure that Rockbox needs.\\} % This has nothing to do with swcodec, just that these players need our own % bootloader so we can decide where we want the main binary. -\opt{swcodec}{ - If the contents of the \fname{.zip} file are extracted correctly, you will - have a directory called \fname{.rockbox}, which contains all the files needed - by Rockbox, in the main directory of your \daps{} drive. -} +If the contents of the \fname{.zip} file are extracted correctly, you will +have a directory called \fname{.rockbox}, which contains all the files needed +by Rockbox, in the main directory of your \daps{} drive. \opt{swcodec}{% \nopt{gigabeats}{% @@ -517,33 +515,34 @@ structure that Rockbox needs.\\} \opt{ondavx777}{\input{getting_started/ondavx777_install.tex}} \opt{IMX233}{\input{getting_started/IMX233_install.tex}} \opt{samsungyh}{\input{getting_started/samsungyh_install.tex}} + \opt{xduoox3}{\input{getting_started/xduoox3_install.tex}} } } \subsection{Finishing the install}\label{ref:finish_install} \opt{gigabeatf}{ - After installing you \emph{need} to power-cycle the + After installing you \emph{need} to power-cycle the \dap{} by doing the following steps. Failure to do so may result in problems. \begin{itemize} \item Safely eject / unmount your \dap{} and unplug the USB cable. \item Unplug any power adapter. \item Hold the \ButtonPower{} button to turn off the \dap{}. - \item Slide the battery switch located on the bottom of the \dap{} from + \item Slide the battery switch located on the bottom of the \dap{} from `on' to `off'. \item Slide the battery switch back from `off' to `on'. \end{itemize} } \opt{iaudiom3,iaudiom5,iaudiox5}{ - After installing you \emph{need} to power-cycle the + After installing you \emph{need} to power-cycle the \dap{} by doing the following steps. \begin{itemize} \item Safely eject / unmount your \dap{} and unplug the USB cable. \item Hold the \opt{IAUDIO_X5_PAD}{\ButtonPower} \opt{IAUDIO_M3_PAD}{\ButtonPlay} - button to turn off the \dap{}. + button to turn off the \dap{}. \item Insert the charger. The Rockbox bootloader will automatically be flashed. \end{itemize} } @@ -564,14 +563,14 @@ structure that Rockbox needs.\\} \opt{iriverh100,iriverh300}{ \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 adapter. 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. Press and hold the \ButtonSelect{} button to enter the main menu, and navigate to \setting{General $\rightarrow$ Firmware Upgrade}. Select - \setting{Yes} when asked to confirm if you want to upgrade the + \setting{Yes} when asked to confirm if you want to upgrade the firmware. The \playerman{} will display a message indicating that the firmware update is in progress. Do \emph{not} interrupt this process. When the firmware update is complete the player will turn itself off. (The update @@ -618,7 +617,7 @@ structure that Rockbox needs.\\} \index{Speech}\index{Installation!Optional Steps} If you wish to use speech support you will also need a voice file. Voice files allow Rockbox to speak the user interface to you. Rockbox Utility can install -an English voice file, or you can download it from \url{http://www.rockbox.org/daily.shtml} +an English voice file, or you can download it from \url{http://www.rockbox.org/daily.shtml} and unzip it to the root of your \dap{}. Rockbox Utility can also aid you in the creation of voice files with different voices or in other languages if you have a suitable speech engine installed on your computer. @@ -642,7 +641,7 @@ you turn the unit on, Rockbox should load.} \note{ If you have loaded music onto your \dap{} using the \playerman{} firmware, you will not be able to see your music properly in the - \setting{File Browser} as MTP mode changes the location and file names. + \setting{File Browser} as MTP mode changes the location and file names. Files placed on your \dap{} using the \playerman{} firmware can be viewed by initialising and using Rockbox's database. See \reference{ref:database} for more information.} @@ -659,10 +658,10 @@ you turn the unit on, Rockbox should load.} \opt{ipod}{ \note{ - If you have loaded music onto your \dap{} using Itunes, - you will not be able to see your music properly in the \setting{File Browser}. - This is because Itunes changes your files' names and hides them in - directories in the \fname{Ipod\_Control} directory. Files placed on your + If you have loaded music onto your \dap{} using Itunes, + you will not be able to see your music properly in the \setting{File Browser}. + This is because Itunes changes your files' names and hides them in + directories in the \fname{Ipod\_Control} directory. Files placed on your \dap{} using Itunes can be viewed by initialising and using Rockbox's database. See \reference{ref:database} for more information. } @@ -697,7 +696,7 @@ need to be updated.\\ \section{Uninstalling Rockbox}\index{Installation!uninstall} \nopt{gigabeatf,iaudiom3,iaudiom5,iaudiox5,mrobe100,gigabeats,fuzeplus}{ - \note{The Rockbox bootloader allows you to choose between Rockbox and + \note{The Rockbox bootloader allows you to choose between Rockbox and the original firmware. (See \reference{ref:Dualboot} for more information.)} } @@ -735,8 +734,8 @@ completely follow the manual uninstallation instructions below.}} \optv{ipod}{ To uninstall Rockbox and go back to using just the original Ipod software, connect - the \dap{} to your computer and follow the instructions to install - the bootloader but, when prompted by ipodpatcher, enter \texttt{u} for uninstall + the \dap{} to your computer and follow the instructions to install + the bootloader but, when prompted by ipodpatcher, enter \texttt{u} for uninstall instead of \texttt{i} for install. } @@ -766,7 +765,7 @@ completely follow the manual uninstallation instructions below.}} } \opt{sansaAMS,fuzeplus}{ - Copy an unmodified original firmware to your player, and then reboot into + Copy an unmodified original firmware to your player, and then reboot into the Sandisk firmware. See \reference{ref:Dualboot} for more information. } @@ -803,12 +802,12 @@ completely follow the manual uninstallation instructions below.}} \end{itemize} \note{From Windows, you can also run \fname{gbs\_update\_1\_2\_us.exe} - directly to restore your \dap{}. This will format your \dap{}, + directly to restore your \dap{}. This will format your \dap{}, removing all files.} } \section{Troubleshooting} -\begin{description} +\begin{description} \opt{sansa,ipod}{ \item[Bootloader install problems] If you have trouble installing the bootloader, @@ -836,9 +835,9 @@ completely follow the manual uninstallation instructions below.}} \opt{iriverh100,iriverh300,mpiohd200}{\item[``-1 error'']} If you receive a \nopt{iriverh100,iriverh300,mpiohd200}{``File Not Found''} - \opt{iriverh100,iriverh300,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} + \opt{iriverh100,iriverh300,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. @@ -859,7 +858,7 @@ before installing will resolve this problem. The appropriate format command is: mkdosfs -f 2 -F 32 -S 512 -s 64 -v -n TFAT /path/to/partition/device \end{code} \warn{This will remove all your files.} - + \item Copying a \fname{tar}. If you have a Rockbox build environment then you can try generating \fname{rockbox.tar} instead of \fname{rockbox.zip} as follows: diff --git a/manual/getting_started/xduoox3_install.tex b/manual/getting_started/xduoox3_install.tex new file mode 100644 index 0000000000..e4d49898f2 --- /dev/null +++ b/manual/getting_started/xduoox3_install.tex @@ -0,0 +1,28 @@ + Installing the bootloader is the trickiest part of the installation. + We cannot distribute the bootloader directly, and thus need to patch a compatible + version of the xDuoo firmware. + +\begin{enumerate} + +\item Download the Rockbox bootloader from + \url{http://download.rockbox.org/bootloader/xduoo/X3-v11.bsdiff} + +\item Get a copy of the original \playertype{} v1.1 firmware from + \url{https://www.xduoo.net/firmware-download/} and extract the .rar file to obtain the + update image (called \fname{update.zip}). + +\item Compile bspatch in rbutil/bspatch/ (run make in the dir). + +\item Run +\begin{code} + ../rbutil/bspatch/bspatch update.zip output.zip X3-v11.bsdiff +\end{code} + +\item Put \fname{output.zip} in the root of the SD card and rename it to \fname{update.zip}. + +\item Disconnect the player from USB and let the original firmware boot. + +\item Go into the 'Setting' menu, and select 'Upgrade'. The player will reboot into Rockbox + upon completion. + +\end{enumerate} diff --git a/manual/platform/keymap-xduoox3.tex b/manual/platform/keymap-xduoox3.tex new file mode 100644 index 0000000000..539ee2e7ad --- /dev/null +++ b/manual/platform/keymap-xduoox3.tex @@ -0,0 +1,103 @@ +% $Id$ + +\newcommand{\ButtonPrev}{\btnfnt{Prev}} +\newcommand{\ButtonNext}{\btnfnt{Next}} +\newcommand{\ButtonHome}{\btnfnt{Home}} +\newcommand{\ButtonOption}{\btnfnt{Option}} +\newcommand{\ButtonPlay}{\btnfnt{Play}} +\newcommand{\ButtonPower}{\btnfnt{Power}} +\newcommand{\ButtonVolDown}{\btnfnt{Volume Down}} +\newcommand{\ButtonVolUp}{\btnfnt{Volume Up}} +\newcommand{\ButtonHold}{\btnfnt{Hold}} + +%Button actions, standard context +\newcommand{\ActionStdPrev}{\ButtonPrev} +\newcommand{\ActionStdPrevRepeat}{Long \ButtonPrev} +\newcommand{\ActionStdNext}{\ButtonNext} +\newcommand{\ActionStdNextRepeat}{Long \ButtonNext} +\newcommand{\ActionStdContext}{Long \ButtonPlay} +\newcommand{\ActionStdCancel}{\ButtonHome} +\newcommand{\ActionStdOk}{\ButtonPlay} +\newcommand{\ActionStdMenu}{\ButtonOption} +\newcommand{\ActionStdQuickScreen}{Long \ButtonOption} +\newcommand{\ActionQuickScreenExit}{\ButtonPlay{} or \ButtonHome} +\newcommand{\ActionStdUsbCharge}{\ButtonPlay} + +%Button actions, wps context +\newcommand{\ActionWpsPlay}{\ButtonPlay} +\newcommand{\ActionWpsStop}{\ButtonPower} + +\newcommand{\ActionWpsSkipNext}{\ButtonNext} +\newcommand{\ActionWpsSkipPrev}{\ButtonPrev} +\newcommand{\ActionWpsSeekBack}{Long \ButtonPrev} +\newcommand{\ActionWpsSeekFwd}{Long \ButtonNext} + +\newcommand{\ActionWpsVolDown}{\ButtonVolDown} +\newcommand{\ActionWpsVolUp}{\ButtonVolUp} + +\newcommand{\ActionWpsBrowse}{\ButtonHome} +\newcommand{\ActionWpsContext}{Long \ButtonPlay} +\newcommand{\ActionWpsMenu}{\ButtonOption} +\newcommand{\ActionWpsHotkey}{\ButtonHome} + +\newcommand{\ActionWpsAbSetBNextDir}{\ButtonPower{} + \ButtonNext} +\newcommand{\ActionWpsAbSetAPrevDir}{\ButtonPower{} + \ButtonNext} + +\newcommand{\ActionWpsQuickScreen}{} +\newcommand{\ActionWpsAbReset}{} + +%Button actions, tree context +\newcommand{\ActionTreeWps}{\ButtonPower} +\newcommand{\ActionTreeStop}{Long \ButtonPower} +\newcommand{\ActionTreeEnter}{\ButtonPlay} +\newcommand{\ActionTreeParentDirectory}{\ButtonHome} +\newcommand{\ActionTreeHotkey}{Long \ButtonHome} + +%Button actions, YesNo context +\newcommand{\ActionYesNoAccept}{\ButtonPlay} + +%Button actions, Setting context +\newcommand{\ActionSettingInc}{\ButtonVolUp} +\newcommand{\ActionSettingDec}{\ButtonVolDown} + +%Button actions, Virtual Keyboard Context +\newcommand{\ActionKbdLeft}{\ButtonPrev} +\newcommand{\ActionKbdRight}{\ButtonNext} +\newcommand{\ActionKbdDown}{\ButtonOption} +\newcommand{\ActionKbdUp}{\ButtonHome} +\newcommand{\ActionKbdCursorLeft}{\ButtonVolUp} +\newcommand{\ActionKbdCursorRight}{\ButtonVolDown} +\newcommand{\ActionKbdBackSpace}{\ButtonHome} +\newcommand{\ActionKbdSelect}{\ButtonPlay} +\newcommand{\ActionKbdDone}{Long \ButtonPlay} +\newcommand{\ActionKbdAbort}{\ButtonPower} + +\newcommand{\ActionKbdPageFlip}{} + +%Button actions, Pitch Screen context +\newcommand{\ActionPsIncSmall}{\ButtonVolUp} +\newcommand{\ActionPsIncBig}{Long \ButtonVolUp} +\newcommand{\ActionPsDecSmall}{\ButtonVolDown} +\newcommand{\ActionPsDecBig}{Long \ButtonVolDown} +\newcommand{\ActionPsNudgeLeft}{\ButtonNext} +\newcommand{\ActionPsNudgeRight}{\ButtonPrev} +\newcommand{\ActionPsToggleMode}{\ButtonPlay} +\newcommand{\ActionPsReset}{\ButtonPower} +\newcommand{\ActionPsExit}{\ButtonHome} + +%Button actions, Bookmark screen context +\newcommand{\ActionBmDelete}{Long \ButtonHome} + +%Plugin lib actions +\newcommand{\PluginUp}{\ButtonHome} +\newcommand{\PluginDown}{\ButtonOption} +\newcommand{\PluginLeft}{\ButtonPrev} +\newcommand{\PluginRight}{\ButtonNext} +\newcommand{\PluginUpRepeat}{Long \ButtonHome} +\newcommand{\PluginDownRepeat}{Long \ButtonOption} +\newcommand{\PluginLeftRepeat}{Long \ButtonPrev} +\newcommand{\PluginRightRepeat}{Long \ButtonNext} +\newcommand{\PluginCancel}{\ButtonPower} +\newcommand{\PluginExit}{Long \ButtonPower} +\newcommand{\PluginSelect}{\ButtonPlay} +\newcommand{\PluginSelectRepeat}{Long \ButtonPlay} diff --git a/manual/platform/xduoox3.tex b/manual/platform/xduoox3.tex new file mode 100644 index 0000000000..02f8e8a9b4 --- /dev/null +++ b/manual/platform/xduoox3.tex @@ -0,0 +1,26 @@ +% Id: % +\def\UseOption{xduoox3} +\edef\UseOption{\UseOption,XDUOO_X3_PAD} +\edef\UseOption{\UseOption,HAVE_BACKLIGHT} +\edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH} + +\newcommand{\playerman}{xDuoo} +\newcommand{\playertype}{X3} +\newcommand{\playerlongtype}{\playertype} +\newcommand{\dapdisplaywidth}{128} +\newcommand{\dapdisplayheight}{64} +\newcommand{\dapdisplaydepth}{1} +\newcommand{\specimg}{xduoox3} +%used for specifying screenshot names common to a target "family" +\newcommand{\seriesimg}{xduoox3} +%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{update.zip}} +\newcommand{\firmwareextension}{\fname{zip}} +\newcommand{\screenshotsize}{3cm} +\newcommand{\disk}{SD card} + +% link external keymap file +\input{platform/keymap-xduoox3.tex} diff --git a/manual/rockbox_interface/images/xduoox3-front.png b/manual/rockbox_interface/images/xduoox3-front.png new file mode 100644 index 0000000000..bfe5459967 Binary files /dev/null and b/manual/rockbox_interface/images/xduoox3-front.png differ diff --git a/manual/rockbox_interface/main.tex b/manual/rockbox_interface/main.tex index f1935b36f3..dca4a43974 100644 --- a/manual/rockbox_interface/main.tex +++ b/manual/rockbox_interface/main.tex @@ -516,7 +516,7 @@ To turn on and off your Rockbox enabled \dap{} use the following keys: \opt{IPOD_3G_PAD}{\ButtonMenu{} / \ButtonPlay}% \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,ONDA_VX777_PAD% ,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS,PBELL_VIBE500_PAD% - ,SANSA_FUZEPLUS_PAD% + ,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD% }{\ButtonPower}% \opt{COWON_D2_PAD} {\ButtonPower{}, then \ButtonHold}% \opt{ONDA_VX777_PAD} {\ButtonPower{}}% @@ -534,7 +534,7 @@ To turn on and off your Rockbox enabled \dap{} use the following keys: \opt{IPOD_4G_PAD,IPOD_3G_PAD}{Long \ButtonPlay}% \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD% ,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS,COWON_D2_PAD% - ,PBELL_VIBE500_PAD,ONDA_VX777_PAD,SANSA_FUZEPLUS_PAD% + ,PBELL_VIBE500_PAD,ONDA_VX777_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD% }{Long \ButtonPower}% & \opt{HAVEREMOTEKEYMAP}{ -- cgit v1.2.3