A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

Add 240x240 support to various plugins and rgnano manual updates

This should be all of the "standard" plugins (except sdl ones).

Change-Id: Iacae3edcc69a136a9dd887f31ad6ca51a9b5aea4

+148 -27
+4 -8
apps/plugins/SOURCES
··· 26 properties.c 27 random_folder_advance_config.c 28 rb_info.c 29 search.c 30 settings_dumper.c 31 snow.c ··· 139 xobox.c 140 spacerocks.c 141 142 - #if (LCD_WIDTH != 240) && (LCD_HEIGHT != 240) 143 - /* No 240x240 support */ 144 - rockblox.c 145 - bubbles.c 146 - wormlet.c 147 - #endif 148 - 149 blackjack.c 150 bounce.c 151 calculator.c 152 chip8.c 153 chopper.c ··· 167 star.c 168 starfield.c 169 vu_meter.c 170 171 #ifdef HAVE_HOTKEY 172 announce_status.c ··· 203 matrix.c 204 speedread.c 205 206 - #if (LCD_WIDTH > 138) && ((LCD_WIDTH != 240) && (LCD_HEIGHT != 240)) 207 invadrox.c 208 superdom.c 209 #endif
··· 26 properties.c 27 random_folder_advance_config.c 28 rb_info.c 29 + rockblox.c 30 search.c 31 settings_dumper.c 32 snow.c ··· 140 xobox.c 141 spacerocks.c 142 143 blackjack.c 144 bounce.c 145 + bubbles.c 146 calculator.c 147 chip8.c 148 chopper.c ··· 162 star.c 163 starfield.c 164 vu_meter.c 165 + wormlet.c 166 167 #ifdef HAVE_HOTKEY 168 announce_status.c ··· 199 matrix.c 200 speedread.c 201 202 + #if (LCD_WIDTH > 138) 203 invadrox.c 204 superdom.c 205 #endif
-3
apps/plugins/SUBDIRS
··· 41 chessbox 42 fractals 43 imageviewer 44 - #if (LCD_WIDTH != 240) && (LCD_HEIGHT != 240) 45 - /* No 240x240 support */ 46 sudoku 47 - #endif 48 reversi 49 goban 50 frotz
··· 41 chessbox 42 fractals 43 imageviewer 44 sudoku 45 reversi 46 goban 47 frotz
+2 -1
apps/plugins/bitmaps/mono/SOURCES
··· 18 #elif ((LCD_WIDTH == 220) && (LCD_HEIGHT == 176)) || \ 19 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 20 bubbles_bubble.220x176x1.bmp 21 - #elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 22 ((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)) || \ 23 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400)) 24 bubbles_bubble.320x240x1.bmp
··· 18 #elif ((LCD_WIDTH == 220) && (LCD_HEIGHT == 176)) || \ 19 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 20 bubbles_bubble.220x176x1.bmp 21 + #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 240)) || \ 22 + ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 23 ((LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)) || \ 24 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400)) 25 bubbles_bubble.320x240x1.bmp
+13 -1
apps/plugins/bitmaps/native/SOURCES
··· 209 #elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320) 210 bubbles_emblem.320x240x16.bmp 211 bubbles_background.240x320x16.bmp 212 #elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) 213 bubbles_emblem.220x176x16.bmp 214 bubbles_background.220x176x16.bmp ··· 437 invadrox_background.360x400x16.bmp 438 #elif LCD_WIDTH == 320 439 invadrox_background.320x240x16.bmp 440 #elif LCD_WIDTH == 240 441 invadrox_background.240x320x16.bmp 442 #elif LCD_WIDTH == 220 ··· 602 rockblox_background.320x240x16.bmp 603 #elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320) 604 rockblox_background.240x320x16.bmp 605 #elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 606 rockblox_background.220x176x16.bmp 607 #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220) ··· 891 sudoku_start.220x176x16.bmp 892 sudoku_normal.220x176x16.bmp 893 sudoku_inverse.220x176x16.bmp 894 #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH == 2) 895 /* Temporary bitmaps for Archos AV300 */ 896 sudoku_start.320x240x16.bmp ··· 929 ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128)) || \ 930 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 931 superdom_boarditems.176x132x16.bmp 932 - #elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240) 933 superdom_boarditems.320x240x16.bmp 934 #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \ 935 ((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) || \
··· 209 #elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320) 210 bubbles_emblem.320x240x16.bmp 211 bubbles_background.240x320x16.bmp 212 + #elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 240) 213 + bubbles_emblem.320x240x16.bmp 214 + bubbles_background.240x240x16.bmp 215 #elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) 216 bubbles_emblem.220x176x16.bmp 217 bubbles_background.220x176x16.bmp ··· 440 invadrox_background.360x400x16.bmp 441 #elif LCD_WIDTH == 320 442 invadrox_background.320x240x16.bmp 443 + #elif LCD_WIDTH == 240 && LCD_HEIGHT == 240 444 + invadrox_background.240x240x16.bmp 445 #elif LCD_WIDTH == 240 446 invadrox_background.240x320x16.bmp 447 #elif LCD_WIDTH == 220 ··· 607 rockblox_background.320x240x16.bmp 608 #elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320) 609 rockblox_background.240x320x16.bmp 610 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) 611 + rockblox_background.240x240x16.bmp 612 #elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 613 rockblox_background.220x176x16.bmp 614 #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220) ··· 898 sudoku_start.220x176x16.bmp 899 sudoku_normal.220x176x16.bmp 900 sudoku_inverse.220x176x16.bmp 901 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) && (LCD_DEPTH == 16) 902 + sudoku_start.240x240x16.bmp 903 + sudoku_normal.240x240x16.bmp 904 + sudoku_inverse.240x240x16.bmp 905 #elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH == 2) 906 /* Temporary bitmaps for Archos AV300 */ 907 sudoku_start.320x240x16.bmp ··· 940 ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128)) || \ 941 ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220)) 942 superdom_boarditems.176x132x16.bmp 943 + #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 240)) || \ 944 + ((LCD_WIDTH == 320) && (LCD_HEIGHT == 220)) 945 superdom_boarditems.320x240x16.bmp 946 #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \ 947 ((LCD_WIDTH == 240) && (LCD_HEIGHT == 400)) || \
apps/plugins/bitmaps/native/bubbles_background.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/invadrox_background.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/rockblox_background.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/sudoku_inverse.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/sudoku_normal.240x240x16.bmp

This is a binary file and will not be displayed.

apps/plugins/bitmaps/native/sudoku_start.240x240x16.bmp

This is a binary file and will not be displayed.

+16
apps/plugins/bubbles.c
··· 176 #define NEXT_BB_WIDTH 32 177 #define NEXT_BB_Y 200 178 179 /* 16x16 bubbles (H300, iPod Color, HDD6330) */ 180 #elif (LCD_HEIGHT == 176) && (LCD_WIDTH == 220) 181 #define XOFS 46
··· 176 #define NEXT_BB_WIDTH 32 177 #define NEXT_BB_Y 200 178 179 + /* 22x22 bubbles (Anbernic RG Nano) */ 180 + #elif (LCD_HEIGHT == 240) && (LCD_WIDTH == 240) 181 + #define XOFS 64 182 + #define MAX_FPS 40 183 + 184 + /* custom text positioning */ 185 + #define SCORE_TXT_X 12 186 + #define SCORE_TXT_WIDTH 32 187 + #define SCORE_TXT_Y 29 188 + #define LEVEL_TXT_X 12 189 + #define LEVEL_TXT_WIDTH 32 190 + #define LEVEL_TXT_Y 2 191 + #define NEXT_BB_X 12 192 + #define NEXT_BB_WIDTH 32 193 + #define NEXT_BB_Y 200 194 + 195 /* 16x16 bubbles (H300, iPod Color, HDD6330) */ 196 #elif (LCD_HEIGHT == 176) && (LCD_WIDTH == 220) 197 #define XOFS 46
+31
apps/plugins/invadrox.c
··· 298 #define RIGHT BUTTON_RIGHT 299 #define FIRE BUTTON_PLAY 300 301 #else 302 #error INVADROX: Unsupported keypad 303 #endif ··· 420 #define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH) 421 #define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1) 422 #define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 5 * NUM_SPACING) 423 #define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT) 424 #define LIVES_X 10 425 #define MAX_Y 18
··· 298 #define RIGHT BUTTON_RIGHT 299 #define FIRE BUTTON_PLAY 300 301 + #elif CONFIG_KEYPAD == RG_NANO_PAD 302 + 303 + #define QUIT BUTTON_START 304 + #define LEFT BUTTON_LEFT 305 + #define RIGHT BUTTON_RIGHT 306 + #define FIRE BUTTON_A 307 + 308 #else 309 #error INVADROX: Unsupported keypad 310 #endif ··· 427 #define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH) 428 #define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1) 429 #define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 5 * NUM_SPACING) 430 + #define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT) 431 + #define LIVES_X 10 432 + #define MAX_Y 18 433 + 434 + /* Anbernic RG Nano defines */ 435 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) 436 + 437 + /* Original arcade game size 224x240, 1bpp with 438 + * red overlay at top and green overlay at bottom. 439 + * 440 + * Anbernic RG Nano: 240x240x16 441 + * ====================== 442 + * X: 8p padding at left/right gives 224p playfield in middle. 443 + * 10p "border" gives 204p actual playfield. UFO use full 224p. 444 + * Y: Use full 240p. 445 + */ 446 + 447 + #define ARCADISH_GRAPHICS 448 + #define PLAYFIELD_X 8 449 + #define SHIP_Y (PLAYFIELD_Y - 3 * SHIP_HEIGHT) 450 + #define ALIEN_START_Y (UFO_Y + 3 * ALIEN_HEIGHT) 451 + #define SCORENUM_X (PLAYFIELD_X + NUMBERS_WIDTH) + 10 452 + #define SCORENUM_Y SCORE_Y + (2 * (FONT_HEIGHT + 1) + 1) 453 + #define HISCORENUM_X (LCD_WIDTH - PLAYFIELD_X - 1 - 6 * NUMBERS_WIDTH - 8 * NUM_SPACING) 454 #define SHIELD_Y (PLAYFIELD_Y - 6 * SHIP_HEIGHT) 455 #define LIVES_X 10 456 #define MAX_Y 18
+28
apps/plugins/rockblox.c
··· 479 #define ROCKBLOX_DROP BUTTON_MENU 480 #define ROCKBLOX_RESTART BUTTON_BACK 481 482 #else 483 #error No keymap defined! 484 #endif ··· 592 #define HIGH_LABEL_X 172 593 #define HIGH_SCORE_Y 163 594 #define HIGH_LEVEL_Y 172 595 596 #elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 597
··· 479 #define ROCKBLOX_DROP BUTTON_MENU 480 #define ROCKBLOX_RESTART BUTTON_BACK 481 482 + #elif CONFIG_KEYPAD == RG_NANO_PAD 483 + 484 + #define ROCKBLOX_OFF BUTTON_START 485 + #define ROCKBLOX_ROTATE_CCW BUTTON_X 486 + #define ROCKBLOX_ROTATE_CW BUTTON_Y 487 + #define ROCKBLOX_ROTATE BUTTON_UP 488 + #define ROCKBLOX_DOWN BUTTON_DOWN 489 + #define ROCKBLOX_LEFT BUTTON_LEFT 490 + #define ROCKBLOX_RIGHT BUTTON_RIGHT 491 + #define ROCKBLOX_DROP BUTTON_A 492 + #define ROCKBLOX_RESTART BUTTON_B 493 + 494 #else 495 #error No keymap defined! 496 #endif ··· 604 #define HIGH_LABEL_X 172 605 #define HIGH_SCORE_Y 163 606 #define HIGH_LEVEL_Y 172 607 + 608 + #elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 240) 609 + 610 + #define BLOCK_WIDTH 12 611 + #define BLOCK_HEIGHT 12 612 + #define BOARD_X 20 613 + #define BOARD_Y 0 614 + #define PREVIEW_X 176 615 + #define PREVIEW_Y 187 616 + #define LABEL_X 172 617 + #define SCORE_Y 19 618 + #define LEVEL_Y 51 619 + #define LINES_Y 84 620 + #define HIGH_LABEL_X 172 621 + #define HIGH_SCORE_Y 122 622 + #define HIGH_LEVEL_Y 172 623 624 #elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 625
+6
apps/plugins/sudoku/sudoku.c
··· 141 #define MARK_SPACE 1 /* Pixels between two marks */ 142 #define MARK_SIZE 4 /* Mark width and height */ 143 144 #elif (LCD_HEIGHT==240) && (LCD_WIDTH==320) 145 /* iPod Video - 320x240, 9 cells @ 24x24 with 14 border lines */ 146 #define MARK_OFFS 1 /* Pixels between border and mark */
··· 141 #define MARK_SPACE 1 /* Pixels between two marks */ 142 #define MARK_SIZE 4 /* Mark width and height */ 143 144 + #elif (LCD_HEIGHT==240) && (LCD_WIDTH==240) 145 + /* Anbernic RG Nano - 240x240, 9 cells @ 20x20 with 14 border lines */ 146 + #define MARK_OFFS 1 /* Pixels between border and mark */ 147 + #define MARK_SPACE 1 /* Pixels between two marks */ 148 + #define MARK_SIZE 4 /* Mark width and height */ 149 + 150 #elif (LCD_HEIGHT==240) && (LCD_WIDTH==320) 151 /* iPod Video - 320x240, 9 cells @ 24x24 with 14 border lines */ 152 #define MARK_OFFS 1 /* Pixels between border and mark */
+11
apps/plugins/sudoku/sudoku.h
··· 472 #elif CONFIG_KEYPAD == SHANLING_Q1_PAD 473 /* use touchscreen */ 474 475 #else 476 #error No keymap defined! 477 #endif
··· 472 #elif CONFIG_KEYPAD == SHANLING_Q1_PAD 473 /* use touchscreen */ 474 475 + #elif CONFIG_KEYPAD == RG_NANO_PAD 476 + #define SUDOKU_BUTTON_QUIT BUTTON_START 477 + #define SUDOKU_BUTTON_UP BUTTON_UP 478 + #define SUDOKU_BUTTON_DOWN BUTTON_DOWN 479 + #define SUDOKU_BUTTON_LEFT BUTTON_LEFT 480 + #define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT 481 + #define SUDOKU_BUTTON_TOGGLEBACK BUTTON_Y 482 + #define SUDOKU_BUTTON_TOGGLE BUTTON_A 483 + #define SUDOKU_BUTTON_MENU BUTTON_B 484 + #define SUDOKU_BUTTON_POSSIBLE BUTTON_X 485 + 486 #else 487 #error No keymap defined! 488 #endif
+12 -1
apps/plugins/wormlet.c
··· 419 #define BTN_QUIT BUTTON_BACK 420 #define BTN_STOPRESET BUTTON_MENU 421 422 #else 423 #error No keymap defined! 424 #endif ··· 503 #define ARGH_SIZE 6 504 #define SPEED 4 505 #define MAX_WORM_SEGMENTS 512 506 - #elif ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 507 ((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))) || \ 508 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400)) 509 #define FOOD_SIZE 7
··· 419 #define BTN_QUIT BUTTON_BACK 420 #define BTN_STOPRESET BUTTON_MENU 421 422 + #elif CONFIG_KEYPAD == RG_NANO_PAD 423 + 424 + #define BTN_DIR_UP BUTTON_UP 425 + #define BTN_DIR_DOWN BUTTON_DOWN 426 + #define BTN_DIR_LEFT BUTTON_LEFT 427 + #define BTN_DIR_RIGHT BUTTON_RIGHT 428 + #define BTN_STARTPAUSE BUTTON_A 429 + #define BTN_QUIT BUTTON_START 430 + #define BTN_STOPRESET BUTTON_B 431 + 432 #else 433 #error No keymap defined! 434 #endif ··· 513 #define ARGH_SIZE 6 514 #define SPEED 4 515 #define MAX_WORM_SEGMENTS 512 516 + #elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 240)) || \ 517 + ((LCD_WIDTH == 320) && (LCD_HEIGHT == 240)) || \ 518 ((LCD_WIDTH == 240) && ((LCD_HEIGHT == 320) || (LCD_HEIGHT == 400))) || \ 519 ((LCD_WIDTH == 360) && (LCD_HEIGHT == 400)) 520 #define FOOD_SIZE 7
manual/plugins/images/ss-bubbles-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-invadrox-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-rockblox-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-sudoku-240x240x16.png

This is a binary file and will not be displayed.

manual/plugins/images/ss-wormlet-240x240x16.png

This is a binary file and will not be displayed.

+5 -3
manual/plugins/invadrox.tex
··· 9 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 10 ,IPOD_1G2G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD% 11 ,SANSA_FUZE_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD% 12 - ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} 13 {\ButtonLeft} 14 \opt{COWON_D2_PAD}{\TouchMidLeft{}, \TouchBottomLeft{} or \ButtonMinus} 15 \opt{MPIO_HD300_PAD}{\ButtonRew} ··· 19 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 20 ,IPOD_1G2G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD% 21 ,SANSA_FUZE_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD% 22 - ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} 23 {\ButtonRight} 24 \opt{MPIO_HD300_PAD}{\ButtonFF} 25 \opt{COWON_D2_PAD}{\TouchMidRight{}, \TouchBottomRight{} or \ButtonPlus} ··· 29 \opt{IRIVER_H100_PAD}{\ButtonOn} 30 \opt{IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,IAUDIO_X5_PAD% 31 ,GIGABEAT_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_S_PAD% 32 - ,SANSA_FUZEPLUS_PAD}{\ButtonSelect} 33 \opt{IRIVER_H10_PAD}{\ButtonPlay} 34 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay{} or \ButtonUp} 35 \opt{COWON_D2_PAD}{\TouchBottomMiddle, \TouchCenter{} or \ButtonMenu} 36 \opt{PBELL_VIBE500_PAD}{\ButtonOK} 37 \opt{MPIO_HD300_PAD}{\ButtonEnter} 38 \opt{HAVEREMOTEKEYMAP}{& } 39 & Fire \\ 40 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 41 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MPIO_HD300_PAD}{\ButtonMenu} ··· 47 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 48 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} 49 \opt{HAVEREMOTEKEYMAP}{& } 50 & Quit\\ 51 \end{btnmap}
··· 9 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 10 ,IPOD_1G2G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD% 11 ,SANSA_FUZE_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD% 12 + ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD} 13 {\ButtonLeft} 14 \opt{COWON_D2_PAD}{\TouchMidLeft{}, \TouchBottomLeft{} or \ButtonMinus} 15 \opt{MPIO_HD300_PAD}{\ButtonRew} ··· 19 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 20 ,IPOD_1G2G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD% 21 ,SANSA_FUZE_PAD,GIGABEAT_S_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD% 22 + ,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD} 23 {\ButtonRight} 24 \opt{MPIO_HD300_PAD}{\ButtonFF} 25 \opt{COWON_D2_PAD}{\TouchMidRight{}, \TouchBottomRight{} or \ButtonPlus} ··· 29 \opt{IRIVER_H100_PAD}{\ButtonOn} 30 \opt{IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,IAUDIO_X5_PAD% 31 ,GIGABEAT_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_S_PAD% 32 + ,SANSA_FUZEPLUS_PAD,}{\ButtonSelect} 33 \opt{IRIVER_H10_PAD}{\ButtonPlay} 34 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay{} or \ButtonUp} 35 \opt{COWON_D2_PAD}{\TouchBottomMiddle, \TouchCenter{} or \ButtonMenu} 36 \opt{PBELL_VIBE500_PAD}{\ButtonOK} 37 \opt{MPIO_HD300_PAD}{\ButtonEnter} 38 \opt{HAVEREMOTEKEYMAP}{& } 39 + \opt{RG_NANO_PAD}{\ButtonA} 40 & Fire \\ 41 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} 42 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD,MPIO_HD300_PAD}{\ButtonMenu} ··· 48 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 49 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew} 50 \opt{HAVEREMOTEKEYMAP}{& } 51 + \opt{RG_NANO_PAD}{\ButtonStart} 52 & Quit\\ 53 \end{btnmap}
+6 -6
manual/plugins/main.tex
··· 33 34 \input{plugins/brickmania.tex} 35 36 - \nopt{rgnano}{\input{plugins/bubbles.tex}} 37 38 \input{plugins/chessbox.tex} 39 ··· 53 54 \input{plugins/goban.tex} 55 56 - \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820,rgnano}{ 57 \input{plugins/invadrox.tex}}} 58 59 \input{plugins/jackpot.tex} ··· 80 81 \input{plugins/robotfindskitten.tex} 82 83 - \nopt{rgnano}{\input{plugins/rockblox.tex}} 84 85 \input{plugins/rockblox1d.tex} 86 ··· 100 101 \input{plugins/star.tex} 102 103 - \nopt{rgnano}{\input{plugins/sudoku.tex}} 104 105 - \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820,rgnano}{ 106 \input{plugins/superdom.tex}}} 107 108 \opt{lcd_color}{\nopt{lowmem,iaudiox5,iriverh300,rgnano}{\input{plugins/wolf3d.tex}}} 109 110 - \nopt{rgnano}{\input{plugins/wormlet.tex}} 111 112 \input{plugins/xobox.tex} 113
··· 33 34 \input{plugins/brickmania.tex} 35 36 + \input{plugins/bubbles.tex} 37 38 \input{plugins/chessbox.tex} 39 ··· 53 54 \input{plugins/goban.tex} 55 56 + \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820}{ 57 \input{plugins/invadrox.tex}}} 58 59 \input{plugins/jackpot.tex} ··· 80 81 \input{plugins/robotfindskitten.tex} 82 83 + \input{plugins/rockblox.tex} 84 85 \input{plugins/rockblox1d.tex} 86 ··· 100 101 \input{plugins/star.tex} 102 103 + \input{plugins/sudoku.tex} 104 105 + \opt{lcd_non-mono}{\nopt{iriverh10_5gb,ipodmini1g,c200,c200v2,mpiohd200,clipzip,samsungyh820}{ 106 \input{plugins/superdom.tex}}} 107 108 \opt{lcd_color}{\nopt{lowmem,iaudiox5,iriverh300,rgnano}{\input{plugins/wolf3d.tex}}} 109 110 + \input{plugins/wormlet.tex} 111 112 \input{plugins/xobox.tex} 113
+8 -3
manual/plugins/rockblox.tex
··· 22 \opt{MPIO_HD300_PAD}{\ButtonRec} 23 \opt{SAMSUNG_YH820_PAD}{\ButtonRec} 24 \opt{HAVEREMOTEKEYMAP}{& } 25 & Restart game\\ 26 } 27 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD% 28 ,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 29 ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 30 ,IRIVER_H10_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 31 - ,SAMSUNG_YH820_PAD} 32 {\ButtonLeft} 33 \opt{COWON_D2_PAD}{\TouchMidLeft} 34 \opt{MPIO_HD300_PAD}{\ButtonRew} ··· 38 ,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 39 ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 40 ,IRIVER_H10_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 41 - ,SAMSUNG_YH820_PAD} 42 {\ButtonRight} 43 \opt{COWON_D2_PAD}{\TouchMidRight} 44 \opt{MPIO_HD300_PAD}{\ButtonFF} ··· 46 & Move right\\ 47 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% 48 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 49 - ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD} 50 {\ButtonDown} 51 \opt{SANSA_FUZEPLUS_PAD}{\ButtonSelect} 52 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay} ··· 69 \opt{MPIO_HD300_PAD}{\ButtonScrollUp} 70 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonUp} 71 \opt{HAVEREMOTEKEYMAP}{& } 72 & Rotate anticlockwise\\ 73 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD} 74 {\ButtonUp} ··· 83 \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolUp{}; \ButtonBottomRight} 84 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonDown} 85 \opt{HAVEREMOTEKEYMAP}{& } 86 & Rotate clockwise\\ 87 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} 88 \opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ··· 94 \opt{MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay} 95 \opt{SANSA_FUZEPLUS_PAD}{\ButtonDown} 96 \opt{HAVEREMOTEKEYMAP}{& } 97 & Drop\\ 98 \opt{hold_button}{ 99 \ButtonHold{} switch ··· 109 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 110 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF} 111 \opt{SAMSUNG_YH820_PAD}{\ButtonRew} 112 \opt{MPIO_HD300_PAD}{Long \ButtonMenu} 113 \opt{HAVEREMOTEKEYMAP}{& 114 \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
··· 22 \opt{MPIO_HD300_PAD}{\ButtonRec} 23 \opt{SAMSUNG_YH820_PAD}{\ButtonRec} 24 \opt{HAVEREMOTEKEYMAP}{& } 25 + \opt{RG_NANO_PAD}{\ButtonB} 26 & Restart game\\ 27 } 28 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD% 29 ,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 30 ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 31 ,IRIVER_H10_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 32 + ,SAMSUNG_YH820_PAD,RG_NANO_PAD} 33 {\ButtonLeft} 34 \opt{COWON_D2_PAD}{\TouchMidLeft} 35 \opt{MPIO_HD300_PAD}{\ButtonRew} ··· 39 ,IAUDIO_X5_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 40 ,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_4G_PAD,IPOD_3G_PAD% 41 ,IRIVER_H10_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD% 42 + ,SAMSUNG_YH820_PAD,RG_NANO_PAD} 43 {\ButtonRight} 44 \opt{COWON_D2_PAD}{\TouchMidRight} 45 \opt{MPIO_HD300_PAD}{\ButtonFF} ··· 47 & Move right\\ 48 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% 49 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 50 + ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,RG_NANO_PAD} 51 {\ButtonDown} 52 \opt{SANSA_FUZEPLUS_PAD}{\ButtonSelect} 53 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonPlay} ··· 70 \opt{MPIO_HD300_PAD}{\ButtonScrollUp} 71 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonUp} 72 \opt{HAVEREMOTEKEYMAP}{& } 73 + \opt{RG_NANO_PAD}{\ButtonX} 74 & Rotate anticlockwise\\ 75 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD} 76 {\ButtonUp} ··· 85 \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolUp{}; \ButtonBottomRight} 86 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonDown} 87 \opt{HAVEREMOTEKEYMAP}{& } 88 + \opt{RG_NANO_PAD}{\ButtonY} 89 & Rotate clockwise\\ 90 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} 91 \opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% ··· 97 \opt{MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay} 98 \opt{SANSA_FUZEPLUS_PAD}{\ButtonDown} 99 \opt{HAVEREMOTEKEYMAP}{& } 100 + \opt{RG_NANO_PAD}{\ButtonA} 101 & Drop\\ 102 \opt{hold_button}{ 103 \ButtonHold{} switch ··· 113 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 114 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF} 115 \opt{SAMSUNG_YH820_PAD}{\ButtonRew} 116 + \opt{RG_NANO_PAD}{\ButtonStart} 117 \opt{MPIO_HD300_PAD}{Long \ButtonMenu} 118 \opt{HAVEREMOTEKEYMAP}{& 119 \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
+6 -1
manual/plugins/sudoku.tex
··· 32 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% 33 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 34 ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% 35 - ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD} 36 {\ButtonUp{} / \ButtonDown{} / \ButtonLeft{} / \ButtonRight} 37 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} 38 \opt{IRIVER_H10_PAD}{\ButtonScrollUp{} / \ButtonScrollDown{} / \ButtonLeft{} / \ButtonRight} ··· 59 \opt{MPIO_HD300_PAD}{\ButtonEnter} 60 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF{} / \ButtonRew} 61 \opt{XDUOO_X3_PAD}{\ButtonPlay ; \ButtonVolUp / \ButtonVolDown} 62 \opt{HAVEREMOTEKEYMAP}{& } 63 & Change number under the cursor\\ 64 % ··· 76 \opt{MPIO_HD300_PAD}{Long \ButtonEnter} 77 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF{} / Long \ButtonRew} 78 \opt{XDUOO_X3_PAD}{Long \ButtonPlay ; Long \ButtonVolUp / Long \ButtonVolDown} 79 \opt{HAVEREMOTEKEYMAP}{& } 80 & Constantly changing the number under the cursor\\ 81 % ··· 89 \opt{MPIO_HD200_PAD,SAMSUNG_YH820_PAD}{\ButtonRec} 90 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack} 91 \opt{SAMSUNG_YH92X_PAD}{Long \ButtonPlay} 92 \opt{HAVEREMOTEKEYMAP}{& } 93 & Open Menu\\ 94 % ··· 102 \opt{MROBE100_PAD}{\ButtonDisplay} 103 \opt{COWON_D2_PAD}{Long \TouchBottomLeft} 104 \opt{XDUOO_X3_PAD}{\ButtonHome + \ButtonPower} 105 \opt{HAVEREMOTEKEYMAP}{& } 106 & Add/Remove number to scratchpad\\ 107 % ··· 114 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 115 \opt{MPIO_HD200_PAD}{\ButtonRec+\ButtonPlay} 116 \opt{MPIO_HD300_PAD}{Long \ButtonMenu} 117 \opt{HAVEREMOTEKEYMAP}{& } 118 & Quit\\ 119 %
··· 32 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD% 33 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_PAD% 34 ,GIGABEAT_S_PAD,MROBE100_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD% 35 + ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD} 36 {\ButtonUp{} / \ButtonDown{} / \ButtonLeft{} / \ButtonRight} 37 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd{} / \ButtonScrollBack} 38 \opt{IRIVER_H10_PAD}{\ButtonScrollUp{} / \ButtonScrollDown{} / \ButtonLeft{} / \ButtonRight} ··· 59 \opt{MPIO_HD300_PAD}{\ButtonEnter} 60 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonFF{} / \ButtonRew} 61 \opt{XDUOO_X3_PAD}{\ButtonPlay ; \ButtonVolUp / \ButtonVolDown} 62 + \opt{RG_NANO_PAD}{\ButtonA} 63 \opt{HAVEREMOTEKEYMAP}{& } 64 & Change number under the cursor\\ 65 % ··· 77 \opt{MPIO_HD300_PAD}{Long \ButtonEnter} 78 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonFF{} / Long \ButtonRew} 79 \opt{XDUOO_X3_PAD}{Long \ButtonPlay ; Long \ButtonVolUp / Long \ButtonVolDown} 80 + \opt{RG_NANO_PAD}{Long \ButtonA} 81 \opt{HAVEREMOTEKEYMAP}{& } 82 & Constantly changing the number under the cursor\\ 83 % ··· 91 \opt{MPIO_HD200_PAD,SAMSUNG_YH820_PAD}{\ButtonRec} 92 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack} 93 \opt{SAMSUNG_YH92X_PAD}{Long \ButtonPlay} 94 + \opt{RG_NANO_PAD}{\ButtonB} 95 \opt{HAVEREMOTEKEYMAP}{& } 96 & Open Menu\\ 97 % ··· 105 \opt{MROBE100_PAD}{\ButtonDisplay} 106 \opt{COWON_D2_PAD}{Long \TouchBottomLeft} 107 \opt{XDUOO_X3_PAD}{\ButtonHome + \ButtonPower} 108 + \opt{RG_NANO_PAD}{\ButtonX} 109 \opt{HAVEREMOTEKEYMAP}{& } 110 & Add/Remove number to scratchpad\\ 111 % ··· 118 \opt{PBELL_VIBE500_PAD}{\ButtonRec} 119 \opt{MPIO_HD200_PAD}{\ButtonRec+\ButtonPlay} 120 \opt{MPIO_HD300_PAD}{Long \ButtonMenu} 121 + \opt{RG_NANO_PAD}{\ButtonStart} 122 \opt{HAVEREMOTEKEYMAP}{& } 123 & Quit\\ 124 %