diff options
Diffstat (limited to 'manual')
-rwxr-xr-x | manual/advanced_topics/main.tex | 2 | ||||
-rw-r--r-- | manual/getting_started/installation.tex | 62 | ||||
-rw-r--r-- | manual/getting_started/jztool_install.tex | 156 | ||||
-rw-r--r-- | manual/platform/fiiom3k.tex | 28 | ||||
-rw-r--r-- | manual/platform/keymap-fiiom3k.tex | 100 | ||||
-rw-r--r-- | manual/platform/keymap-shanlingq1.tex | 95 | ||||
-rw-r--r-- | manual/platform/shanlingq1.tex | 29 | ||||
-rw-r--r-- | manual/rockbox_interface/main.tex | 17 |
8 files changed, 482 insertions, 7 deletions
diff --git a/manual/advanced_topics/main.tex b/manual/advanced_topics/main.tex index f1d1de69a1..940852d593 100755 --- a/manual/advanced_topics/main.tex +++ b/manual/advanced_topics/main.tex | |||
@@ -667,6 +667,8 @@ You just ``play'' a file with the extension % | |||
667 | \opt{sansa,iriverh10,iriverh10_5gb,mrobe100,vibe500,samsungyh}{\fname{.mi4}.} % | 667 | \opt{sansa,iriverh10,iriverh10_5gb,mrobe100,vibe500,samsungyh}{\fname{.mi4}.} % |
668 | \opt{sansaAMS,fuzeplus}{\fname{.sansa}.} % | 668 | \opt{sansaAMS,fuzeplus}{\fname{.sansa}.} % |
669 | \opt{gigabeatf,gigabeats}{\fname{.gigabeat}.} % | 669 | \opt{gigabeatf,gigabeats}{\fname{.gigabeat}.} % |
670 | \opt{fiiom3k}{\fname{.m3k}} % | ||
671 | \opt{shanlingq1}{\fname{.q1}} % | ||
670 | This can be used to test new firmware versions without deleting your | 672 | This can be used to test new firmware versions without deleting your |
671 | current version. | 673 | current version. |
672 | 674 | ||
diff --git a/manual/getting_started/installation.tex b/manual/getting_started/installation.tex index 241c41d3f2..cc0c7af919 100644 --- a/manual/getting_started/installation.tex +++ b/manual/getting_started/installation.tex | |||
@@ -111,7 +111,36 @@ follow the instructions at | |||
111 | \end{description} | 111 | \end{description} |
112 | } | 112 | } |
113 | 113 | ||
114 | \nopt{gigabeats}{ | 114 | \opt{fiiom3k,shanlingq1}{ |
115 | Although Rockbox is considered fully functional on the \playername{}, there are | ||
116 | a few limitations compared to the original firmware which you should be aware | ||
117 | of before installing. | ||
118 | \begin{description} | ||
119 | \item[Filesystem support.] Rockbox only supports the FAT32 filesystem. Other | ||
120 | filesystems such as exFAT or NTFS are not supported. | ||
121 | \item[USB DAC.] This feature is not supported by Rockbox, but you can | ||
122 | dual-boot the original firmware if you want to use it. | ||
123 | \opt{shanlingq1}{\item[Wireless.] There is no support for Bluetooth or WiFi. | ||
124 | You can dual-boot the original firmware to use wireless functionality.} | ||
125 | \item[Hotswapping SD cards.] Rockbox runs from the SD card, not the internal | ||
126 | flash memory. Hotswapping is technically possible, but you need to install | ||
127 | the same version of Rockbox to each SD card. | ||
128 | |||
129 | Some features might not work correctly after hotswapping and you may | ||
130 | experience crashes or instability. Removing the SD card while data is being | ||
131 | written is liable to cause crashes and data loss, and possibly corrupt your | ||
132 | filesystem. | ||
133 | \opt{shanlingq1}{\item[Touchscreen.] There is only basic touchscreen support. | ||
134 | Further work is required to make the UI more usable with a touchscreen in | ||
135 | general. | ||
136 | \note{The touchscreen can be used in two modes, either a 3$\times$3 grid mode | ||
137 | which divides the screen into areas to emulate a set of physical | ||
138 | buttons (the default setting), or ``absolute point'' mode where the | ||
139 | touchscreen is used to point to items on the screen.\\}} | ||
140 | \end{description} | ||
141 | } | ||
142 | |||
143 | \nopt{gigabeats,fiiom3k,shanlingq1}{ | ||
115 | \begin{description} | 144 | \begin{description} |
116 | 145 | ||
117 | \nopt{ipod1g2g}{ | 146 | \nopt{ipod1g2g}{ |
@@ -237,7 +266,8 @@ people. Rockbox Utility is a graphical application that does almost everything | |||
237 | for you. However, should you encounter a problem, then the manual way is | 266 | for you. However, should you encounter a problem, then the manual way is |
238 | still available to you.\\ | 267 | still available to you.\\ |
239 | 268 | ||
240 | \opt{gigabeats}{\note{The automated install is not yet available for the | 269 | \opt{gigabeats,fiiom3k,shanlingq1}{ |
270 | \note{The automated install is not yet available for the | ||
241 | \playerlongtype{}. For now you can use the manual method to install Rockbox. | 271 | \playerlongtype{}. For now you can use the manual method to install Rockbox. |
242 | Please still read the section on the automatic install as it explains | 272 | Please still read the section on the automatic install as it explains |
243 | various important aspects of Rockbox, such as the different versions | 273 | various important aspects of Rockbox, such as the different versions |
@@ -312,9 +342,9 @@ housekeeping tool \caps{Rockbox Utility}. It allows you to: | |||
312 | Prebuilt binaries for Windows, Linux and Mac OS X are | 342 | Prebuilt binaries for Windows, Linux and Mac OS X are |
313 | available at the \wikilink{RockboxUtility} wiki page.\\ | 343 | available at the \wikilink{RockboxUtility} wiki page.\\ |
314 | 344 | ||
315 | \opt{gigabeats,ondavx777}{\note{Rockbox Utility does not currently support the | 345 | \opt{gigabeats,ondavx777,fiiom3k,shanlingq1}{ |
316 | \playertype{} and you will therefore need to follow the manual install | 346 | \note{Rockbox Utility does not currently support the \playertype{} and you will |
317 | instructions below.\\}} | 347 | therefore need to follow the manual install instructions below.\\}} |
318 | 348 | ||
319 | When first starting \caps{Rockbox Utility} run ``Autodetect'', | 349 | When first starting \caps{Rockbox Utility} run ``Autodetect'', |
320 | found in the configuration dialog (File $\rightarrow$ Configure). Autodetection | 350 | found in the configuration dialog (File $\rightarrow$ Configure). Autodetection |
@@ -514,6 +544,7 @@ by Rockbox, in the main directory of your \daps{} drive. | |||
514 | \opt{IMX233}{\input{getting_started/IMX233_install.tex}} | 544 | \opt{IMX233}{\input{getting_started/IMX233_install.tex}} |
515 | \opt{samsungyh}{\input{getting_started/samsungyh_install.tex}} | 545 | \opt{samsungyh}{\input{getting_started/samsungyh_install.tex}} |
516 | \opt{xduoox3}{\input{getting_started/xduoox3_install.tex}} | 546 | \opt{xduoox3}{\input{getting_started/xduoox3_install.tex}} |
547 | \opt{fiiom3k,shanlingq1}{\input{getting_started/jztool_install.tex}} | ||
517 | } | 548 | } |
518 | } | 549 | } |
519 | 550 | ||
@@ -609,6 +640,9 @@ by Rockbox, in the main directory of your \daps{} drive. | |||
609 | } | 640 | } |
610 | \opt{e200}{Your e200 will automatically reboot and Rockbox should load.} | 641 | \opt{e200}{Your e200 will automatically reboot and Rockbox should load.} |
611 | 642 | ||
643 | \opt{fiiom3k,shanlingq1}{ | ||
644 | Safely eject / unmount your \dap{}. | ||
645 | } | ||
612 | 646 | ||
613 | 647 | ||
614 | \subsection{Enabling Speech Support (optional)}\label{sec:enabling_speech_support} | 648 | \subsection{Enabling Speech Support (optional)}\label{sec:enabling_speech_support} |
@@ -772,11 +806,25 @@ completely follow the manual uninstallation instructions below.}} | |||
772 | \playerman{} firmware. | 806 | \playerman{} firmware. |
773 | } | 807 | } |
774 | 808 | ||
809 | \opt{fiiom3k,shanlingq1}{ | ||
810 | If you want to remove the Rockbox bootloader, copy an original firmware | ||
811 | update to your microSD card and run the \playerman{} update by holding | ||
812 | \ActionBootOFRecovery{} while powering on the \dap{}. | ||
813 | |||
814 | Alternatively, if you took a backup of the original \playerman{} bootloader | ||
815 | you can copy the backup file, \bootbackupfilename{}, to your SD card and | ||
816 | select \emph{Restore bootloader} from the recovery menu. The recovery menu | ||
817 | can be accessed by holding \ActionBootRecoveryMenu{} when powering on. If | ||
818 | your \dap won't boot, use \fname{jztool} to load the bootloader over USB | ||
819 | and enter the recovery menu -- see \reference{ref:jztool_load_bootloader}. | ||
820 | } | ||
821 | |||
775 | \nopt{gigabeats}{ | 822 | \nopt{gigabeats}{ |
776 | If you wish to clean up your disk, you may also wish to delete the | 823 | If you wish to clean up your disk, you may also wish to delete the |
777 | \fname{.rockbox} directory and its contents. | 824 | \fname{.rockbox} directory and its contents. |
778 | \nopt{iaudiom3,iaudiom5,iaudiox5}{Turn the \playerman{} off. | 825 | \nopt{iaudiom3,iaudiom5,iaudiox5,fiiom3k,shanlingq1}{ |
779 | Turn the \dap{} back on and the original \playerman{} software will load.} | 826 | Turn the \playerman{} off. Turn the \dap{} back on and the original |
827 | \playerman{} software will load.} | ||
780 | } | 828 | } |
781 | 829 | ||
782 | \opt{gigabeats}{ | 830 | \opt{gigabeats}{ |
diff --git a/manual/getting_started/jztool_install.tex b/manual/getting_started/jztool_install.tex new file mode 100644 index 0000000000..c492b6987e --- /dev/null +++ b/manual/getting_started/jztool_install.tex | |||
@@ -0,0 +1,156 @@ | |||
1 | You need a computer running Windows, Linux, or Mac to install the bootloader. | ||
2 | The installation utility \fname{jztool} is a command line tool used to load the | ||
3 | Rockbox bootloader on your \dap{}. Please note that it \emph{only} loads the | ||
4 | Rockbox bootloader and does not modify your \dap{} in any way. Flashing the | ||
5 | bootloader happens entirely on the \dap{}, without the intervention of your PC. | ||
6 | |||
7 | It's possible to install Rockbox alongside any original firmware version. | ||
8 | \opt{fiiom3k}{This includes the ``unofficial'' XVortex firmware.} | ||
9 | It's also possible to update the original firmware after installing the Rockbox | ||
10 | bootloader, but this will erase the Rockbox bootloader and you will have to | ||
11 | install it again if you want to keep using Rockbox. | ||
12 | |||
13 | \begin{itemize}\label{ref:jztool_load_bootloader} | ||
14 | \item Download the Rockbox bootloader, \bootfilename{}, from | ||
15 | \opt{fiiom3k}{\download{bootloader/fiio/m3k/}.} | ||
16 | \opt{shanlingq1}{\download{bootloader/shanling/q1/}.} | ||
17 | \item Download \fname{jztool} from \download{bootloader/fiio/m3k/}. | ||
18 | \item Connect your player in USB boot mode: | ||
19 | \begin{enumerate} | ||
20 | \item Make sure your player is fully powered off. | ||
21 | \item Connect a USB cable to your player -- but don't plug it in to your | ||
22 | computer yet! | ||
23 | \item While holding the \ActionIngenicUSBBoot{} button, plug the other end | ||
24 | of the USB cable into your computer. | ||
25 | \item If your player has entered USB boot mode% | ||
26 | \opt{fiiom3k}{the button light will light up and the LCD will remain | ||
27 | black. The \playerman{} splash screen will not be displayed.} | ||
28 | \opt{shanlingq1}{the LCD will remain black and the \playerman{} splash | ||
29 | screen will not be displayed.} | ||
30 | \end{enumerate} | ||
31 | \item Windows users need to follow \reference{ref:install_usb_driver} now | ||
32 | to make the \playertype{} accessible to \fname{jztool} before continuing. | ||
33 | \item Open a command prompt or terminal in the folder where you downloaded | ||
34 | \fname{jztool}. Copy \bootfilename{} to that folder so you can easily refer | ||
35 | to it on the command line. | ||
36 | |||
37 | On Windows, run this command to load the bootloader onto your \dap{}. | ||
38 | \begin{code} | ||
39 | jztool.exe \jztoolsubcommand{} load \bootfilename{} | ||
40 | \end{code} | ||
41 | Linux or Mac users should run this command. Linux users need to run | ||
42 | \fname{jztool} as root to allow it access the USB device. | ||
43 | \begin{code} | ||
44 | ./jztool \jztoolsubcommand{} load \bootfilename{} | ||
45 | \end{code} | ||
46 | \item If your \dap{} is showing the Rockbox recovery menu, then the Rockbox | ||
47 | bootloader has been loaded correctly. | ||
48 | % TODO: Screenshot of the recovery menu | ||
49 | \end{itemize} | ||
50 | |||
51 | To finish the install, you need to flash the Rockbox bootloader to your \dap{} | ||
52 | using the recovery menu. | ||
53 | |||
54 | \begin{itemize} | ||
55 | \item Copy \bootfilename{} to the root of a FAT32-formatted SD card, and insert | ||
56 | it into your \dap{}. | ||
57 | \item Select \emph{Backup bootloader} to back up the original firmware's | ||
58 | bootloader. This will create a file \bootbackupfilename{} on the root of your | ||
59 | SD card. You should back up this file somewhere safe before continuing with | ||
60 | the installation. In the unlikely event anything goes wrong, you can copy | ||
61 | \bootbackupfilename{} onto your SD card and choose \emph{Restore bootloader} | ||
62 | to restore the original \playerman{} bootloader. | ||
63 | \item Select \emph{Install/update bootloader} from the menu. The installation | ||
64 | takes less than a second and once it has finished successfully, you can | ||
65 | unplug and power off your \dap{}. | ||
66 | \end{itemize} | ||
67 | |||
68 | Rarely, a new bootloader might be released to fix bugs or add certain features. | ||
69 | Updating the bootloader follows the same process as the initial installation. | ||
70 | Taking a backup is not necessary if you are only updating an existing Rockbox | ||
71 | bootloader. | ||
72 | |||
73 | Normally the installation will complete without incident, but you may encounter | ||
74 | one of the following errors. Some are benign and easily corrected while others | ||
75 | are more serious. You should seek help on one of the Rockbox support channels | ||
76 | if you get a serious error. | ||
77 | |||
78 | \begin{description} | ||
79 | \item[File not found.] | ||
80 | If you selected \emph{Install/update bootloader}, the missing file is | ||
81 | \bootfilename{}; if you selected \emph{Restore bootloader}, the missing file | ||
82 | is \bootbackupfilename{}. Copy the missing file to your SD card, and make | ||
83 | sure your card is formatted to FAT32, then try again. | ||
84 | \item[Bad archive.] | ||
85 | The file \bootfilename{} appears to be corrupted or doesn't contain the | ||
86 | expected contents. Try deleting it from your SD card and copying it again. | ||
87 | If the error persists, you might have a corrupted download; try downloading | ||
88 | the bootloader again. | ||
89 | \item[NAND open/read/write error.] | ||
90 | This indicates a problem accessing your \daps{} internal flash memory. | ||
91 | Write errors are the most serious -- your existing bootloader may be | ||
92 | corrupted, leaving your \dap{} unbootable. Seek assistance if you encounter | ||
93 | any of these errors \emph{before} retrying the installation. | ||
94 | \item[Disk I/O error.] | ||
95 | There was a problem reading or writing data on the SD card. This message can | ||
96 | also be displayed by \emph{Restore bootloader} if the backup file | ||
97 | \bootbackupfilename{} does not have the correct size. | ||
98 | \item[Out of memory or Unknown error.] | ||
99 | These are serious errors indicating some low-level system problem. | ||
100 | They should never be encountered in normal circumstances. | ||
101 | \end{description} | ||
102 | |||
103 | \subsubsection{Install the USB driver}\label{ref:install_usb_driver} | ||
104 | \note{This section is only applicable if you are running \fname{jztool} from | ||
105 | a Windows computer. Linux and Mac users can safely ignore this section.} | ||
106 | |||
107 | To use \fname{jztool} on a Windows computer, you need to install a USB driver | ||
108 | so it can access the \dap{} in USB boot mode. \fname{jztool} uses a library | ||
109 | called \fname{libusb} to access your \dap{}, and on Windows \fname{libusb} can | ||
110 | use a number of different back-end drivers to access USB devices. | ||
111 | |||
112 | Zadig (\url{https://zadig.akeo.ie/}) is a third-party tool which allows you to | ||
113 | install various back-end drivers for use with \fname{libusb}-based programs. | ||
114 | The recommended driver is WinUSB, which is provided by Microsoft and comes | ||
115 | bundled with recent versions of Windows. | ||
116 | |||
117 | \note{The Rockbox project is not associated with Zadig or its development. | ||
118 | In the unlikely event you encounter a Zadig-specific issue that cannot be | ||
119 | resolved on Rockbox support channels you may need to seek help elsewhere.} | ||
120 | |||
121 | You will need administrator access to run Zadig. When you are ready, follow the | ||
122 | steps below to install the driver. | ||
123 | |||
124 | \begin{itemize} | ||
125 | \item Download Zadig from \url{https://zadig.akeo.ie/}. | ||
126 | \item Make sure your \dap{} is connected in USB boot mode | ||
127 | (see \reference{ref:jztool_load_bootloader}). | ||
128 | \item Run Zadig and select the USB device corresponding to your player. | ||
129 | The USB ID of the \playername{} is \texttt{A108 1000} when it is connected in | ||
130 | USB boot mode. | ||
131 | % TODO: Screenshot of Zadig window | ||
132 | \warn{Be careful not to select the wrong USB device in Zadig! Zadig allows | ||
133 | you to override the USB driver of any USB device, and accidentally | ||
134 | overwriting the driver for an important device like your mouse or keyboard | ||
135 | can cause major problems. Always double check the device before clicking | ||
136 | install.} | ||
137 | \item Select the WinUSB driver from the list and click \emph{Install}. | ||
138 | \item Wait for the installation to finish, then close Zadig. | ||
139 | \end{itemize} | ||
140 | |||
141 | If the installation was successful you can return to | ||
142 | \reference{ref:jztool_load_bootloader} and run \fname{jztool}. If you get | ||
143 | ``Cannot open USB device'' errors from \fname{jztool} or any | ||
144 | \fname{libusb}-related errors, you can try some of the steps below to fix the | ||
145 | problem. | ||
146 | |||
147 | \begin{itemize} | ||
148 | \item Unplug your \dap{} and force a power-off by holding the power button | ||
149 | for 10 seconds. Then reconnect it and try running \fname{jztool} again. | ||
150 | \item Restart your computer and try again. | ||
151 | \item Try installing a different USB driver, for example ``libusbK''. | ||
152 | Some users have reported difficulties with the WinUSB driver and have | ||
153 | had success by trying an alternate driver. | ||
154 | \end{itemize} | ||
155 | |||
156 | If problems persist you should ask for help on the Rockbox support channels. | ||
diff --git a/manual/platform/fiiom3k.tex b/manual/platform/fiiom3k.tex new file mode 100644 index 0000000000..0f44683214 --- /dev/null +++ b/manual/platform/fiiom3k.tex | |||
@@ -0,0 +1,28 @@ | |||
1 | % $Id$ % | ||
2 | \def\UseOption{fiiom3k} | ||
3 | \edef\UseOption{\UseOption,FIIO_M3K_PAD} | ||
4 | \edef\UseOption{\UseOption,HAVE_BACKLIGHT} | ||
5 | \edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH} | ||
6 | \edef\UseOption{\UseOption,fiiom3k} | ||
7 | |||
8 | \newcommand{\playerman}{FiiO} | ||
9 | \newcommand{\playertype}{M3K} | ||
10 | \newcommand{\playerlongtype}{\playertype} | ||
11 | \newcommand{\dapdisplaywidth}{240} | ||
12 | \newcommand{\dapdisplayheight}{320} | ||
13 | \newcommand{\dapdisplaydepth}{16} | ||
14 | \newcommand{\specimg}{fiiom3k} | ||
15 | %Used to name the player, e.g. ...to the \dap | ||
16 | \newcommand{\dap}{player} | ||
17 | %For use when referring to the player. E.g. the \daps\ capacity ... | ||
18 | \newcommand{\daps}{player's} | ||
19 | \newcommand{\firmwarefilename}{\fname{rockbox.m3k}} | ||
20 | \newcommand{\bootfilename}{\fname{bootloader.m3k}} | ||
21 | \newcommand{\firmwareextension}{\fname{m3k}} | ||
22 | \newcommand{\bootbackupfilename}{\fname{fiiom3k-boot.bin}} | ||
23 | \newcommand{\jztoolsubcommand}{fiiom3k} | ||
24 | \newcommand{\screenshotsize}{8cm} | ||
25 | \newcommand{\disk}{SD card} | ||
26 | |||
27 | % link external keymap file | ||
28 | \input{platform/keymap-fiiom3k.tex} | ||
diff --git a/manual/platform/keymap-fiiom3k.tex b/manual/platform/keymap-fiiom3k.tex new file mode 100644 index 0000000000..ecf07bebd4 --- /dev/null +++ b/manual/platform/keymap-fiiom3k.tex | |||
@@ -0,0 +1,100 @@ | |||
1 | % $Id$ | ||
2 | |||
3 | \newcommand{\ButtonPower}{\btnfnt{Power}} | ||
4 | \newcommand{\ButtonPlay}{\btnfnt{Play}} | ||
5 | \newcommand{\ButtonVolUp}{\btnfnt{Volume Up}} | ||
6 | \newcommand{\ButtonVolDown}{\btnfnt{Volume Down}} | ||
7 | \newcommand{\ButtonUp}{\btnfnt{Up}} | ||
8 | \newcommand{\ButtonDown}{\btnfnt{Down}} | ||
9 | \newcommand{\ButtonLeft}{\btnfnt{Prev}} | ||
10 | \newcommand{\ButtonRight}{\btnfnt{Next}} | ||
11 | \newcommand{\ButtonSelect}{\btnfnt{Select}} | ||
12 | \newcommand{\ButtonBack}{\btnfnt{Back}} | ||
13 | \newcommand{\ButtonMenu}{\btnfnt{Menu}} | ||
14 | \newcommand{\ButtonScrollFwd}{\btnfnt{Scroll Down}} | ||
15 | \newcommand{\ButtonScrollBack}{\btnfnt{Scroll Up}} | ||
16 | |||
17 | %Button actions, standard context | ||
18 | \newcommand{\ActionStdPrev}{\ButtonUp{} or \ButtonScrollBack} | ||
19 | \newcommand{\ActionStdPrevRepeat}{\ButtonUp{} or \ButtonScrollBack} | ||
20 | \newcommand{\ActionStdNext}{\ButtonDown{} or \ButtonScrollFwd} | ||
21 | \newcommand{\ActionStdNextRepeat}{\ButtonDown{} or \ButtonScrollFwd} | ||
22 | \newcommand{\ActionStdOk}{\ButtonSelect} | ||
23 | \newcommand{\ActionStdCancel}{\ButtonBack} | ||
24 | \newcommand{\ActionStdContext}{\ButtonMenu{} or Long \ButtonSelect} | ||
25 | \newcommand{\ActionStdMenu}{Long \ButtonBack} | ||
26 | \newcommand{\ActionStdQuickScreen}{Long \ButtonMenu} | ||
27 | \newcommand{\ActionQuickScreenExit}{\ButtonBack{}, \ButtonPower{}, or \ButtonSelect} | ||
28 | \newcommand{\ActionStdUsbCharge}{\ButtonPlay} | ||
29 | |||
30 | %Button actions, wps context | ||
31 | \newcommand{\ActionWpsStop}{Long \ButtonPower} | ||
32 | \newcommand{\ActionWpsBrowse}{Long \ButtonBack} | ||
33 | \newcommand{\ActionWpsVolUp}{\ButtonVolUp} | ||
34 | \newcommand{\ActionWpsVolDown}{\ButtonVolDown} | ||
35 | \newcommand{\ActionWpsSkipPrev}{\ButtonLeft} | ||
36 | \newcommand{\ActionWpsSkipNext}{\ButtonRight} | ||
37 | \newcommand{\ActionWpsSeekBack}{Long \ButtonLeft} | ||
38 | \newcommand{\ActionWpsSeekFwd}{Long \ButtonRight} | ||
39 | \newcommand{\ActionWpsPlay}{\ButtonPlay{} or \ButtonSelect} | ||
40 | \newcommand{\ActionWpsContext}{\ButtonMenu} | ||
41 | \newcommand{\ActionWpsMenu}{\ButtonBack} | ||
42 | \newcommand{\ActionWpsQuickScreen}{Long \ButtonMenu} | ||
43 | \newcommand{\ActionWpsHotkey}{Long \ButtonPlay} | ||
44 | \newcommand{\ActionWpsAbSetAPrevDir}{Long \ButtonUp} | ||
45 | \newcommand{\ActionWpsAbSetBNextDir}{Long \ButtonDown} | ||
46 | \newcommand{\ActionWpsAbReset}{Long \ButtonSelect} | ||
47 | |||
48 | %Button actions, tree context | ||
49 | \newcommand{\ActionTreeWps}{Long \ButtonBack} | ||
50 | \newcommand{\ActionTreeStop}{Long \ButtonPlay} | ||
51 | \newcommand{\ActionTreeParentDirectory}{\ButtonBack} | ||
52 | \newcommand{\ActionTreeEnter}{\ButtonSelect} | ||
53 | \newcommand{\ActionTreeHotkey}{\ButtonPlay} | ||
54 | |||
55 | %Button actions, YesNo context | ||
56 | \newcommand{\ActionYesNoAccept}{\ButtonPlay{} or \ButtonSelect} | ||
57 | |||
58 | %Button actions, Virtual Keyboard Context | ||
59 | \newcommand{\ActionKbdSelect}{\ButtonSelect} | ||
60 | \newcommand{\ActionKbdUp}{\ButtonUp} | ||
61 | \newcommand{\ActionKbdDown}{\ButtonDown} | ||
62 | \newcommand{\ActionKbdLeft}{\ButtonLeft} | ||
63 | \newcommand{\ActionKbdRight}{\ButtonRight} | ||
64 | \newcommand{\ActionKbdPageFlip}{\ButtonMenu} | ||
65 | \newcommand{\ActionKbdDone}{\ButtonPlay} | ||
66 | \newcommand{\ActionKbdAbort}{\ButtonPower} | ||
67 | |||
68 | %Button actions, Pitch Screen context | ||
69 | \newcommand{\ActionPsToggleMode}{\ButtonSelect} | ||
70 | \newcommand{\ActionPsIncSmall}{\ButtonUp{} or \ButtonScrollBack} | ||
71 | \newcommand{\ActionPsDecSmall}{\ButtonDown{} or \ButtonScrollFwd} | ||
72 | \newcommand{\ActionPsIncBig}{\ButtonVolUp} | ||
73 | \newcommand{\ActionPsDecBig}{\ButtonVolDown} | ||
74 | \newcommand{\ActionPsNudgeLeft}{\ButtonLeft} | ||
75 | \newcommand{\ActionPsNudgeRight}{\ButtonRight} | ||
76 | \newcommand{\ActionPsReset}{Long \ButtonSelect} | ||
77 | \newcommand{\ActionPsExit}{\ButtonPower} | ||
78 | \newcommand{\ActionPsFaster}{\ButtonBack} | ||
79 | \newcommand{\ActionPsSlower}{\ButtonMenu} | ||
80 | |||
81 | %Button actions, Bookmark screen context | ||
82 | \newcommand{\ActionBmDelete}{\ButtonPlay} | ||
83 | |||
84 | %Plugin lib actions | ||
85 | \newcommand{\PluginUp}{\ButtonUp} | ||
86 | \newcommand{\PluginDown}{\ButtonDown} | ||
87 | \newcommand{\PluginLeft}{\ButtonLeft} | ||
88 | \newcommand{\PluginRight}{\ButtonRight} | ||
89 | \newcommand{\PluginSelect}{\ButtonSelect} | ||
90 | \newcommand{\PluginSelectRepeat}{Long \ButtonSelect} | ||
91 | \newcommand{\PluginCancel}{\ButtonBack} | ||
92 | \newcommand{\PluginExit}{\ButtonPower} | ||
93 | \newcommand{\PluginScrollFwd}{\ButtonScrollFwd} | ||
94 | \newcommand{\PluginScrollBack}{\ButtonScrollBack} | ||
95 | |||
96 | %Bootloader keys | ||
97 | \newcommand{\ActionIngenicUSBBoot}{\ButtonVolDown} | ||
98 | \newcommand{\ActionBootRecoveryMenu}{\ButtonVolUp} | ||
99 | \newcommand{\ActionBootOFPlayer}{\ButtonPlay} | ||
100 | \newcommand{\ActionBootOFRecovery}{\ButtonPlay{} and \ButtonVolUp} | ||
diff --git a/manual/platform/keymap-shanlingq1.tex b/manual/platform/keymap-shanlingq1.tex new file mode 100644 index 0000000000..9476ca8a70 --- /dev/null +++ b/manual/platform/keymap-shanlingq1.tex | |||
@@ -0,0 +1,95 @@ | |||
1 | % $Id$ | ||
2 | |||
3 | \newcommand{\ButtonPower}{\btnfnt{Power}} | ||
4 | \newcommand{\ButtonPlay}{\btnfnt{Play}} | ||
5 | \newcommand{\ButtonVolUp}{\btnfnt{Volume Up}} | ||
6 | \newcommand{\ButtonVolDown}{\btnfnt{Volume Down}} | ||
7 | \newcommand{\ButtonPrev}{\btnfnt{Previous}} | ||
8 | \newcommand{\ButtonNext}{\btnfnt{Next}} | ||
9 | |||
10 | %Button actions, standard context | ||
11 | \newcommand{\ActionStdPrev}{\ButtonPrev{} or \TouchActionStdPrev} | ||
12 | \newcommand{\ActionStdPrevRepeat}{Long \ButtonPrev{} or \TouchActionStdPrevRepeat} | ||
13 | \newcommand{\ActionStdNext}{\ButtonNext{} or \TouchActionStdNext} | ||
14 | \newcommand{\ActionStdNextRepeat}{Long \ButtonNext{} or \TouchActionStdNextRepeat} | ||
15 | \newcommand{\ActionStdCancel}{\ButtonPower{} or \TouchActionStdCancel} | ||
16 | \newcommand{\ActionStdContext}{\TouchActionStdContext} | ||
17 | \newcommand{\ActionStdQuickScreen}{\TouchActionStdQuickScreen} | ||
18 | \newcommand{\ActionQuickScreenExit}{\TouchActionQuickScreenExit} | ||
19 | \newcommand{\ActionStdMenu}{\TouchActionStdMenu} | ||
20 | \newcommand{\ActionStdOk}{\ButtonPlay{} or \TouchActionStdOk} | ||
21 | \newcommand{\ActionStdUsbCharge}{\ButtonPlay} | ||
22 | |||
23 | %Button actions, wps context | ||
24 | \newcommand{\ActionWpsPlay}{\ButtonPlay{} or \TouchActionWpsPlay} | ||
25 | \newcommand{\ActionWpsSkipNext}{\ButtonNext{} or \TouchActionWpsSkipNext} | ||
26 | \newcommand{\ActionWpsSeekFwd}{Long \ButtonNext{} \TouchActionWpsSeekFwd} | ||
27 | \newcommand{\ActionWpsSkipPrev}{\ButtonPrev{} or \TouchActionWpsSkipPrev} | ||
28 | \newcommand{\ActionWpsSeekBack}{Long \ButtonPrev{} or \TouchActionWpsSeekBack} | ||
29 | \newcommand{\ActionWpsStop}{Long \ButtonPlay{} or \TouchActionWpsStop} | ||
30 | \newcommand{\ActionWpsVolDown}{\ButtonVolDown{} or \TouchActionWpsVolDown} | ||
31 | \newcommand{\ActionWpsVolUp}{\ButtonVolUp{} or \TouchActionWpsVolUp} | ||
32 | \newcommand{\ActionWpsQuickScreen}{\TouchActionWpsQuickScreen} | ||
33 | \newcommand{\ActionWpsMenu}{\TouchActionWpsMenu} | ||
34 | \newcommand{\ActionWpsContext}{\TouchActionWpsContext} | ||
35 | \newcommand{\ActionWpsBrowse}{\TouchActionWpsBrowse} | ||
36 | \newcommand{\ActionWpsPitchScreen}{\TouchActionWpsPitchScreen} | ||
37 | \newcommand{\ActionWpsIdThreeScreen}{\TouchActionWpsIdThreeScreen} | ||
38 | \newcommand{\ActionWpsAbSetBNextDir}{\TouchActionWpsAbSetBNextDir} | ||
39 | \newcommand{\ActionWpsAbSetAPrevDir}{\TouchActionWpsAbSetAPrevDir} | ||
40 | \newcommand{\ActionWpsAbReset}{\TouchActionWpsAbReset} | ||
41 | \newcommand{\ActionWpsHotkey}{\TouchBottomRight} | ||
42 | |||
43 | %Button actions, tree context | ||
44 | \newcommand{\ActionTreeWps}{\TouchActionTreeWps} | ||
45 | \newcommand{\ActionTreeStop}{\TouchActionTreeStop} | ||
46 | \newcommand{\ActionTreeEnter}{\TouchActionTreeEnter} | ||
47 | \newcommand{\ActionTreeParentDirectory}{\TouchActionTreeParentDirectory} | ||
48 | |||
49 | %Button actions, YesNo context | ||
50 | \newcommand{\ActionYesNoAccept}{\TouchActionYesNoAccept} | ||
51 | |||
52 | %Button actions, Virtual Keyboard Context | ||
53 | \newcommand{\ActionKbdLeft}{\TouchActionKbdLeft} | ||
54 | \newcommand{\ActionKbdRight}{\TouchActionKbdRight} | ||
55 | \newcommand{\ActionKbdSelect}{\TouchActionKbdSelect} | ||
56 | \newcommand{\ActionKbdDone}{\TouchActionKbdDone} | ||
57 | \newcommand{\ActionKbdAbort}{\TouchActionKbdAbort} | ||
58 | \newcommand{\ActionKbdUp}{\TouchActionKbdUp} | ||
59 | \newcommand{\ActionKbdDown}{\TouchActionKbdDown} | ||
60 | \newcommand{\ActionKbdCursorLeft}{\TouchActionKbdCursorLeft} | ||
61 | \newcommand{\ActionKbdCursorRight}{\TouchActionKbdCursorRight} | ||
62 | \newcommand{\ActionKbdBackSpace}{\TouchActionKbdBackSpace} | ||
63 | \newcommand{\ActionKbdPageFlip}{\TouchActionKbdPageFlip} | ||
64 | |||
65 | %Button actions, Pitch Screen context | ||
66 | \newcommand{\ActionPsToggleMode}{\TouchActionPsToggleMode} | ||
67 | \newcommand{\ActionPsIncSmall}{\TouchActionPsIncSmall} | ||
68 | \newcommand{\ActionPsIncBig}{\TouchActionPsIncBig} | ||
69 | \newcommand{\ActionPsDecSmall}{\TouchActionPsDecSmall} | ||
70 | \newcommand{\ActionPsDecBig}{\TouchActionPsDecBig} | ||
71 | \newcommand{\ActionPsNudgeLeft}{\TouchActionPsNudgeLeft} | ||
72 | \newcommand{\ActionPsNudgeRight}{\TouchActionPsNudgeRight} | ||
73 | \newcommand{\ActionPsReset}{\TouchActionPsReset} | ||
74 | \newcommand{\ActionPsExit}{\TouchActionPsExit} | ||
75 | \newcommand{\ActionPsSlower}{\TouchActionPsSlower} | ||
76 | \newcommand{\ActionPsFaster}{\TouchActionPsFaster} | ||
77 | |||
78 | %Button actions, Bookmark screen context | ||
79 | \newcommand{\ActionBmDelete}{\TouchActionBmDelete} | ||
80 | |||
81 | %Plugin lib actions | ||
82 | \newcommand{\PluginUp}{\TouchTopMiddle} | ||
83 | \newcommand{\PluginDown}{\TouchBottomMiddle} | ||
84 | \newcommand{\PluginLeft}{\TouchMidLeft} | ||
85 | \newcommand{\PluginRight}{\TouchMidRight} | ||
86 | \newcommand{\PluginCancel}{\ButtonPower or \TouchBottomRight} | ||
87 | \newcommand{\PluginExit}{\ButtonPower} | ||
88 | \newcommand{\PluginSelect}{\TouchCenter} | ||
89 | \newcommand{\PluginSelectRepeat}{Long \TouchCenter} | ||
90 | |||
91 | %Bootloader keys | ||
92 | \newcommand{\ActionIngenicUSBBoot}{\ButtonPlay} | ||
93 | \newcommand{\ActionBootRecoveryMenu}{\ButtonNext} | ||
94 | \newcommand{\ActionBootOFPlayer}{\ButtonPrev} | ||
95 | \newcommand{\ActionBootOFRecovery}{\ButtonPrev{} and \ButtonNext} | ||
diff --git a/manual/platform/shanlingq1.tex b/manual/platform/shanlingq1.tex new file mode 100644 index 0000000000..a2dc6855dc --- /dev/null +++ b/manual/platform/shanlingq1.tex | |||
@@ -0,0 +1,29 @@ | |||
1 | % $Id$ % | ||
2 | \def\UseOption{shanlingq1} | ||
3 | \edef\UseOption{\UseOption,SHANLING_Q1_PAD} | ||
4 | \edef\UseOption{\UseOption,HAVE_BACKLIGHT} | ||
5 | \edef\UseOption{\UseOption,HAVE_RB_BL_IN_FLASH} | ||
6 | \edef\UseOption{\UseOption,shanlingq1} | ||
7 | |||
8 | \newcommand{\playerman}{Shanling} | ||
9 | \newcommand{\playertype}{Q1} | ||
10 | \newcommand{\playerlongtype}{\playertype} | ||
11 | \newcommand{\dapdisplaywidth}{360} | ||
12 | \newcommand{\dapdisplayheight}{400} | ||
13 | \newcommand{\dapdisplaydepth}{16} | ||
14 | \newcommand{\specimg}{shanlingq1} | ||
15 | %Used to name the player, e.g. ...to the \dap | ||
16 | \newcommand{\dap}{player} | ||
17 | %For use when referring to the player. E.g. the \daps\ capacity ... | ||
18 | \newcommand{\daps}{player's} | ||
19 | \newcommand{\firmwarefilename}{\fname{rockbox.q1}} | ||
20 | \newcommand{\bootfilename}{\fname{bootloader.q1}} | ||
21 | \newcommand{\firmwareextension}{\fname{q1}} | ||
22 | \newcommand{\bootbackupfilename}{\fname{shanlingq1-boot.bin}} | ||
23 | \newcommand{\jztoolsubcommand}{shanlingq1} | ||
24 | \newcommand{\screenshotsize}{8cm} | ||
25 | \newcommand{\disk}{SD card} | ||
26 | |||
27 | % link external keymap file | ||
28 | \input{platform/keymap-shanlingq1.tex} | ||
29 | \input{platform/keymap-touchscreen.tex} | ||
diff --git a/manual/rockbox_interface/main.tex b/manual/rockbox_interface/main.tex index 8e42e3ef4c..92d50ccd0a 100644 --- a/manual/rockbox_interface/main.tex +++ b/manual/rockbox_interface/main.tex | |||
@@ -715,6 +715,23 @@ To turn on and off your Rockbox enabled \dap{} use the following keys: | |||
715 | and then press the \ButtonPower{} button. | 715 | and then press the \ButtonPower{} button. |
716 | } | 716 | } |
717 | 717 | ||
718 | \opt{fiiom3k,shanlingq1} | ||
719 | { | ||
720 | Rockbox has a dual-boot feature. To boot into the original firmware, | ||
721 | hold \ActionBootOFPlayer{} when powering on the \dap{}. | ||
722 | |||
723 | You can trigger a normal \playerman{} firmware update by holding | ||
724 | \ActionBootOFRecovery{} when powering on the \dap{}. | ||
725 | \warn{Updating the original firmware will \textbf{erase} the Rockbox | ||
726 | bootloader.} | ||
727 | |||
728 | \subsection{Entering the recovery menu} | ||
729 | You can access the Rockbox bootloader's ``recovery menu'' by holding | ||
730 | \ActionBootRecoveryMenu{}. This menu can be used to connect your \dap{} | ||
731 | over USB to transfer files, update the Rockbox bootloader, or revert to a | ||
732 | bootloader you've previously backed up. | ||
733 | } | ||
734 | |||
718 | } | 735 | } |
719 | \subsection{Putting music on your \dap{}} | 736 | \subsection{Putting music on your \dap{}} |
720 | 737 | ||