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.
This will not be a big problem for Glaurung, I think.
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).
This is a more difficult challenge, but I think it should still be possible to solve. Except for the TT and the pawn hash table, I don't have any big global data structures.
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.
I also don't intend to support old Palms. If it is not too difficult, I will probably make an ARM executable.
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.
Glaurung makes no assumptions about endianness. I use exactly the same source code on Intel and PowerPC processors, without any #ifdefs depending on the platform. Of course, it is still possible that the swapping when switching between ARM and 68k modes could cause problems.
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