• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category LCD
  • Assigned To No-one
  • Operating System Gigabeat F/X
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by takka - 2007-02-23
Last edited by Llorean - 2007-10-19

FS#6688 - Gigabeat F/X Display 90 rotate patch

Gigabeat F/X Display 90 rotate patch

It rotates with the display by the key input 90 degrees.
It comes to be able to use WPS of 320×240.

Closed by  Llorean
2007-10-19 07:20
Reason for closing:  Rejected
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Choosing an alternate build as the method for screen rotation is not a desired feature in SVN Rockbox.

It seems this task is not interested in working toward runtime Rotation, or even boot-time Rotation with a single build.

Nice one :)
Could the screen be rotated on the fly ? It would be nice to have portrait orientation in the menus and landscape in some plugins…

takka commented on 2007-02-24 03:23

It doesn’t correspond to the rotation after it starts.
I think that a big patch is needed because it should have two images.

Thank you, Thank you for this. This is great. I don’t know how much more work this would be, but can the cross mappings correspond to the screen rotation? For instance if the screen is rotated, pressing the landscape/right button would skip forward. Versus pressing the landscape/up button performing that function. Either way Again, thanks!

Please delete my previous comment. In the UISim, the cross mapping isn’t changed. In looking at the patch file it seems you HAVE implemented the cross mapping nicely.
Also just realized I patched an older build. 20070215. I’ll try using a more up-to-date source. You should probably delete both of these posts. Sorry.

It works nicely (some plug-ins suffer though). Rotate on-the-fly option would make this an already great plug-in essential.

I’m sure this is more of a proof-of-concept at this stage. So it’ll hopefully become an option in the display menu soon.

takka commented on 2007-02-28 07:39

I make test build.

rockbox files & original boot loader font files

copy all file to gigabeat.
copy /.rockbox/fonts/*.* to /.rockbox_1/fonts/

push “UP button” when booting, starts in landscape screen mode.

Thank you,Thank you,Thank you Im testing it out now. The screen rotation was the one thing I was really missing from the toshiba firmware.

takka commented on 2007-03-01 02:38

The folder of “/.rockbox_1” is used in the landscape mode.

Please rewrite the cfg file when you use WPS for iPod5G.

wps: /.rockbox/wps/Blue5g.wps
font: /.rockbox/fonts/nimbus-14.fnt
foreground color: FFFFFF
background color: 000066
backdrop: /.rockbox/backdrops/Blue5g.bmp


wps: /.rockbox_1/wps/Blue5g.wps
font: /.rockbox_1/fonts/nimbus-14.fnt
foreground color: FFFFFF
background color: 000066
backdrop: /.rockbox_1/backdrops/Blue5g.bmp

how does one go about compiling your own builds with this mechanism of rockbox and rockbox_1?

takka commented on 2007-03-01 06:06

rockbox_1.gigabeat is rewriting all “/.rockbox_/” in “/.rockbox_1”, and Build landscape mode.

still not very clear. should one compile a build with the patch and then rename everything to “rockbox_1” within it, then, compile a build without it and leave it as “rockbox” ?

takka commented on 2007-03-01 06:27

build 2 times.

1)normal build.
2)copy rockbox.gigabeat and /.rockbox to other folder.
3)make clean.
3)patch and rewite “/.rockbox” to “/.rockbox” in all source.
5)rename rockbox.gigabeat to rockbox_1.gigabeat
6)rename /.rockbox to /.rockbox_1

ok, clearer now. just one last thing:

3)patch and rewite “/.rockbox” to “/.rockbox” in all source.

a little more details here please.

takka commented on 2007-03-01 06:57


diff –strip-trailing-cr -ru rockbox_old/apps/settings.h rockbox/apps/settings.h
— rockbox_old/apps/settings.h 2007-02-20 11:13:25.301776900 +0900
+++ rockbox/apps/settings.h 2007-02-22 16:47:50.711757800 +0900
@@ -47,8 +47,8 @@
#define ROCKBOX_DIR “.” #define ROCKBOX_DIR_LEN 1
-#define ROCKBOX_DIR “/.rockbox” -#define ROCKBOX_DIR_LEN 9
+#define ROCKBOX_DIR “/.rockbox_1” +#define ROCKBOX_DIR_LEN 11

Anyone else having mpegplayer play videos but all messy looking? Im using the “Elephants Dream” mpeg in both 320×240 and 320×176.

I’ve also noticed this while playing Doom. This may be a broad assumption, but could this patch negatively effect the plugins that are already rotated? (Such as the Doom and mpegplayer plugins)

i tried to build myself with the latest updates–just renamed the folders and use the author’s bootloader. when i was browsing for a theme in the landscape mode i was in .rockbox and not in .rockbox_1 for some reason.

Takka, please forgive my ignorance.
I’ve been using your patch to just load Rockbox with the screen rotated. (I sincerely thank you for this patch.)

If I want to have the option to load in either screen orientation, do I:
1. Make a normal build and extract it to my Gigabeat.
2. Then patch and simply rename the .rockbox file and /.rockbox folder to gigabeat.rockbox_1 and /.rockbox_1 respectively in the zip and then extract that to my Gigabeat? Once I do this, I reboot and hold the up arrow to load the with the screen rotated?

Or do I actually have to update the patch file to reflect the _1 file and folder? Does this patch work with the official bootloader or is there an unofficial bootloader that we need to get?

Thanks for the help.

Thanks for the help.

Can a test build be created? Because I’m not really a “developer”. I would like to use this patch, but I can’t compile

gbrulz: Unfortunately applying this patch has a negative effect on plugins that are already rotated. Namely the two biggest plugins: MpegPlayer and Doom. Other than that, I love this patch. You could download Takka’s updated patch and bootloader, but it was created before the updated official bootloader and the video rebuffering update a few weeks ago. I’m not a developer either, but I can post a build with this, scrolling margins, and album art patches applied. Those are the only ones I ever use. Understand, again, I’m not a developer. So if any of those patches get out of sync I can’t do much to help things along.

If at all possible could a new Bootloader be compiled for these patches? There have been improvements to the gigabeat that makes the old bootloader incompatible with these builds. Could a patch be provided for the bootloader so that it can be maintained/synced in the FS tracker, or if there is one could someone point me to it, I’m very interested in these patches.

I’ve synced this patch and added the appropriate changes to settings.h mentioned by takka. Still needs takka’s original bootloader, so current upgrades to the gigabeats on April 21 (and maybe May 1 as well) need to be reversed for the build to work with the old bootloader.

I’ve created a bootloader that will load the rotated build with the pres of any button. I couldn’t get it to recognize separate buttons, but it’s a start.

This patch (my updated rotation, not MadCow’s Bootloader) is currently out of sync, due to LCD optimizations. Specifically, this has to do with the changes to
I’m pretty sure it has to do with the fact that we don’t use DMA anymore so some of the variables need changing. I noticed the original patch has replaced the variables of LCD_WIDTH to R_LCD_WIDTH in the appropriate functions (it is easy to notice which ones if you try to apply and look at the .rej and compare it to the actual code).

Just trying to share what I’ve found so far, and hoping someone can lend a hand

As far as I can tell, I’ve successfully synced this patch, it now applies cleanly, and with MadCow’s bootloader loads correctly

Needs another sync.

I was wondering does this patch automatically make the player go 320×240 or is there an option so you can switch rotations at will?

IIRC the patch works if you manually apply the code in the reject files (.rej) (if you know how to do that). I’ll look into giving it a sync sometime soon (within the week).

To answer your question about the operation of the screen rotation: Applying this patch and compiling a build makes a build that is orientated 320×240, which you can just load with the regular bootloader as usual.
For things to work like they do in my build for the gigabeat you need to do this:
1. patch the bootloader (see MadCow’s post above) and compile a bootloader
2. patch and compile w/o the screen rotation patch
3. patch screen rotation, compile separate build
4. rename the following in the screen rotation build

  1. .rockbox folder to –> .rockbox_1
  2. rockbox.gigabeat (inside .rockbox_1) to –> rocbox_1.gigabeat

You would now have a gigabeat that can switch screen rotation. You choose rotation on boot, keypress or no keypress (keypress for 320×240). If you are using the gigabeat fast restart patch aka resume, you will need to ‘reboot’ in order to change rotations.

under step 4 there is a typo, “- rockbox.gigabeat (inside .rockbox_1) to –> rocbox_1.gigabeat” should read
- rockbox.gigabeat (inside .rockbox_1) to –> rockbox_1.gigabeat

This needs a sync… I tried, but can’t find where the stuff from lcd-meg-fx.c goes with the latest svn.


Available keyboard shortcuts


Task Details

Task Editing