Subversion Repositories freemyipod

Rev

Rev 243 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 243 Rev 421
Line 30... Line 30...
30
 
30
 
31
void panic(enum panic_severity severity, const char* string)
31
void panic(enum panic_severity severity, const char* string)
32
{
32
{
33
    enter_critical_section();
33
    enter_critical_section();
34
    while (!displaylcd_safe());
34
    while (!displaylcd_safe());
35
    lcdconsole_puts_noblit("\n*PANIC*\n", 0, -1);
35
    lcdconsole_puts_noblit("\n*PANIC*\n", LCDCONSOLE_FGCOLOR, LCDCONSOLE_BGCOLOR);
36
    lcdconsole_puts_noblit(string, 0, -1);
36
    lcdconsole_puts_noblit(string, LCDCONSOLE_FGCOLOR, LCDCONSOLE_BGCOLOR);
37
    lcdconsole_puts_noblit("\n", 0, -1);
37
    lcdconsole_puts_noblit("\n", LCDCONSOLE_FGCOLOR, LCDCONSOLE_BGCOLOR);
38
    lcdconsole_update();
38
    lcdconsole_update();
39
    hang();
39
    hang();
40
}
40
}
41
 
41
 
42
static int pprfunc(void* ptr, unsigned char letter)
42
static int pprfunc(void* ptr, unsigned char letter)
43
{
43
{
44
    lcdconsole_putc_noblit(letter, 0, -1);
44
    lcdconsole_putc_noblit(letter, LCDCONSOLE_FGCOLOR, LCDCONSOLE_BGCOLOR);
45
    return true;
45
    return true;
46
}
46
}
47
 
47
 
48
void panicf(enum panic_severity severity, const char* string, ...)
48
void panicf(enum panic_severity severity, const char* string, ...)
49
{
49
{
50
    va_list ap;
50
    va_list ap;
51
    enter_critical_section();
51
    enter_critical_section();
52
    while (!displaylcd_safe());
52
    while (!displaylcd_safe());
53
    lcdconsole_puts_noblit("\n*PANIC*\n", 0, -1);
53
    lcdconsole_puts_noblit("\n*PANIC*\n", LCDCONSOLE_FGCOLOR, LCDCONSOLE_BGCOLOR);
54
    va_start(ap, string);
54
    va_start(ap, string);
55
    format(pprfunc, NULL, string, ap);
55
    format(pprfunc, NULL, string, ap);
56
    va_end(ap);
56
    va_end(ap);
57
    lcdconsole_puts_noblit("\n", 0, -1);
57
    lcdconsole_puts_noblit("\n", LCDCONSOLE_FGCOLOR, LCDCONSOLE_BGCOLOR);
58
    lcdconsole_update();
58
    lcdconsole_update();
59
    hang();
59
    hang();
60
}
60
}
61
 
61
 
62
void __div0()
62
void __div0()