Monday, February 20, 2006

Update - When the going gets tough then Sleep

Hi Guys, I am not the only one who feels like this project has circled again and again... but let's not let that stop us... Coded StoreRecord and coding now StoreMemory... These are the final (I have seen that word before) components that the object storage implementation uses: StoreRecord - Provides a wrapper for PalmOS records and allowing read/write and copy to wrap on records, so writing to the end of X will continue on X+1. StoreMemory - Deals with allocation and adds chunks one after each other (in a linked list fashion) at the end of the last record (resizing the last record and adding additional records as needed). Compaction is done by aligning allocations. Allocations are found by handles (my favourite part of this component) which is a four part index (32bit) where each index is used to find a specific array allocation with the last indexed array holding the final allocation address. To cut it short... Each allocation can have a life long handle which never needs to change. The entire item storage depends on this. If you want to know more about this, leave a comment and I'll provide the jucy details. StoreItem - This takes allocations, puts a structure in them and has functions to manipulate the structure. Items are in a hierarchy with hard link support where each item can have an optional name and a data chunk. After this... I start coding the user interface components. Note that the alpha wont support the object oriented stuff. Neither will it support external modules. The idea is to give you all something to play with untill I finish the object oriented stuff which is realy tough (how many OO operating systems do you know of that made commerical success). The alpha will probably preserve the PalmOS look to ease my mind off the graphics part but will allow movable windows. We can make it different later on. The item storage sounds simple and probably is but it took me a long time to get here.

1 comment:

Brad Green said...

Take a look at this:

http://osdever.net/bkerndev/index.php?the_id=90