Hacked/Modded R0 Firmware (latest version 2.20)
EDIT: First modded firmware 2.00 released!! http://www.anythingbutipod.com/forum...1&postcount=33
EDIT2: 2nd modded firmware 2.10 released: http://www.anythingbutipod.com/forum...5&postcount=60
EDIT3: 3rd modded firmware 2.20 released: http://www.anythingbutipod.com/forum...&postcount=111
Mgue and Slade are busy with school at the moment, that's why there has been a break in the Rockbox port for some weeks/months now but soon they will work again on the port, don't worry :)
Meanwhile, Lorenz092 and I started some basic hacking on the stock firmware.
And we are please to announce we successfully hacked it! :cool:
Indeed, we managed to improve the translation of the interface in French and Italian language as you can see on the pictures below.
Soon we will release the language files so that you can improve them and we can integrate them in a new ROM file.
Next step is changing graphics such as the default themes colors (tropical, monsoom, polaris), icons, boot picture etc etc
That will be awesome!
I managed to change graphics too!!! ;)
So a complete restyling is possible; modding qmg files is possible too using Samsung Theme Studio and doing some tricks with the final package of the exported theme (for a cell phone haha)
Now I will try something deeper with the firmware
As always Stay Tuned!
Is it possible to improve the translation of the Russian? :)
As I said in the 1st post, we will release the language files soon :)
Yes, its possible to improve translation, as a localization is a big text file with a lot of lines in it, so there is no problem to edit it, except the text boundaries problem. To repack sysdata you' ve been using our repacker(me and Sekrasoft)? And finally, its really great to hear that you managed to deal with qmg files, good job! If you need smth count me in, as now its summer holidays there, a lot of free time :) .
I used the program I compilated for linux (now I'm running Kubuntu 11.04)
I used no graphical interface...only the terminal one! But it works flawlessy ;)
For the text "except the text boundaries" you can write how much you want...of course if you write too much, you'll have cutted text on screen hehe (but there's no char limit)
QMG files cannot be viewed but you can create them...Moreover a lot of icons are still bmp files (transparency is given by the color #0e0b00)
I was trying to understand qmg format but it's a waste of time I think.
So great team job ;)
I will do an automatic script that builds sysdata, default.aui (I have to test again my packer written in python) and finally the rom file. I'm managing to edit cramfs too to try simlinking sysdata to nand or sd (sd is a lot better hehe) to install mods easier...
So I'm not working on Rockbox but that's better than nothing ;)
My ideas are to write some script to:
-symlink startup/shutdown sounds to nand or sd (so more customization or turning them off ;))
- try reading battery capacity, amperage etc.. (/dev/r0batt)
- radio? (/dev/six74...or similar)
another goal is to clean up the garbage contained in sysdata...there is a lot of sh*t :)
Another question is what can you get by using acces to some devices in dev/folder? as i understand that you can only dump information to text files, and its impossible to show something on screen, as it's taken by r0 main app.
And finally if you will be able to write script in python it will give ability to manipulate with firmware on all platforms, more platforms-more modders- more nice mods.
Good luck. Hope everything will go smooth.
P.S Apocalyptica- rocks :D
Accessing to /dev should be read-write. I know for example that the radio chip works using registers: some of them are read only but others are writable at certain adresses (you can find them in the datasheet)
The display is usable but you have to kill R0 or access it directly as far I know.
For example the initial logo is displayed in this way:
echo 0 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb2/blank
if [ -e $IMAGE_FILE ]
cat $IMAGE_FILE > /dev/fb0
as you can see, the image is a raw file (that I successfully read by irfanview with some settings I don't remeber) that's passed to the display!
But but slade spoke about the libipu: IPU is a freescale graphics processing unit: it can be controlled but it's a bit difficult as far I know...
I managed to take out Sysdata from rom to user NAND (16 gb I mean)
So with the modded firmware inside, using the default content of sysdata on the nand, the firmware has boot up with the original resources!!!
This means: faster, easier and safer mod!!
Well for the safety I have to see because I guess if you delete the wrong file the R0 won't start...
EDIT: of course I've not thought about the usb script...It is for him impossible to unmount/mount nand because for Sysdata symbolic link. I don't know now if it is better to use a microsd or trying to modify the usb script to unload customized sysdata before unmounting nand...
But I'm really happy hehe
EDIT: I really don't know even if the usb script is use; i guess the mount unmount for the usb management is done in the R0 app, no chance!
So the microsd, if mounted as media0 at the bootup, should not be a problem (but it is mounted with usb too :()
For now my solution is:
- enabling sysdata switch script on nand (removing .old extension)
- watching your mods :); the script is renamed to .old (mgue and slade did this powerful script ;))
- resetting player -> original sysdata is "restored" (symlink removed)
- usb available again to test other sysdata mods
this shold protect against bad sysdata too -> player not booting -> reset it -> original sysdata loaded
what happened so far:
- QMG editing is possible -> using Samsung Theme Studio, exporting a theme and unpacking it (it is a zip file). Pick the qmg you made and rename it!
- Sysdata symlinked to 16 gb mass storage -> not a permanent mod, to be tested and to see if microsd is better for the job
- Languages can be edited
- Graphics can be edited
- Sysdata could be cleaned up (lots of garbage)
- r0Btn (keyboard device) is readable but i don't know how to compile .c or .cc files for arm (I tried with code blocks but I don't know...)
My idea is to implement a key check: if the user presses a defined key sequence, the player formats the internal storage to restore settings and database. If this will not help, another sequence could format the entire 16 gb memory. Let's say f**k to samsung repair centers ;)
Font changing is possible too....
Note: as you can see, all the graphics is the original one because in the 16gb memory I put the original sysdata files except the fonts ;)
By lorenzo_r0 at 2011-07-17
Now I will investigate about keyboard device (r0Btn) that looks promising for my idea :)
If only we could add the fonts for other languages...
Now we can change them, but......................
The main problem affecting the sysdata "port" to nand, is that symlinking its path makes for the usb controller impossible to mount/unmount "/mnt/media0" (mass storage or as I call it nand). This means no usb again -> a sort of device brick :(
For now the nand sysdata is "mounted" only once: next time you reboot usb is available again, to be able to restore the renamed script and do this trick again.
I noticed that the usb script contained in rom isn't used so no easy chance to manage that: a possibility could be a file created in nand.
For example: if "sd_mod.txt" is present in the root of the user memory, the modded sysdata is used and no usb is available. It serves for as a log file too.
If deleted by user using the builtin file manager of the R0, everything is restored to defaults. But there could be the brick, when the file is accidentally read only or whatever.
Another idea I had, is to count the boot times: when the counter reaches some number (ie 10) the original situation is restored and a file is created in nand: deleting it, the nand sysdata is used.
So as promised, here are all language files for R0.
If you want to improve the translation of the interface in your language (except French or Italian that are already made), feel free to edit the right .txt file and to send it to me or to Lorenz092. Then we will release a new ROM file based on firmware 1.25 with the translation improved in several languages.
-Don't change the encoding format. Please let the default UNICODE (utf-16, LE (little endian) otherwise the language file will make the R0 crash.
-You'll see many useless strings that have nothing to do with the R0. Actually the language file is common to several Samsung DAPs including R1, M1 etc... Don't delete these strings, let them in peace. To know what strings deal with the R0 and that you can change, check the translation on the R0 and then search the string in the txt file (ctrl + F in Windows notepad)
-It seems there is no character limitation but bear in mind the R0 can only display a certain number of characters on the display without horizontal scrolling. Scrolling is not very practical so please avoid too long translations
-Only send back the edited file in your language (not the whole pack with all languages) in a Zip or Rar archive (we noticed some FTP change the encoding format of txt files....)
-Please tell us here what is the language you are working on so that not several people work on the same language file separately
I already got a new Russian translation by Night_demon
If you disagree with some strings or want to change others, please tell me and you'll get in touch with Night_demon. Indeed, I only want ONE Russian file so it's useless to send me different files. The community has to work together on the same basis ;)
Haha joke xD
Nice to see that every language should be improved...
Here is my translation.
I suggest to leave it, because I most precisely translated all lines, based on English and Russian versions and on the amount of characters per line.
I'm also going to translate on English these UCI's, and I hope that at least one of them deserves to get in the first version of your firmware.
Sorry for my bad English)
Thanks but is your translation based on Night_demon's one?
Because as I said, we can only integrate one translation per language and I'm not able to choose between several translations (I don't speak a single Russian word) so I really suggest you to all work together on the same file. It's not a competition. If Night_demon and you both agree on the same translation, that's fine.
I dont read his translation.
I translated all based only on Russian and English versions of the original translation.
We can do this together, if he gives me his icq.
But my version still the most accurate and correct))
What can you say about my uci?)
I'll give you his email address via PM.
As I said it's not a competition and there is no way for me to decide which translation is the "best" so please talk together about your translations and send me only ONE Russian language file at the end.
Regarding your UCI, it's not really the right thread (there is a dedicated thread for UCIs) but I like Evoque. Clear is not bad either but there is a problem with the clock: the black colon is still blinking while time figures are invisible, that's strange Oo
|All times are GMT -5. The time now is 10:14 PM.|