Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Sony Reader > Sony Reader Dev Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 06-07-2007, 11:36 PM   #1
alex_d
Addict
alex_d doesn't litteralex_d doesn't litter
 
Posts: 303
Karma: 187
Join Date: Dec 2006
Device: Sony Reader
RasterReader

Some of you may have heard me talking about this already, but i've finally begun actual coding and this will be the place to share the experience.


The goals of RasterReader is to create a viewer for RasterFarian-generated as well as, hopefully, many other file formats. The things it will initially do are modest, yet sorely-needed fixes to what Sony did horribly, horribly wrong:
  • Browse all books on the SD card, navigating and organizing by folder.
  • Patent pending technology: entering page numbers with number buttons. (Sony: I'll license this to you for a reasonable fee)
  • Pre-caching of pages
  • Aso, ability to turn off that damn flashing.
  • Due to the above two, page-turn latency on RasterFarian books will go down from 2.0s to 0.65s
  • On-the-fly resizing of RasterFarian books.
  • Autorefresh of display so that teeny-tiny fonts stay crisp
  • Autostart from SD card. No installation or Reader modification

Additionally, I will try to use the Fsk interface that's used by the current Reader UI for viewer plugins. If this works, RasterReader should be able to view everything that the Reader UI can view, including maybe even DRMed LRFs. Viewers developed with Igorsk's SDK should also work.

Last edited by alex_d; 06-07-2007 at 11:46 PM.
alex_d is offline   Reply With Quote
Old 06-07-2007, 11:43 PM   #2
alex_d
Addict
alex_d doesn't litteralex_d doesn't litter
 
Posts: 303
Karma: 187
Join Date: Dec 2006
Device: Sony Reader
So far I've got executables running on the Reader and manipulating the framebuffer and eink. I've done some benchmarks on the page-turning, since for me personally, page-turn speed is very important.

Code:
Eink temperature: 26

EINK BENCHMARKS

Benchmark: 'clock()' finished! Iterations:1000000 Total time:2.190000s
  Per-call time for clock(): 0.002190ms

Benchmark: 2 bit: 'Write to the framebuffer and send to the eink the entire screen' test finished! Iterations:32 Total time:21.170000s
  Per-frame time:661.562500ms
  MEMCPY time: 32.500000ms
  SEND_PIC time: 628.125000ms
  DISP_PIC time: 0.937500ms

Benchmark: 2 bit: 'Write to the framebuffer and send to the eink a small region' test finished! Total time:20.250000s
  Per-frame time:632.812500ms
  MEMCPY time: 0.937500ms
  SEND_PIC time: 630.625000ms
  DISP_PIC time: 1.250000ms

Benchmark: 1 bit: 'Write to the framebuffer and send to the eink the entire screen' test finished! Total time:20.700000s
  Per-frame time:646.875000ms
  MEMCPY time: 16.562500ms
  SEND_PIC time: 629.375000ms
  DISP_PIC time: 0.937500ms

Some things of note: 1bit and 2bit mode take exactly the same time for a page-turn, except for the time it takes to copy the data into the framebuffer. The 1s vs 0.5s is simply not true. Probably Sony just enables the black-white flashing for 2bit and disables it for 1bit. (In my tests it was always disabled.) Also, writing to just a portion of the screen gives no improvement either.

Btw: the process of rendering to eInk is as follows: first copy data into the Linux framebuffer. Second, send a command to the driver to upload the data into the eInk itself. Third, send a command to update the eInk.

P.S. Note that there's a driver call to read eInk temperature. I'm not sure how accurate it is, but would anyone like a clock AND a thermometer?
Attached Files
File Type: txt source.c.txt (13.1 KB, 467 views)

Last edited by alex_d; 06-07-2007 at 11:48 PM.
alex_d is offline   Reply With Quote
Old 06-07-2007, 11:53 PM   #3
NatCh
Gizmologist
NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.NatCh ought to be getting tired of karma fortunes by now.
 
NatCh's Avatar
 
Posts: 11,605
Karma: 926222
Join Date: Jan 2006
Location: Republic of Texas Embassy at Jackson, TN
Device: Nook STGR
Quote:
Originally Posted by alex_d View Post
...would anyone like a clock AND a thermometer?
That's righteous! I don't think I care about it other than for novelty purposes, but it's still great that the Reader can do something a palm just can't!
NatCh is offline   Reply With Quote
Old 06-08-2007, 01:39 AM   #4
alex_d
Addict
alex_d doesn't litteralex_d doesn't litter
 
Posts: 303
Karma: 187
Join Date: Dec 2006
Device: Sony Reader
Ok, with all my tinkering I found a way of putting the reader into white-on-black mode.

I've neatly bundled this up and you can download it here: http://www.mobileread.com/forums/showthread.php?p=73267
alex_d is offline   Reply With Quote
Old 06-18-2007, 06:55 PM   #5
dasoulseeker
Member
dasoulseeker began at the beginning.
 
Posts: 18
Karma: 10
Join Date: May 2006
Location: Scotland, UK
Device: PRS-500, DR1000s
Wow! Those features sound awesome! I can't wait.
dasoulseeker is offline   Reply With Quote
Old 06-19-2007, 04:13 AM   #6
alex_d
Addict
alex_d doesn't litteralex_d doesn't litter
 
Posts: 303
Karma: 187
Join Date: Dec 2006
Device: Sony Reader
yeah.. well.. it's not working >=(

Reading input takes twice as long as refreshing the eink. 2s. the whole point of this was fast page turns, so it kinds of kills everything.


I can't figure out how to fix it. Obviously when Sony reads the keys to drive the menus it's faster, so I know it's possible to do it better. However, I just used source code that I found for the Librie. Maybe something has changed.

I don't know, I'll tinker with it some more. But for now, ugh.

Last edited by alex_d; 06-19-2007 at 04:16 AM.
alex_d is offline   Reply With Quote
Old 06-19-2007, 07:34 AM   #7
Bob Russell
Recovering Gadget Addict
Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.Bob Russell ought to be getting tired of karma fortunes by now.
 
Bob Russell's Avatar
 
Posts: 5,327
Karma: 590871
Join Date: May 2004
Location: Pittsburgh, PA
Device: Note3, MacBook Air
Bummer. But there's always the potential for that stroke of genius to hit you in your sleep!
Bob Russell is offline   Reply With Quote
Old 06-24-2007, 02:30 PM   #8
dasoulseeker
Member
dasoulseeker began at the beginning.
 
Posts: 18
Karma: 10
Join Date: May 2006
Location: Scotland, UK
Device: PRS-500, DR1000s

I'm sure you will figure it out after some
Good luck!
dasoulseeker is offline   Reply With Quote
Old 08-18-2007, 12:41 PM   #9
Pode
Member
Pode began at the beginning.
 
Pode's Avatar
 
Posts: 22
Karma: 10
Join Date: Mar 2007
Location: France
Device: Sony Reader
alex_d>what kind of toolchain are you using to compile for the Reader ?
I assume that you're under Linux (or another unix).

For various reasons, I want to compile some tool for the Reader, but doing it under Windows. I understand that I need to build a cross-compiling toolchain, but I'm not sure where to start, because the target is obviously running under Linux, not Windows.
Pode is offline   Reply With Quote
Old 08-23-2007, 06:43 PM   #10
alex_d
Addict
alex_d doesn't litteralex_d doesn't litter
 
Posts: 303
Karma: 187
Join Date: Dec 2006
Device: Sony Reader
check out this thread:
http://www.mobileread.com/forums/showthread.php?t=11195

post #4

basically, go here:
http://www.the-ebook.org/forum/viewt...?p=64904#64904
or here:
http://www.google.com/translate?u=ht...&hl=en&ie=UTF8 (WARNING: the translation corrupts the verbatim unix commands with extra spaces. Remember to look at the original.)

I remember I had to use a different version of gcc because compilation was segfaulting on me, but that's pretty much it. Oh.. I also had the benefit of knowing russian.


Oh... as for where to start in order to compile under Windows.... That's very easy. See: http://www.cygwin.com/. That's how I did it, so I can tell you it works. (you'll need to remember to select the right packages like gcc, binutils, etc.) Now... if you don't know the first thing about unix (eg what 'ls' is), then i'm afraid I can't help. (but the tutorial pretty much tells you everything step-by-step)

have fun! p.s., what tool are you compiling?

Last edited by alex_d; 08-23-2007 at 06:53 PM.
alex_d is offline   Reply With Quote
Old 08-24-2007, 08:33 AM   #11
Pode
Member
Pode began at the beginning.
 
Pode's Avatar
 
Posts: 22
Karma: 10
Join Date: Mar 2007
Location: France
Device: Sony Reader
Thanks for the links. I can read russian (nearly the same as greek letters, due to the cyrillic relationship with it, somewhat ), but I don't understand much of it.
Anyway unixian is universal !

I though of using Cygwin, but at the time, I didn't want to have the asle to download everything and set it up. I think I'll put up a cross-compiling toolchain with DevCpp (or VS2005, since with this version, we can change the compiler to use).

About what I'm planning to compile : it's a secret ! I have a few idea to port on the device, and I want to know if it's doable by myself before bothering others with it...
(Furthermore, I can't use the SDK made by igorsk, since I have problems with the compiled dll, as I explained in the related post).

Thanks for your help, anyway !
Pode is offline   Reply With Quote
Old 08-24-2007, 03:35 PM   #12
alex_d
Addict
alex_d doesn't litteralex_d doesn't litter
 
Posts: 303
Karma: 187
Join Date: Dec 2006
Device: Sony Reader
Quote:
I though of using Cygwin, but at the time, I didn't want to have the asle to download everything and set it up.
Normally open source tools suck balls in this department, but Cygwin is very, very nice. The setup program downloads everything automatically and sets it up. If you need to add a package, you just run the setup again and it downloads and sets up all the new stuff. Very easy. Oh, wait, actually... cygwin was written by a company. Must be why it doesn't suck.

I don't know anything about DevCpp. Re visual studio: i'd bet it can call into cygwin if you want to automate. Cygwin uses the ntfs file system, so it's also no problem to have the source files open in VS then go into cygwin and compile then go back into Explorer and drag the executable to your SD card. I'd suggest not trying anything else. Just stick with glibc and gcc.

Good luck with your project, but remember that reading keystrokes is still an unreliable pain in the ass. But maybe you'll figure something out in this department (but it'd probably take a dedicated linux hacker). Keep us updated.
alex_d is offline   Reply With Quote
Old 08-25-2007, 06:05 AM   #13
Pode
Member
Pode began at the beginning.
 
Pode's Avatar
 
Posts: 22
Karma: 10
Join Date: Mar 2007
Location: France
Device: Sony Reader
Thanks for all the help, I'm think it will be fun to hack with !
Pode is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump


All times are GMT -4. The time now is 10:06 PM.


MobileRead.com is a privately owned, operated and funded community.