Rockbox Development > Starting Development and Compiling

gigabeat screen rotation patch

<< < (2/9) > >>

lights0ut:
OK here's what I've accomplished. The method I described has not successfully made a landscape/portrait booting gigabeat. After fiddling with filenames/locations and rotated and non-rotated builds I've come to this:

 - I have built a bootloader that loads rockbox_1.gigabeat from root and looks in .rockbox_1 for the rest
   of the firmware. This happens without needing to hold up.
 - Unpacking a vanilla build to .rockbox and placing rockbox.gigabeat in root does not cause the BL
    to load these by default, it just ignores them.
 - Removing the rotated build and loading just the vanilla as .rockobox and rockbox.gigabeat throws a
   file not  found error, however renaming rockobx.gigabeat (vanilla) to rockbox_1 loads a vanilla build

I think this is telling me that the bootloader only loads the *.gigabeat file, and not the .rockbox folder. So, I think I am missing the code that enables the BL to choose between.

Mad Cow:
Have you looked through the bl code? There might be something there that gives it away. I'll see what I can find out later today.

By the way. Will you eventually make a multifont/custimline build for the gigabeat? I've been wanting to do that for a while but I can't seem to get the patches.

lights0ut:
The patches needed for multifont/customline/customlistpos/customdisplaywidth are maintained by pijulius
(he makes the jbuild) and can be found on his website:
http://pijulius.com/julius/rockbox/patches/

The patches are pretty much out of date right now so going about applying them is kind of a waste especially since there are about 2 WPS's right now that use them.

Also, maxwen makes a build for the X5 similar to the jbuild but it uses scrolling margins (a bonus). The build can be found here:
http://rockbox.webhop.org/
however, these patches are also quite outdated, I think they are updated around the same time as julius' patches.maxwen's patches need to be applied in the right order, read the series file.

With regard to the bootloader, I think the file that needs work is /firmware/export/config-gigabeat.h
lines:130 to end.

--- Code: ---/* Define this if you have adjustable CPU frequency */
/* #define HAVE_ADJUSTABLE_CPU_FREQ */

#define BOOTFILE_EXT "gigabeat"
#define BOOTFILE "rockbox_1." BOOTFILE_EXT
#define BOOTDIR "/.rockbox"

#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
                       SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_24 | \
                       SAMPR_CAP_22 | SAMPR_CAP_16 | SAMPR_CAP_12 | \
                       SAMPR_CAP_11 | SAMPR_CAP_8)

#endif

--- End code ---

lights0ut:
After looking at the iPod's bootloader code I'm beginning to think that bootloader/gigabeat.c is the file that needs to be edited. Looking at how the the iPod chooses the firmware (apple os, rockbox, diagnostic) I think that something like this needs to be added to the gigabeat.c

--- Code: ---if(button_was_held||(btn==BUTTON_UP)){

printf("loading landscape mode ...");

rc=load_firmware(loadbuffer, "rockbox_1.gigabeat", MAX_LOADSIZE)
}

else {
printf("loading portrait mode ...");
rc=load_firmware(loadbuffer, "rockbox.gigabeat", MAX_LOADSIZE)}
--- End code ---

I get the feeling that takka once made a custom bootloader for the patch, but I can't seem to find it on his website as it's in japanese,
the link from the FS tracker to his website is broken.

lights0ut:
I think that I'm getting in a bit deep here, I figured that the process for the bootloader must be similar to the iPod's mechanism for loading the original firmware. So I took a look at the ipod's bootloader code and attempted to mimic it in the gigabeat's bootloader. I haven't managed to break the bootloader, but I don't get the intended result of up for landscape, no button for portrait. If you want to take a look at the code
http://paste.uni.cc/14821

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version