On Tue, Apr 25, 2000 at 11:44:08AM -0700, [EMAIL PROTECTED] wrote:
> 
> Actually, no.  Most of this stuff _isn't_ designed around 64k.  The initial
> implementation was limited to 64k because the natural word size of the processor
> was a 16 bits, and every byte counts on a 128k device.  So, many (private) size
> fields & whatnot were 16 bit integers.  64k was actually the maximum size of a
> memory heap, and we had multiple heaps.  Most of that was fixed long ago,
> however.  The only remaining 64k limit that I'm aware of is for HotSync.  All
> chunks  (dynamic memory, resources, records, etc...) in RAM or ROM on the device
> can be bigger than 64k... the high level allocation routines still artificially
> limit some allocations to 64k because we do not want a chunk >64k to be attached
> to a database.  Once its part of a database, then hotsync might try to transfer
> it, and Bad things would happen.  Engineering has been pushing to get this last
> piece fixed for a while now.  When that happens, then all of the allocation
> routines will allow >64k requests.  Note that the size parameters in these
> routines have always been 32 bits long.
> 
> Hope you found the history bits interesting...

Very interesting.  Some of the compression/decompression stuff I am
doing (including pdb/prc-as-stream to from installed pdb/prc) could
use this.

But if I need a chunk >64K not in the dynamic heap, where/how do I
allocate it and what happens to it if the program aborts (If it isn't
linked to a database, how can I find or use it?).


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palm.com/devzone/mailinglists.html

Reply via email to