Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

3ds: Enable plugins for the 3ds platform.

This commit enables plugins for the 3ds platform.
And adds 3ds specific pad configurations for each plugin.

Change-Id: Ie28fef4da32ed4cd2caa6c9fa3b2fe312ee009ef

authored by

Mauricio Garrido and committed by
Solomon Peachy
09a31fff 7d067ca7

+549 -8
+1 -1
apps/plugins/SUBDIRS
··· 75 75 (CONFIG_KEYPAD == SANSA_FUZE_PAD) || (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 76 76 (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 77 77 (CONFIG_KEYPAD == IPOD_1G2G_PAD || CONFIG_KEYPAD == SAMSUNG_YPR0_PAD) || \ 78 - (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) 78 + (CONFIG_KEYPAD == SANSA_FUZEPLUS_PAD) || (CONFIG_KEYPAD == CTRU_PAD) 79 79 /* PDBox is confirmed to run on these player models. */ 80 80 pdbox 81 81 #endif
+6
apps/plugins/battery_bench.c
··· 265 265 #define BATTERY_ON_TXT "A" 266 266 #define BATTERY_OFF_TXT "X" 267 267 268 + #elif CONFIG_KEYPAD == CTRU_PAD 269 + #define BATTERY_ON BUTTON_SELECT 270 + #define BATTERY_OFF BUTTON_BACK 271 + #define BATTERY_ON_TXT "A - start" 272 + #define BATTERY_OFF_TXT "B" 273 + 268 274 #else 269 275 #error "No keymap defined!" 270 276 #endif
+16
apps/plugins/blackjack.c
··· 628 628 #define BJACK_RIGHT BUTTON_RIGHT 629 629 #define BJACK_LEFT BUTTON_LEFT 630 630 631 + #elif CONFIG_KEYPAD == CTRU_PAD 632 + #define BJACK_SELECT_NAME "A" 633 + #define BJACK_STAY_NAME "X" 634 + #define BJACK_QUIT_NAME "B" 635 + #define BJACK_DOUBLE_NAME "Y" 636 + #define BJACK_SELECT BUTTON_SELECT 637 + #define BJACK_QUIT BUTTON_BACK 638 + #define BJACK_MAX (BUTTON_LEFT|BUTTON_UP) 639 + #define BJACK_MIN (BUTTON_RIGHT|BUTTON_DOWN) 640 + #define BJACK_STAY BUTTON_MENU 641 + #define BJACK_DOUBLEDOWN BUTTON_USER 642 + #define BJACK_UP BUTTON_UP 643 + #define BJACK_DOWN BUTTON_DOWN 644 + #define BJACK_RIGHT BUTTON_RIGHT 645 + #define BJACK_LEFT BUTTON_LEFT 646 + 631 647 #else 632 648 #error No keymap defined! 633 649 #endif
+8
apps/plugins/brickmania.c
··· 382 382 #define UP BUTTON_UP 383 383 #define DOWN BUTTON_DOWN 384 384 385 + #elif CONFIG_KEYPAD == CTRU_PAD 386 + #define QUIT BUTTON_BACK 387 + #define LEFT BUTTON_LEFT 388 + #define RIGHT BUTTON_RIGHT 389 + #define SELECT BUTTON_SELECT 390 + #define UP BUTTON_UP 391 + #define DOWN BUTTON_DOWN 392 + 385 393 #else 386 394 #error No keymap defined! 387 395 #endif
+11
apps/plugins/calculator.c
··· 557 557 #define CALCULATOR_CALC BUTTON_X 558 558 #define CALCULATOR_CLEAR BUTTON_B 559 559 560 + #elif CONFIG_KEYPAD == CTRU_PAD 561 + 562 + #define CALCULATOR_LEFT BUTTON_LEFT 563 + #define CALCULATOR_RIGHT BUTTON_RIGHT 564 + #define CALCULATOR_UP BUTTON_UP 565 + #define CALCULATOR_DOWN BUTTON_DOWN 566 + #define CALCULATOR_QUIT BUTTON_BACK 567 + #define CALCULATOR_INPUT BUTTON_SELECT 568 + #define CALCULATOR_CALC BUTTON_MENU 569 + #define CALCULATOR_CLEAR BUTTON_USER 570 + 560 571 #else 561 572 #error No keymap defined! 562 573 #endif
+10
apps/plugins/calendar.c
··· 443 443 #define CALENDAR_PREV_MONTH BUTTON_L 444 444 #define CALENDAR_EVENT_MENU_NAME "A" 445 445 446 + #elif CONFIG_KEYPAD == CTRU_PAD 447 + #define CALENDAR_QUIT BUTTON_BACK 448 + #define CALENDAR_SELECT BUTTON_SELECT 449 + #define CALENDAR_NEXT_WEEK BUTTON_DOWN 450 + #define CALENDAR_PREV_WEEK BUTTON_UP 451 + #define CALENDAR_NEXT_DAY BUTTON_RIGHT 452 + #define CALENDAR_PREV_DAY BUTTON_LEFT 453 + #define CALENDAR_NEXT_MONTH BUTTON_POWER 454 + #define CALENDAR_PREV_MONTH BUTTON_USER 455 + 446 456 #else 447 457 #error "No keypad setting." 448 458 #endif
+14
apps/plugins/chessbox/chessbox_pgn.h
··· 614 614 #define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 615 615 #define CB_RC_QUIT BUTTON_START 616 616 617 + #elif CONFIG_KEYPAD == CTRU_PAD 618 + #define CB_SELECT BUTTON_SELECT 619 + #define CB_UP BUTTON_UP 620 + #define CB_DOWN BUTTON_DOWN 621 + #define CB_LEFT BUTTON_LEFT 622 + #define CB_RIGHT BUTTON_RIGHT 623 + #define CB_PLAY BUTTON_USER 624 + #define CB_LEVEL BUTTON_BACK 625 + #define CB_MENU BUTTON_MENU 626 + #define CB_SCROLL_UP (BUTTON_UP|BUTTON_REPEAT) 627 + #define CB_SCROLL_DOWN (BUTTON_DOWN|BUTTON_REPEAT) 628 + #define CB_SCROLL_LEFT (BUTTON_LEFT|BUTTON_REPEAT) 629 + #define CB_SCROLL_RIGHT (BUTTON_RIGHT|BUTTON_REPEAT) 630 + 617 631 #else 618 632 #error No keymap defined! 619 633 #endif
+10
apps/plugins/chessclock.c
··· 418 418 #define CHC_SETTINGS_OK BUTTON_A 419 419 #define CHC_SETTINGS_CANCEL BUTTON_B 420 420 421 + #elif CONFIG_KEYPAD == CTRU_PAD 422 + #define CHC_QUIT BUTTON_BACK 423 + #define CHC_STARTSTOP BUTTON_SELECT 424 + #define CHC_RESET BUTTON_USER 425 + #define CHC_MENU BUTTON_MENU 426 + #define CHC_SETTINGS_INC BUTTON_UP 427 + #define CHC_SETTINGS_DEC BUTTON_DOWN 428 + #define CHC_SETTINGS_OK BUTTON_SELECT 429 + #define CHC_SETTINGS_CANCEL BUTTON_BACK 430 + 421 431 #else 422 432 #error No keymap defined! 423 433 #endif
+12
apps/plugins/chip8.c
··· 1312 1312 #define CHIP8_KEY9 BUTTON_R 1313 1313 #define CHIP8_KEY0 BUTTON_L 1314 1314 1315 + #elif (CONFIG_KEYPAD == CTRU_PAD) 1316 + #define CHIP8_OFF (BUTTON_BACK|BUTTON_REPEAT) 1317 + #define CHIP8_KEY1 BUTTON_MENU 1318 + #define CHIP8_KEY2 BUTTON_UP 1319 + #define CHIP8_KEY3 BUTTON_DOWN 1320 + #define CHIP8_KEY4 BUTTON_LEFT 1321 + #define CHIP8_KEY5 BUTTON_SELECT 1322 + #define CHIP8_KEY6 BUTTON_RIGHT 1323 + #define CHIP8_KEY7 BUTTON_BACK 1324 + #define CHIP8_KEY8 BUTTON_POWER 1325 + #define CHIP8_KEY9 BUTTON_USER 1326 + 1315 1327 #elif CONFIG_KEYPAD == SHANLING_Q1_PAD || CONFIG_KEYPAD == HIBY_R3PROII_PAD 1316 1328 /* use touchscreen */ 1317 1329
+6
apps/plugins/chopper.c
··· 213 213 #define ACTION2 BUTTON_B 214 214 #define ACTIONTEXT "A" 215 215 216 + #elif CONFIG_KEYPAD == CTRU_PAD 217 + #define QUIT BUTTON_BACK 218 + #define ACTION BUTTON_SELECT 219 + #define ACTION2 BUTTON_MENU 220 + #define ACTIONTEXT "A" 221 + 216 222 #elif !defined(HAVE_TOUCHSCREEN) 217 223 #error No keymap defined! 218 224 #endif
+8
apps/plugins/clix.c
··· 333 333 #define CLIX_BUTTON_UP BUTTON_UP 334 334 #define CLIX_BUTTON_DOWN BUTTON_DOWN 335 335 336 + #elif (CONFIG_KEYPAD == CTRU_PAD) 337 + #define CLIX_BUTTON_QUIT BUTTON_BACK 338 + #define CLIX_BUTTON_LEFT BUTTON_LEFT 339 + #define CLIX_BUTTON_RIGHT BUTTON_RIGHT 340 + #define CLIX_BUTTON_CLICK BUTTON_SELECT 341 + #define CLIX_BUTTON_UP BUTTON_UP 342 + #define CLIX_BUTTON_DOWN BUTTON_DOWN 343 + 336 344 #else 337 345 #error "no keymap" 338 346 #endif
+10
apps/plugins/cube.c
··· 425 425 #define CUBE_PAUSE BUTTON_A 426 426 #define CUBE_HIGHSPEED BUTTON_Y 427 427 428 + #elif (CONFIG_KEYPAD == CTRU_PAD) 429 + #define CUBE_QUIT BUTTON_BACK 430 + #define CUBE_NEXT BUTTON_RIGHT 431 + #define CUBE_PREV BUTTON_LEFT 432 + #define CUBE_INC BUTTON_UP 433 + #define CUBE_DEC BUTTON_DOWN 434 + #define CUBE_MODE BUTTON_MENU 435 + #define CUBE_PAUSE BUTTON_USER 436 + #define CUBE_HIGHSPEED BUTTON_SELECT 437 + 428 438 #else 429 439 #error No keymap defined! 430 440 #endif
+11
apps/plugins/doom/i_video.c
··· 645 645 #define DOOMBUTTON_WEAPON BUTTON_X 646 646 #define DOOMBUTTON_MAP BUTTON_Y 647 647 648 + #elif CONFIG_KEYPAD == CTRU_PAD 649 + #define DOOMBUTTON_UP BUTTON_UP 650 + #define DOOMBUTTON_DOWN BUTTON_DOWN 651 + #define DOOMBUTTON_LEFT BUTTON_LEFT 652 + #define DOOMBUTTON_RIGHT BUTTON_RIGHT 653 + #define DOOMBUTTON_SHOOT BUTTON_SELECT 654 + #define DOOMBUTTON_OPEN BUTTON_MENU 655 + #define DOOMBUTTON_ESC BUTTON_BACK 656 + #define DOOMBUTTON_ENTER BUTTON_POWER 657 + #define DOOMBUTTON_WEAPON BUTTON_USER 658 + 648 659 #else 649 660 #error Keymap not defined! 650 661 #endif
+12
apps/plugins/flipit.c
··· 523 523 #define FLIPIT_STEP_BY_STEP BUTTON_Y 524 524 #define FLIPIT_TOGGLE BUTTON_A 525 525 526 + #elif CONFIG_KEYPAD == CTRU_PAD 527 + 528 + #define FLIPIT_LEFT BUTTON_LEFT 529 + #define FLIPIT_RIGHT BUTTON_RIGHT 530 + #define FLIPIT_UP BUTTON_UP 531 + #define FLIPIT_DOWN BUTTON_DOWN 532 + #define FLIPIT_QUIT BUTTON_BACK 533 + #define FLIPIT_SHUFFLE BUTTON_MENU 534 + #define FLIPIT_SOLVE BUTTON_USER 535 + #define FLIPIT_STEP_BY_STEP BUTTON_POWER 536 + #define FLIPIT_TOGGLE BUTTON_SELECT 537 + 526 538 #else 527 539 #error No keymap defined! 528 540 #endif
+12
apps/plugins/fractals/fractal.h
··· 531 531 #define FRACTAL_PRECISION_DEC BUTTON_L 532 532 #define FRACTAL_RESET BUTTON_A 533 533 534 + #elif CONFIG_KEYPAD == CTRU_PAD 535 + #define FRACTAL_QUIT BUTTON_BACK 536 + #define FRACTAL_UP BUTTON_UP 537 + #define FRACTAL_DOWN BUTTON_DOWN 538 + #define FRACTAL_LEFT BUTTON_LEFT 539 + #define FRACTAL_RIGHT BUTTON_RIGHT 540 + #define FRACTAL_ZOOM_IN (BUTTON_MENU|BUTTON_REL) 541 + #define FRACTAL_ZOOM_OUT (BUTTON_USER|BUTTON_REL) 542 + #define FRACTAL_PRECISION_INC (BUTTON_MENU|BUTTON_REPEAT) 543 + #define FRACTAL_PRECISION_DEC (BUTTON_USER|BUTTON_REPEAT) 544 + #define FRACTAL_RESET BUTTON_POWER 545 + 534 546 #else 535 547 #error No keymap defined! 536 548 #endif
+10
apps/plugins/goban/goban.h
··· 524 524 #define GBN_BUTTON_CONTEXT BUTTON_X 525 525 #define GBN_BUTTON_NEXT_VAR BUTTON_Y 526 526 527 + #elif (CONFIG_KEYPAD == CTRU_PAD) 528 + #define GBN_BUTTON_UP BUTTON_UP 529 + #define GBN_BUTTON_DOWN BUTTON_DOWN 530 + #define GBN_BUTTON_LEFT BUTTON_LEFT 531 + #define GBN_BUTTON_RIGHT BUTTON_RIGHT 532 + #define GBN_BUTTON_RETREAT BUTTON_BACK 533 + #define GBN_BUTTON_ADVANCE BUTTON_USER 534 + #define GBN_BUTTON_PLAY BUTTON_SELECT 535 + #define GBN_BUTTON_MENU BUTTON_MENU 536 + 527 537 #else 528 538 #error Unsupported keypad 529 539 #endif
+12
apps/plugins/imageviewer/imageviewer_button.h
··· 572 572 #define IMGVIEW_MENU BUTTON_B 573 573 #define IMGVIEW_QUIT BUTTON_START 574 574 575 + #elif CONFIG_KEYPAD == CTRU_PAD 576 + #define IMGVIEW_ZOOM_IN BUTTON_POWER 577 + #define IMGVIEW_ZOOM_OUT BUTTON_USER 578 + #define IMGVIEW_UP BUTTON_UP 579 + #define IMGVIEW_DOWN BUTTON_DOWN 580 + #define IMGVIEW_LEFT BUTTON_LEFT 581 + #define IMGVIEW_RIGHT BUTTON_RIGHT 582 + #define IMGVIEW_NEXT BUTTON_SELECT 583 + #define IMGVIEW_PREVIOUS 0xFFFFFFA //not used 584 + #define IMGVIEW_MENU BUTTON_MENU 585 + #define IMGVIEW_QUIT BUTTON_BACK 586 + 575 587 #else 576 588 #error No keymap defined! 577 589 #endif
+7
apps/plugins/invadrox.c
··· 305 305 #define RIGHT BUTTON_RIGHT 306 306 #define FIRE BUTTON_A 307 307 308 + #elif CONFIG_KEYPAD == CTRU_PAD 309 + 310 + #define QUIT BUTTON_POWER 311 + #define LEFT BUTTON_LEFT 312 + #define RIGHT BUTTON_RIGHT 313 + #define FIRE BUTTON_SELECT 314 + 308 315 #else 309 316 #error INVADROX: Unsupported keypad 310 317 #endif
+10
apps/plugins/jewels.c
··· 400 400 #define HK_SELECT "A" 401 401 #define HK_CANCEL "START" 402 402 403 + #elif CONFIG_KEYPAD == CTRU_PAD 404 + #define JEWELS_UP BUTTON_UP 405 + #define JEWELS_DOWN BUTTON_DOWN 406 + #define JEWELS_LEFT BUTTON_LEFT 407 + #define JEWELS_RIGHT BUTTON_RIGHT 408 + #define JEWELS_SELECT BUTTON_SELECT 409 + #define JEWELS_CANCEL BUTTON_BACK 410 + #define HK_SELECT "A" 411 + #define HK_CANCEL "B" 412 + 403 413 #else 404 414 #error No keymap defined! 405 415 #endif
+20 -4
apps/plugins/lib/keymaps.h
··· 280 280 #define BTN_FIRE BUTTON_A 281 281 #define BTN_PAUSE BUTTON_START 282 282 283 + #elif CONFIG_KEYPAD == CTRU_PAD 284 + #define BTN_UP BUTTON_UP 285 + #define BTN_DOWN BUTTON_DOWN 286 + #define BTN_LEFT BUTTON_LEFT 287 + #define BTN_RIGHT BUTTON_RIGHT 288 + #define BTN_FIRE BUTTON_USER 289 + #define BTN_PAUSE BUTTON_MENU 290 + 283 291 #else 284 292 #error Unsupported keypad 285 293 #endif 286 294 287 295 #ifdef HAVE_TOUCHSCREEN 288 - #define BTN_UP BUTTON_TOPMIDDLE 289 - #define BTN_DOWN BUTTON_BOTTOMMIDDLE 290 - #define BTN_LEFT BUTTON_LEFT 291 - #define BTN_RIGHT BUTTON_RIGHT 296 + #ifndef BTN_UP 297 + #define BTN_UP BUTTON_TOPMIDDLE 298 + #endif 299 + #ifndef BTN_DOWN 300 + #define BTN_DOWN BUTTON_BOTTOMMIDDLE 301 + #endif 302 + #ifndef BTN_LEFT 303 + #define BTN_LEFT BUTTON_LEFT 304 + #endif 305 + #ifndef BTN_RIGHT 306 + #define BTN_RIGHT BUTTON_RIGHT 307 + #endif 292 308 293 309 #if (CONFIG_KEYPAD == MROBE500_PAD) || \ 294 310 (CONFIG_KEYPAD == ONDAVX777_PAD)
+15
apps/plugins/lib/pluginlib_actions.c
··· 286 286 { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 287 287 { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 288 288 { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 289 + #elif (CONFIG_KEYPAD == CTRU_PAD) 290 + { PLA_UP, BUTTON_UP, BUTTON_NONE }, 291 + { PLA_DOWN, BUTTON_DOWN, BUTTON_NONE }, 292 + { PLA_LEFT, BUTTON_LEFT, BUTTON_NONE }, 293 + { PLA_RIGHT, BUTTON_RIGHT, BUTTON_NONE }, 294 + { PLA_UP_REPEAT, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 295 + { PLA_DOWN_REPEAT, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 296 + { PLA_LEFT_REPEAT, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE }, 297 + { PLA_RIGHT_REPEAT, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE }, 289 298 #else 290 299 # ifndef HAVE_TOUCHSCREEN 291 300 # error pluginlib_actions: No directions defined ··· 531 540 {PLA_SELECT, BUTTON_A, BUTTON_NONE}, 532 541 {PLA_SELECT_REL, BUTTON_A|BUTTON_REL, BUTTON_A}, 533 542 {PLA_SELECT_REPEAT, BUTTON_A|BUTTON_REPEAT, BUTTON_NONE}, 543 + #elif (CONFIG_KEYPAD == CTRU_PAD) 544 + {PLA_CANCEL, BUTTON_BACK, BUTTON_NONE}, 545 + {PLA_EXIT, BUTTON_MENU, BUTTON_NONE}, 546 + {PLA_SELECT, BUTTON_SELECT, BUTTON_NONE}, 547 + {PLA_SELECT_REL, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT}, 548 + {PLA_SELECT_REPEAT, BUTTON_SELECT|BUTTON_REPEAT, BUTTON_NONE}, 534 549 #else 535 550 # ifndef HAVE_TOUCHSCREEN 536 551 # error pluginlib_actions: No actions defined
+8
apps/plugins/midi/midiplay.c
··· 344 344 #define MIDI_VOL_DOWN BUTTON_DOWN 345 345 #define MIDI_PLAYPAUSE BUTTON_A 346 346 347 + #elif CONFIG_KEYPAD == CTRU_PAD 348 + #define MIDI_QUIT BUTTON_BACK 349 + #define MIDI_FFWD BUTTON_RIGHT 350 + #define MIDI_REWIND BUTTON_LEFT 351 + #define MIDI_VOL_UP BUTTON_UP 352 + #define MIDI_VOL_DOWN BUTTON_DOWN 353 + #define MIDI_PLAYPAUSE BUTTON_USER 354 + 347 355 #else 348 356 #error No keymap defined! 349 357 #endif
+1 -1
apps/plugins/mikmod/mikmod.c
··· 6 6 7 7 8 8 #undef SYNC 9 - #ifdef SIMULATOR 9 + #if defined(SIMULATOR) || defined(CTRU) 10 10 #define SYNC 11 11 #else 12 12 #define USETHREADS
+10
apps/plugins/minesweeper.c
··· 465 465 # define MINESWP_DISCOVER BUTTON_A 466 466 # define MINESWP_INFO BUTTON_Y 467 467 468 + #elif CONFIG_KEYPAD == CTRU_PAD 469 + # define MINESWP_LEFT BUTTON_LEFT 470 + # define MINESWP_RIGHT BUTTON_RIGHT 471 + # define MINESWP_UP BUTTON_UP 472 + # define MINESWP_DOWN BUTTON_DOWN 473 + # define MINESWP_QUIT BUTTON_BACK 474 + # define MINESWP_TOGGLE BUTTON_USER 475 + # define MINESWP_DISCOVER BUTTON_SELECT 476 + # define MINESWP_INFO BUTTON_MENU 477 + 468 478 #else 469 479 #error No keymap defined! 470 480 #endif
+6
apps/plugins/mp3_encoder.c
··· 2598 2598 #define MP3ENC_DONE BUTTON_START 2599 2599 #define MP3ENC_SELECT BUTTON_A 2600 2600 2601 + #elif CONFIG_KEYPAD == CTRU_PAD 2602 + #define MP3ENC_PREV BUTTON_UP 2603 + #define MP3ENC_NEXT BUTTON_DOWN 2604 + #define MP3ENC_DONE BUTTON_POWER 2605 + #define MP3ENC_SELECT BUTTON_SELECT 2606 + 2601 2607 #else 2602 2608 #error No keymap defined! 2603 2609 #endif
+8
apps/plugins/mpegplayer/mpeg_settings.c
··· 375 375 #define MPEG_START_TIME_DOWN BUTTON_DOWN 376 376 #define MPEG_START_TIME_EXIT BUTTON_START 377 377 378 + #elif CONFIG_KEYPAD == CTRU_PAD 379 + #define MPEG_START_TIME_SELECT BUTTON_SELECT 380 + #define MPEG_START_TIME_LEFT BUTTON_LEFT 381 + #define MPEG_START_TIME_RIGHT BUTTON_RIGHT 382 + #define MPEG_START_TIME_UP BUTTON_UP 383 + #define MPEG_START_TIME_DOWN BUTTON_DOWN 384 + #define MPEG_START_TIME_EXIT BUTTON_BACK 385 + 378 386 #else 379 387 #error No keymap defined! 380 388 #endif
+9
apps/plugins/mpegplayer/mpegplayer.c
··· 507 507 #define MPEG_RW BUTTON_LEFT 508 508 #define MPEG_FF BUTTON_RIGHT 509 509 510 + #elif CONFIG_KEYPAD == CTRU_PAD 511 + #define MPEG_MENU BUTTON_MENU 512 + #define MPEG_PAUSE BUTTON_SELECT 513 + #define MPEG_STOP BUTTON_POWER 514 + #define MPEG_VOLDOWN BUTTON_DOWN 515 + #define MPEG_VOLUP BUTTON_UP 516 + #define MPEG_RW BUTTON_LEFT 517 + #define MPEG_FF BUTTON_RIGHT 518 + 510 519 #else 511 520 #error No keymap defined! 512 521 #endif
+11
apps/plugins/oscilloscope.c
··· 579 579 #define OSCILLOSCOPE_VOL_UP BUTTON_UP 580 580 #define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN 581 581 582 + #elif CONFIG_KEYPAD == CTRU_PAD 583 + #define OSCILLOSCOPE_QUIT BUTTON_BACK 584 + #define OSCILLOSCOPE_DRAWMODE BUTTON_USER 585 + #define OSCILLOSCOPE_ADVMODE BUTTON_MENU 586 + #define OSCILLOSCOPE_ORIENTATION BUTTON_POWER 587 + #define OSCILLOSCOPE_PAUSE BUTTON_SELECT 588 + #define OSCILLOSCOPE_SPEED_UP BUTTON_RIGHT 589 + #define OSCILLOSCOPE_SPEED_DOWN BUTTON_LEFT 590 + #define OSCILLOSCOPE_VOL_UP BUTTON_UP 591 + #define OSCILLOSCOPE_VOL_DOWN BUTTON_DOWN 592 + 582 593 #else 583 594 #error No keymap defined! 584 595 #endif
+11
apps/plugins/pacbox/pacbox.h
··· 429 429 #define PACMAN_COIN BUTTON_A 430 430 #define PACMAN_MENU BUTTON_START 431 431 432 + #elif CONFIG_KEYPAD == CTRU_PAD 433 + 434 + #define PACMAN_UP BUTTON_UP 435 + #define PACMAN_DOWN BUTTON_DOWN 436 + #define PACMAN_LEFT BUTTON_LEFT 437 + #define PACMAN_RIGHT BUTTON_RIGHT 438 + #define PACMAN_1UP BUTTON_SELECT 439 + #define PACMAN_2UP BUTTON_POWER 440 + #define PACMAN_COIN BUTTON_USER 441 + #define PACMAN_MENU BUTTON_MENU 442 + 432 443 #else 433 444 434 445 #error Keymap not defined!
+9
apps/plugins/pdbox/pdbox.h
··· 312 312 #define PDPOD_WHEELLEFT BUTTON_UP 313 313 #define PDPOD_WHEELRIGHT BUTTON_DOWN 314 314 #define PDPOD_ACTION BUTTON_SELECT 315 + #elif (CONFIG_KEYPAD == CTRU_PAD) 316 + #define PDPOD_QUIT BUTTON_BACK 317 + #define PDPOD_PLAY BUTTON_USER 318 + #define PDPOD_PREVIOUS BUTTON_LEFT 319 + #define PDPOD_NEXT BUTTON_RIGHT 320 + #define PDPOD_MENU BUTTON_MENU 321 + #define PDPOD_WHEELLEFT BUTTON_UP 322 + #define PDPOD_WHEELRIGHT BUTTON_DOWN 323 + #define PDPOD_ACTION BUTTON_SELECT 315 324 #else 316 325 #warning "No keys defined for this architecture!" 317 326 #endif
+17
apps/plugins/pegbox.c
··· 748 748 #define LVL_UP_TEXT "R" 749 749 #define LVL_DOWN_TEXT "L" 750 750 751 + #elif CONFIG_KEYPAD == CTRU_PAD 752 + #define PEGBOX_SELECT BUTTON_SELECT 753 + #define PEGBOX_QUIT BUTTON_BACK 754 + #define PEGBOX_RESTART BUTTON_MENU 755 + #define PEGBOX_LVL_UP BUTTON_USER 756 + #define PEGBOX_LVL_DOWN BUTTON_POWER 757 + #define PEGBOX_UP BUTTON_UP 758 + #define PEGBOX_DOWN BUTTON_DOWN 759 + #define PEGBOX_RIGHT BUTTON_RIGHT 760 + #define PEGBOX_LEFT BUTTON_LEFT 761 + 762 + #define QUIT_TEXT "B" 763 + #define RESTART_TEXT "X" 764 + #define LVL_UP_TEXT "Y" 765 + #define LVL_DOWN_TEXT "Start" 766 + #define SELECT_TEXT "A" 767 + 751 768 #else 752 769 #error "Unsupported keymap!" 753 770 #endif
+6
apps/plugins/plugin_crt0.c
··· 25 25 26 26 PLUGIN_HEADER 27 27 28 + #ifdef CTRU 29 + /* dummy undefined symbols to build plugins for ctru */ 30 + void __aeabi_unwind_cpp_pr0(void) {} 31 + struct _reent * _EXFUN(__getreent, (void)) {} 32 + #endif 33 + 28 34 /* 29 35 * EXIT_MAGIC magic, because 0 cannot be used due to setjmp() 30 36 * must be > 0
+5
apps/plugins/plugins.make
··· 15 15 endif 16 16 endif 17 17 18 + # Let's enable all plugins for ctru target 19 + ifeq ($(APP_TYPE),ctru-app) 20 + is_app_build = 21 + endif 22 + 18 23 ifdef is_app_build 19 24 PLUGINS_SRC = $(call preprocess, $(APPSDIR)/plugins/SOURCES.app_build) 20 25 else
+8
apps/plugins/pong.c
··· 344 344 #define PONG_RIGHT_UP BUTTON_X 345 345 #define PONG_RIGHT_DOWN BUTTON_Y 346 346 347 + #elif CONFIG_KEYPAD == CTRU_PAD 348 + #define PONG_QUIT BUTTON_BACK 349 + #define PONG_PAUSE BUTTON_SELECT 350 + #define PONG_LEFT_UP BUTTON_UP 351 + #define PONG_LEFT_DOWN BUTTON_DOWN 352 + #define PONG_RIGHT_UP BUTTON_MENU 353 + #define PONG_RIGHT_DOWN BUTTON_POWER 354 + 347 355 #else 348 356 #error No keymap defined! 349 357 #endif
+9
apps/plugins/reversi/reversi-gui.h
··· 382 382 #define REVERSI_BUTTON_MAKE_MOVE BUTTON_A 383 383 #define REVERSI_BUTTON_MENU BUTTON_B 384 384 385 + #elif CONFIG_KEYPAD == CTRU_PAD 386 + #define REVERSI_BUTTON_QUIT BUTTON_BACK 387 + #define REVERSI_BUTTON_UP BUTTON_UP 388 + #define REVERSI_BUTTON_DOWN BUTTON_DOWN 389 + #define REVERSI_BUTTON_LEFT BUTTON_LEFT 390 + #define REVERSI_BUTTON_RIGHT BUTTON_RIGHT 391 + #define REVERSI_BUTTON_MAKE_MOVE BUTTON_SELECT 392 + #define REVERSI_BUTTON_MENU BUTTON_MENU 393 + 385 394 #else 386 395 #error No keymap defined! 387 396 #endif
+12
apps/plugins/rockblox.c
··· 493 493 #define ROCKBLOX_DROP BUTTON_A 494 494 #define ROCKBLOX_RESTART BUTTON_B 495 495 496 + #elif CONFIG_KEYPAD == CTRU_PAD 497 + 498 + #define ROCKBLOX_OFF BUTTON_BACK 499 + #define ROCKBLOX_ROTATE_CCW BUTTON_POWER 500 + #define ROCKBLOX_ROTATE_CW BUTTON_MENU 501 + #define ROCKBLOX_ROTATE BUTTON_UP 502 + #define ROCKBLOX_DOWN BUTTON_DOWN 503 + #define ROCKBLOX_LEFT BUTTON_LEFT 504 + #define ROCKBLOX_RIGHT BUTTON_RIGHT 505 + #define ROCKBLOX_DROP BUTTON_SELECT 506 + #define ROCKBLOX_RESTART BUTTON_USER 507 + 496 508 #else 497 509 #error No keymap defined! 498 510 #endif
+13 -1
apps/plugins/rockboy/rockboy.c
··· 493 493 options.SELECT = BUTTON_FN; 494 494 options.MENU = BUTTON_X; 495 495 496 + #elif CONFIG_KEYPAD == CTRU_PAD 497 + options.UP = BUTTON_UP; 498 + options.DOWN = BUTTON_DOWN; 499 + options.LEFT = BUTTON_LEFT; 500 + options.RIGHT = BUTTON_RIGHT; 501 + 502 + options.A = BUTTON_SELECT; 503 + options.B = BUTTON_BACK; 504 + options.START = BUTTON_POWER; 505 + options.SELECT = BUTTON_USER; 506 + options.MENU = BUTTON_MENU; 507 + 496 508 #else 497 509 #error No Keymap Defined! 498 510 #endif 499 511 500 - #ifdef HAVE_TOUCHSCREEN 512 + #if defined(HAVE_TOUCHSCREEN) && (CONFIG_KEYPAD != CTRU_PAD) 501 513 options.UP = BUTTON_TOPMIDDLE; 502 514 options.DOWN = BUTTON_BOTTOMMIDDLE; 503 515 options.START = BUTTON_TOPRIGHT;
+6
apps/plugins/rockboy/rockboy.make
··· 38 38 $(filter %.a, $+) \ 39 39 -lgcc $(ROCKBOY_OVLFLAGS) 40 40 $(call PRINTS,LD $(@F))$(call objcopy,$(basename $@).elf,$@) 41 + 42 + # special rule to build with devkitarm gcc 43 + ifeq ($(APP_TYPE),ctru-app) 44 + $(ROCKBOY_OBJDIR)/rockboy.rock: PLUGINFLAGS += -O3 45 + endif 46 +
+11
apps/plugins/rockpaint.c
··· 440 440 #define ROCKPAINT_LEFT BUTTON_LEFT 441 441 #define ROCKPAINT_RIGHT BUTTON_RIGHT 442 442 443 + #elif CONFIG_KEYPAD == CTRU_PAD 444 + #define ROCKPAINT_QUIT BUTTON_BACK 445 + #define ROCKPAINT_DRAW BUTTON_SELECT 446 + #define ROCKPAINT_MENU BUTTON_MENU 447 + #define ROCKPAINT_TOOLBAR BUTTON_USER 448 + #define ROCKPAINT_TOOLBAR2 ( BUTTON_USER | BUTTON_REPEAT ) 449 + #define ROCKPAINT_UP BUTTON_UP 450 + #define ROCKPAINT_DOWN BUTTON_DOWN 451 + #define ROCKPAINT_LEFT BUTTON_LEFT 452 + #define ROCKPAINT_RIGHT BUTTON_RIGHT 453 + 443 454 #else 444 455 #error "Please define keys for this keypad" 445 456 #endif
+9
apps/plugins/sliding_puzzle.c
··· 378 378 #define PUZZLE_SHUFFLE BUTTON_B 379 379 #define PUZZLE_PICTURE BUTTON_A 380 380 381 + #elif CONFIG_KEYPAD == CTRU_PAD 382 + #define PUZZLE_QUIT BUTTON_BACK 383 + #define PUZZLE_LEFT BUTTON_LEFT 384 + #define PUZZLE_RIGHT BUTTON_RIGHT 385 + #define PUZZLE_UP BUTTON_UP 386 + #define PUZZLE_DOWN BUTTON_DOWN 387 + #define PUZZLE_SHUFFLE BUTTON_SELECT 388 + #define PUZZLE_PICTURE BUTTON_MENU 389 + 381 390 #else 382 391 #error No keymap defined! 383 392 #endif
+8
apps/plugins/snake.c
··· 332 332 #define SNAKE_DOWN BUTTON_DOWN 333 333 #define SNAKE_PLAYPAUSE BUTTON_A 334 334 335 + #elif CONFIG_KEYPAD == CTRU_PAD 336 + #define SNAKE_QUIT BUTTON_BACK 337 + #define SNAKE_LEFT BUTTON_LEFT 338 + #define SNAKE_RIGHT BUTTON_RIGHT 339 + #define SNAKE_UP BUTTON_UP 340 + #define SNAKE_DOWN BUTTON_DOWN 341 + #define SNAKE_PLAYPAUSE BUTTON_SELECT 342 + 335 343 #else 336 344 #error No keymap defined! 337 345 #endif
+9
apps/plugins/snake2.c
··· 479 479 #define SNAKE2_PLAYPAUSE BUTTON_A 480 480 #define SNAKE2_PLAYPAUSE_TEXT "A" 481 481 482 + #elif CONFIG_KEYPAD == CTRU_PAD 483 + #define SNAKE2_LEFT BUTTON_LEFT 484 + #define SNAKE2_RIGHT BUTTON_RIGHT 485 + #define SNAKE2_UP BUTTON_UP 486 + #define SNAKE2_DOWN BUTTON_DOWN 487 + #define SNAKE2_QUIT BUTTON_BACK 488 + #define SNAKE2_PLAYPAUSE BUTTON_SELECT 489 + #define SNAKE2_PLAYPAUSE_TEXT "A" 490 + 482 491 #else 483 492 #error No keymap defined! 484 493 #endif
+21
apps/plugins/sokoban.c
··· 728 728 #define BUTTON_SAVE BUTTON_A 729 729 #define BUTTON_SAVE_NAME "A" 730 730 731 + #elif CONFIG_KEYPAD == CTRU_PAD 732 + #define SOKOBAN_LEFT BUTTON_LEFT 733 + #define SOKOBAN_RIGHT BUTTON_RIGHT 734 + #define SOKOBAN_UP BUTTON_UP 735 + #define SOKOBAN_DOWN BUTTON_DOWN 736 + #define SOKOBAN_MENU BUTTON_MENU 737 + #define SOKOBAN_UNDO BUTTON_BACK 738 + #define SOKOBAN_REDO BUTTON_USER 739 + //#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER|BUTTON_REL) 740 + //#define SOKOBAN_LEVEL_REPEAT (BUTTON_CENTER|BUTTON_REPEAT) 741 + //#define SOKOBAN_LEVEL_UP (BUTTON_MENU|BUTTON_REPEAT) 742 + #define SOKOBAN_PAUSE BUTTON_SELECT 743 + #define BUTTON_SAVE BUTTON_SELECT 744 + 745 + #define SOKOBAN_MENU_NAME "X [TOPLEFT]" 746 + #define SOKOBAN_UNDO_NAME "B [BOTTOMRIGHT]" 747 + #define SOKOBAN_REDO_NAME "Y [BOTTOMLEFT]" 748 + #define SOKOBAN_PAUSE_NAME "A [CENTER]" 749 + #define SOKOBAN_LEVEL_REPEAT_NAME "[TOPRIGHT]" 750 + #define BUTTON_SAVE_NAME "A [CENTER]" 751 + 731 752 #else 732 753 #error No keymap defined! 733 754 #endif
+18
apps/plugins/solitaire.c
··· 761 761 # define HK_CUR2STACK "B" 762 762 # define HK_REM2STACK "R" 763 763 764 + #elif (CONFIG_KEYPAD == CTRU_PAD) 765 + # define SOL_QUIT BUTTON_BACK 766 + # define SOL_UP BUTTON_UP 767 + # define SOL_DOWN BUTTON_DOWN 768 + # define SOL_LEFT BUTTON_LEFT 769 + # define SOL_RIGHT BUTTON_RIGHT 770 + # define SOL_MOVE_PRE BUTTON_SELECT 771 + # define SOL_MOVE (BUTTON_SELECT | BUTTON_REL) 772 + # define SOL_DRAW BUTTON_MENU 773 + # define SOL_REM2CUR (BUTTON_USER | BUTTON_REPEAT) 774 + # define SOL_CUR2STACK (BUTTON_SELECT | BUTTON_REPEAT) 775 + # define SOL_REM2STACK BUTTON_POWER 776 + # define HK_MOVE "A" 777 + # define HK_DRAW "X" 778 + # define HK_REM2CUR "Long Y" 779 + # define HK_CUR2STACK "Long A.." 780 + # define HK_REM2STACK "Start" 781 + 764 782 #elif CONFIG_KEYPAD == MA_PAD 765 783 # define SOL_QUIT (BUTTON_LEFT|BUTTON_REPEAT) 766 784 # define SOL_UP BUTTON_UP
+9
apps/plugins/spacerocks.c
··· 393 393 #define AST_RIGHT BUTTON_RIGHT 394 394 #define AST_FIRE BUTTON_A 395 395 396 + #elif CONFIG_KEYPAD == CTRU_PAD 397 + #define AST_PAUSE BUTTON_MENU 398 + #define AST_QUIT BUTTON_BACK 399 + #define AST_THRUST BUTTON_UP 400 + #define AST_HYPERSPACE BUTTON_DOWN 401 + #define AST_LEFT BUTTON_LEFT 402 + #define AST_RIGHT BUTTON_RIGHT 403 + #define AST_FIRE BUTTON_SELECT 404 + 396 405 #else 397 406 #error No keymap defined! 398 407 #endif
+17
apps/plugins/star.c
··· 705 705 #define STAR_LEVEL_DOWN_NAME "L" 706 706 #define STAR_LEVEL_REPEAT_NAME "B" 707 707 708 + #elif CONFIG_KEYPAD == CTRU_PAD 709 + 710 + #define STAR_QUIT BUTTON_BACK 711 + #define STAR_LEFT BUTTON_LEFT 712 + #define STAR_RIGHT BUTTON_RIGHT 713 + #define STAR_UP BUTTON_UP 714 + #define STAR_DOWN BUTTON_DOWN 715 + #define STAR_TOGGLE_CONTROL BUTTON_SELECT 716 + #define STAR_LEVEL_UP BUTTON_MENU 717 + #define STAR_LEVEL_DOWN BUTTON_POWER 718 + #define STAR_LEVEL_REPEAT BUTTON_USER 719 + #define STAR_TOGGLE_CONTROL_NAME "Select" 720 + #define STAR_QUIT_NAME "B" 721 + #define STAR_LEVEL_UP_NAME "X" 722 + #define STAR_LEVEL_DOWN_NAME "Start" 723 + #define STAR_LEVEL_REPEAT_NAME "Y" 724 + 708 725 #else 709 726 #error No keymap defined! 710 727 #endif
+8
apps/plugins/stopwatch.c
··· 314 314 #define STOPWATCH_SCROLL_UP BUTTON_UP 315 315 #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 316 316 317 + #elif CONFIG_KEYPAD == CTRU_PAD 318 + #define STOPWATCH_QUIT BUTTON_BACK 319 + #define STOPWATCH_START_STOP BUTTON_SELECT 320 + #define STOPWATCH_RESET_TIMER BUTTON_MENU 321 + #define STOPWATCH_LAP_TIMER BUTTON_USER 322 + #define STOPWATCH_SCROLL_UP BUTTON_UP 323 + #define STOPWATCH_SCROLL_DOWN BUTTON_DOWN 324 + 317 325 #else 318 326 #error No keymap defined! 319 327 #endif
+10
apps/plugins/sudoku/sudoku.h
··· 483 483 #define SUDOKU_BUTTON_MENU BUTTON_B 484 484 #define SUDOKU_BUTTON_POSSIBLE BUTTON_X 485 485 486 + #elif CONFIG_KEYPAD == CTRU_PAD 487 + #define SUDOKU_BUTTON_QUIT BUTTON_BACK 488 + #define SUDOKU_BUTTON_UP BUTTON_UP 489 + #define SUDOKU_BUTTON_DOWN BUTTON_DOWN 490 + #define SUDOKU_BUTTON_LEFT BUTTON_LEFT 491 + #define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT 492 + #define SUDOKU_BUTTON_MENU BUTTON_MENU 493 + #define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT 494 + #define SUDOKU_BUTTON_POSSIBLE BUTTON_USER 495 + 486 496 #else 487 497 #error No keymap defined! 488 498 #endif
+10
apps/plugins/text_viewer/tv_button.h
··· 599 599 #define TV_LINE_DOWN BUTTON_L 600 600 #define TV_BOOKMARK BUTTON_A 601 601 602 + #elif CONFIG_KEYPAD == CTRU_PAD 603 + #define TV_QUIT BUTTON_BACK 604 + #define TV_SCROLL_UP BUTTON_UP 605 + #define TV_SCROLL_DOWN BUTTON_DOWN 606 + #define TV_SCREEN_LEFT BUTTON_LEFT 607 + #define TV_SCREEN_RIGHT BUTTON_RIGHT 608 + #define TV_MENU BUTTON_MENU 609 + #define TV_AUTOSCROLL BUTTON_USER 610 + #define TV_BOOKMARK BUTTON_SELECT 611 + 602 612 #else 603 613 #error No keymap defined! 604 614 #endif
+11
apps/plugins/vu_meter.c
··· 479 479 #define LABEL_MENU "B" 480 480 #define LABEL_VOLUME "UP/DOWN" 481 481 482 + #elif CONFIG_KEYPAD == CTRU_PAD 483 + #define VUMETER_QUIT BUTTON_BACK 484 + #define VUMETER_HELP BUTTON_USER 485 + #define VUMETER_MENU BUTTON_MENU 486 + #define VUMETER_UP BUTTON_UP 487 + #define VUMETER_DOWN BUTTON_DOWN 488 + #define LABEL_HELP "Y" 489 + #define LABEL_QUIT "B" 490 + #define LABEL_MENU "X" 491 + #define LABEL_VOLUME "Up/Down" 492 + 482 493 #else 483 494 #error No keymap defined! 484 495 #endif
+10
apps/plugins/wormlet.c
··· 429 429 #define BTN_QUIT BUTTON_START 430 430 #define BTN_STOPRESET BUTTON_B 431 431 432 + #elif CONFIG_KEYPAD == CTRU_PAD 433 + 434 + #define BTN_DIR_UP BUTTON_UP 435 + #define BTN_DIR_DOWN BUTTON_DOWN 436 + #define BTN_DIR_LEFT BUTTON_LEFT 437 + #define BTN_DIR_RIGHT BUTTON_RIGHT 438 + #define BTN_STARTPAUSE BUTTON_SELECT 439 + #define BTN_QUIT BUTTON_BACK 440 + #define BTN_STOPRESET BUTTON_MENU 441 + 432 442 #else 433 443 #error No keymap defined! 434 444 #endif
+9
apps/plugins/xobox.c
··· 372 372 #define DOWN BUTTON_DOWN 373 373 #define PAUSE BUTTON_A 374 374 375 + #elif CONFIG_KEYPAD == CTRU_PAD 376 + 377 + #define QUIT BUTTON_BACK 378 + #define LEFT BUTTON_LEFT 379 + #define RIGHT BUTTON_RIGHT 380 + #define UP BUTTON_UP 381 + #define DOWN BUTTON_DOWN 382 + #define PAUSE BUTTON_SELECT 383 + 375 384 #else 376 385 #error "No keymap defined!" 377 386 #endif
+9
apps/plugins/zxbox/keymaps.h
··· 309 309 #define ZX_SELECT BUTTON_A 310 310 #define ZX_MENU BUTTON_START 311 311 312 + #elif CONFIG_KEYPAD == CTRU_PAD 313 + 314 + #define ZX_UP BUTTON_UP 315 + #define ZX_DOWN BUTTON_DOWN 316 + #define ZX_LEFT BUTTON_LEFT 317 + #define ZX_RIGHT BUTTON_RIGHT 318 + #define ZX_SELECT BUTTON_SELECT 319 + #define ZX_MENU BUTTON_MENU 320 + 312 321 #else 313 322 #error Keymap not defined! 314 323
+9
apps/plugins/zxbox/zxbox_keyb.c
··· 300 300 #define KBD_UP BUTTON_UP 301 301 #define KBD_DOWN BUTTON_DOWN 302 302 303 + #elif CONFIG_KEYPAD == CTRU_PAD 304 + 305 + #define KBD_SELECT BUTTON_SELECT 306 + #define KBD_ABORT BUTTON_BACK 307 + #define KBD_LEFT BUTTON_LEFT 308 + #define KBD_RIGHT BUTTON_RIGHT 309 + #define KBD_UP BUTTON_UP 310 + #define KBD_DOWN BUTTON_DOWN 311 + 303 312 #endif 304 313 305 314 #ifdef HAVE_TOUCHSCREEN
+1 -1
tools/configure
··· 4387 4387 output="rockbox" 4388 4388 bootoutput="rockbox" 4389 4389 appextra="recorder:gui" 4390 - plugins="no" 4390 + plugins="yes" 4391 4391 t_cpu="hosted" 4392 4392 t_manufacturer="ctru" 4393 4393 t_model="app"