volumes over 4GB

Palm's API does not have support for volumes over 4GB. This is a problem. The following is a proposition-letter I sent to a few PalmOS developers, that will hopefully help fix this situation. Comments are welcome.


As you may already be aware I am writing an SDHC driver for all PalmOS
5 devices, due to be released soon. After that, I will release a FAT32
driver, to fix the horrific performance of palm's driver. This brings
into contrast PalmOS's VFS layer's problems in dealing with reporting
volume sizes and free sizes over 4GB. I plan to introduce a new API in
my driver, and would like to ask you to add support for it in your
products. It should be a very painless, and backwards compatible to do
so. The api consists of two parts. There is a Feature ('PpFs',
0x3137). If it is present and its value is 1 or greater, the device
has the driver and supports the new api. To call it, you need to call
the relevant filesystem library's CustomControl function. The creator
for the call should be 'PpFs' and the call id should be 0 to get total
card space and 1 to get free space. The parameter should be a pointer
to a UInt32 where the return value is stored. The return value is not
in bytes like palm's api, but in blocks of 512 bytes. Thus a return of
2048 after a call to get free space means that there is 1MB free on
the card.

Please reply with your opinion on adding support for this.

No comments: