<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkcDQXk9fip7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-33161775</id><updated>2011-11-28T00:27:50.766Z</updated><category term="debug" /><category term="gnugos60" /><category term="installing" /><category term="realphone" /><category term="future ideas" /><category term="svgt" /><category term="sdk" /><category term="releases" /><category term="uiq" /><category term="design" /><category term="protocols" /><category term="anti-aliasing" /><category term="go" /><title>GNU Go for S60</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://gnugos60.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/GNUGoS60" /><feedburner:info uri="gnugos60" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkQDQn0-cSp7ImA9WxFQE0g.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-5533009165689032184</id><published>2010-05-08T22:14:00.005+01:00</published><updated>2010-05-08T22:32:53.359+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-08T22:32:53.359+01:00</app:edited><title>Bye CVS, Hello SVN</title><content type="html">&lt;div style="text-align: left;"&gt;I have switched over the source control for gnugos60 on sourceforge from &lt;a href="http://en.wikipedia.org/wiki/CVS"&gt;CVS&lt;/a&gt; to &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; now. Here's the &lt;a href="http://sourceforge.net/scm/?type=svn&amp;amp;group_id=177094"&gt;instructions&lt;/a&gt; for anyone that cares. This should hopefully make it a bit easier for me to to actually make some changes to the code.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The 0.2 version where any new features are doesn't compile at the moment, so I think I'll just go ahead and release a 0.1.2 that only contains the memory usage / speedup fix and an up to date certificate so it can actually be installed.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Tune in next week. Same bat time. Same bat channel.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JyYYAOI-wKI/S-XXQ80LUGI/AAAAAAAAAIk/4IE-3dtr-dA/s1600/1966_Batman_titlecard.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 230px;" src="http://2.bp.blogspot.com/_JyYYAOI-wKI/S-XXQ80LUGI/AAAAAAAAAIk/4IE-3dtr-dA/s400/1966_Batman_titlecard.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5469014008714186850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;Or not, as the case may be.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-5533009165689032184?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/VpGFBQkuTpo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/5533009165689032184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=5533009165689032184" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/5533009165689032184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/5533009165689032184?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/VpGFBQkuTpo/bye-cvs-hello-svn.html" title="Bye CVS, Hello SVN" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_JyYYAOI-wKI/S-XXQ80LUGI/AAAAAAAAAIk/4IE-3dtr-dA/s72-c/1966_Batman_titlecard.JPG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2010/05/bye-cvs-hello-svn.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcDQX4zfyp7ImA9WxZXE04.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-500609537791342232</id><published>2008-03-01T01:10:00.002Z</published><updated>2008-03-01T01:14:30.087Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-03-01T01:14:30.087Z</app:edited><title>Certificate Expired Problems</title><content type="html">Someone reported a problem that when installing getting a "Certificate Expired" message. I thnk this is because it's one year since I did the self signing on the SIS, and self signing lasts only one year.&lt;br /&gt;&lt;br /&gt;I'll upload a re-signed version later, but in the meantime anybody who experiences might try just setting the clock back a few months, and see if the install can succeed. You can reset the clock back to the correct date after install.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-500609537791342232?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/aF0RtjqicQA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/500609537791342232/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=500609537791342232" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/500609537791342232?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/500609537791342232?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/aF0RtjqicQA/certificate-expired-problems.html" title="Certificate Expired Problems" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>19</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2008/03/certificate-expired-problems.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QFRX4zfip7ImA9WB9UF0w.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-858162702700550175</id><published>2007-12-04T13:40:00.000Z</published><updated>2007-12-15T11:48:34.086Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-15T11:48:34.086Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><title>GNUGoS60 v0.1.1 is released</title><content type="html">GNUGoS60 v0.1.1 is released for S60 2nd FP2 phones.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span&gt;&lt;span style="font-family:Arial,Helvetica;"&gt;&lt;a href="http://downloads.sourceforge.net/gnugos60/GNUGoS60v20-FP2-0.1.sis"&gt;&lt;img src="http://gnugos60.sourceforge.net/sis.png" valign="CENTER" align="middle" border="0" /&gt;&lt;/a&gt;                 &lt;a href="http://downloads.sourceforge.net/gnugos60/GNUGoS60v20-FP2-0.1.1.sis"&gt;GNUGoS60v20-FP2-0.1.1.sis&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It fixes only this FP2 specific error, quite possibly only partially:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1844075&amp;amp;group_id=177094&amp;amp;atid=879866"&gt;Out of Memory after 1 or 2 moves on 6680&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;I have reduced the cache size from 2MB to 400k, and this seems to allow it to do some moves. I was able to make 10 or so on the 6680 RDA before I got fed up waiting for it :)&lt;br /&gt;&lt;br /&gt;Please let me know if the out of memory still persists on any FP2 phones, and after approximately how many moves.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note: &lt;/span&gt;For other S60 2nd users with low memory phones, (like 7610 or 6600) this may be worth a try also if you are experiencing this bug, but I haven't tried this release on anything other than 6680, and it was built with the FP2 SDK:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1786273&amp;amp;group_id=177094&amp;amp;atid=879866"&gt;7610 gives an out of memory error after several (2-10) moves&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-858162702700550175?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/IEeimqVPgZk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/858162702700550175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=858162702700550175" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/858162702700550175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/858162702700550175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/IEeimqVPgZk/gnugos60-v011-is-released.html" title="GNUGoS60 v0.1.1 is released" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>9</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/12/gnugos60-v011-is-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQCRX06fip7ImA9WB9VF00.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-843809348634996747</id><published>2007-12-03T17:24:00.000Z</published><updated>2007-12-03T17:36:04.316Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-03T17:36:04.316Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><title>GNUGoS60 v0.1 for S60 2nd FP2 released</title><content type="html">I just uploaded a v0.1 package for S60 2nd FP2 phones now.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span&gt;&lt;span style="font-family:Arial, Helvetica;"&gt;&lt;a href="http://downloads.sourceforge.net/gnugos60/GNUGoS60v20-FP2-0.1.sis"&gt;&lt;img src="http://gnugos60.sourceforge.net/sis.png" valign="CENTER" align="middle" border="0" /&gt;&lt;/a&gt;                 &lt;a href="http://downloads.sourceforge.net/gnugos60/GNUGoS60v20-FP2-0.1.sis"&gt;GNUGoS60v20-FP2-0.1.sis&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;span style="font-family:Arial, Helvetica;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;I found that the reason it didn't work on them before was because there is a bug in the firmware for all phones based on that release that means ECompXL doesn't work at all. Staffan Ulfberg (of &lt;a href="http://www.harmonicode.com/EEMame/"&gt;EEMame&lt;/a&gt;) had wrote in a forum about a similar problem, and mentioned he had a workaround, so I emailed him for the solution, and he kindly responded with help.&lt;br /&gt;&lt;br /&gt;It now launches on 6680, but honestly I think anybody installing it is going to be disappointed, because you get out of memory so easily. Even after 1 move or something. I have read that 6630, 6680 and 6681 have even lower memory than 2.0 or FP1 devices like 6600 or 7610, which get out of memory too, but after 10-20 moves.&lt;br /&gt;&lt;br /&gt;Anyway, the game is basically unplayable on those devices I would say.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-843809348634996747?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/M-kwvazrW5Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/843809348634996747/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=843809348634996747" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/843809348634996747?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/843809348634996747?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/M-kwvazrW5Y/gnugos60-v01-for-s60-2nd-fp2-released.html" title="GNUGoS60 v0.1 for S60 2nd FP2 released" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/12/gnugos60-v01-for-s60-2nd-fp2-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEAR3ozfCp7ImA9WB9VF00.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-7504209779727672121</id><published>2007-12-01T16:13:00.000Z</published><updated>2007-12-03T17:24:06.484Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-03T17:24:06.484Z</app:edited><title>Debugging the 6680: Forum Nokia's Remote Device Access</title><content type="html">There is a longstanding bug in the S60 2nd editon port of GNUGoS60 that affects the 6680. I think it is probably also the same as reported by several people (including Dániel again a couple of days ago) for 6630 since those phones are basically identical in SW terms, the 6680 just having non-hideous mechanical design :)&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1651164&amp;amp;group_id=177094&amp;amp;atid=879866"&gt;[ 1651164 ] can't install/run on nokia 6680&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;h2 style="font-family: arial;"&gt;&lt;!-- google_ad_section_start --&gt;&lt;/h2&gt;&lt;div style="text-align: left;"&gt;The symptom is that it installs, but doesn't run. I have been wondering how I can begin to solve this, since I don't have access to a 6680 or 6630 to try and debug it on. I remember reading a while ago about Forum Nokia's &lt;a href="http://www.forum.nokia.com/main/technical_services/testing/rda_introduction.html"&gt;Remote Device Access&lt;/a&gt; program before, but at the time it was only for S60 3rd devices. I checked back today though, and the have a couple of 2nd edition devices now, including the 6680:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JyYYAOI-wKI/R1GCnCS2OFI/AAAAAAAAADw/rGWmS7eWWbE/s1600-R/6680.bmp"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_JyYYAOI-wKI/R1GCnCS2OFI/AAAAAAAAADw/yf8ZiiI5lEA/s400/6680.bmp" alt="" id="BLOGGER_PHOTO_ID_5139032256948877394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;I was able to logon to the server, connect the phone and install GNUGoS60v20-0.1.sis to the 6680, all through a java interface. It's pretty neat.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JyYYAOI-wKI/R1GFYyS2OGI/AAAAAAAAAD4/WCkhZkLL2Ig/s1600-R/RDA.PNG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_JyYYAOI-wKI/R1GFYyS2OGI/AAAAAAAAAD4/3doXn4DLr2w/s400/RDA.PNG" alt="" id="BLOGGER_PHOTO_ID_5139035310670624866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;And yes, I was able to reproduce the bug easily, since the program does not start at all despite the successful installation. Well, now I have to go and create a test build with some logging enabled to start to track the problem. Unfortunately I also need to recreate a 2&lt;sup&gt;nd&lt;/sup&gt; edition SDK build environment, since I had a hard disk fail, and my old one is kaput. I've been only working on 3&lt;sup&gt;rd&lt;/sup&gt; edition for the last few months while adding the new features.&lt;br /&gt;&lt;br /&gt;Anyway, I recommend any developer to use the Forum Nokia RDA service. It seems really useful. It would be nice to have more S60 2nd devices though.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-7504209779727672121?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/eAcp-_AH4Q8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/7504209779727672121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=7504209779727672121" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7504209779727672121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7504209779727672121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/eAcp-_AH4Q8/debugging-6680-forum-nokias-remote.html" title="Debugging the 6680: Forum Nokia's Remote Device Access" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_JyYYAOI-wKI/R1GCnCS2OFI/AAAAAAAAADw/yf8ZiiI5lEA/s72-c/6680.bmp" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/12/debugging-6680-forum-nokias-remote.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ENQXczfCp7ImA9WB9VE0k.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-4807904686310353433</id><published>2007-11-29T14:12:00.000Z</published><updated>2007-11-29T14:14:50.984Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-29T14:14:50.984Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="anti-aliasing" /><title>Anti-aliasing in Symbian</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JyYYAOI-wKI/R0689Vu6cSI/AAAAAAAAADY/S67wiJt45SI/s1600-h/notround.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_JyYYAOI-wKI/R0689Vu6cSI/AAAAAAAAADY/S67wiJt45SI/s400/notround.PNG" alt="" id="BLOGGER_PHOTO_ID_5138251986868269346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As you can see in this zoomed image, the stones in GNUGoS60 are more like octagons than actual circles. This is is to be somehow expected given the resolution, and not completely bad, all things considered. There is a certain old skool charm about the crappiness of the graphics :)&lt;br /&gt;&lt;br /&gt;Still, some people may prefer their stones round, and anti-aliasing is the term in computer graphics for doing our best to hide the visual limitations of CG renderings. Like octagonal circles, sor instance. Symbian do not provide any such functions that I can see. The Symbian Graphics Context, &lt;span style="font-family:courier new;"&gt;CWindowGc&lt;/span&gt;, doesn't seem to provide any way to draw anti-aliased circles (or anti-aliased anything).&lt;br /&gt;&lt;br /&gt;All is not lost though, since it's pretty easy to draw a circle all by ourselves, one pixel at a time. As everyone surely heard at least once in school, the equation for a circle at origin is:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-family: courier new;font-size:130%;" &gt;x&lt;sup&gt;2&lt;/sup&gt; + y&lt;sup&gt;2&lt;/sup&gt; = r&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;or more generically, where cx, cy are the coordinates of the circle's center:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold; font-family: courier new;font-size:130%;" &gt;(x - cx)&lt;sup&gt;2&lt;/sup&gt; + (y - cy)&lt;sup&gt;2&lt;/sup&gt; = r&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Knowing this, and that each pixel has an x and y coordinate, we can define 2 concentric circles. The outer one equal to the radius we want the stones to be draw. The inner one some tunable factor smaller than that, typically somewhere in the range 0.0 .. 2.0. Given these 2 circles,we can say that, depending on x,y coordinate values, there are three types of pixel:&lt;br /&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Pixels outside the outer circle, which are not forming any part of the stone. &lt;/li&gt;&lt;li&gt;Pixels inside the inner circle, which are 100% part of the stone.&lt;/li&gt;&lt;li&gt;Pixels in between the two, which are some measurable percentage both part of the stone and not part of the stone.&lt;/li&gt;&lt;/ol&gt;Type 1 pixels get no color when drawing the stone. Type 2 pixels get the stone color, black or white, as appropriate. Type 3 pixels again get black or white as appropriate, but also get a transparency value, where it is set transparent to the extent that it is outside the stone. This will have the effect that it will blur the edge pixels reasonably well against the background and give the impression of the stone being rounder (and blurrier :).&lt;br /&gt;&lt;br /&gt;Anyway, after all that geometry, Below is the end result. I'm not sure which is actually better, and it may be a matter of taste (and screen resolution), so I'll keep an option to switch between the two.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;176x208 resolution&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JyYYAOI-wKI/R066Blu6cRI/AAAAAAAAADQ/JKrW6nTLGbE/s1600-h/board_176x208.PNG"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_JyYYAOI-wKI/R066Blu6cRI/AAAAAAAAADQ/JKrW6nTLGbE/s400/board_176x208.PNG" alt="" id="BLOGGER_PHOTO_ID_5138248761347830034" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JyYYAOI-wKI/R0657Fu6cQI/AAAAAAAAADI/gQJRLrg3yug/s1600-h/board_aa_176x208.PNG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_JyYYAOI-wKI/R0657Fu6cQI/AAAAAAAAADI/gQJRLrg3yug/s400/board_aa_176x208.PNG" alt="" id="BLOGGER_PHOTO_ID_5138248649678680322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;240x320 resolution&lt;/span&gt;&lt;br /&gt;&lt;/div&gt; &lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JyYYAOI-wKI/R0657Fu6cPI/AAAAAAAAADA/4bwnBJCJELo/s1600-h/board_240x320.PNG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_JyYYAOI-wKI/R0657Fu6cPI/AAAAAAAAADA/4bwnBJCJELo/s400/board_240x320.PNG" alt="" id="BLOGGER_PHOTO_ID_5138248649678680306" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JyYYAOI-wKI/R0657Fu6cOI/AAAAAAAAAC4/ydcVxMrTh14/s1600-h/board_aa_240x320.PNG"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_JyYYAOI-wKI/R0657Fu6cOI/AAAAAAAAAC4/ydcVxMrTh14/s400/board_aa_240x320.PNG" alt="" id="BLOGGER_PHOTO_ID_5138248649678680290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;352x416 resolution:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JyYYAOI-wKI/R07Cg1u6cTI/AAAAAAAAADg/RyirAtaOir0/s1600-h/board_352x416.PNG"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_JyYYAOI-wKI/R07Cg1u6cTI/AAAAAAAAADg/RyirAtaOir0/s400/board_352x416.PNG" alt="" id="BLOGGER_PHOTO_ID_5138258094311764274" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JyYYAOI-wKI/R07ChVu6cUI/AAAAAAAAADo/tMt6DmIARUA/s1600-h/board_aa_352x416.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_JyYYAOI-wKI/R07ChVu6cUI/AAAAAAAAADo/tMt6DmIARUA/s400/board_aa_352x416.PNG" alt="" id="BLOGGER_PHOTO_ID_5138258102901698882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;One thing making direct comparison difficult is that the anti-aliased ones don't have the black outline for the white stones. Originally I thought that this wasn't needed, but looking at the images side by side, I think that it's probably better to have it. Unfortunately though such an outline would require another funciton to draw an anti-aliased circle outline, which ought to be straightforward, but I haven't done it yet.&lt;br /&gt;&lt;br /&gt;I wonder are there any (L)GPL libraries for 2d graphics in Symbian that support anti-aliasing. Adding an extra library is a bit much for the limited amount of drawing in GNUGoS60 though.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-4807904686310353433?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/BuP7aC9rOqA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/4807904686310353433/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=4807904686310353433" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/4807904686310353433?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/4807904686310353433?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/BuP7aC9rOqA/anti-aliasing-in-symbian.html" title="Anti-aliasing in Symbian" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_JyYYAOI-wKI/R0689Vu6cSI/AAAAAAAAADY/S67wiJt45SI/s72-c/notround.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/11/anti-aliasing-in-symbian.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQEQngyeip7ImA9WB9XEUo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-7142633925153817557</id><published>2007-11-04T10:51:00.000Z</published><updated>2007-11-04T11:05:03.692Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-11-04T11:05:03.692Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gnugos60" /><title>You Lost!</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JyYYAOI-wKI/Ry2gyceTzfI/AAAAAAAAACg/SEOXd-9fp64/s1600-h/YouLost%21.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_JyYYAOI-wKI/Ry2gyceTzfI/AAAAAAAAACg/SEOXd-9fp64/s400/YouLost%21.PNG" alt="" id="BLOGGER_PHOTO_ID_5128932339142086130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Over the last few weeks I've been slowly adding the missing features and fixing some of the bugs in preparation for some sort of 0.2 release, hopefully before the end of the year. Finally now it can tell you whether you won or lost the game. Great functionality there :)&lt;br /&gt;&lt;br /&gt;Must.  Add.  Scoring.&lt;br /&gt;&lt;br /&gt;Anyway, it now also indicates when a move is valid. Shows a "ghost" stone along with the cursor. Indicates the last computer move. Lets you set the level (from 1 to 10). Lets you set the board size (from 5 to 19). Shows your move before going off and "thinking". I've also just begun to make it multi-threaded, so the GUI shouldn't lock-up like it does now when it is busy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-7142633925153817557?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/UYapm8Rl83o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/7142633925153817557/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=7142633925153817557" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7142633925153817557?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7142633925153817557?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/UYapm8Rl83o/you-lost.html" title="You Lost!" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_JyYYAOI-wKI/Ry2gyceTzfI/AAAAAAAAACg/SEOXd-9fp64/s72-c/YouLost%21.PNG" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/11/you-lost.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08BSHs6fyp7ImA9WB9QFE0.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-3021425820867034618</id><published>2007-10-26T14:21:00.000+01:00</published><updated>2007-10-26T14:37:39.517+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-10-26T14:37:39.517+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="uiq" /><title>GNU Go for UIQ</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JyYYAOI-wKI/RyHqzceTzeI/AAAAAAAAACY/HvBdQF8Khvs/s1600-h/gnugo_uiq.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_JyYYAOI-wKI/RyHqzceTzeI/AAAAAAAAACY/HvBdQF8Khvs/s400/gnugo_uiq.jpg" alt="" id="BLOGGER_PHOTO_ID_5125636020461882850" border="0" /&gt;&lt;/a&gt;Somebody seems to have ported gnugo to UIQ also. You can download it from AnotherGuest's page &lt;a href="http://anotherguest.k0.se/"&gt;here&lt;/a&gt;. I haven't tried it, since I don't have any UIQ phones, but people might find it useful.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://en.softonic.com/ie/66253"&gt;&lt;img src="http://en.softonic.com/developers/softonic_awards/ratings/175px/softonic_4stars.gif" alt="Softonic - Reviews and free software downloads" title="Softonic - Reviews and free software downloads" style="border-style: none;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I only found it out because Softonic reviewed it and sent me an email thinking that it is my version. Their review page links back to the gnugos60 site, though I've asked them to change it, since it's confusing. Anyway, UIQ port got 4 stars, despite the "pretty feable [&lt;span style="font-style: italic;"&gt;sic&lt;/span&gt;]"&lt;b&gt; &lt;/b&gt;graphics :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-3021425820867034618?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/KoNYJCLNPFI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/3021425820867034618/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=3021425820867034618" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3021425820867034618?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3021425820867034618?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/KoNYJCLNPFI/gnu-go-for-uiq.html" title="GNU Go for UIQ" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_JyYYAOI-wKI/RyHqzceTzeI/AAAAAAAAACY/HvBdQF8Khvs/s72-c/gnugo_uiq.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/10/gnu-go-for-uiq.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4HQ38zeCp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-3721869128802017767</id><published>2007-04-18T15:35:00.001+01:00</published><updated>2007-07-03T15:28:52.180+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:28:52.180+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="future ideas" /><category scheme="http://www.blogger.com/atom/ns#" term="go" /><category scheme="http://www.blogger.com/atom/ns#" term="protocols" /><title>Internet Go Protocols</title><content type="html">There seem to be 5 main protocols out there for playing go over the internet. They are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GMP - Go Modem Protocol&lt;/li&gt;&lt;li&gt;GTP - Go Text Protocol&lt;/li&gt;&lt;li&gt;NNGS - No Name Go Server Protocol&lt;/li&gt;&lt;li&gt;IGS - Internet Go Server Protocol&lt;/li&gt;&lt;li&gt;KGS - Kiseido Go Server Protocol&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://www.britgo.org/tech/gmp.html"&gt;GMP&lt;/a&gt; seems to have an open spec. The protocol is supported by some programs, but may be old by now, and my impression is that it may not be so popular anymore.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.lysator.liu.se/%7Egunnar/gtp/"&gt;GTP&lt;/a&gt; seems to have replaced GMP as the default protocol that people implement in their Go game. I think it was implemented originally for Gnu Go. The &lt;a href="http://www.lysator.liu.se/%7Egunnar/gtp/"&gt;GTP spec&lt;/a&gt; is open, as you'd expect.&lt;br /&gt;&lt;a href="http://nngs.sourceforge.net/"&gt;&lt;br /&gt;NNGS&lt;/a&gt; is a Go server, and has it's own protocol, but seems maybe this server is not really popular anymore, and not many sites run it. The source code is open, but the spec is not documented outside of the code. Seems there are many private variations of this as a result.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pandanet.co.jp/English/"&gt;IGS&lt;/a&gt; is a popular go server, and their protocol is open-ish. At least there is a &lt;a href="http://www.koders.com/noncode/fid2C78D24147B76E1CF1196C20428DC7BC62715F38.aspx"&gt;IGS protocol spec&lt;/a&gt; from them floating on the net, and seems many software implement the protocol. The spec says it's for implementing a client only, so no big problem I guess.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gokgs.com/"&gt;KGS&lt;/a&gt; is a popular go server, and their protocol seems closed. However Marc Lehmann has kindly reverse engineered and documented it, so there is an open &lt;a href="http://cvs.schmorp.de/kgsueme/doc/protocol.html"&gt;KGS protocol spec&lt;/a&gt; available.&lt;br /&gt;&lt;br /&gt;GTP and GMP are already implemented in GNU Go (though as a server rather than client), so it's probably fairly straightforward to implement them in GNUGoS60 as a client, though I am not entirely sure how useful that would actually be.&lt;br /&gt;&lt;br /&gt;The other 3 would probably be harder to do, not least because you probably need to have more gui support also. Presumably they would be more useful for the average person though.&lt;br /&gt;&lt;br /&gt;Anyway, lots to implement in standalone client before that though...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-3721869128802017767?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/NdapQ0J5poY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/3721869128802017767/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=3721869128802017767" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3721869128802017767?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3721869128802017767?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/NdapQ0J5poY/internet-go-protocols.html" title="Internet Go Protocols" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>1</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/04/internet-go-protocols.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIEQ3c5fCp7ImA9WB5bFkk.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-5904533762884124758</id><published>2007-02-19T13:35:00.000Z</published><updated>2007-09-01T13:08:22.924+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-09-01T13:08:22.924+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="svgt" /><title>Inkscape and svg2svgt</title><content type="html">If you want to make an icon for S60 3.0 you are supposed to make them as SVGT, and to help with that the SDK contains a utility called svg2svgt. This is written in Java, and it's wonderful installer generally fails to install (at least on the 3 PCs I have tried). There is a workaround for this though which works, and is included in the release notes (though who ever reads those). Anyway, generally what happens is that it complains that it is not compatible with the Java 1.3.x that is by default installed on most Windows. It doesn't recognize even if you have later JRE installed. Anyway, the solution is to put JAVA 1.4.x in your PATH.&lt;br /&gt;&lt;br /&gt;cmd&lt;br /&gt;c:&gt;set PATH=C:\program files\java\jre1.4.x\bin;%PATH%&lt;br /&gt;&lt;br /&gt;then run the installer for svg2svgt from the command line.&lt;br /&gt;&lt;br /&gt;c:&gt;\Symbian\9.1\S60_3rd_MR\S60Tools\svg2svgt\installer\svg2svgtconverter.exe&lt;br /&gt;&lt;br /&gt;Hey presto, it installs.&lt;br /&gt;&lt;br /&gt;So now you look around for a way to make a SVG, and really there is only one good free option, and that is to use Inkscape. You duly design whatever you want and save it in Inkscape, and then run the svg2svgt on it. Hey presto, it looks nothing like the icon you designed in Inkscape.&lt;br /&gt;&lt;br /&gt;What has gone wrong? For a reason explained &lt;a href="http://discussion.forum.nokia.com/forum/archive/index.php/t-66983.html"&gt;here&lt;/a&gt; by               Greg_Jokiel the svg2svgt doesn't parse the style attribute used extensively by Inkscape to set the colors and other things. The end result is that your icon looks nothing like you expected. shapes are the wrong color or disappear altogether.               Greg_Jokiel gives a solution in that link, though it would be a pain to do by hand even for one icon. Anyway, I created a script &lt;a href="http://downloads.sourceforge.net/gnugos60/svg2s60-1.0.zip?modtime=1171921696&amp;big_mirror=0"&gt;svg2s60&lt;/a&gt; to do what he recommends and make the Inkscape files parsable correctly by svg2svgt. No guarantee that it works correctly for all (or even any) files, but it worked correctly for my icon.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Updated 01 Sept 2007: "here" link fixed&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-5904533762884124758?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/iV4ys3AOYjk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/5904533762884124758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=5904533762884124758" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/5904533762884124758?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/5904533762884124758?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/iV4ys3AOYjk/inkscape-and-svg2svgt.html" title="Inkscape and svg2svgt" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>11</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/02/inkscape-and-svg2svgt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YGQX85eyp7ImA9WB9UEU8.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-6105316579964661474</id><published>2007-02-05T13:15:00.001Z</published><updated>2007-12-08T13:38:40.123Z</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-12-08T13:38:40.123Z</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="realphone" /><category scheme="http://www.blogger.com/atom/ns#" term="gnugos60" /><category scheme="http://www.blogger.com/atom/ns#" term="installing" /><title>Status of GnuGoS60 on real phones</title><content type="html">Just thought I'd give a brief rundown of the phones that this port of gnugo has been confirmed working on, and those that have reported problems. If you don't see your phone here (or it contradicts what I have listed), and you have tested it please add a comment giving the status.&lt;br /&gt;&lt;br /&gt;I know there are still bugs in the software, so please ignore them :)&lt;br /&gt;&lt;br /&gt;This is just a "somehow works"/"doesn't work at all" type of check for GnuGoS60-0.1&lt;br /&gt;&lt;br /&gt;Reported OK&lt;br /&gt;&lt;ul&gt;&lt;li&gt;6600&lt;br /&gt;&lt;/li&gt;&lt;li&gt;6670&lt;/li&gt;&lt;li&gt;6120&lt;/li&gt;&lt;li&gt;N73&lt;br /&gt;&lt;/li&gt;&lt;li&gt;N80&lt;/li&gt;&lt;li&gt;N90&lt;/li&gt;&lt;li&gt;N91&lt;br /&gt;&lt;/li&gt;&lt;li&gt;N93&lt;br /&gt;&lt;/li&gt;&lt;li&gt;N93i&lt;/li&gt;&lt;li&gt;E50&lt;/li&gt;&lt;li&gt;E61&lt;/li&gt;&lt;li&gt;E61i&lt;/li&gt;&lt;li&gt;E65&lt;/li&gt;&lt;li&gt;E70&lt;/li&gt;&lt;li&gt;6630 - broken in v0.1, but sort of works from v0.1.1 onwards&lt;/li&gt;&lt;li&gt;6680 - broken in v0.1, but sort of works from v0.1.1 onwards&lt;/li&gt;&lt;/ul&gt; Reported Not OK&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strike&gt;6630&lt;/strike&gt; - broken in v0.1, but sort of works from v0.1.1 onwards&lt;/li&gt;&lt;li&gt;&lt;strike&gt;6680&lt;/strike&gt; - broken in v0.1, but sort of works from v0.1.1 onwards&lt;/li&gt;&lt;li&gt;E70 (2.0618.07.10) - real issue or not?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(102, 102, 102);font-size:85%;" &gt;(Updated 06/02/2007 21:36 - N80 somehow works)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 13/02/2007 21:26 - E50 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 14/02/2007 22:32 - N91 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 16/02/2007 21:41 - E61 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 05/05/2007 18:15 - N73 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 22/05/2007 20:56 - E70 somehow doesn't work) - (03/07/2007 still valid?)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 22/05/2007 20:58 - E65 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 03/07/2007 22:47 - E70 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 03/07/2007 22:47 - E61i somehow works too)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 22/09/2007 22:47 - 6120 somehow works too)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);font-size:85%;" &gt;&lt;span style="color: rgb(102, 102, 102);"&gt;(Updated 08/12/2007 22:37 - 6680, 6630 problem fixed in v0.1.1)&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-6105316579964661474?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/1SPFdLK1gMw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/6105316579964661474/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=6105316579964661474" title="14 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/6105316579964661474?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/6105316579964661474?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/1SPFdLK1gMw/status-of-gnugos60-on-real-phones.html" title="Status of GnuGoS60 on real phones" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>14</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/02/status-of-gnugos60-on-real-phones.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYHSH85fCp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-3347565739396529353</id><published>2007-02-01T13:35:00.001Z</published><updated>2007-07-03T15:15:39.124+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:15:39.124+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gnugos60" /><category scheme="http://www.blogger.com/atom/ns#" term="releases" /><title>GNUGoS60-0.1 Released (woohoo!)</title><content type="html">I am pleased to announce that version 0.1 of GNU Go for S60 has been released. You can download it &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=177094&amp;package_id=204110&amp;amp;release_id=482861"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It supports S60 3rd edition and S60 2nd editions. The support for 3rd edition is a  bit better than 2nd edition which still has a kind of hack in to make it run at all, but that slows it down pretty severely. Nevertheless it plays a game of Go. Not much else, but it's a reasonable start.&lt;br /&gt;&lt;br /&gt;Version 0.2 will seek to implement some of the more important features that are missing from the interface, though might be a while coming, so enjoy version 0.1 for now :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-3347565739396529353?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/T1xK1R9Q--c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/3347565739396529353/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=3347565739396529353" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3347565739396529353?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3347565739396529353?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/T1xK1R9Q--c/gnugos60-01-released-woohoo.html" title="GNUGoS60-0.1 Released (woohoo!)" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>4</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/02/gnugos60-01-released-woohoo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYCRHc9fip7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-7997269831077890235</id><published>2007-01-15T13:19:00.001Z</published><updated>2007-07-03T15:16:05.966+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:16:05.966+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><title>Symbian Signed and .SIS file installation</title><content type="html">Maaaah. What a nightmare&lt;br /&gt;&lt;br /&gt;:(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-7997269831077890235?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/UMreGZvbv88" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/7997269831077890235/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=7997269831077890235" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7997269831077890235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7997269831077890235?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/UMreGZvbv88/symbian-signed-and-sis-file.html" title="Symbian Signed and .SIS file installation" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2007/01/symbian-signed-and-sis-file.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUHSH4_fSp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-8932612424662882542</id><published>2006-12-28T15:45:00.000Z</published><updated>2007-07-03T15:17:19.045+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:17:19.045+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>GNU Go in Fullscreen on N90</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JyYYAOI-wKI/RZPi5rdFgiI/AAAAAAAAAAY/1noQ2uC85bA/s1600-h/FullscreenN90.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_JyYYAOI-wKI/RZPi5rdFgiI/AAAAAAAAAAY/1noQ2uC85bA/s320/FullscreenN90.JPG" alt="" id="BLOGGER_PHOTO_ID_5013600290738635298" border="0" /&gt;&lt;/a&gt;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 &lt;a href="http://sourceforge.net/projects/gnugos60/"&gt;GnuGoS60 project page&lt;/a&gt; now so that I don't forget to do a code inspection sometime and eliminate the more obvious of the remaining potential problems.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-8932612424662882542?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/T1YgB3YE9Hs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/8932612424662882542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=8932612424662882542" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/8932612424662882542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/8932612424662882542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/T1YgB3YE9Hs/gnu-go-in-fullscreen-on-n90.html" title="GNU Go in Fullscreen on N90" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_JyYYAOI-wKI/RZPi5rdFgiI/AAAAAAAAAAY/1noQ2uC85bA/s72-c/FullscreenN90.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/12/gnu-go-in-fullscreen-on-n90.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMRHg-fip7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-8754819896944722985</id><published>2006-12-26T08:37:00.000Z</published><updated>2007-07-03T15:18:05.656+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:18:05.656+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="realphone" /><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><title>GnuGo for S60 running on Nokia N90</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JyYYAOI-wKI/RZDdnbdFghI/AAAAAAAAAAM/5VY4N6TprOA/s1600-h/NokiaN90.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_JyYYAOI-wKI/RZDdnbdFghI/AAAAAAAAAAM/5VY4N6TprOA/s400/NokiaN90.JPG" alt="" id="BLOGGER_PHOTO_ID_5012750054717751826" border="0" /&gt;&lt;/a&gt;Merry Christmas!&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I am not entirely sure why I should need to have done that, but anyway it launches now, so no complaints.&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;br /&gt;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!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-8754819896944722985?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/I_n1sq4AHHg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/8754819896944722985/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=8754819896944722985" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/8754819896944722985?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/8754819896944722985?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/I_n1sq4AHHg/gnugo-for-s60-running-on-nokia-n90.html" title="GnuGo for S60 running on Nokia N90" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_JyYYAOI-wKI/RZDdnbdFghI/AAAAAAAAAAM/5VY4N6TprOA/s72-c/NokiaN90.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/12/gnugo-for-s60-running-on-nokia-n90.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQGSHs4cSp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-7729228707771158203</id><published>2006-11-26T13:54:00.000Z</published><updated>2007-07-03T15:18:49.539+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:18:49.539+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>GnuGo for S60 Supports Different Board Sizes</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/785979/GameMenu.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/686922/GameMenu.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/630326/19x19.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/907628/19x19.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;As you can see above and below, I have added rudimentary support for different board sizes now to GNUGoS60. This makes it much easier to do quick testing of new features because I don't need to wait for ever to have the game complete. There seem to be a few things that I need to re-initialize because I noticed that the emulator becomes unstable after a while when changing board sizes a lot. Anyway, something for a later date. For now, the changes have been checked into CVS, so you can see the development "live" so to speak.&lt;br /&gt;&lt;br /&gt;One thing I noticed was that there is no way to end the game. So I added the "pass" menu also. Don't have time to add the functionality yet though even though it's probably just a few minutes work once I get around to investigating it. I think I'll have a think about how I want the UI to work before adding a lot of the rest of the GnuGo interface features.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/364738/13x13.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/501367/13x13.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/297825/9x9.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/687590/9x9.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-7729228707771158203?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/4wXe-c0btIk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/7729228707771158203/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=7729228707771158203" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7729228707771158203?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/7729228707771158203?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/4wXe-c0btIk/gnugo-for-s60-supports-different-board.html" title="GnuGo for S60 Supports Different Board Sizes" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/11/gnugo-for-s60-supports-different-board.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMGQHg6eCp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-5452042229156963146</id><published>2006-11-25T14:36:00.000Z</published><updated>2007-07-03T15:20:21.610+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:20:21.610+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gnugos60" /><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><title>GnuGo for S60 code now in Sourceforge.net</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/72973/CVS.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/583286/CVS.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I have updated the code that I have in the working status from the previous post to the &lt;a href="http://sourceforge.net/projects/gnugos60/"&gt;GnuGoS60 project page&lt;/a&gt; on sourceforge.net now. CVS wasn't so difficult to use after all, though I already encountered some of the limitations that made me dislike when I used it previously. Anyway, it'll have to do.&lt;br /&gt;&lt;br /&gt;In the unlikely event that someone actually wants to download the code, please be aware that you will need to install ECompXL to get anywhere with the 2nd edition SDKs. Also I haven't bothered compiling with the third edition for a long time, so it might not work at all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-5452042229156963146?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/vAm_WtPk6jY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/5452042229156963146/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=5452042229156963146" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/5452042229156963146?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/5452042229156963146?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/vAm_WtPk6jY/gnugo-for-s60-code-now-in.html" title="GnuGo for S60 code now in Sourceforge.net" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/11/gnugo-for-s60-code-now-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMCRHk4eip7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-4011069585863326406</id><published>2006-11-25T13:34:00.000Z</published><updated>2007-07-03T15:21:05.732+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:21:05.732+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>GnuGo for S60 Achieves Stability</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/67619/FullGame.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/292137/FullGame.png" alt="" border="0" /&gt;&lt;/a&gt;As You can see from the above image, gnugo is is now operating pretty solidly on the S60 emulator. That's a genuine game (that i am in the process of losing :). In case you are wondering why I made the stupid moves into the corner it's because I was doing edge testing! Honestly! For some reason that I don't remember now, the GUI that I made is indexing 1 to 19, but gnugo is indexing 0 to 18. This was causing it to abort any time I played a move on the edge. It seems ok now, though I'll have to check if there is some tidy up that I can do there.&lt;br /&gt;&lt;br /&gt;The stability is all down two things. Firstly ECompXL allowing me to leave all the global data as it was, and secondly due to the long hours I spent getting rid of all the overlarge automatic variables. They were causing a lot of stack overflows which are impossible to debug. I made a macro to malloc the memory instead of allocating on the stack. I also wrapped the affected files in C++, so that I could use automatic pointer type of class to take care of the freeing. I was having huge memory leaks before that because gnugo has lots of cpp macros that include a return statement.&lt;br /&gt;&lt;br /&gt;I also tried to make a SIS package today. I got it to create and to install on my N90, but of course it didn't run at all or give any useful message why. No doubt I am putting some file in the wrong place or something. Symbian installation is not the nicest system in the world.&lt;br /&gt;&lt;br /&gt;I also got some official UIDs allocated now, so I am using one of those for the application rather than one plucked out of thin air.&lt;br /&gt;&lt;br /&gt;I also need to stop procrastinating and brush up on how to use CVS, so I can make the source code available. Need to do that before I start distributing any SIS packages anyway.&lt;br /&gt;&lt;br /&gt;Next up to implement is the ability to play a smaller game than 19x19, so that I can test end of game conditions without waiting for hours. This should be just adding a menu basically. The board gui control and gnugo engine already support it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-4011069585863326406?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/nso4-BIriVM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/4011069585863326406/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=4011069585863326406" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/4011069585863326406?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/4011069585863326406?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/nso4-BIriVM/gnugo-for-s60-achieves-stability.html" title="GnuGo for S60 Achieves Stability" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/11/gnugo-for-s60-achieves-stability.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMMSXc6eip7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-280894620307525996</id><published>2006-11-18T16:25:00.001Z</published><updated>2007-07-03T15:21:28.912+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:21:28.912+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><title>ECompXL again</title><content type="html">Finally got some time to read about ECompXL properly. Turns out that it doesn't support libraries, so I needed to put all the code into one big .app file. This is no big deal really. I would have expected the .dlls to be loaded all the time the game is running anyway. The split was just for convenience.&lt;br /&gt;&lt;br /&gt;Anyway, the real global data support now meant that I could roll back all my changes to move them all to Tls. It was painful to move them there in the first place, but I am glad to be rid. I used "beyond compare" to merge back with the original version of gnugo. I have a lot less changes now, so less chance of going wrong. Overall the switch to ECompXL is well worth the effort for me.&lt;br /&gt;&lt;br /&gt;I could actually merge out more changes than I actually did. I left in the dllexports that I put in when I had the code split into libraries, but those are not necessary anymore. That's next on the todo list.&lt;br /&gt;&lt;br /&gt;For the moment I am getting the below message on the console after playing the second move. That is a standard gnugo error message, so at least I seem to be past the hard crashing phase, though I am quite sure that the trigger for the gnugo error is either something I have done or something that I need to do because it's on Symbian.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/559/4048/1600/566408/SteppedOnABug.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/559/4048/320/309044/SteppedOnABug.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Still it's not a kernel panic or other exception, rather an application level error. Some sort of progress maintained even after two lots of wholesale changes.&lt;br /&gt;&lt;br /&gt;Next plan is to start putting some of this code in sourceforge CVS...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-280894620307525996?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/AjxsCi3H7is" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/280894620307525996/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=280894620307525996" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/280894620307525996?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/280894620307525996?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/AjxsCi3H7is/ecompxl-again.html" title="ECompXL again" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/11/ecompxl-again.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIFQn0zfSp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-3237789618603127196</id><published>2006-11-18T16:04:00.000Z</published><updated>2007-07-03T15:21:53.385+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:21:53.385+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><title>Unresolved external symbol __chkstk</title><content type="html">I have found that in some places I get random crashes of the application. After some investigation this seems to be caused by stack overflow.  Generally I get it when gnugo is doing memset or something similar on a large array. Actually this is hard to debug in the emulator to begin with because it just kills the debugger without showing anything useful other than a "first chance exception" dialog box. The way around that is to replace the system memset with my own version that just is a for loop filling in the memory instead of whatever assember magic the system version does. This causes the debugger to terminate nicely showing the line of code where it overflows.&lt;br /&gt;&lt;br /&gt;So why am I getting these. Well for starters because I ignored all the "Unresolved external symbol __chkstk" messages and went ahead and defined __chkstk just to get the thing running in the emulator. So much for shortcuts :)&lt;br /&gt;&lt;br /&gt;After removing that definition, gnugo leaves 7 or 8 files which have obviously too large stacks. Unfortunately those files are each 100-200kB in size, so I spent a lot of time going through the files allocating all the arrays and large structures on the heap instead of the stack. It took a long time, but had to be done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-3237789618603127196?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/SC7byFEdsXA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/3237789618603127196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=3237789618603127196" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3237789618603127196?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/3237789618603127196?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/SC7byFEdsXA/unresolved-external-symbol-chkstk.html" title="Unresolved external symbol __chkstk" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/11/unresolved-external-symbol-chkstk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIGSHY6eSp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-115894366334092663</id><published>2006-09-22T17:41:00.000+01:00</published><updated>2007-07-03T15:22:09.811+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:22:09.811+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><title>ECompXL: Epoc Compressed Executable Loader</title><content type="html">I found this interesting project &lt;a href="http://www.yipton.demon.co.uk/ecompxl/latest/readme.html"&gt;ECompXL&lt;/a&gt;, yesterday. It's basically a replacement loader for your Symbian application. What's interesting from my point of view is that it also adds support for global data. From the text:&lt;br /&gt;&lt;blockquote&gt;&lt;a style="font-style: italic;" href="http://www.yipton.demon.co.uk/ecompxl/latest/readme.html#Support_for_global_data_and_global_C"&gt;Support for global data and global C++ objects in applications&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Symbian OS executables (.exes) already have full support for global modifiable data and global C++ objects, and ECompXL allows you to have them in your applications (.apps) as well. If you have built your application as described in the previous section, support for global modifiable data in your application comes for free.&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;This is cool if it works as advertised. I'll have to give it a try out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-115894366334092663?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/qouzl8JHJXk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/115894366334092663/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=115894366334092663" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115894366334092663?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115894366334092663?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/qouzl8JHJXk/ecompxl-epoc-compressed-executable.html" title="ECompXL: Epoc Compressed Executable Loader" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/09/ecompxl-epoc-compressed-executable.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIDR3sycCp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-115876262361115469</id><published>2006-09-20T15:23:00.000+01:00</published><updated>2007-07-03T15:22:56.598+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:22:56.598+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><category scheme="http://www.blogger.com/atom/ns#" term="svgt" /><title>Application Icons in S60 v2.0</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/ApplicationMenuS60v2.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/320/ApplicationMenuS60v2.png" alt="" border="0" /&gt;&lt;/a&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/BoardIconS60v2.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/320/BoardIconS60v2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I created icons for the S60 v2.0 version now also. These are just bitmaps and masks for them. I ended up using GIMP to downscale the icons from the one on the gnugo website. MS Paint and MS Photo Editor seen to just do nearest neighbour or something similar algorithm when downscaling images. This results are pretty poor quality. GIMP at least supports some sort of interpolation which gives a reasonable quality (as much as can be expected in 44x44 bitmap).&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/context_pane_icon.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/context_pane_icon.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div style="text-align: left;"&gt;Making a mask was a pain though. There didn't seem to be any automatic way to do it, so I ended up doing by hand using the icon as the starting point. I am presuming that there is some automated way to do it somewhere out there. Otherwise it would be a huge waste of people's time. The SVG system in S60 v3.0 is far superior.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/context_pane_icon_mask.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/context_pane_icon_mask.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Anyway, now it's done, at least I don't have to do again!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-115876262361115469?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/7oDwbtwIDrs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/115876262361115469/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=115876262361115469" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115876262361115469?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115876262361115469?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/7oDwbtwIDrs/application-icons-in-s60-v20.html" title="Application Icons in S60 v2.0" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/09/application-icons-in-s60-v20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEINRXk7cSp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-115867951221556121</id><published>2006-09-19T16:12:00.000+01:00</published><updated>2007-07-03T15:23:14.709+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:23:14.709+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="gnugos60" /><title>GnuGoS60 Sourceforge.net Project Page</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/Sourceforge.8.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/Sourceforge.1.png" alt="" border="0" /&gt;&lt;/a&gt;  &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/Homepage.5.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/Homepage.0.png" alt="" border="0" /&gt; &lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I have created a &lt;a href="http://sourceforge.net/"&gt;sourceforge.net&lt;/a&gt; project for hosting the gnugos60 code. &lt;a href="http://sourceforge.net/projects/gnugos60/"&gt;&lt;br /&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/gnugos60/"&gt;GNU Go for S60 Project Page&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gnugos60.sourceforge.net/"&gt;GNU Go for S60 Home Page&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Alternatively here are the plain URLs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/gnugos60/"&gt;http://sourceforge.net/projects/gnugos60/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://gnugos60.sourceforge.net/"&gt;http://gnugos60.sourceforge.net/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;I haven't uploaded anything except screenshots yet though. I need to install CVS or SVN on my PC. (I use Perforce up to now). Then I need to figure out how to use them...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-115867951221556121?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/g-QxruVlNR8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/115867951221556121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=115867951221556121" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115867951221556121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115867951221556121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/g-QxruVlNR8/gnugos60-sourceforgenet-project-page.html" title="GnuGoS60 Sourceforge.net Project Page" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/09/gnugos60-sourceforgenet-project-page.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEGSX8_fSp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-115850869688124352</id><published>2006-09-17T16:51:00.000+01:00</published><updated>2007-07-03T15:23:48.145+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:23:48.145+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sdk" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>GNU Go for S60 v2.0</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/BoardS60v2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/320/BoardS60v2.png" alt="" border="0" /&gt;&lt;/a&gt;Finally got the S60 second edition to stop crashing enough to draw the board. Maaaan that was hard work! Basically I have been working on it for the whole weekend trying to get it to compile once all the global variables I could spot have been stripped out and moved to a dynamic structure stored in Tls().&lt;br /&gt;&lt;br /&gt;Really, whoever decided that not supporting global variables was a good idea needs a right good sla^H^H^H *ahem* ... talking to. It is positively the worst OS misfeature I have ever come across. Using Tls() is not even a good solution because there is no migration path to speak of. Basically you have to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;go through the code and look for a writable variable (the compiler only accurately warns about some tiny minority of them, so keep your eyes peeled)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;move the declaration to one place&lt;/li&gt;&lt;li&gt;mov the initialization to a different place that doesn't support the previous type of initialization&lt;/li&gt;&lt;li&gt;make the runtime inialization work&lt;br /&gt;&lt;/li&gt;&lt;li&gt;define a macro for the old variable name&lt;/li&gt;&lt;li&gt;add the macro to however many dozen files need it&lt;/li&gt;&lt;li&gt;workaround any issues in the code that conflict with the macro&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Congratulations! You have now migrated one writable static variable to SymbianOS. Now repeat a few hundred times. And if you missed any of them be prepared for this message and some long hours with the debugger:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/UnhandledException.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/320/UnhandledException.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-115850869688124352?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/Fgp6-JOmJ8k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/115850869688124352/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=115850869688124352" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115850869688124352?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115850869688124352?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/Fgp6-JOmJ8k/gnu-go-for-s60-v20.html" title="GNU Go for S60 v2.0" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/09/gnu-go-for-s60-v20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDQng5eyp7ImA9WB5QFEo.&quot;"><id>tag:blogger.com,1999:blog-33161775.post-115642873058327465</id><published>2006-09-15T07:28:00.000+01:00</published><updated>2007-07-03T15:24:33.623+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2007-07-03T15:24:33.623+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="debug" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><title>It's Alive! (briefly :)</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/ItLives.1.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/ItLives.0.png" alt="It Lives!" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/ItLivesStill.0.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/ItLivesStill.0.png" alt="It Lives Still! Game On!" border="0" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/612/3637/1600/Oops.png"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/612/3637/200/Oops.png" alt="Oops!" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Exciting stuff. Got enough of the GNU Go back end linked with the GUI so that I can display the actual GNU Go board rather than an dummy one, and rather than just me toggling black and white stones on, the GNU Go AI responds to my moves, and makes it's own moves. (And then crashes :)&lt;br /&gt;&lt;br /&gt;Anyway, the important point is that all the white stones on the board shown were not put there by me. They were put there by GNU Go. It's a big step forward.&lt;br /&gt;&lt;br /&gt;Well, things are looking up. Can't be too far from playing a full game vs gnugo on the S60 emulator, once I get all the  crashing sorted out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33161775-115642873058327465?l=gnugos60.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GNUGoS60/~4/fouMtNFP4Lc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://gnugos60.blogspot.com/feeds/115642873058327465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=33161775&amp;postID=115642873058327465" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115642873058327465?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/33161775/posts/default/115642873058327465?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/GNUGoS60/~3/fouMtNFP4Lc/its-alive-briefly.html" title="It's Alive! (briefly :)" /><author><name>Gnu Go for S60</name><uri>http://www.blogger.com/profile/06167990942871576591</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://photos1.blogger.com/blogger/612/3637/1600/logo.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://gnugos60.blogspot.com/2006/09/its-alive-briefly.html</feedburner:origLink></entry></feed>

