Talk:83Plus:OS:Variable Storage in the User Archive
From WikiTI
Revision as of 18:09, 13 October 2009 by FloppusMaximus (Talk | contribs)
Application size
BrandonW had this to say on the page:
<BrandonW> That "401Ch" thing for the app size, that's completely wrong. <BrandonW> You have to use the field search routines to find it. <BrandonW> Just because it's at 401Ch on one doesn't mean it'll be there on another.
It'd be nice if someone who know about this sort of thing to explain how to do this in more detail. For that, we need more general information on parsing headers. Dr. D'nar 22:17, 10 October 2009 (UTC)
As far as I know, every fields in app header (save for the date stamp) start with $80 and a byte whose first nibble indicate field type and second nibble indicate field size. The only exception appears to be the two fields of size four for which the "size nibble" if F... Some investigation in the OS implementation of field search might clarify this... User:fullmetalcoder 14:59 13 October 2009 (GMT+2)
- The boot code provides lots of routines for searching through app headers (83Plus:BCALLs:805A, 83Plus:BCALLs:805D, 83Plus:BCALLs:8075, 83Plus:BCALLs:80AB, ...) In fact, the OS uses these boot code routines whenever it needs to find data in an app header, certificate, or the OS header.
- It is absolutely not safe to assume anything about the addresses or lengths of app header fields, apart from the fact that the header is required to be at most 128 bytes in total (so that it fits in a single link packet.) As I recall, WabbitSign provides some excellent examples of how not to read app headers.
- FloppusMaximus 02:09, 14 October 2009 (UTC)