Subversion Repositories freemyipod

Rev

Rev 808 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 808 Rev 834
Line 24... Line 24...
24
#include "emcoreapp.h"
24
#include "emcoreapp.h"
25
#include "boot.h"
25
#include "boot.h"
26
#include "main.h"
26
#include "main.h"
27
 
27
 
28
 
28
 
29
void run_powerdown(void** firmware, void** app, int* size)
29
void run_powerdown()
30
{
30
{
31
    shutdown(true);
31
    shutdown(true);
32
    power_off();
32
    power_off();
33
}
33
}
34
 
34
 
35
void fastboot_rockbox(void** firmware, void** app, int* size)
35
void fastboot_rockbox()
36
{
36
{
37
    boot->load_from_file(firmware, size, true, "/.rockbox/rockbox.ipod", 0);
37
    boot->load_from_file(&bootinfo.firmware, &bootinfo.size, true, "/.rockbox/rockbox.ipod", 0);
-
 
38
    if (bootinfo.firmware) bootinfo.valid = true;
38
}
39
}
39
 
40
 
40
void run_rockbox_fallback(void** firmware, void** app, int* size)
41
void run_rockbox_fallback()
41
{
42
{
42
    boot->load_from_flash(firmware, size, true, "rockbox ", 0x100000);
43
    boot->load_from_flash(&bootinfo.firmware, &bootinfo.size, true, "rockbox ", 0x100000);
43
    if (!*firmware)
44
    if (bootinfo.firmware) bootinfo.valid = true;
-
 
45
    else
44
    {
46
    {
45
        memcpy(framebuf, bg, 320 * 240 * 3);
47
        memcpy(framebuf, bg, 320 * 240 * 3);
46
        message(91, "Loading Rockbox failed!", "Returning to main menu.");
48
        message(91, "Loading Rockbox failed!", "Returning to main menu.");
47
    }
49
    }
48
}
50
}
49
 
51
 
50
void run_rockbox(void** firmware, void** app, int* size)
52
void run_rockbox()
51
{
53
{
52
    int i;
54
    int i;
53
    for (i = 1; i <= 96; i += 19)
55
    for (i = 1; i <= 96; i += 19)
54
    {
56
    {
55
        if (i < 96)
57
        if (i < 96)
Line 58... Line 60...
58
        else memcpy(framebuf, bg, 320 * 240 * 3);
60
        else memcpy(framebuf, bg, 320 * 240 * 3);
59
        ui->blit(280, MIN(86, i), 3, framebuf, 20, MAX(0, i - 86), 320,
61
        ui->blit(280, MIN(86, i), 3, framebuf, 20, MAX(0, i - 86), 320,
60
                    rbxlogo, 0, MAX(0, 86 - i), 280);
62
                    rbxlogo, 0, MAX(0, 86 - i), 280);
61
        displaylcd(0, 0, 320, 240, framebuf, 0, 0, 320);
63
        displaylcd(0, 0, 320, 240, framebuf, 0, 0, 320);
62
    }
64
    }
63
    fastboot_rockbox(firmware, app, size);
65
    fastboot_rockbox();
64
    if (!*firmware)
66
    if (!bootinfo.valid)
65
    {
67
    {
66
        message(76, "Loading rockbox.ipod failed!", "  Trying fallback image...  ");
68
        message(76, "Loading rockbox.ipod failed!", "  Trying fallback image...  ");
67
        run_rockbox_fallback(firmware, app, size);
69
        run_rockbox_fallback();
68
    }
70
    }
69
}
71
}
70
 
72
 
71
void fastboot_umsboot(void** firmware, void** app, int* size)
73
void fastboot_umsboot()
72
{
74
{
73
    boot->load_from_flash(firmware, size, false, "umsboot ", 0x10000);
75
    boot->load_from_flash(&bootinfo.firmware, &bootinfo.size, false, "umsboot ", 0x10000);
-
 
76
    if (bootinfo.firmware) bootinfo.valid = true;
74
}
77
}
75
 
78
 
76
void run_umsboot(void** firmware, void** app, int* size)
79
void run_umsboot()
77
{
80
{
78
    fastboot_umsboot(firmware, app, size);
81
    fastboot_umsboot();
79
    if (!*firmware)
82
    if (!bootinfo.valid)
80
    {
83
    {
81
        memcpy(framebuf, bg, 320 * 240 * 3);
84
        memcpy(framebuf, bg, 320 * 240 * 3);
82
        message(91, "Loading UMSboot failed!", "Returning to main menu.");
85
        message(91, "Loading UMSboot failed!", "Returning to main menu.");
83
    }
86
    }
84
}
87
}