Impressive, as always!
The cosmegg demo looks SO much better in 16 colors, and the screen flashing adds up to the hypnotic effect. Awesome!
The "goodbye" part of the demo is cool. First, I thought that the binary contained extra things than the code attached, but then I realized that the trick is in sv[]. Very clever!
Well done for implementing this! Your code really does incredible things with the e-ink display, showing not only that it's possible to display animations, in a decent framerate, but in 16 dithere colors, too.
I had some issues compiling this on my Kindle 3.
First, the files einkfb.h & mxcfb.h were missing. The I read I should find them in the
Amazon Source codes; to compile, I needed the files from Kindle_src_5.1.0.
Second, I received a
Code:
undefined symbol '__invalid_size_argument_for_IOC'
error, which I fixed by adding
Code:
unsigned int __invalid_size_argument_for_IOC;
I hope this may help someone, especially any other Linux noob like me.
Quote:
Originally Posted by geekmaster
New dithering code was written that is MUCH simpler and MUCH faster, and supports full 256-color 8-bit mode.
|
I did notice, though, there's some unusual issues with the dithering, at least on my Kindle3. That part of code is too complex for me to try fixing it.
First, the dither16 (screen attached, no 2) shows some black where there should be white (on the top, for example)
Second, the dither2 (screen attached, no 3) has a very subtle bug, that can observed easily for grays close to 50%. I attached a resized & cropped a portion of the screenshot to show the bug (screen attached, no 4). Basically, one column in 8 is off by 1 pixel.
This is the code used to generate these screens:
Code:
for (x = 0; x < MX; x++)
for (y = 0; y < MY; y++)
setpx(x, y, y%256);
Keep up the good work, Geekmaster!