Moderator: Andres Valverde
Naum wrote:Hi,
I ported my latest engine version to Palm.
Tord Romstad wrote: It's a great pity; Glaurung was designed with handheld devices in mind since the beginning. I have taken great care to keep the code and data size to a minimum.
Dieter B?r?ner wrote:Tord Romstad wrote: It's a great pity; Glaurung was designed with handheld devices in mind since the beginning. I have taken great care to keep the code and data size to a minimum.
Tord,
I wonder, if one really has to care about small code and data sizes anymore, nowadays. In the context of a chess engine, I mean. I cannot imagine multi megabyte code/data for the typical chess engine. Don't cellular phones already have many MBs of memory? Of course, there are many things in chess engines, where lots of memory is handy (TT tables, tables needed for TB support, ...). But for the "pure" chess engine, it is hard to imagine, that this really is important anymore. Sure, there will be things like cache size issues. But, would it really make a lot of difference?
Tord Romstad wrote:Dieter B?r?ner wrote:Tord Romstad wrote: It's a great pity; Glaurung was designed with handheld devices in mind since the beginning. I have taken great care to keep the code and data size to a minimum.
Tord,
I wonder, if one really has to care about small code and data sizes anymore, nowadays. In the context of a chess engine, I mean. I cannot imagine multi megabyte code/data for the typical chess engine. Don't cellular phones already have many MBs of memory? Of course, there are many things in chess engines, where lots of memory is handy (TT tables, tables needed for TB support, ...). But for the "pure" chess engine, it is hard to imagine, that this really is important anymore. Sure, there will be things like cache size issues. But, would it really make a lot of difference?
At least for Palm OS devices, I think it does. Remember that there is no hard disk drive; all programs and data on the device are stored in RAM. Many of the older Palms have only 16 or 32 MB RAM. It is therefore really important to keep the programs as small as possible.
Tord
Tord Romstad wrote:Naum wrote:Hi,
I ported my latest engine version to Palm.
Hi Alex,
This is great news! Thanks a lot for the Palm OS version.
There will be a Palm version of Glaurung as soon as there is a decent set of Palm OS development tools available for Mac OS X. At the moment, the Palm OS Simulator is Windows only, which makes it very tedious to develop from OS X. It's a great pity; Glaurung was designed with handheld devices in mind since the beginning. I have taken great care to keep the code and data size to a minimum.
Tord
Naum wrote:Size of the code is not the big problem since the code is stored in the permanent memory. However, there are some restrictions regarding the code. You will have to arrange your code in segments not larger then 64K since the Palm cannot do longer jumps.
Main problem is with the data that is kept in the dynamic heap area during the program execution. This data includes all global data + stack + anything you allocate (hash tables etc.). I think that global data also includes the GUI resources (bitmaps, forms, etc.).
For instance, if dynamic heap size is 256K (that was maximum on older Palms), I have only 32K left for all the hash tables (TT and pawn eval hash).
The good news is that all newer Palms have at least 1MB of dynamic heap. I don't think there are many of us left with old Palm models (mine is 5 years old). I am not going to support those old Palms any more, and this will make my life much easier.
One more thing. The endian order of bytes on Palm is opposite to the PC. This is actually causing me most of the work, since I have some speed tricks that depend on the endian order. And to make things more interesting, the new ARM processor uses PC endians, so you have to do the swaping when executing in ARM native mode.
I could send you the Naum's Palm GUI and book source code if you think it would help. You may be able to plug-in your engine code into it. Engine's source can work with almost no changes. You would probably need some work integrating with my time management (which is very primitive on my Palm version). Then I can try to compile it on my machine.
Thanks a lot for your generous offer! Yes, I would very much like to have a look at your GUI and book code, and I will see if it is feasible to plug in my engine code. I am not sure I can use this for a public release, though. Glaurung is a GPL program, which means that I am probably not allowed to release a Glaurung for Palm OS with a non-GPL GUI.
Tord
Return to Winboard and related Topics
Users browsing this forum: No registered users and 23 guests