diff options
Diffstat (limited to 'apps/plugins/rockbox_flash.c')
-rw-r--r-- | apps/plugins/rockbox_flash.c | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/apps/plugins/rockbox_flash.c b/apps/plugins/rockbox_flash.c index 09ee96997c..4837b03fb5 100644 --- a/apps/plugins/rockbox_flash.c +++ b/apps/plugins/rockbox_flash.c | |||
@@ -609,6 +609,9 @@ static void DoUserDialog(char* filename) | |||
609 | } | 609 | } |
610 | 610 | ||
611 | bl_version = BootloaderVersion(); | 611 | bl_version = BootloaderVersion(); |
612 | /* Upgrade currently not recommended for FM and V2 | ||
613 | recorder due to bugs in V3 BootBox. (FS#12426) */ | ||
614 | #if !defined(ARCHOS_FMRECORDER) && !defined(ARCHOS_RECORDERV2) | ||
612 | if (bl_version < LATEST_BOOTLOADER_VERSION) | 615 | if (bl_version < LATEST_BOOTLOADER_VERSION) |
613 | { | 616 | { |
614 | rb->lcd_putsf(0, 0, "Bootloader V%d", bl_version); | 617 | rb->lcd_putsf(0, 0, "Bootloader V%d", bl_version); |
@@ -616,9 +619,8 @@ static void DoUserDialog(char* filename) | |||
616 | rb->lcd_puts(0, 2, "using the latest "); | 619 | rb->lcd_puts(0, 2, "using the latest "); |
617 | rb->lcd_puts(0, 3, "bootloader. "); | 620 | rb->lcd_puts(0, 3, "bootloader. "); |
618 | rb->lcd_puts(0, 4, "A full reflash is "); | 621 | rb->lcd_puts(0, 4, "A full reflash is "); |
619 | rb->lcd_puts(0, 5, "recommended, but "); | 622 | rb->lcd_puts(0, 5, "recommended. "); |
620 | rb->lcd_puts(0, 6, "not required. "); | 623 | rb->lcd_puts(0, 6, "Press " KEYNAME1 " to ignore"); |
621 | rb->lcd_puts(0, 7, "Press " KEYNAME1 " to ignore"); | ||
622 | rb->lcd_update(); | 624 | rb->lcd_update(); |
623 | 625 | ||
624 | if (WaitForButton() != KEY1) | 626 | if (WaitForButton() != KEY1) |
@@ -627,6 +629,7 @@ static void DoUserDialog(char* filename) | |||
627 | } | 629 | } |
628 | rb->lcd_clear_display(); | 630 | rb->lcd_clear_display(); |
629 | } | 631 | } |
632 | #endif | ||
630 | 633 | ||
631 | rb->lcd_puts(0, show_greet ? 0 : 3, "Checking..."); | 634 | rb->lcd_puts(0, show_greet ? 0 : 3, "Checking..."); |
632 | rb->lcd_update(); | 635 | rb->lcd_update(); |
@@ -665,6 +668,10 @@ static void DoUserDialog(char* filename) | |||
665 | case eTooBig: | 668 | case eTooBig: |
666 | rb->lcd_puts(0, 1, "File too big,"); | 669 | rb->lcd_puts(0, 1, "File too big,"); |
667 | rb->lcd_puts(0, 2, "won't fit in chip."); | 670 | rb->lcd_puts(0, 2, "won't fit in chip."); |
671 | if (bl_version < LATEST_BOOTLOADER_VERSION) | ||
672 | { | ||
673 | rb->lcd_puts(0, 3, "Upgrade bootloader"); | ||
674 | } | ||
668 | break; | 675 | break; |
669 | case eTooSmall: | 676 | case eTooSmall: |
670 | rb->lcd_puts(0, 1, "File too small."); | 677 | rb->lcd_puts(0, 1, "File too small."); |
@@ -679,8 +686,10 @@ static void DoUserDialog(char* filename) | |||
679 | rb->lcd_puts(0, 3, " too small?"); | 686 | rb->lcd_puts(0, 3, " too small?"); |
680 | break; | 687 | break; |
681 | case eBadRomLink: | 688 | case eBadRomLink: |
682 | rb->lcd_puts(0, 1, "RomBox mismatch."); | 689 | rb->lcd_puts(0, 1, "Bootloader not"); |
683 | rb->lcd_puts(0, 2, "Wrong ROM position"); | 690 | rb->lcd_puts(0, 2, "compatible with"); |
691 | rb->lcd_puts(0, 3, "RomBox. Start"); | ||
692 | rb->lcd_puts(0, 4, "address mismatch."); | ||
684 | break; | 693 | break; |
685 | default: | 694 | default: |
686 | rb->lcd_puts(0, 1, "Check failed."); | 695 | rb->lcd_puts(0, 1, "Check failed."); |
@@ -840,7 +849,14 @@ static void DoUserDialog(char* filename) | |||
840 | rb->lcd_puts_scroll(0, 1, "File not found."); | 849 | rb->lcd_puts_scroll(0, 1, "File not found."); |
841 | break; | 850 | break; |
842 | case eTooBig: | 851 | case eTooBig: |
843 | rb->lcd_puts_scroll(0, 1, "File too big."); | 852 | if (bl_version < LATEST_BOOTLOADER_VERSION) |
853 | { | ||
854 | rb->lcd_puts_scroll(0, 1, "File too big, upgrade bootloader."); | ||
855 | } | ||
856 | else | ||
857 | { | ||
858 | rb->lcd_puts_scroll(0, 1, "File too big."); | ||
859 | } | ||
844 | break; | 860 | break; |
845 | case eTooSmall: | 861 | case eTooSmall: |
846 | rb->lcd_puts_scroll(0, 1, "File too small. Incomplete?"); | 862 | rb->lcd_puts_scroll(0, 1, "File too small. Incomplete?"); |
@@ -852,7 +868,7 @@ static void DoUserDialog(char* filename) | |||
852 | rb->lcd_puts_scroll(0, 1, "File invalid. Blocksize too small?"); | 868 | rb->lcd_puts_scroll(0, 1, "File invalid. Blocksize too small?"); |
853 | break; | 869 | break; |
854 | case eBadRomLink: | 870 | case eBadRomLink: |
855 | rb->lcd_puts_scroll(0, 1, "RomBox mismatch."); | 871 | rb->lcd_puts_scroll(0, 1, "Bootloader not compatible with RomBox."); |
856 | break; | 872 | break; |
857 | default: | 873 | default: |
858 | rb->lcd_puts_scroll(0, 1, "Check failed."); | 874 | rb->lcd_puts_scroll(0, 1, "Check failed."); |