Index: manual/platform/keymap-cowond2.tex =================================================================== --- manual/platform/keymap-cowond2.tex (revision 0) +++ manual/platform/keymap-cowond2.tex (revision 0) @@ -0,0 +1,100 @@ +% $Id$ + +\newcommand{\ButtonLeft}{\btnfnt{Left}} +\newcommand{\ButtonRight}{\btnfnt{Right}} +\newcommand{\ButtonUp}{\btnfnt{Top}} +\newcommand{\ButtonDown}{\btnfnt{Down}} +\newcommand{\ButtonSelect}{\btnfnt{(TS) Center}} +\newcommand{\ButtonPower}{\btnfnt{Power}} +\newcommand{\ButtonHold}{\btnfnt{Hold}} + +\newcommand{\ButtonMinus}{\btnfnt{Minus}} +\newcommand{\ButtonMenu}{\btnfnt{Menu}} +\newcommand{\ButtonPlus}{\btnfnt{Plus}} +\newcommand{\ButtonUpper}{\btnfnt{(TS) Upper}} +\newcommand{\ButtonLower}{\btnfnt{(TS) Lower}} +\newcommand{\ButtonMid}{\btnfnt{(TS) Middle}} +\newcommand{\ButtonMiddle}{\btnfnt{Middle}} +\newcommand{\ButtonUnknown}{\btnfnt{@UNKNOWN@}} + +%Button actions, standard context +\newcommand{\ActionStdPrev}{\ButtonMinus{} or \ButtonUpper{} \ButtonMiddle} +\newcommand{\ActionStdPrevRepeat}{Long \ButtonMinus{} or Long \ButtonUpper{} \ButtonMiddle} +\newcommand{\ActionStdNext}{\ButtonPlus{} or \ButtonLower{} \ButtonMiddle} +\newcommand{\ActionStdNextRepeat}{Long \ButtonPlus{} or Long \ButtonLower{} \ButtonMiddle} +\newcommand{\ActionStdOk}{\ButtonMenu{} or \ButtonSelect{} or \ButtonMid{} \ButtonRight} +\newcommand{\ActionStdCancel}{\ButtonPower{} or \ButtonMid{} \ButtonLeft} +\newcommand{\ActionStdMenu}{\ButtonUpper{} \ButtonLeft} +\newcommand{\ActionStdQuickScreen}{Long \ButtonPlus{} or Long \ButtonUpper{} \ButtonLeft} +\newcommand{\ActionQuickScreenExit}{\ButtonSelect} +\newcommand{\ActionStdContext}{Long \ButtonMenu{} or Long \ButtonSelect} +\newcommand{\ActionStdUsbCharge}{\ButtonUnknown} + +%Button actions, wps context +\newcommand{\ActionWpsPlay}{\ButtonUpper{} \ButtonRight} +\newcommand{\ActionWpsStop}{Long \ButtonUpper{} \ButtonRight} +\newcommand{\ActionWpsSkipNext}{\ButtonMid{} \ButtonRight} +\newcommand{\ActionWpsSkipPrev}{\ButtonMid{} \ButtonLeft} +\newcommand{\ActionWpsSeekBack}{Long \ButtonMid{} \ButtonLeft} +\newcommand{\ActionWpsSeekFwd}{Long \ButtonMid{} \ButtonRight} +\newcommand{\ActionWpsBrowse}{\ButtonSelect} +\newcommand{\ActionWpsContext}{Long \ButtonMenu{} or Long \ButtonSelect} +\newcommand{\ActionWpsQuickScreen}{Long \ButtonUpper{} \ButtonLeft} +\newcommand{\ActionWpsViewPlaylist}{\ButtonUpper{} \ButtonLeft} +\newcommand{\ActionWpsVolDown}{\ButtonMinus} +\newcommand{\ActionWpsVolUp}{\ButtonPlus} +\newcommand{\ActionWpsMenu}{\ButtonMenu} + +%Button actions, tree context +\newcommand{\ActionTreeWps}{\ButtonUpper{} \ButtonRight} +\newcommand{\ActionTreeStop}{\ButtonUnknown} +\newcommand{\ActionTreeEnter}{\ButtonMenu} +\newcommand{\ActionTreeParentDirectory}{\ButtonPower{} or \ButtonMid{} \ButtonLeft} + +%Button actions, YesNo context +\newcommand{\ActionYesNoAccept}{\ButtonMenu{} or \ButtonUpper{} \ButtonRight} + +%Button actions, Setting context +\newcommand{\ActionSettingInc}{\ButtonPlus{} or \ButtonUpper{} \ButtonMiddle} +\newcommand{\ActionSettingDec}{\ButtonMinus{} or \ButtonLower{} \ButtonMiddle} + +%Button actions, Pitch Screen context +\newcommand{\ActionPsIncSmall}{\ButtonPlus{} or \ButtonUpper{} \ButtonMiddle} +\newcommand{\ActionPsIncBig}{Long \ButtonPlus{} or Long \ButtonUpper{} \ButtonMiddle} +\newcommand{\ActionPsDecSmall}{\ButtonMinus{} or \ButtonLower{} \ButtonMiddle} +\newcommand{\ActionPsDecBig}{Long \ButtonMinus{} or Long \ButtonLower{} \ButtonMiddle} +\newcommand{\ActionPsNudgeLeft}{\ButtonMid{} \ButtonLeft} +\newcommand{\ActionPsNudgeRight}{\ButtonMid{} \ButtonRight} +\newcommand{\ActionPsToggleMode}{\ButtonLower{} \ButtonRight} +\newcommand{\ActionPsReset}{\ButtonSelect} +\newcommand{\ActionPsExit}{\ButtonUpper{} \ButtonLeft} +\newcommand{\ActionPsSlower}{Long \ButtonMid{} \ButtonLeft} +\newcommand{\ActionPsFaster}{Long \ButtonMid{} \ButtonRight} + +%Button actions, Virtual Keyboard Context +\newcommand{\ActionKbdLeft}{\ButtonMinus{} or \ButtonMid{} \ButtonLeft} +\newcommand{\ActionKbdRight}{\ButtonPlus{} or \ButtonMid{} \ButtonRight} +\newcommand{\ActionKbdCursorLeft}{\ButtonUpper{} \ButtonLeft} +\newcommand{\ActionKbdCursorRight}{\ButtonMid{} \ButtonRight} +\newcommand{\ActionKbdSelect}{\ButtonSelect} +\newcommand{\ActionKbdDone}{Long \ButtonSelect} +\newcommand{\ActionKbdAbort}{\ButtonPower} +\newcommand{\ActionKbdBackSpace}{\ButtonLower{} \ButtonLeft} +\newcommand{\ActionKbdUp}{\ButtonUpper{} \ButtonMiddle} +\newcommand{\ActionKbdDown}{\ButtonLower{} \ButtonMiddle} +\newcommand{\ActionKbdPageFlip}{\ButtonMenu} + +%Button actions, FM radio context +\newcommand{\ActionFMPrev}{\ButtonMid{} \ButtonLeft} +\newcommand{\ActionFMNext}{\ButtonMid{} \ButtonRight} +\newcommand{\ActionFMMenu}{\ButtonMenu{} or Long \ButtonSelect} +\newcommand{\ActionFMPreset}{\ButtonSelect} +\newcommand{\ActionFMExit}{\ButtonUpper{} \ButtonLeft} +\newcommand{\ActionFMMode}{\ButtonLower{} \ButtonLeft} +\newcommand{\ActionFMPlay}{\ButtonUpper{} \ButtonRight} +\newcommand{\ActionFMStop}{\ButtonPower} +\newcommand{\ActionFMSettingsInc}{\ButtonMid{} \ButtonDown} +\newcommand{\ActionFMSettingsDec}{\ButtonMid{} \ButtonUp} + +%Button actions, Bookmark screen context +\newcommand{\ActionBmDelete}{\ButtonUnknown} Index: manual/platform/cowond2.tex =================================================================== --- manual/platform/cowond2.tex (revision 0) +++ manual/platform/cowond2.tex (revision 0) @@ -0,0 +1,23 @@ +% $Id$ % +\def\UseOption{cowond2} +\edef\UseOption{\UseOption,COWOND2_PAD} +\edef\UseOption{\UseOption,HAVE_BACKLIGHT} +\edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH} +\edef\UseOption{\UseOption,cowond2} + +\newcommand{\playerman}{Cowon} +\newcommand{\playertype}{D2} +\newcommand{\playerlongtype}{\playerman{} \playertype} +\newcommand{\genericimg}{220x176x16} +\newcommand{\specimg}{d2} +%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.d2}} +\newcommand{\firmwareextension}{\fname{d2}} +\newcommand{\screenshotsize}{4cm} +\newcommand{\disk}{flash storage} + +% link external keymap file +\input{platform/keymap-cowond2.tex} Index: manual/getting_started/installation.tex =================================================================== --- manual/getting_started/installation.tex (revision 23546) +++ manual/getting_started/installation.tex (working copy) @@ -11,7 +11,7 @@ follow the instructions at \url{http://www.rockbox.org/twiki/bin/view/Main/SansaE200RInstallation}.}} -\opt{ipodnano,ipodnano2g,ipodvideo,e200,c200,e200v2}{ +\opt{ipodnano,ipodnano2g,ipodvideo,e200,c200,e200v2,cowond2}{ \begin{description} \item[Supported hardware versions.] \opt{ipodnano,ipodnano2g}{ @@ -43,9 +43,38 @@ v2 firmware begins with 03. Make sure that you are following the instructions from the correct manual. } + \opt{cowond2}{ + Rockbox runs on all \playerlongtype{} and \playertype{}+ variants (2 / 4 / + 8 / 16GB, with or without DAB/DMB).\\ + \note{Newer \playertype{}+ hardware revisions use an updated power + management chip, and some functionality is not yet implemented on these + players (e.g. touchscreen support).} + } \end{description} } +\opt{cowond2}{ +\begin{description} + \item[Current limitations.] Most Rockbox functions are usable on the + \playertype{}/\playertype{}+, including music playback and most plugins, but + there are a number of shortcomings that prevent it from being a fully + supported target: + \begin{itemize} + \item An SD card is required to use many features, since the internal + flash memory is read-only in Rockbox.\\ + \warn{The SD driver is still in development and may contain bugs. + There have been reports of SD cards becoming unusable after being used + with Rockbox on \playerlongtype{}. Only use old, low-capacity cards + until we are satisfied the driver is safe to use.\\} + \item There is only basic touchscreen support. Further work is + required to make the UI more usable with a touchscreen in general.\\ + \note{The touchscreen can be used in two modes, either a 3x3 grid mode + which divides the screen into areas to emulate a set of physical + buttons (the default setting), or ``absolute point'' mode where the + touchscreen is used to point to items on the screen.\\} + \end{itemize} +\end{description} +} \opt{h300}{ \begin{description} \item[DRM capability.] If your \dap{} has a US firmware, then by installing Rockbox you will @@ -364,7 +393,8 @@ \item Take the \fname{.zip} file that you downloaded and use the ``Extract all'' command of your unzip program to extract - the files onto \opt{gigabeats}{the main data partition of }your \dap{}. + the files onto \opt{gigabeats}{the main data partition of } + \opt{cowond2}{either an SD card or the internal memory of }your \dap{}. \end{enumerate} \note{The entire contents of the \fname{.zip} file should be extracted @@ -398,6 +428,7 @@ \opt{sansa}{\input{getting_started/sansa_install.tex}} \opt{sansaAMS}{\input{getting_started/sansaAMS_install.tex}} \opt{mrobe100}{\input{getting_started/mrobe100_install.tex}} + \opt{cowond2}{\input{getting_started/cowond2_install.tex}} }} \subsection{Finishing the install}\label{ref:finish_install} @@ -428,7 +459,7 @@ \end{itemize} } -\opt{h10,h10_5gb,ipod,mrobe100,sansa,archos}{ +\opt{h10,h10_5gb,ipod,mrobe100,sansa,archos,cowond2}{ Safely eject / unmount the USB drive, unplug the cable and restart. } @@ -473,7 +504,7 @@ to speak file and folder names. \section{Running Rockbox} -\nopt{ipod,gigabeats}{When +\nopt{ipod,gigabeats,cowond2}{When you turn the unit on, Rockbox should load.} \opt{ipod}{Hard reset the Ipod by holding \opt{IPOD_4G_PAD}{\ButtonMenu{}+\ButtonSelect{}}% @@ -492,6 +523,15 @@ See \reference{ref:database} for more information.} } +\opt{cowond2}{ + To boot the Rockbox firmware set the \ButtonHold{} switch immediately after + power on.\\ + \note{If you have chosen to install to an SD card and it is inserted at power + on, Rockbox will boot from that card and use it as the primary drive for + storing settings, etc. If there is no SD card inserted, Rockbox will boot + from the internal memory, and it will not be possible to save settings.} +} + \opt{ipod}{ \note{ If you have loaded music onto your \dap{} using Itunes, Index: manual/getting_started/cowond2_install.tex =================================================================== --- manual/getting_started/cowond2_install.tex (revision 0) +++ manual/getting_started/cowond2_install.tex (revision 0) @@ -0,0 +1,28 @@ +\begin{enumerate} +\item Get a copy of the original \playerlongtype{} firmware from + \url{http://www.cowonglobal.com/zeroboard/zboard.php?id=C08&bmenu=support}. + It has to be of the same version that is currently installed on your \dap{}. + +\item Build the mktccboot tool or download a binary for your operating system. + +\item Build the bootloader (\fname{bootloader-cowond2.bin}). Pre-built binary + is available at \download{bootloader/cowon/d2/bootloader-cowond2.bin}. + +\item Patch the bootloader into the \playerman{} firmware using mktccboot: + \begin{code} + mktccboot D2N.bin bootloader-cowond2.bin D2N-patched.bin + \end{code} + \note{The filename depends on the firmware version and hardware revision as + shown in the table below (for the \playertype{} use the file found in folder + ``\fname{1}'', not ``\fname{0}'') + \begin{table} + \begin{rbtabular}{0.6\textwidth}{XXX}% + { \textbf{FW / HW} & \textbf{\playertype{}} & \textbf{\playertype{}+}}{}{} + \textbf{1.xx, 3.xx} & \fname{D2.bin} & \fname{D2\_P.bin} \\ + \textbf{2.xx, 4.xx} & \fname{D2N.bin} & \fname{D2N\_P.bin} \\ + \end{rbtabular} + \end{table}} + +\item Copy the output file (``\fname{D2N-patched.bin}'' in our example) to the + root of the \daps{} internal memory and rename it according to the above table. +\end{enumerate} Index: manual/rockbox_interface/main.tex =================================================================== --- manual/rockbox_interface/main.tex (revision 23546) +++ manual/rockbox_interface/main.tex (working copy) @@ -21,6 +21,17 @@ picture above. Whenever a button name is prefixed by ``Long'', a long press of approximately one second should be performed on that button. The buttons are described in detail in the following paragraph. +\opt{cowond2}{\\ +The areas of the touchscreen in the 3x3 grid mode are in turn referred as follows: +\begin{table} + \begin{rbtabular}{0.9\textwidth}{XXX}% + { & & }{}{} + \ButtonUpper{} \ButtonLeft & \ButtonUpper{} \ButtonMiddle & \ButtonUpper{} \ButtonRight \\ + \ButtonMid{} \ButtonLeft & \ButtonSelect & \ButtonMid{} \ButtonRight \\ + \ButtonLower{} \ButtonLeft & \ButtonLower{} \ButtonMiddle & \ButtonLower{} \ButtonRight \\ + \end{rbtabular} +\end{table} +} \blind{ Additional information for blind users is available on the Rockbox website at @@ -443,6 +454,8 @@ } \subsection{Turning the \dap{} on and off} +\opt{cowond2}{Rockbox has a dual-boot feature with the original firmware being + the default.\\} To turn on and off your Rockbox enabled \dap{} use the following keys: \begin{table} \begin{btnmap}{}{} @@ -453,6 +466,7 @@ {Long \ButtonOn}% \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS} {\ButtonPower}% + \opt{COWOND2_PAD} {\ButtonPower{}, then \ButtonHold}% \opt{HAVEREMOTEKEYMAP}{& \opt{IRIVER_RC_H100_PAD}{\ButtonRCOn}% } @@ -464,6 +478,7 @@ \opt{PLAYER_PAD}{From the Main Menu, select \textbf{Shutdown}}% \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS}% {Long \ButtonPower}% + \opt{COWOND2_PAD} {Long \ButtonPower}% \opt{HAVEREMOTEKEYMAP}{& \opt{IRIVER_RC_H100_PAD}{Long \ButtonRCStop}% } @@ -577,6 +592,11 @@ turn the \ButtonHold{} switch on just after turning on the \dap{}. } + \opt{cowond2} + { + Use \ButtonPower{} to boot the original \playerman{} firmware. + } + } \subsection{Putting music on your \dap{}} Index: manual/configure_rockbox/system_options.tex =================================================================== --- manual/configure_rockbox/system_options.tex (revision 23546) +++ manual/configure_rockbox/system_options.tex (working copy) @@ -29,6 +29,7 @@ \opt{m5,x5}{950mAh}% \opt{gigabeatf}{2000mAh}% \opt{gigabeats}{700mAh}% + \opt{cowond2}{1600mAh}% , which is the capacity value for the standard \opt{archos}{batteries}\nopt{archos}{battery} shipped with the \dap. Rockbox uses this value for runtime estimation, not battery percentage