Rockbox General > Rockbox General Discussion
iPod: disable boot to original firmware with "hold"-button
Tron:
Greetings,
I'm a happy Rockbox user for years now, just one thing bothers me a bit: I really don't need to boot into the original firmware any more (I know I can do that while holding "Menu" on boot), but quite often I happen to insert the device into my car adapter while locked (i.e., with the Hold-button on). Of course it always boots into the original firmware, which I don't want.
Is there a way to disable the "boot into original when Hold-button is on"?
Thanks in advance!
saratoga:
I think you'd have to edit the bootloader, compile it and then install it to your player.
Tron:
Yeah, probably. I think I'll check out the source then and see if I find something fitting there.
saratoga:
The ipod ports were before my time, but probably in /bootloader/ there should be an ipod.c or something similar that checks if the hold switch is activated.
whiskers75:
Specifically, line 367 onwards:
--- Quote --- if (button_was_held || (btn==BUTTON_MENU)) {
/* If either the hold switch was on, or the Menu button was held, then
try the Apple firmware */
printf("Loading original firmware...");
/* First try an apple_os.ipod file on the FAT32 partition
(either in .rockbox or the root)
*/
rc=load_firmware(loadbuffer, "apple_os.ipod", MAX_LOADSIZE);
if (rc == EOK) {
printf("apple_os.ipod loaded.");
return (void*)DRAM_START;
} else if (rc == EFILE_NOT_FOUND) {
/* If apple_os.ipod doesn't exist, then check if there is an Apple
firmware image in RAM */
haveramos = (memcmp((void*)(DRAM_START+0x20),"portalplayer",12)==0);
if (haveramos) {
/* We have a copy of the retailos in RAM, lets just run it. */
printf("RetailOS in RAM, running");
return (void*)DRAM_START;
}
} else if (rc < EFILE_NOT_FOUND) {
printf("Error!");
printf("Can't load apple_os.ipod:");
printf(strerror(rc));
}
/* Everything failed - just loop forever */
printf("No RetailOS detected");
} else if (btn==BUTTON_PLAY) {
--- End quote ---
Navigation
[0] Message Index
[#] Next page
Go to full version