1. z6-toolchain-v3.tar.bz2 - almost no differences of v2. A fÅw new headers and libraries, required to compile fbreader and mplayer, are added: libbz2, libexpat, libpng and libenca. Real news are: 2. z6-qt-2.3.8-v3.1.tar.bz2 - I took header files from qt-2.3.8 and restored some part of modifications made by motorola hackers. Of course not all of them, but some set enough complete to make quite complicated applications sort of fbreader working. It is incomplete, libqt-mt.so should be copied to /arm-eabi/lib/qt-2.3.8/lib/libqte-mt.so.2.3.8 from your handset. I guess it is motorola's property and I cannot redistribute it. Changelog: v3 -> v3.1 - class QImage is fixed up. One missing motorola-specific field was added to qimage.h and #define QT_NO_IMAGE_TEXT in qconfig.h 3. z6-ezx-v3.tar.bz2 - reverse engineered set of header files for Z6 libezxappbase and libezxsound. Enough to make fbreader and mplayer working. Again, you have to copy the following libraries from your handset to /arm-eabi/lib/z6-ezx/lib/: libezxappbase.so libjpeg.so libezxcameraengine.so liblighting.so libezxpm.so libezxtapi-xscale-r.so liblog_util.so libezxsound.so This tarball also contains a few demos and couple of small applets: script launcher and gui "frontend" for mplayer. Also, it contains small library to interface mplayer with libezxsound. 4. z6-fbreader-0.7.4g-v3.1.tar.bz2 It is fbreader-0.7.4g + patches for A780/E680i + my modifications for Z6. I am sorry, the source tree is not combed. I just does not have time to comb it. All that I can say: it compiles out of the box, provided you have z6-toolchain-v3, z6-qt-2.3.8-v3.1 and z6-ezx-v3 are installed. And it works. Some menus are ugly, some views are useless (f.e. book list and contents view requires mouse/stylus to select books), but all the features which I used at my notebook work perfectly. WARNING: it will abort when started without FBDIR set in environment. I decided not to fix this flaw. FBReader needs default directory to store config files. We do not have any reasonable default location on Z6, so that abort is quite reasonable behaviour. Initial configuration can be not so obvious, so I collected precompiled binary version and required configuration files from my handset in z6-fbreader-0.7.4g-v3.1-bin.tar.bz2. Unpack it to /mmc/mmca1. It will start in fullscreen mode with blank screen, because you do not have any books in the library. Press Enter (central key) to enter menu mode (press the same key again to return to fullscreen mode). Press Menu -> Open Book. Navigate file system to find a book to read, then Done -> Accept. Enjoy! I setup the following default keymap: - Enter/Central key -> toggle fullscreen mode / menu mode - Music -> Rotate screen - Up/Down (Left/Right when rotated) -> PgUp/PgDn - Left/Right (Up/Down when rotated) -> Undo/Redo - Right SoftKey in Menu Mode -> Quit - Right Softkey in Fullscreen -> Recent Books (Undo to return) - Left SoftKey in Menu Mode -> Menu - Left SoftKey in FullScreen -> Library (Undo to return) - Call -> Book Contents (Undo to return) - Volume Up/Down -> Increase/Decrease font size It can be changed (among lots of another options) via Menu -> Config. Some menus are a little ugly, but all of the options really work. 5. z6-MPlayer-1.0pre8-v3.tar.bz2 It is MPlayer-1.0pre8 + patches for A780/E680i + my modifications. I am sorry, the source tree is not combed. It compiles without problems provided z6-toolchain-v3, z6-qt-2.3.8-v3.1 and z6-ezx-v3 are installed. Steps are: - sh config.sh - PATH=/arm-eabi/arm-linux-gnueabi/bin:$PATH - make It can be started using z6mplayer "frontend" from z6-ezx-v3. Configuration can be not so obvious, so I collected precompiled binary version and required configuration files from my handset in z6-MPlayer-1.0pre8-v3-bin.tar.bz2. You can unpack it to /mmc/mmca1. Keymap is hardwired to z6mplayer: - Quit(Hangup) -> quit mplayer - Enter(Central key) -> Pause/Resume - Volume Up/Down -> guess what. :-) !!! I made mplayer starting MUTED. This handset is too loud to start mplayer with sound on. :-) - Up/Down/Left/Right/LeftSoftKey/RightSoftKey -> seek by 5sec/1min/10min - Music -> Mute/Unmute - Send(Call) -> calls OSD menu. It allows to do a lot of things, but beware. Controls are obscure and it is easy to be lost there. Plus, I have no idea what will happen if someone calls you while mplayer is in OSD menu. Nothing good, I guess. About performance. Not very good. It plays 24fps mpeg4 movie eating ~70% of cpu. It still plays 30fps 320x180 (16:9) mpeg4, but it eats 100% of cpu. It chokes on h264 encoded movies much earlier (320x144 still works, 320x240 is unusable), h264 decoder is still suboptimal. Not good, but superb comparing to mediaplayer supplied by Motorola, which starts to lose frames much earlier. BTW if someone does not know, limit of 15fps in default z6 mediaplayer is artificial, it can be removed editing /ezxlocal/download/appwrite/setup/ezx_mp.cfg: [capability] MaxAudKbps = 320 MaxAudSampleRate = 48000 MaxRTSPKbps = 96 MaxVidFPS = 15 ^^ MaxVidFPSMp4 = 15 ^^ MaxVidHeight = 240 MaxVidKbps = 350 MaxVidWidth = 320 Actually, it performs much better than this. After replacing 15 with 30, you can watch 24fps movies almost without lossage. 6. And finally a piece of advice. Probably, you know how to install and run binary native applications on your Z6. Then do not read this. I do not know really good way. The best tricky way, which I found is the following: A. Install some useless java applet. I installed helloworld, renamed to Launcher. B. Copy launcher from z6-ezx-v3 to /mmc/mmca1/bin C. Edit record for Launcher /mmc/mmca1/.system/java/CardRegistry to make it looking like: Attribute = 1 ... Directory = ../../mmc/mmca1/.system/java_356468010461795/DownloadApps/MIDlet20045 ... Exec = launch.sh ... GroupID = root ... UserID = root Only lines Directory, Exec, GroupId, UserId, Attribute changed, JavaId line is deleted. Number 20045 is an example, you will have another number. and create file launch.sh in /mmc/mmca1/.system/java_356468010461795/DownloadApps/MIDlet20045 lookign like: #! /bin/sh exec /mmc/mmca1/bin/launcher Then install scripts which you want to run in directory /mmc/mmca1/scripts/ (FBReader, MPlayer, whatever). After you kill process "am", you will find that Launcher will open menu which allows to execute scripts from directory /mmc/mmca1/scripts/.