GNUGoS60 is a port of the FSF's GNU Go game engine to Nokia's S60 smartphone platform running on SymbianOS.

It is Free Software.

Thursday, December 28, 2006

GNU Go in Fullscreen on N90

After much analysis of flogger trace files I finally found the reason for the application crashing on target device. A stack overflow was the cause (no big surprise there). Debugging took the best part of 2 days though because I had thought that I had already resolved all those stack overflows, but actually I had only ticked a mental box "I must fix all those stack problems". So much for memory :). I created a new bug on the GnuGoS60 project page now so that I don't forget to do a code inspection sometime and eliminate the more obvious of the remaining potential problems.

You can also see that this screen shot looks a bit different to previous ones. I have implemented one new feature (finally). This is the ability to have the board in full screen without the wasteful S60 title bar taking up screen real estate. It looks nice enough on the N90, though I'll need to try on some of the newer QVGA screens also since it will look slightly different.

Well, gnugo is now finally working well on a real device. This is big progress for me. The rest of the work is more or less just feature work. Filling in the blanks to bring the S60 port up to the same level as the ascii interface. I'll make a 0.1 release before it's feature complete though. Probably as soon as I implement some way to know who won the game and when I resurrect the 3rd edition version to see far it has rotted while I was focusing on getting the 2nd edition version working.

Tuesday, December 26, 2006

GnuGo for S60 running on Nokia N90

Merry Christmas!

As you can see here GnuGoS60 is now running on a real phone. I had been having trouble getting anywhere at all. I was able to make a SIS, but the application didn't run at all.

Eventually I figured out that even a HelloWorld application didn't run with ECompXL enabled. I am not entirely sure why this and spent some time doign binary diffs and checking various things to no avail. Everything seemed ok. I had been using the binary distribution of it on the ECompXL website, but just since I had run out of ideas I decided to compile from source the .app and .exe of ECompXL. Suddenly HelloWorld worked, and soon after so did GNU Go.

I am not entirely sure why I should need to have done that, but anyway it launches now, so no complaints.

What it doesn't do is run properly though. It always crashes immediately after playing my second move. This doesn't happen at all on the emulator unfortunately. I have gotten rid of all those bugs, and on the emulator everything runs smoothly, so it's a bit of a pain to have to go and do all that again on the device, but such is life. Time to investigate flogger...

Still looking good for a 0.1 release for 2nd edition devices in the new year, and third edition shortly after that. Here's hoping!