It has been a glorious 6 months so far with the N900 - porting ScummVM, running Windows 3.11 and NT 4.0, Mac OS X 10.3, writing applications and generally hacking and tuning stuff, but soon the time is up. I got my N900 at Maemo Summit 2009 as a 6-month loaner, which I really appreciate Nokia for. But in a few weeks that time is up, and I will have to give it away. And with unemployment in the family, I won't be able to afford to purchase one of my own. There's still time to do cool stuff with it, but I fear that in less than a month, I will simply have to give it away and find something else to do instead So I'm wondering, what is going to be the final cool thing to do with it, while I still can? Any suggestions? It has been suggested that I make available the emulators I used previously, especially Bochs. I could do that. But who wants those anyway - if I can do something better? What would it be? Please let me know. And soon..
A while ago, Qt Software released some helpful software and instructions on how to make real homescreen widgets on the N900 using Qt 4.6. As I had already previously implemented my Luxus light meter widget as a sort-of homescreen widget - as part of an experiment if it's possible to do a Qt app for N900 from scratch in one day and get it published too - I was of course intrigued in finding out how easy it would be to enable it as a full-blown homescreen widget. It turned out to be pretty easy!
From the "just for fun!" department: Full version of Mac OS X 10.3 running on the N900! I believe this makes the N900 the first smartphone EVER to run the full version of Mac OS X (at any speed, slow or otherwise). Youtube video below.
I thought to give it a try if one could make a Maemo 5/N900 app from scratch, and publish it on the Maemo.org extras-devel repository, all in just one day. Well, it was possible! The result is the Luxus 0.1 light meter desktop widget, and you can get it from extras-devel today.
Randall Arnold has created an excellent Maemo Community outreach flyer, and I am especially happy about it since he has chosen to use my Maemo Summit 2009 pictures in it. Go and check it out at: http://maemo-daemons.org/maemo-org_community-flyer1_Maemo5.pdf !
People are asking me just exactly how does one install ScummVM? Well, the answer has changed. With my version, you pretty much had to know some basic Maemo hacking to get it installed. However, now as the official version of ScummVM is available from the Maemo Extras-devel repository, all you have to is:
Install scummvm from Application Manager: Select Download, then Games, then scroll until you see ScummVM. Click, follow instructions, and that should do it!
It was only a matter of time, after I got the Bochs PC emulator working on N900, I just had to try how slow Windows NT 4.0 would be inside it I'll post further details of how exactly I did it later, but for now, here it is:
I've received some questions and would like to post the answers right here in case others are wondering the same things about the N900:
Yes, the memory on the device is partitioned so that you have around 1.5GB or so for applications, and the rest for data (images, videos, music, maps, software you use with DOSBox, etc.)
To install Dosbox you have to add one or all of the extras repositories in your device App manager: extras, extras-devel, extras-testing. More instructions about that are available at: https://wiki.maemo.org/Extras
I did some tweaking and uploaded a faster Windows 3.11 running on N900-video to Youtube. The most important changes were setting frameskip=6 in dosbox preferences and installing of S3 video drivers in Windows, which had a huge difference in speed. I would have liked to test how well it would have worked with a Bluetooth mouse and keyboard, but I still don't have any to try it with.
For laughs, I just had to try running Windows 3.11 using Dosbox on the N900.. worked ok except for the mouse cursor, which was simply all over the place, so I used X11VNC for controlling the mouse remotely..
UpdateI changed Dosbox settings to use Frameskip=2 and now it's running faster, though still not fast.
Come up with new keypresses for the essential features like saving and loading game
Upload the binary package to maemo.org Downloads and fremantle repositories
Submit things to the mainstream project in case I actually do any
production-quality code changes, instead of random hacking around
(though I'm not hiding anything, all my stuff is available upon request
if someone really wants.)
Try to get the screen centered (already happens in fullscreen)
Display the mouse cursor (actually already seems to happen in AGI games like Larry 1)
I have posted my Maemo Summit 2009 photos on flickr. If someone remembers I'm that guy with the weird old-fashioned film camera.. (click picture to open set.)
I have made an initial unofficial build of ScummVM for the N900. It seems to work OK.
It requires some additional packages, all of which are available in the extras, extras-devel or extras-testing repositories, such as: libsdl, libmad, libvorbisidec, libflac, libasound.
All I really did was:
Apply the supplied patch for the N810 (Maemo 4) devices and added the -lX11 flag to linking, since otherwise it could not find the symbol XStoreName which comes from libX11.
Add RX-51 (=N900) into the list of keyboard-equipped Maemo devices in the part where it figures whether or not it's running on a keyboard-equipped device or not
Fix the window focus - due to a Fremantle SDL bug (https://bugs.maemo.org/show_bug.cgi?id=5153)
you couldn't use the keyboard at all since all keypresses went to
wherever you launched Scummvm from (homescreen -> calls up the
Contacts page, xterm -> keypresses appear on command line) otherwise.
I would like to stress out that this is completely based on the previous Maemo porting work and all I did was the abovementioned things on top of that.
Now that I have this running, things to do would be (in no particular order):
Figure out which parts of the Maemo 4 patch are still a) necessary b) working anymore. At least the part that adds the application into the launch menu is still working. The part about bypassing GCC 3.x bugs may not be.
Come up with new keypresses for the essential features like saving and loading games
change the default directory to /home/user/MyDocs (or something) when adding new games
Upload the binary package to maemo.org Downloads and fremantle repositories
Submit things to the mainstream project in case I actually do any production-quality code changes, instead of random hacking around (though I'm not hiding anything, all my stuff is available upon request if someone really wants.)
Try to get the screen centered
Display the mouse cursor (actually already seems to happen in AGI games like Larry 1)
Enable fullscreen mode with some key combo
Things I don't think I'll be able to solve:
Music playback is sometimes choppy
The file selector dialog is not very usable on a touchscreen device
Latest comments