rocker: First crack at manual for the AGPTek Rocker

It needs screenshots and slightly better installation instructions

Includes bits shared with other HibyOS platforms

Change-Id: I1c1974143b5badf1aca5c3281556ce553ab1b8a5
This commit is contained in:
Solomon Peachy 2021-07-24 11:11:57 -04:00
parent a0948ddfa1
commit f8bbe3352c
7 changed files with 147 additions and 3 deletions

View file

@ -669,6 +669,10 @@ You just ``play'' a file with the extension %
\opt{gigabeatf,gigabeats}{\fname{.gigabeat}.} % \opt{gigabeatf,gigabeats}{\fname{.gigabeat}.} %
\opt{fiiom3k}{\fname{.m3k}} % \opt{fiiom3k}{\fname{.m3k}} %
\opt{shanlingq1}{\fname{.q1}} % \opt{shanlingq1}{\fname{.q1}} %
\opt{agptekrocker}{\fname{.rocker}} %
\opt{xduoox3ii}{\fname{.x3ii}} %
\opt{xduoox20}{\fname{.x20}} %
\opt{aigoerosq}{\fname{.erosq}} %
This can be used to test new firmware versions without deleting your This can be used to test new firmware versions without deleting your
current version. current version.

View file

@ -0,0 +1,26 @@
This player's firmware is based on a Linux platform called HibyOS. Rockbox
runs as an application, replacing the stock \emph{Hibyplayer} application.
In order to install Rockbox's bootloader, you will need a copy of the
original player firmware. This can be downloaded from the manufacturer's
web site. The following stock firmware versions are currently supported:
\begin{itemize}
\opt{agptekrocker}{
\item 20171101
}
\end{itemize}
After downloading the firmware, you will need to download the corresponding
binary patch file (\fname{.bsdiff}) for the firmware version in question, from
the following location:
\begin{itemize}
\opt{agptekrocker}{
\item \download{bootloader/agptek}
}
\end{itemize}
Using the \emph{bspatch} utility, apply the binary patch to the original bootloader, with an output file \fname{update.upt}. Place this file into the top-level directory of an SD card.
Insert the SD card into the player, turn it on, and navigate the to the \emph{tools} menu, and select \emph{update firmware}. The device will restart to perform the update, then restart again, after which it will display the Rockbox bootloader menu.

View file

@ -111,7 +111,7 @@ follow the instructions at
\end{description} \end{description}
} }
\opt{fiiom3k,shanlingq1}{ \opt{fiiom3k,shanlingq1,agptekrocker,xduoox3ii,xduoox20,aigoerosq}{
Although Rockbox is considered fully functional on the \playername{}, there are Although Rockbox is considered fully functional on the \playername{}, there are
a few limitations compared to the original firmware which you should be aware a few limitations compared to the original firmware which you should be aware
of before installing. of before installing.
@ -120,7 +120,7 @@ of before installing.
filesystems such as exFAT or NTFS are not supported. filesystems such as exFAT or NTFS are not supported.
\item[USB DAC.] This feature is not supported by Rockbox, but you can \item[USB DAC.] This feature is not supported by Rockbox, but you can
dual-boot the original firmware if you want to use it. dual-boot the original firmware if you want to use it.
\opt{shanlingq1}{\item[Wireless.] There is no support for Bluetooth or WiFi. \opt{shanlingq1,agptekrocker,xduoox3ii,xduoox20,aigoerosq}{\item[Wireless.] There is no support for Bluetooth\opt{shanlingq1}{ or WiFi}.
You can dual-boot the original firmware to use wireless functionality.} You can dual-boot the original firmware to use wireless functionality.}
\item[Hotswapping SD cards.] Rockbox runs from the SD card, not the internal \item[Hotswapping SD cards.] Rockbox runs from the SD card, not the internal
flash memory. Hotswapping is technically possible, but you need to install flash memory. Hotswapping is technically possible, but you need to install
@ -544,6 +544,7 @@ by Rockbox, in the main directory of your \daps{} drive.
\opt{IMX233}{\input{getting_started/IMX233_install.tex}} \opt{IMX233}{\input{getting_started/IMX233_install.tex}}
\opt{samsungyh}{\input{getting_started/samsungyh_install.tex}} \opt{samsungyh}{\input{getting_started/samsungyh_install.tex}}
\opt{xduoox3}{\input{getting_started/xduoox3_install.tex}} \opt{xduoox3}{\input{getting_started/xduoox3_install.tex}}
\opt{xduoox3ii,xduoox20,agptekrocker,aigoerosq}{\input{getting_started/hibyos_install.tex}}
\opt{fiiom3k,shanlingq1}{\input{getting_started/jztool_install.tex}} \opt{fiiom3k,shanlingq1}{\input{getting_started/jztool_install.tex}}
} }
} }

View file

@ -0,0 +1,26 @@
% $Id$ %
\def\UseOption{agptekrocker}
\edef\UseOption{\UseOption,AGPTEK_ROCKER_PAD}
\edef\UseOption{\UseOption,HAVE_BACKLIGHT}
\edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH}
\edef\UseOption{\UseOption,agptekrocker}
\newcommand{\playerman}{AGPtek}
\newcommand{\playertype}{Rocker}
\newcommand{\playerlongtype}{\playertype}
\newcommand{\dapdisplaywidth}{128}
\newcommand{\dapdisplayheight}{160}
\newcommand{\dapdisplaydepth}{16}
\newcommand{\specimg}{agptekrocker}
%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.rocker}}
\newcommand{\bootfilename}{\fname{bootloader.rocker}}
\newcommand{\firmwareextension}{\fname{rocker}}
\newcommand{\screenshotsize}{8cm}
\newcommand{\disk}{SD card}
% link external keymap file
\input{platform/keymap-agptekrocker.tex}

View file

@ -0,0 +1,82 @@
% $Id$
\newcommand{\ButtonPower}{\btnfnt{Power}}
\newcommand{\ButtonVolUp}{\btnfnt{Volume Up}}
\newcommand{\ButtonVolDown}{\btnfnt{Volume Down}}
\newcommand{\ButtonUp}{\btnfnt{Up}}
\newcommand{\ButtonDown}{\btnfnt{Down}}
\newcommand{\ButtonLeft}{\btnfnt{Left}}
\newcommand{\ButtonRight}{\btnfnt{Right}}
\newcommand{\ButtonSelect}{\btnfnt{Select}}
%Button actions, standard context
\newcommand{\ActionStdPrev}{\ButtonUp{}}
\newcommand{\ActionStdPrevRepeat}{\ButtonUp{}}
\newcommand{\ActionStdNext}{\ButtonDown{}}
\newcommand{\ActionStdNextRepeat}{\ButtonDown{}}
\newcommand{\ActionStdOk}{\ButtonSelect}
\newcommand{\ActionStdCancel}{\ButtonLeft}
\newcommand{\ActionStdContext}{Long \ButtonSelect{}}
\newcommand{\ActionStdMenu}{\ButtonPower{}}
\newcommand{\ActionStdUsbCharge}{\ButtonSelect{}}
%Button actions, wps context
\newcommand{\ActionWpsStop}{Long \ButtonSelect}
\newcommand{\ActionWpsBrowse}{Long \ButtonUp}
\newcommand{\ActionWpsVolUp}{\ButtonVolUp}
\newcommand{\ActionWpsVolDown}{\ButtonVolDown}
\newcommand{\ActionWpsSkipPrev}{\ButtonLeft}
\newcommand{\ActionWpsSkipNext}{\ButtonRight}
\newcommand{\ActionWpsSeekBack}{Long \ButtonLeft}
\newcommand{\ActionWpsSeekFwd}{Long \ButtonRight}
\newcommand{\ActionWpsPlay}{\ButtonSelect{}}
\newcommand{\ActionWpsContext}{\ButtonDown}
\newcommand{\ActionWpsMenu}{\ButtonUp}
\newcommand{\ActionWpsQuickScreen}{Long \ButtonDown}
\newcommand{\ActionWpsHotkey}{\ButtonVolUp{} and \ButtonVolDown{}}
%Button actions, tree context
\newcommand{\ActionTreeWps}{Long \ButtonLeft}
\newcommand{\ActionTreeStop}{Long \ButtonSelect}
\newcommand{\ActionTreeParentDirectory}{\ButtonLeft}
\newcommand{\ActionTreeEnter}{\ButtonSelect}
\newcommand{\ActionTreeHotkey}{\ButtonVolUp{} and \ButtonVolDown{}}
%Button actions, YesNo context
\newcommand{\ActionYesNoAccept}{\ButtonSelect{}}
%Button actions, Virtual Keyboard Context
\newcommand{\ActionKbdSelect}{\ButtonSelect}
\newcommand{\ActionKbdUp}{\ButtonVolUp}
\newcommand{\ActionKbdDown}{\ButtonVolDown}
\newcommand{\ActionKbdLeft}{\ButtonLeft}
\newcommand{\ActionKbdRight}{\ButtonRight}
\newcommand{\ActionKbdPageFlip}{\ButtonPower{} and \ButtonSelect{}}
\newcommand{\ActionKbdDone}{\ButtonUp}
\newcommand{\ActionKbdAbort}{\ButtonPower}
%Button actions, Pitch Screen context
\newcommand{\ActionPsToggleMode}{\ButtonSelect}
\newcommand{\ActionPsIncSmall}{\ButtonUp{}}
\newcommand{\ActionPsDecSmall}{\ButtonDown{}}
\newcommand{\ActionPsIncBig}{Long \ButtonUp}
\newcommand{\ActionPsDecBig}{Long \ButtonDown}
\newcommand{\ActionPsNudgeLeft}{\ButtonLeft}
\newcommand{\ActionPsNudgeRight}{\ButtonRight}
\newcommand{\ActionPsReset}{Long \ButtonSelect}
\newcommand{\ActionPsExit}{\ButtonPower}
\newcommand{\ActionPsFaster}{Long \ButtonRight}
\newcommand{\ActionPsSlower}{Long \ButtonLeft}
%Button actions, Bookmark screen context
\newcommand{\ActionBmDelete}{\ButtonSelect}
%Plugin lib actions
\newcommand{\PluginUp}{\ButtonUp}
\newcommand{\PluginDown}{\ButtonDown}
\newcommand{\PluginLeft}{\ButtonLeft}
\newcommand{\PluginRight}{\ButtonRight}
\newcommand{\PluginSelect}{\ButtonSelect}
\newcommand{\PluginSelectRepeat}{Long \ButtonSelect}
\newcommand{\PluginCancel}{\ButtonPower}
\newcommand{\PluginExit}{\ButtonPower}

View file

@ -520,11 +520,13 @@ To turn on and off your Rockbox enabled \dap{} use the following keys:
}{\ButtonPower}% }{\ButtonPower}%
\opt{COWON_D2_PAD} {\ButtonPower{}, then \ButtonHold}% \opt{COWON_D2_PAD} {\ButtonPower{}, then \ButtonHold}%
\opt{ONDA_VX777_PAD} {\ButtonPower{}}% \opt{ONDA_VX777_PAD} {\ButtonPower{}}%
\opt{AGPTEK_ROCKER_PAD}{\ButtonPower{}}%
& &
\opt{HAVEREMOTEKEYMAP}{ \opt{HAVEREMOTEKEYMAP}{
\opt{IRIVER_RC_H100_PAD}{\ButtonRCOn}% \opt{IRIVER_RC_H100_PAD}{\ButtonRCOn}%
\opt{IAUDIO_RC_PAD}{\ButtonRCPlay} \opt{IAUDIO_RC_PAD}{\ButtonRCPlay}
&} &}
Start Rockbox Start Rockbox
\\ \\
@ -536,11 +538,13 @@ To turn on and off your Rockbox enabled \dap{} use the following keys:
,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS,COWON_D2_PAD% ,GIGABEAT_PAD,MROBE100_PAD,GIGABEAT_S_PAD,sansaAMS,COWON_D2_PAD%
,PBELL_VIBE500_PAD,ONDA_VX777_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD% ,PBELL_VIBE500_PAD,ONDA_VX777_PAD,SANSA_FUZEPLUS_PAD,XDUOO_X3_PAD%
}{Long \ButtonPower}% }{Long \ButtonPower}%
\opt{AGPTEK_ROCKER_PAD}{Long \ButtonPower{}}%
& &
\opt{HAVEREMOTEKEYMAP}{ \opt{HAVEREMOTEKEYMAP}{
\opt{IRIVER_RC_H100_PAD}{Long \ButtonRCStop}% \opt{IRIVER_RC_H100_PAD}{Long \ButtonRCStop}%
\opt{IAUDIO_RC_PAD}{Long \ButtonRCPlay} \opt{IAUDIO_RC_PAD}{Long \ButtonRCPlay}
&} &}
Shutdown Rockbox Shutdown Rockbox
\\ \\
\end{btnmap} \end{btnmap}

View file

@ -420,6 +420,7 @@ $releasenotes="/wiki/ReleaseNotes315";
'agptekrocker' => { 'agptekrocker' => {
name => 'Agptek Rocker', name => 'Agptek Rocker',
status => 2 status => 2
manualok => 1, # Remove once status moves to 3
}, },
'xduoox3' => { 'xduoox3' => {
name => 'xDuoo X3', name => 'xDuoo X3',