I'm just guessing here. but did you try swapping or modding the .lcf from the "RK2608_SDK_DEMO" firmware?.
Never done anything with this myself, just a thought. btw tested the SDCARD.rkp, listed files ok, but only 8.3 dos filenames. Long filenames should be do-able have you looked in the firmware source for any ideas? maybe browser source. |
Quote:
As I said, long names can be done, unfortunately support for file system doesnt work from SDK so I implemented this FatFS opensource lib for this. There are two versions of this, one pffs and ffs, the first one is optimized in code and in memory but it doesn't give long names, the second one also works and it gives long names but the size of the code is 3 times larger and it takes 3 times more memory which we have very little. Maybe we can mod this pffs to add long name support without getting so much of code. I didn't go into *.lcf from SDK because it has different structure, and also we cannot rearrange basic memory regions which are devoted to platform pointers to functions. I will keep trying to squeeze everything and then I will upload some blank project for everyone with all the necessary libs included. BTW, maybe I am wrong but, I think that the whole RKP code is loaded into IRAM before execution? In a way that it's not read from disk while executing next part of code but all at once. EDIT: Do you have some ideas how to arrange Open and Save dialog? I am just asking about graphical placement, as I think we should make those dialogs universal for all such apps. Perhaps something to prepare in photoshop. Also, I am going to introduce new font, different kind of fonts, maybe even run-time antialiased so we can create a nice opendialog box with alpha transparency, antialiased fonts and so on ;-) |
Not the end of good news guys :D I cut into pieces RK_MLC_USBFS_SD.A this lib and elicited only those functions that are necessary to access SDCard. It reduced the code size and memory dramatically. Also I am thinking that maybe we can do the same with flash memory driver. I didn't succeed with flash because there was too much of the code to put into the memory so it always kept hanging, but perhaps it will work if I remove all the unnecessary functions from this lib and leave only I/O low level access to nand flash. Two versions may be needed though (SLC and MLC).
If it will work, it's great! Not only because of the full access to the files, but also it will be possible to make a backup of the firmware using RKP app. |
If the firmware was extracted then we would have to rebuild the .rfw to reflash with consumerUpdate.
The only way I can think of doing this would be to split the extract to create an .out file, a picture resource file (.uis) and a text menu resource(.meu), so in addition it would need an additional utility I think to do this, but it would be worth the effort I think. The only way I know of to generate a .rfw is FWTools. |
Quote:
Quote:
http://img158.imageshack.us/img158/4251/picture5z.png But it'll be faster to make the simple interface - the same as the player's explorer |
Quote:
Regarding a file open dialog, I think it would be best to do something similar to what the firmware already does to select files, in other words like the browser screen a simple text list that fills the screen and just select the file you need using the direction arrows and choose with the play button, just to keep it simple and easy to operate.:rolleyes: Regarding a save dialog, do we need one at all? sure the option to save is needed for things like updating a configuration but I think that's about it.;) I would like to implement something like SDL for GDK :- http://www.libsdl.org/index.php this is used for things like the gameboy and to create emulators etc, but it would probably be a bit too much to make this work with the GDK. |
1 Attachment(s)
Quote:
Quote:
Quote:
And thats my problem, I used to don't worry about the size of the code or memory as I am mostly Delphi programmer. Quote:
I tested how much of memory does this file support takes and I came out with 0x207C bytes, so 40% of memory is gone by now, with an empty app. (maybe I will manage to shrink this FatFS lib even more, as I noticed some useless functions). To omit this memory problem, and create real kick-ass apps we need someone who knows how to reload some parts of memory while rkp is running. Something like creating libs and splitting it into external files, and loading them if it is necessary to use such a function. So we would exchange currently loaded lib with another one. This way we can have the code as big as we want. Anyway, here is what I've done so far:
Attachment 525 To test drawing bitmap you must place a file called BITMAP.BMP in the root dir and press MENU button. (PLAY button exits the app) |
My player locked up at first try.
Realised I'd got some files with names longer than 18 chars on my miniSD, reduced them and it's now working fine! So flash, you finally have success with file loading by .rkp. congratulations! The font looks great also, out of curiosity tried it out on the main flash memory and got the warning message as expected, this is really good stuff. You already have most of the components of a picture viewer application. |
Quote:
------------------ EDIT: I figured out why your player had locked up. My function for drawing text was awfully slow! And if executing one cycle of main function takes longer than 2 secs it locks up. Before to draw one full line of text took 245ms! But I optimized this function and now its only 38ms :-)) ------------------ BTW. Do you know how big SDRAM is in those players? If big enough then it will be possible to speed up the interface: scrolling file list, and such. |
1 Attachment(s)
New update of my tests:
Attachment 526 - has background, it is more visible how alpha transparency works, as well as antialiased fonts. - scrolling of the whole list of files using up/down buttons - here you also can hit menu to load bitmap.bmp (one sample 32bpp included in package) - unicode works - faster drawing of chars. Surprisingly antialiased font is not slower than the standard one as it suppose to be. I even managed to make it faster than standard platform 1bpp font by loading the binary font into SDRAM and accessing it from there instead of the resource file. this scrolling works similarly to the one from firmware, though I think I will make something more smooth, like preloading into SDRAM the whole bitmap in which the file list had been drawn, this will enable to extremely fast and smooth pixel by pixel scrolling of the file list, not file by file like this. EDIT: I've noticed something great!! By default rock compiler does not use auto optimization (there are 3 options), but only one option really optimize it, and its nr 2, but I didn't use that because I got message that licence has expired, just out of curiosity I changed the system date to test this optimization, and it really stunned me! Length of the code has been reduced from 0x365a to 0x1cc2. Maximum allowed is 0x5000 so its amazing! I feel like a dumbass worrying about every single byte of code. We can do so much :-D |
| All times are GMT -7. The time now is 7:34 am. |
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 RC 2