forked from len0rd/rockbox
Added restart option to system exception screen (press ON)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3768 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
0dcc4a6fb9
commit
9bcbe3fd72
1 changed files with 11 additions and 1 deletions
|
@ -23,6 +23,7 @@
|
||||||
#include "font.h"
|
#include "font.h"
|
||||||
#include "led.h"
|
#include "led.h"
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
#include "rolo.h"
|
||||||
|
|
||||||
#define default_interrupt(name,number) \
|
#define default_interrupt(name,number) \
|
||||||
extern __attribute__((weak,alias("UIE" #number))) void name (void); void UIE##number (void)
|
extern __attribute__((weak,alias("UIE" #number))) void name (void); void UIE##number (void)
|
||||||
|
@ -323,7 +324,7 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */
|
||||||
char str[32];
|
char str[32];
|
||||||
|
|
||||||
asm volatile ("sts\tpr,%0" : "=r"(n));
|
asm volatile ("sts\tpr,%0" : "=r"(n));
|
||||||
|
|
||||||
/* clear screen */
|
/* clear screen */
|
||||||
lcd_clear_display ();
|
lcd_clear_display ();
|
||||||
#ifdef HAVE_LCD_BITMAP
|
#ifdef HAVE_LCD_BITMAP
|
||||||
|
@ -347,6 +348,15 @@ void UIE (unsigned int pc) /* Unexpected Interrupt or Exception */
|
||||||
state = state?false:true;
|
state = state?false:true;
|
||||||
|
|
||||||
for (i = 0; i < 240000; ++i);
|
for (i = 0; i < 240000; ++i);
|
||||||
|
|
||||||
|
/* try to restart firmware if ON is pressed */
|
||||||
|
#ifdef HAVE_LCD_CHARCELLS
|
||||||
|
if (!(PADR & 0x20))
|
||||||
|
rolo_load("/archos.mod");
|
||||||
|
#else
|
||||||
|
if (!(PBDR & PBDR_BTN_ON))
|
||||||
|
rolo_load("/ajbrec.ajz");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue