> The Zire 31 uses Palm OS 5.2. The only Zire that shipped with Palm > OS 4 was the orignal Zire (m150).
Then they have m150. It's a holiday here, so I can't ask them right now - but it's the cheapest model; I think it has only 2 Mb RAM and the screen is B&W LCD. It's definitely a Zire and the OS is definitely 4.x, though. > The OS 4 version probably uses system trap patches to add their > own notifications when DmCreateDatabase and DmDeleteDatabase are > called. Maybe... Hmm, from a cursory glance (my knowledge of the 68K assembly language is on the lacking side), they patch the following traps: sysTrapDmDeleteDatabase sysTrapSysSetTrapAddress sysTrapSysGetTrapAddress sysTrapExgDisconnect sysTrapExgDBRead I don't see them patching DmCreateDatabase, so they might be doing something slightly different... Still, it's a good idea to patch DmCreateDatabase and DmDeleteDatabase during my memory scanning loop, in order to detect that the number of databases has changed under OS versions before 5.0; thanks, I'll probably do that. Back to the problem of scanning the memory card. Just as a test, I implemented the recursive version that does the whole thing at one go and can't be interrupted. It's not a usable approach; I just wanted to test that I understand the enumeration process. Now, under the simulator with an essentially empty card, that worked fine. On a real device, though, it hangs after reaching the 337-th file. The card is a game card for a PocketPC I took from another colleague (Age of Empires for PPC) - but Filez has no problems to examine its contents (although it does show bizarre non-ASCII names for a couple of files), so why does my code hang?... It not as if there are half a zillion levels of nested directories to cause a stack overflow during the recursion - the deepest level is 6, counting the root directory too. Damn. :-(( Regards, Vesselin -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
