Sunday, July 30, 2006

Update: I am a father

Hi Everyone, Sorry for the lack of posts... My wife just had birth to my first baby boy two weeks ago on friday night. He was born at 7:50 PM (GMT+2) on 14/7/06. Thank god he is healty and doing well so far. Screens is suffered alot from this great piece of news since I dont have time anymore for personal things. I hope this will change but untill then I am sort of stuck on this project. It's just getting worse and worse... Everytime I think 'great, I am getting somewhere', I find that I am getting no where. The area here in Israel is pretty bad... a friend of mine was one of the soldiers killed in the north. It was very sad in our area this week. I dont want to be political... but it's always sad when your side has tradegies. I hope things get better for Israel and for Screens...

Friday, June 30, 2006

Fixing bugs

I have uploaded the latest source code which includes many bug fixes to make the kernel work. I have not only finished coding the communication between the module and kernel but it actually works quite nicely. I still have not decided what I want to make for the kernel, but I am sure I will find something...

Monday, June 26, 2006

Update: Kernel API Coded

Hi, I've uploaded the new source code: http://www.geocities.com/zhamilton1/screens.zip I finished coding the Kernel API thanks to some changes in the module.h header file. I know it looks like a hack but it realy did reduce the number of lines I had to write to get it working. If you look at the differences between StoreHandler.h and StoreHandler.c you will notice they are nearly identical apart from the prefix DECLARE and IMPLEMENTATION. And by this small change, it allows me to declare and implement the kernel side of handling kernel calls while in the application it uses the prefix INTERFACE and CALL which allow me to do the same thing but for the module side of calling kernel calls. A little complex but very usefull. OK, So I am starting to work on the application that will demonstate the kernel. I should finish it in a few months and I hope you will all be happy when you see it. Just remember that it demonstrates a very basic idea of the Screens Environment Object Storage and is to be seen that way and no more. From the module perspective I can know just call the kernel API and it will launch the kernel to execute that code. The application will look like a normal PalmOS prc file and can be launched from the normal launcher. Hopefully my design will pay off and the application will go smoothly, if not... I will not rewrite the kernel! Promise :)

Friday, June 23, 2006

Update: The kernel is basicly finished

Yep... You heard me right... I did it... I FINISHED THE KERNEL more or less. So what can you do with it? At the moment... nothing... Which is why I am going to spend now writing an application to make the kernel actually 'do' something. I still haven't decided what I want it to do but I'll think of something. You can find as usual the source code here: http://www.geocities.com/zhamilton1/screens.zip I am so thrilled that I finally reached this step! I knew it would happen (yeah, right ;) ) It just shows that if you dont give up, you can make it! So what do I mean by more or less done? Well... It was hard testing it internally so most of the bugs will be ironed out in the application I make that uses it. Of course while writing the application I will write the kernel API so any application can use the kernel services. If you look at the code in StoreHandler.h/c you will see a strange set of macros but these macros allowed me to reduce alot of code I would have to write otherwise. It allowed me to easily create message to function calls. I made it...

Monday, June 19, 2006

Update: StoreChannel has been coded

You can find the updated source as always here: http://www.geocities.com/zhamilton1/screens.zip I dont believe it! Things are going great! OK... StoreChannel has been coded which means that the kernel can not only launch modules but if a module talks to the kernel, I have now coded the component which will allow the kernel to read the parameters sent by the modules. What's left before I release the 0.1 version of the kernel? 1. Finish the transalation layer in the kernel that recieves the parameters and passes them to the kernel functions. No brainer here, just alot of typing. 2. Start working on a demo application to demonstrate the object storage and write the Core wrappers while working on it. While the demo application might be a bit complex (hopefully I'll think of some cool demo) the wrappers are just alot of typing. 3. Test that it works - the hard part :D Screens Environemnt is on a level it was never before and I realy feel that the kernel first release is going to be very soon. I know it has taken 4 years and the kernel only holds the object storage but because of the amount of design I have spent on other components like the UI, you will see the pace not slow down but actually go faster as time goes by. You have no idea how complex it is to design an object storage and if you dont believe me, just follow my posts :D

Store Channel Design

http://www.geocities.com/zhamilton1/storechannel.doc You can find here a short document about my design and implementation for StoreChannel component which deals with communication between the kernel and modules. Enjoy, Zakai Hamilton