Sunday, April 17, 2005

Update

So... The object storage so far is doing well but I am a little worried about the classes design wether it should just be lookup or merging. I'll check out to see what is better and see how the design handles it. One of the biggest problems is recursing which means what if object A is derived from object B which is derived from object A? This kind of situation should not happen so I will work on how it wont happen. Also I need to deal with sub properties/methods of a class inheritence, so hopefully I will find a solution by the end of the week. I know that most of you probably haven't got a single idea what I am talking about... but oh well... The multi-tasking design is also going well and I should try to code it throughout passover where I will see wether the stack can be restored or not. In theory it should work and any other OS has done this so it should work although I am bothered a bit by the performance hit but I can always optimize it later. If it works and is fast enough, then I will start working on the object storage code. This is great progress so far and once the multi-tasking and object storage is coded I have very little left to code to finish the kernel. The multi-tasking design was the hard part and since I found how to solve the communication model between modules, Its either a make or break situation. The Core API will be available in the kernel release along with the kernel source code. I think it will be released in GPL but if anyone has any other licences I should check out, let me know. The Core API is C/C++ wrapper based but can easily be made to support other languages as long as they support stack manipulation (save/restore) and PalmOS API access. It will have documentation and I plan to launch a web-site when I have the kernel ready for release where you can download the code, source and documentation. Remember that the kernel is not a library, you just make sure that the Screens.prc is on the simulator/device and just compile your code with the wrapper header and source files. No linking to anything, just compile and launch as a normal application. It registers the module with the kernel and then gets put in the thread loop automaticaly. Once you try it, you will see how easy it is.

1 comment:

Anonymous said...

I hope that things are going well since I have no idea what this is all about. any chance for a more user friendly info?