View Single Post
Old 05-11-2010, 02:47 PM   #8
kartu
PRS+ author
kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.kartu ought to be getting tired of karma fortunes by now.
 
Posts: 1,637
Karma: 2446233
Join Date: Dec 2007
Device: Sony PRS-300, 505, 600, 650, 950
Quote:
So, in conclusion, the best I can offer you with my current knowledge is an ebook.so that rotates to orientation 2 instead of orientation 0.
If it's easy to do, I'd have ebook.so that rotates using 2 and 3. (sony already rotates screen by 90 degrees, so functionality is there at least for 180 degrees version) Even if there will be no progress on this, mount --bind-ing stuff would still work.

Oh, or even better, if rotating the screen could be done via call to external app, that basically solves the problem. I could rotate screen between 2 positions using javascript (so that UI correctly responds to it) and then call external proggy, that would add 180 degrees to it.

Quote:
this.FskInclude.load = this.@[170]
I have no idea how to figure out what this corresponds to at the .so level. The 170 is arbitrary
170 is an index in some table, I thought it was easy to spot what that table is, when examining ebook.so. Forgot, that xsb files also have such links, while NOT having any kind of symb table...

Prs 505 version of ebook has:

Quote:
this.ebook.checkScreenLock = this.@[0];
this.ebook.debugProcess = this.@[1];
this.ebook.doneResume = this.@[2];
this.ebook.doneSleep = this.@[3];
this.ebook.doneSuspend = this.@[4];
this.ebook.doneWakeup = this.@[5];
this.ebook.enableBlueLED = this.@[6];
this.ebook.getBattery = this.@[7];
this.ebook.getDeviceID = this.@[8];
this.ebook.getDeviceIDbase64 = this.@[9];
this.ebook.getFirmwareVersion = this.@[10];
this.ebook.getOrientation = this.@[11];
this.ebook.getPower = this.@[12];
Not sure if I am mentioning something that you haven't already seen, but just in case:

Using "readelf -a" I can see that each of the functions mentioned above, seems to have corresponding eBook_* entry in .dynsym symbol table, eBook_rotate, eBook_doneSleep and so on. (ebookSubcpuDoRotate )

In case of Fskin.so functions look like: Fskin_<object name>_<function name>

UPDATE:
Checked FskCore.xsb file, it contains NO additional information, only javascript symtable and bytecode... So the "system function" table is, uhm, outside. I'd bet on libtinyhttp.so's to contain such functions and on xs_System_loadExtension to correspond to FskInclude.load.
kartu is offline   Reply With Quote