Nokia 770 Setup

These are the Nokia 770 things that I have been working on in roughly the order that I have been looking at them. That is why it looks somewhat random.

Disclaimer: This information is for reference purposes only. This stuff may have worked for me, but I don't take any responsibility if it screws up your 770.

Since most or all of my files are not packaged, you will need to copy them to /usr/bin or some other location in your PATH environment variable so they can be run. They will not work if you try to execute them from the RS-MMC memory card because it is probably formated in FAT32. If you have it formated in Linux format, that should work, but then you probably have trouble copying files to it from a Windows OS. If you try to run from the memory card, you will get the error: /bin/sh: ./{application_name}: Permission denied.

Screenshots of software running in OS 2006 on the Nokia 770


Super Mario Bros. running in FCE Ultra

FCE Ultra Another Super Mario Brothers Shot. The camera can't focus very close.

Prboom startup screen Stella (Atari 2600) running Yar's Revenge
Colecovision emulated in MESS Stella running Space Invaders
MESS emulator running Commodore 64 Frodo C64 emulator


Applications to Port to Nokia 770

Mandatory software:

Optional software: Software to Install Software that would be nice to have

xMAME 0.59 install

MAME is playable on the Nokia 770, but if you want to play games, the GP2X is designed for playing games. It has a dual-processor, and is much faster. Check Youtube for videos of the GP2X playing MAME and other ported games. I'm not trying to bash the 77o, but it was designed to be an "Internet tablet", not a game machine.

xMAME for Maemo 2.0 package

MAME GTK interface - Maeme:
xMAME website:
Source download:

Port for Nokia 770:
Mame for GP2X -

Download source for xmame-0.58.1 from above website.
Download my patch for xmame-0.58.1.
Download my compiled version of xmame-0.58.1 for the Nokia 770. Needs to be moved to some place like /usr/bin and run as root.

 > cd src
 > tar -jxf xmame-0.58.1.tar.bz2
 > mv xmame-0.58.1 xmame-0.58.1-orig
 > tar -jxf xmame-0.58.1.tar.bz2
 > patch  -p0 < xmame-0.58.1.patch

diff from MAME applies to xmame-0.106
I applied it, uncommented SDL for joy and SOUND

Switch to ARMEL environment per tutorial.
# copy MAME source to /scratchbox/packages/

$ mkdir src
$ cd src
$ tar jxf /scratchbox/packages/xmame-0.58.1.tar.bz2
$ make  -f makefile.unix

SUCCESS - it is compiling!

Got following error when running xmame.SDL
error: compiled byte ordering doesn't match machine byte ordering
are you sure you choose the right arch?
compiled for msb-first, are you sure you choose the right cpu in makefile.unix

Try recompile with Sound = ELSA instead of SDL.

> file rott
  rott: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Lunix               2.4.17, dynamically linked (uses shared libs), not stripped
> file Frodo
  Frodo: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for               GNU/Lunix 2.4.17, dynamically linked (uses shared libs), not stripped 
> file xmame.SDL
  xmame.SDL:  ELF 32-bit LSB executable, ARM, version 1 (SYSV), for               GNU/Lunix 2.4.17, dynamically linked (uses shared libs), not stripped 

Try compiling without sound.  
CFLAGS = -march=armv5
-Os - Optimize for size
-mapcs - 
ffast-math -
Wall - Show all warnings

Tried compiling with -mcpu=arm926ej-s instead of -march=
Tried switching -Os to -O2 failed
Tried compiling without -O2 failed
Tried compiling with -fno-strict-aliasing instead of
Tried -O2 -mbig-endian -Wall  ( fails on compile)
Tried -O2 -mlittle-endian -Wall
Still failing with compiled byte ordering error message. Geekdoc is sending me his Makefile

Tried -"mcpu=arm926ej-s" -mapcs -fstrict-aliasing -ffast-math -Wall
Set MY_CPU = arm

Added following to src/unix/unix.mak

Finally, it is working! No more compiled byte ordering error message.

Try strip to pull out symbols
strip xmame.SDL -o xmame.SDL.strip
Changes size less than 1%.

TODO -----------------

ln -s /media/mmc1/games/xmame/roms/ /usr/local/lib/xmame


   # xmame -fullscreen - ror -scale 2 
   # xmame -rompath /media/mmc1/roms -fullscreen -scale 2 -ror dkong

The version of xmame at the Garage is faster than the version I compiled. Use that version if you want speed. Use my info if you want to hack around with it.

Compiling xMESS


Source files:

My xmess patch for xmame-0.65.1. Mame and Mess are compiled with the same source, you just need to change the target in the makefile. I would have used the 0.58.1 for compiling, but it oddly was lacking some of the MESS-specific files.

Download my compiled version of xmess-0.65.1 for the Nokia 770. Needs to be moved to some place like /usr/bin and run as root.

> make clean -f makefile.unix
> make -f makefile.unix

Failed on sound compile.
switched -march=armv5te in makefile.unix
Compiling src/sound/ym2151.c
Error: bad immediate value for offset (4100)
renamed ym2151.c to .bak
got error ym2151.o needed by xmess.obj/libsound.a
changing CFLAGS from -0s to -02 works around the error.  Apparently, there is a bug with the GCC compiler. [Bug target/25190]

Got same error message for src/sound/ym2413.c
After switching back to -0s, it was fine.
[OSDEPEND] Compiling src/unix/main.c
src/unix/main.c:18: error: conflicting types for 'osd_init'
src/unix/main.c:27: error: two few arguments to function 'add_exit_callback'

Try compiling xmame-0.65.1
Error: bad immediate value for offset (4100)
Use fix above.
Switching to -02 seems to run for the rest.
Should try compiling the whole thing with -02, or just that one file.

Getting same error message "error: compiled byte ordering doesn't match machine byte ordering" that I get with xMAME. Since they are from the same source code, this is understandable.

Fix unix.mak like in Xmame to get it working:

Added following to src/unix/unix.mak

Success! Xmame should now work.

Use above patch to patch Xmess and see what changes I made to get it to compile.

Xmess setup

# cd /usr/local/lib
# ln -s /media/mmc1/Games/xmess/bios xmess
# ln -s /media/mmc1/games/xmess/roms/ /usr/local/lib/xmess
# mkdir -p /usr/local/lib/xmess

# mkdir -p /usr/local/share/xmess/ 
# ln -s /media/mmc1/games/xmess/bios /usr/local/share/xmess/bios
# mkdir ~/.xmess
# xmess -showconfig > /root/.xmess/xmessrc
# set fullscreen in xmessrc
# set scale 2
It is cool to see the Commodore 64 running in full screen on the Nokia 770.


# xmess -biospath /media/mmc1/Games/xmess/bios -softwarepath /media/mmc1/Games/commodore64/ c128 

# xmess -biospath /media/mmc1/Games/xmess/bios/ -softwarepath /media/mmc1/Games/mess/   - fullscreen -scale 2 coleco
# xmess -showconfig > ~/.mess/messrc

Maemo install

dpkg --install <package name>

Scratchbox install
install libs before core because of dependancy
core install - select ubuntu as user to use Scratchbox
this creates group sbox and adds ubuntu to that group
Skip steps 3 and 4 if installing from deb packages

$ sudo /scratchbox/sbin/sbox_ctl start
$ /scratchbox/login

To run Xephyr, needed to sudo su and run xhost +, leaving that window open to allow Xephyr to open its window on the display.

# sudo su
password: ubuntu

# xhost +

Since I am used to vi, I added the following to ~/.bash_profile. I also added it to ~/.bashrc in the Ubuntu environment
set -o vi


Nokia 770 processor specs

The Nokia 770 is powered by a Texas Instruments OMAP 1710 CPU running at 250 MHz, which combines the ARM architecture of the ARM926TEJ core subsystem with a TMS320C55x digital signal processor. The display has a resolution of 800 by 480 pixels at 225 pixels per inch. It is accessible via WLAN (802.11b/g), Bluetooth 1.2, dial-up access, USB (both user-mode, and non powered host-mode), and RS-MMC (both RS-MMC and DV-RS-MMC cards are supported). The device contains a speaker and a microphone. It comes with 64MB of DDR RAM, and 128MB of internal FLASH memory, of which about 64MB should be available to the user.



    This specifies the name of the target ARM processor. GCC uses this name to determine what kind of instructions it can emit when generating assembly code. Permissible names are: `arm2', `arm250', `arm3', `arm6', `arm60', `arm600', `arm610', `arm620', `arm7', `arm7m', `arm7d', `arm7dm', `arm7di', `arm7dmi', `arm70', `arm700', `arm700i', `arm710', `arm710c', `arm7100', `arm7500', `arm7500fe', `arm7tdmi', `arm7tdmi-s', `arm8', `strongarm', `strongarm110', `strongarm1100', `arm8', `arm810', `arm9', `arm9e', `arm920', `arm920t', `arm922t', `arm946e-s', `arm966e-s', `arm968e-s', `arm926ej-s', `arm940t', `arm9tdmi', `arm10tdmi', `arm1020t', `arm1026ej-s', `arm10e', `arm1020e', `arm1022e', `arm1136j-s', `arm1136jf-s', `mpcore', `mpcorenovfp', `arm1176jz-s', `arm1176jzf-s', `xscale', `iwmmxt', `ep9312'.

    This specifies the name of the target ARM architecture. GCC uses this name to determine what kind of instructions it can emit when generating assembly code. This option can be used in conjunction with or instead of the -mcpu= option. Permissible names are: `armv2', `armv2a', `armv3', `armv3m', `armv4', `armv4t', `armv5', `armv5t', `armv5te', `armv6', `armv6j', `iwmmxt', `ep9312'.


Use -mcpu="arm1026ej-s" -march=armv5te for compiling for the Nokia 770

Converting DVD to format for Nokia 770


Options > Device > Nokia 770
Video size - 320x240
Refresh My Computer
Select DVD Drive: D:\
Program will gather information about DVD - about 20 minutes
Select output Desktop\matrix.avi
Jobs menu > Convert - about 3.5 hours on a 2 GHz Celeron
Plays fine using Mplayer. Use the <ESC> button (below the cursor pad) to exit the movie. The menu button will lock up the 770 and you will have to reboot to get it working again.

Has a somewhat slow framerate, and the sound is a bit low, but watchable.

RAM for Nokia 770

Kingston 2GB MultiMedia mobile (MMC mobile) Flash Media Model MMCM/2GB
The MMC mobile is a replacement for the discontinued RS-MMC.

"MMCmobile cards support lower voltage applications to reduce power consumption
in cell phones. Kingston has discontinued the older MMC and MMC-RS 3.x cards and
only offers the newer, backward-compatible MMCplus and MMCmobile cards."


I bought the Kingston 2GB MultiMedia mobile (MMC mobile) Flash Media Model MMCM/2GB from Newegg for $45.99 plus $4.99 shipping. I got it working by using the standard kernel flash procedure.

Note: Do NOT use VMware to flash!!! You may be able to get it to work, but because you are sharing the USB between Windows and Linux, there is contention. If Windows decides to grab control of the USB while you are flashing, you will have a dead (a.k.a bricked) Nokia 770. It is much easier to download a Knoppix Live CD and use that to flash. Trust me, you are going to have major headaches if you try to use VMware to flash the 770. Trust me, Knoppix is much easier, even if you don't use Linux.


Nokia 770 to Support SIP-complaint VoIP


Movial Corp. developed VoIP Connect - a third-party, Session Initiation Protocol (SIP)-compliant application designed to run on the 770's Linux environment.


Minimo for Nokia 770

Minimo source

Minimo WinCE build instructions

Needs to be ported to OS 2006

Hori screen protector for PSP

the PSP has a 4.3" screen, the Nokia 770 has a 4.13" screen, so the Hori screen protector should work.
Ebay Express  $1 plus $6.99 shipping = $8

Cut to screen size and applied.  You only have to trim off about 3/8" on one edge.  It seems to be decent.  Can still see screen easily through protective coating.  Will reduce scratches to screen.  There was one piece of dust that got under screen, so it distorts that area, and the protective screen doesn't sit flat around the edges, so there is a continuous edge "bubble".

Even though I cleaned the screen very thoroughly, I still ended up with a couple of pieces of dust underneath the screen protector.  

The coating is easy to see through and not noticable when the screen is powered on.  You can see the bubbles and other imperfections when the screen is dark (like playing MAME), or when the 770 is turned off.

Nokia 770 initial setup and OS 2006 upgrade

Opened Connection Mananger from top tab and tried to connect to my wireless WPA encrypted network.  The phrase must have been typed wrong.  Instead of letting me fix it, it got stuck in a loop of trying to connect, but not being able to because the key was wrong.  The only options were to try again or cancel.  I did a Google search and found that you can fix the settings through the Control Panel > Connectivity.

Once I got that working, I was browsing the Internet.

Next, make sure that I am running the 2006 Internet Tablet OS.
Current version is found in Control panel > Device > About product.  I am currently running 3.2005.51-13. In other words, OS2005.
Had to install MS .NET 2.0 on Windows 2000 in order to install the Nokia Internet Tablet Software Update Wizard - OS 2006 edition.

Installing OS 2006 edition.
Run Setup.exe select all the defaults, and launch the flasher utility.  NOTE: THIS WILL ERASE EVERYTHING IN MEMORY, so make a backup if there is anything that you want to save.  The memory card will not be erased.  It indicates that it is going to upgrade From: OS Edition 2005 to 2006SE_1.2006.26-8 (latest).  This can be change if you need to run a different version.

FlasherGui.exe starts downloading: C:\Documents and Settings\{username}\Local Settings\Application Data\fiasco.bin from

For flashing using Linux instead of Windows, follow this guide:

While you are flashing, you might as well flash the kernel as listed in the next section.

2GB MMCM (RS-MMC) card kernel hack

Plug USB cable into Nokia 770.

Follow Procedure for adding 2GB rs-mmc support to IT2006 using Linux , but don't perform step d) they way they listed. Instead, hold the house button and turn the power on to the Nokia 770 without connecting the power supply. Make sure that the battery is fully charged before you perform this step! You don't want to lose power mid-flash. The Home + "Power on" seems to be more reliable at bringing up the USB icon than the method they describe in the thread.

Run flasher-2.0
./flasher-2.0 -f -k zImage-su-18-200627"

d) Make sure the battery is full charged before you do this.  Hold the home (house) key on the Nokia 770 and power up the unit.  This will put the unit in flash mode.  The flashing will only take a few seconds.  Wait until it says: "Flashing kernel... done."


Bluetooth keyboard setup

Why use a Bluetooth keyboard instead of USB?  To use USB, you have to put the Nokia into USB host mode.  This renders the memory card unusable. That is a significant compromise.

If you have a ThinkOutside Stowaway Universal bluetooth (not Infrared) keyboard (Mfr. Part# XTBTUE), do the following:

Couldn't get to work because I bought the ThinkOutside Stowaway Shasta keyboard for Blackberry.  Part number# STWBBBT.   It is not HID Bluetooth compliant.  It uses Serial Port Profile (SPP) instead of HID.  The booklet says the passkey is 0000, and to select the keyboard type BT-Foldable KB.

This page has some additional bluetooth links.

Need to use the Kbdd (IT2006) driver instead.  The prerequisite for this driver is running in root mode.
kbdd for Nokia N770 (IT2006)

prerequisites: root mode, osso-xterm

Get logged in as root
$ sudo gainroot

Copy kbdd folder from /media/mmc1 to /usr/local/
All executables must be on a Linux filesystem, or they won't be able to run. * See note at the top of this document.

#   cd /media/mmc1
   # mv kbdd /usr/local/
   # cd /usr/local/kbdd

Check to see what your BDADDR is by running

 ./btkbd scan

My address is: 00:0F:6F:00:A5:80    BT-FoldableKB

Create the btdbd.conf by running the following commands, substitute your address for "yo:ur:bd:ad:dd:rr", otherwise, use vim to set that information.
# echo >btkbd.conf 'BDADDR="yo:ur:bd:ad:dd:rr"'
# echo >>btkbd.conf 'KBTYPE=btfoldable'
# echo >>btkbd.conf 'PORTNUM=2'

Start the program


This pops up a dialog box.  You need to enter the pin of 0000

I had to switch to the kbdd that is compiled for the Freedom Keyboard (US layout).  The one that comes with the kbdd package does not work with the Shasta.

This works, but is very glitchy.  Sometimes notepad won't open.  Sometimes in Xterm, the Enter key will act like the center button and cause the on-screen keyboard to pop up, other times, it will work correctly.  The driver will sometimes glitch out and a certain key will just keep repeating across the screen.  In Opera, the driver appeared to hang and caused the network connection to be lost.   It can sometimes take several retries of starting and stopping the driver before it starts working.  Sometimes starting and stopping can not get it working, and you have to reboot.  I think SPP is an older technology than HID, and is based off a serial port intercept, it is prone to slow speed and buggyness.  If you are looking for stability, then stay away from the Shasta.  However, for the brief times the driver is working, the keys seem to be mapped well and it is usable.   My recommendation is to stay away from the ThinkOutside Stowaway Shasta and get the ThinkOutside Stowaway Universal bluetooth (not Infrared) keyboard (Mfr. Part# XTBTUE) instead.  That keyboard is HID compliant and slightly more expensive, but the extra $10 or $20 should be worth the stability.

Bought a Macintosh keyboard

For whatever reason, the Bluetooth Plugin version 0.5.0 does not work from the GUI. It only works from the command line.

The driver should detect the name of the keyboard.

It will pop up a passcode. Enter the passcode on the numeric keypad (NOT using the top row of numbers) and hit <return>

This should pair the keyboard with the Nokia 770.

Pairing failed.
# hcitool scan

# hidd -n --search
# hidd -
# hciconfig -a

Compiled bluez-utils 3.7 for Nokia 770. The bluez-utils 2.25 come with OS 2006. These utilities include hidd and hcitool.

Try backing up and replacing hcitool and hidd to see if the new version correct the key repeat problem I am getting with the Apple keyboard.

Use xev to determine what keycodes your keyboard is sending


hidd --connect 00:0A:95:42:A8:EE

Enter 1234 on number pad and hit <return>


Can't get device information: Too many links

The enter passcode will pop up on the Nokia 770. Enter 1234 and hit OK. It should pop up "Device connected."

Once device is paired once, it should automatically connect again, even after a reboot.

Rebooted 770, turned on keyboard, and ran:

hidd --connect 00:0A:95:42:A8:EE

Got the "Device connected" dialog box.


Key mapping differences

Kbd Symbol Keyboard Displayed on Nokia 770 Keycode Name Shift Shift Name
  - u with umlaut 20 udiaeresis    
  y z 29 z    
  z y 52 y    
  ` ^ 49 asciicircum    
  = German esset 21 ssharp    
  [ + 34 plus    
  ] similar to ' symbol, but leaning forward 35 acute    
  \ _ 51 underscore    
  ; o with umlaut 47 odiaeresis    
  ' a with umlaut 48 adiaeresis    
  ? - 61 minus    
: shift + ; O with umlaut 47 Odiaeresis    
" shift + ' A with umlaut 48 Adiaeresis    
{ shift + [ * 34 asterisk    
} shift + ] ` 35 grave    
@ shift + 2 " 11 quotedbl    
# shift + 3 paragraph symbol 12 section    
^ shift + 6 & 15 ampersand    
& shift + 7 / 16 slash    
* shift + 8 ( 17 parenleft    
( shift + 9 ) 18 parenright    
  shift + 0 = 19 equal    
_ shift + - ~\ 20 Udiaeresis    
+ shift + = ? 21 question    
  F4 Opens dropdown menu        
  F5 Goes to main menu of 770        
  F6 Toggles beween full-screen and normal screen        
  F7 Increases text size        
  F8 Decreases text size        
  F9 ~        
  F10 ~        
  F11 ~        
  F12 ~        
  F13 nothing        
  F14 nothing        
  F15 nothing        
  F16 nothing        
  help nothing        
  2nd delete below help key nothing        
  Up arrow with line underneath above * on numeric keypad ~        
  Low sound nothing        
  High sound nothing        
  No sound nothing        

The bluetooth plugin maps are under this folder:

cd /usr/share/kb-maps/

downloaded xmodmap from


xset770 -r <key> <value>

from Nokia

xmodmap -pke > xmodmap.770

copy to PC.

Change return into an Enter key. ctrl doesn't work

clear control
add control = Control_L
keycode 36 = KP_Enter

Keycode 36 , Return

keycode 104, KP_Enter


Ideal keyboard: Small bt kbd w/o num pad, lightweight, HID

Keyboard Comparisons

Mfr product# Manufacturer Name Price Where? Protocols Key Spacing  
XTBTUE Think Outside Stowaway Bluetooth $83.92 Amazon HID/SPP 18 mm  
FREEDOM-UNIVERSAL Freedom Input Freedom universal Keyboard $111.95 mobileplanet HID/SPP    
  Eleksen Group Roll-up Fabric Bluetooth Keyboard          
967562 Logitech Logitech 967562 diNovo Bluetooth Media Laser Desktop          
    HP iPaq Bluetooth Keyboard          
    Nokia Bluetooth Keyboard          

# hcitool scan
00:0A:95:42:A8:EE Jessie J Hsiao...s Keyboard


hidd -n --search
hidd --connect 00:0A:95:42:A8:EE
hidd --connect 00:03:C9:EA:51:E7
hcitool inq
Inquiring ...
00:0A:95:42:A8:EE clock offset: 0x4469 class: 0x002540


l2ping 00:0A:95:42:A8:EE
# cd /usr/bin
# mv hcitool hcitool.orig
cp /usr/local/bluez-utils/hcitool .
mv hidd hidd.orig
cp /usr/local/bluez-utils/hidd .


-rwxr-xr-x 1 root root 19836 May 26 06:05 pand
-rwsr-xr-x 1 root root 26916 May 26 06:05 hidd
-rwxr-xr-x 1 root root 35996 May 26 06:05 hcitool.orig
-rwxr-xr-x 1 root root 20056 May 26 06:05 dund
-rwxr-xr-x 1 root root 50376 May 26 06:05 sdptool
-rwxr-xr-x 1 root root 10136 May 26 06:05 l2ping



Running in root mode

Prerequisites: vim


Install Dropbear SSH to get yourself to the root prompt

dbclient   root@127.1
password: rootme

Fix /usr/sbin/gainroot to not check for R&D mode

# cd /usr/sbin/
# cp -p gainroot gainroot.orig
# vi gainroot

Change this line:

MODE=`/usr/sbin/chroot /mnt/initfs cal-tool --get-rd-mode`
To this:
MODE=enabled #`/usr/sbin/chroot /mnt/initfs cal-tool --get-rd-mode`

In VIM, Use the Cancel/Close button to send an Esc key.

Exit vim by typing colon, write, quit.


Exit the SSH session.

# exit

Log back in using the gainroot script to see that everything works.

$ sudo gainroot



Osso Xterm

Frodo c64 emulator

Vice for GP2X:

VICE version 1.20

./configure --prefix=/usr/

detects as arm-unknown-linux

backup Makefile

build = arm-unknown-linux
build_cpu = arm
host = arm-unknown-linux
host_cpu = arm
Try changing to :  --host=armv5te
Try tweaking other compile options

make x64

Couldn't fix Xaw libs in scratchbox.

Try Frodo since it is SDL-based instead.

Version 4.1b


Frodo for GP2X:

Download my compiled version of Frodo 4.1b for Nokia 770. Needs to be copied to /usr/bin and run as root.

> cd src
> ./configure

NOTE: May want to try configuring some options for armv5te processor here.
added -march=armv5te to Makefile CFLAGS line

> make
> cp Frodo /usr/bin
> Frodo

Extract above source and copy contents minus Docs and Src to the Nokia 770
Move them to the correct location

> mkdir -p /usr/local/lib
> cp Frodo /usr/local/lib/frodo
> vi ~/.frodorc

Example settings are in Prefs.cpp source file.

Launch the application
Needs to be launched from the directory that contains the Basic Rom

# Frodo



Synchronisation and backup using rsync & make

Install Dropbear and rsync on Nokia 770 for SSH capability

Host computer:


From the host computer run make.



Sylpheed source:

Download my compile of Sylpheed 2.2.0rc for Nokia 770. Move to /usr/bin and run as root.

> tar zxf sylpheed-2.2.0.tar.gz

Patch to version 2.2.0rc

> gunzip sylpheed-2.2.0rc.2.2.0.patch.gz
> cat sylpheed-2.2.0rc-2.2.0.patch | patch -p0 -R

Apply Nokia 770 Sylpheed Maemo patch

tar zxf sylpheed-2.2.0rc-patch.tar.gz


> cat sylpheed-2.2.0rc-maemo.patch | patch -p0 
> ./configure
> ./ 

Make may also work instead of

> make 

At this point, the sylpheed executable will run on the Nokia 770. It would be nicer to have it Hildonized and in a deb package. The following section deals with that.

> dpkg-buildpackage -rfakeroot 

The .deb package won't install, but the slypheed executable will run on OS 2006.

Install with the Hildon patch
Tried applying the patch, but had one failure
Hunk #2 FAILED at 184.
1 out of 4 hunks FAILED -- saving rejects to file slypheed-2.20rc-orig/src/main.c.rej

main.c 54:53 hildon-lgpl/hildon-widgets/hildon-app.h: No such file or directory
main.c 55:57 hildon-lgpl/hildon-widgets/hildon-appview.h: No such file or directory

 > fakeroot apt-get install hildon-widgetsmm

Didn't help

had to vi main.c, main.h, and menu.c and remove the hildon-lgpl from the two lines in both files.  That allowed the include files to be found.
grep -i hildon-lgpl *.c *.h

Failed again on icons

> cd icons
> cp Makefile Makefile.bak
> vi Makefile
> change /home/andrew to ~
> %s/\/home\/andrew\/src/\~\/src/g

This works.
Try building package

> dpkg-buildpackage -rfakeroot

Had to make changes to debian/control file to convert from OS 2005 to OS 2006
Change the following:
Section: unknown
Section: user/other
Package again.

TODO - I haven't gotten the package and Hildonize working yet.

Usage: sylpheed

Got error:

The locale encoding is not UTF-8, but the environment variable G_FILENAME_ENCODING is not set. If the locale encoding is used for file name or directory name, it iwll not work correctly. In that case, you must set the following environment variable (see README for detail): G_FILENAME_ENCODING=@locale



lxDoom 1.4.4

Copy or move to scratchbox environment
make sure there are no spaces in any folder names.
Run ./configure
cp Makefile Makefile.bak
vi Makefile

Fails with some errors.
try prboom 2.4.5 instead

Download my compile of prboom 2.4.5 for Nokia 770. Move to /usr/bin and run as root.

You will also need the prboom.wad from the prboom source tar.gz file, and a shareware or full Doom wad to get the program running.

Shareware WAD

Disable opengl support
./configure --disable-gl

Fails on

This file exists in scratchbox environment.  Try copying over
cp /usr/lib/
ln -s /usr/lib/ 
cd /media/mmc1/Doom/
mv DOOM1.WAD doom1.wad
mkdir -p /usr/share/games
ln -s /media/mmc1/Doom/ /usr/share/games/doom/
cp prboom.wad /media/mmc1/Doom

Got message failed to autoload prboom.wad
W_GetNumForName: CRBRICK not found
resolution: install prboom.wad

Download SDL-net source
tar zxf sdl-net1.2_1.2.5.orig.tar.gz
gunzip sdl-net1.2_1.2.5-3.diff.gz
patch -p1 < sdl-net1.2_1.2.5-3.diff
copy files into correct locations

This works, but there are some strange artifacts on the characters.  The walls, etc. seem to be painted correctly.

May also be able to use TiMIDIty to get MIDI sound working in the game.

If you have a copy of one of the original Doom games, copy your Doom, Doom 2, Ultimate Doom or Final Doom IWAD (doom.wad, doom2.wad, tnt.wad or plutonia.wad) to /usr/local/share/games/doom/.

/media/mmc1/Doom /usr/share/games/doom

Descent II

Installed packages.  Works.

MANaOS 0.1.2

MANaOS (Mozilla for Maemo)

Only works on OS2005

TODO - need to port to OS 2006
Need to locate source

VNC Viewer 0.3.3-i

Status: Installs, but locks up.

Rise of the Triad (ROTT)

(DreamCast) rottdc-1.0.2  SDL:
Rise of the Triad for Linux:

Rott sharware data files:

Compiled right out of the box.
Installed, but got this error when it ran:
Stack dump:
/lib/ [0x40084e88]

Someone with similar error compiling rott for Sharp Zaurus

Try recompiling for PC

Switch to PC SDK environment
sbox-config -st SDK_PC

Start Xephyr
~/ &

Start Application Framework environment
export DISPLAY=:2 start

Extract shareware data into Rott  folder

Run i386 version of Rott

Runs fine in i386.  Why does the i386 version run, but not the ARM version?

Switch back to ARM SDK
sbox-config -st SDK_ARMEL

cp rott rott.strip
strip rott.strip
stripping takes size from 1,716,773 down to 943,276 = 55 % the size of the original.

TODO - need to figure out why it works in Xephyr i386 development environment, but not in ARM on the 770.



Unzip for Nokia 770

Haven't tried installing yet.

Atari 2600 - Stella emulator

Download my compile of Stella 2.2 for the Nokia 770. Copy to /usr/bin and run as root.

Xlib.h and Xatom.h are in /usr/X11R6/include/X11/

Stella not compiling because it can't find those include files.
check Makefile
./configure ?
added -I/usr/X11R6/include to INCLUDES line in config.mak
config.mak is generated by .configure
That seems to fix the problem.



ln -s stella-arm-2.2 stella



TODO need keyboard to load and try out the games.


Linux requirements:
Linux kernel - 2.2.14 with the following libraries or packages minimums:

Minimum Hardware

checking for gtk-config... no
checking for GTK - version >= 1.2.0... no

Found this link about upgrading.

sbox-SDK_ARMEL > fakeroot apt-get install libgtk2.0-dev
sbox-SDK_ARMEL > apt-get-update
> fakeroot apt-get build-dep libgtk2.0-dev
Installed 2 new packages

> vi /etc/apt/sources.list
> apt-cache search gtk
> apt-cache show libgtk2.0-dev
> apt-cache showpkg libgtk2.0-dev

Download and install libgtk2.0-dev_2.8.20-1_arm.deb
ARMEL> dpkg -i  libgtk2.0-dev_2.8.20-1_arm.deb
requested operation requires superuser privilege
id shows me as ubuntu
$ sudo su
# /scratchbox/login start
You are not allow to run this as root!
ARMEL> fakeroot dpkg -i  libgtk2.0-dev_2.8.20-1_arm.deb
package architecture (arm) does not match system (armel)

> dpkg -l|grep -i libgtk2
> dpkg --help
> dpkg -L libgtk2.0-dev |grep -i gtk-config
> dpkg -L libgtk2.0-0

Found out that gtk-config is for gtk version 1.20.  pkg-config is used in gtk+2.0.

pkg-config --cflags gtk+-2.0
Returns include line to use for compiling c programs

Try installing Thunderbird
error: --enable-application=APP is required
./configure --enable-application=mail    ** NOTE: You can use browser to compile Firefox

libIDL-2.0 not found in pkg-config search path

The Nokia 770 does not have libIDL. It has most of the other prerequisites.

Try installing Thunderbird

export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/local/lib/pkgconfig/

Configure for Thunderbird mail client

./configure --enable-application=mail 

Use the following to configure for Minimo application

./configure --enable-application=minimo


GPE Calendar

Upgrade all packages in development environment.


You may want to make a backup of your development environment before you update anything.

SDK_ARMEL> fakeroot apt-get -u dist-upgrade

Didn't do much.  Only downloaded a couple of updates for some pre-existing packages.  

Maemo osso browser Mozilla engine

FCE Ultra


FCE Ultra 0.98.12 source

FCE Ultra download:

Elite ROM:

Download my compile of FCE Ultra 0.98.12 for the Nokia 770. Move to /usr/bin and run as root.


Status: Works, but bottom of screen graphics are messed up.  No sound.


# fceu smario.nes



Source for Windows CE


DrMDx - ported from GP2X



Developer's website:



Source download:

Problem: uses Qt instead of GTK+. Won't compile.

KDE uses Qt, GNOME uses GTK+

Since Maemo 2.0 uses GTK+, we should find something other than KOrganizer.

Try Ximian (now Novell) Evolution instead.


Evolution 2.8.1


Evolution Data Server 1.1.1

configure: error: You need to install a working iconv implementation, such as

Download libiconv 1.11

Compiled and installed

back to evolution configure

export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/local/lib/pkgconfig/

checking for GIT_LIBS...
Package gnome-icon-theme was not found in the pkg-config search path.
Perhaps you should add the directory containing `gnome-icon-theme.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gnome-icon-theme' found
configure: error: Package requirements (gnome-icon-theme >= 1.2.0) were not met.
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively you may set the GIT_CFLAGS and GIT_LIBS environment variables
to avoid the need to call pkg-config. See the pkg-config man page for
more details.

Took a look at the Evolution README for a list of prerequisites:

* gnome-icon-theme 1.2.0 or later

* ORBit 2.9.8 or later

> configure

Package libIDL-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libIDL-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libIDL-2.0' found

configure: error: Library requirements ( libIDL-2.0 >= 0.7.4 glib-2.0 >= 2.0.0 gobject-2.0 >= 2.0.0 gmodule-2.0 >= 2.0.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.

configure, make, make install

make, make install

* libsoup 2.2.1 or later

checking for libgnutls - version >= 1.0.0... no
*** The libgnutls-config script installed by LIBGNUTLS could not be found
*** If LIBGNUTLS was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the LIBGNUTLS_CONFIG environment variable to the
*** full path to libgnutls-config.

configure, make, make install

* evolution-data-server 1.1.1 or later


checking for gnome-vfs-2.0 libgnome-2.0 libxml-2.0 gconf-2.0 ORBit-2.0 >= 2.9.8... Package libgnome-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libgnome-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libgnome-2.0' found

configure: error: Library requirements (gnome-vfs-2.0 libgnome-2.0 libxml-2.0 gconf-2.0 ORBit-2.0 >= 2.9.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.


checking for glib-2.0 >= 2.0.3 gmodule-2.0 >= 2.0.3 gnome-vfs-2.0 >= 1.9.16 libxml-2.0 >= 2.4.22 libbonobo-2.0 >= 2.0.0 gconf-2.0 >= 1.1.11 audiofile >= 0.2.3 esound >= 0.2.26... Package libbonobo-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libbonobo-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libbonobo-2.0' found



checking for ORBit-2.0 >= 2.4.0 ORBit-CosNaming-2.0 >= 2.4.0 glib-2.0 >= 2.0.1 gobject-2.0 >= 2.0.1 gthread-2.0 >= 2.0.1 bonobo-activation-2.0 >= 1.0.0... Package bonobo-activation-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `bonobo-activation-2.0.pc'
to the PKG_CONFIG_PATH environment variable



checking for gmodule-2.0 >= 2.0.1 ORBit-2.0 >= 2.4.0 linc >= 0.5.1... Package linc was not found in the pkg-config search path.
Perhaps you should add the directory containing `linc.pc'
to the PKG_CONFIG_PATH environment variable
No package 'linc' found


Linc 0.5.5


test -d /home/ubuntu/src/linc-0.5.5/docs/html || mkdir /home/ubuntu/src/linc-0.5.5/docs/html
cd /home/ubuntu/src/linc-0.5.5/docs/html && gtkdoc-mkhtml linc ../linc-docs.sgml
/usr/bin/jade:../sgml/linc-types.sgml:63:19:E: ID "LINCPROTOCOLINFO" already defined
/usr/bin/jade:../sgml/linc-protocol.sgml:123:19: ID "LINCPROTOCOLINFO" first defined here

Got error, but going to try to install since error was with docs.


./configure --disable-gtk-doc

make install


End of linc 0.5.

back to ORBit-2.0



make install

back to bonobo-activation



bonobo-activation-fork-server.c: In function `bonobo_activation_server_by_forking':
bonobo-activation-fork-server.c:304: error: `LincWatch' undeclared (first use in this function)
bonobo-activation-fork-server.c:304: error: (Each undeclared identifier is reported only once
bonobo-activation-fork-server.c:304: error: for each function it appears in.)
bonobo-activation-fork-server.c:304: error: `watch' undeclared (first use in this function)

./configure --disable-gtk-doc (nope, didn't work)

Try downloading newer version.

** ERROR **

bonobo-activation is deprecated in Gnome 2.4,
it's part of libbonobo now, please build the libbonobo module

Back to libbonobo


checking for ORBit-2.0 >= 2.4.0 ORBit-CosNaming-2.0 >= 2.4.0 glib-2.0 >= 2.0.1 gobject-2.0 >= 2.0.1 gthread-2.0 >= 2.0.1 bonobo-activation-2.0 >= 1.0.0... Package bonobo-activation-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `bonobo-activation-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'bonobo-activation-2.0' found

Same error



make install

Back to libgnome-2.1.4


gcc -DHAVE_CONFIG_H -I. -I/home/ubuntu/src/libgnome-2.1.4/monikers -I.. -I/home/ubuntu/src/libgnome-2.1.4 -DORBIT2=1 -pthread -I/usr/local/include/libbonobo-2.0 -I/usr/local/include/orbit-2.0 -I/usr/local/include/bonobo-activation-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/gconf/2 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/libxml2 -DG_LOG_DOMAIN=\"libgnome\" -DVERSION=\"2.1.4\" -g -O2 -c bonobo-config-bag.c -fPIC -DPIC -o .libs/bonobo-config-bag.lo
bonobo-config-bag.c: In function `impl_Bonobo_PropertyBag_getType':
bonobo-config-bag.c:129: error: label at end of compound statement
make[2]: *** [bonobo-config-bag.lo] Error 1
make[2]: Leaving directory `/home/ubuntu/src/libgnome-2.1.4/monikers'
make[1]: *** [all-recursive] Error 1



(cd .libs && rm -f && ln -s ../
make[2]: *** No rule to make target `GNOME_Moniker_std.server', needed by `all-am'. Stop.
make[2]: Leaving directory `/home/ubuntu/src/libgnome-2.5.3/monikers'
make[1]: *** [all-recursive] Error 1

make install


back to evolution-data-server 1.1.1

TODO finish

* gtkhtml 3.5.0 or later
GTKHTML 3.9.1 is already installed in Nokia development environment

back to Evolution-2.8.0


No package 'libbonoboui-2.0' found
configure: error: Package requirements (glib-2.0 libbonoboui-2.0 >= 2.4.2 gnome-vfs-2.0 >= 2.4 libgnomeui-2.0 libglade-2.0 libgnomecanvas-2.0 libxml-2.0 gconf-2.0) were not met.

libbonoboui 2.0.3



In file included from ../bonobo/bonobo-ui-private.h:18,
from bonobo-dock-item.c:47:
../bonobo/bonobo-ui-node-private.h:5:25: libxml/tree.h: No such file or directory
../bonobo/bonobo-ui-node-private.h:6:27: libxml/parser.h: No such file or directory
../bonobo/bonobo-ui-node-private.h:7:30: libxml/xmlmemory.h: No such file or directory