Despite the public documentation, Palm OS is a multi-tasking OS. The following "undocumented" calls are identified in some of the information that I gathered about YAHM: KALTaskCreate, KALTaskDelay, KALTaskDelete, KALTaskGetCurrentID, KALTaskGetInfo, KALTaskResume, KALTaskSuspend, KALTaskStart, KALTaskSwitching, KALTaskWait, KALTaskWaitClr, KALTaskWake, KALTaskExit, SysTaskCreate, SysTaskDelay, SysTaskDelayV40, SysTaskDelete.
There is very little documentation from Microsoft about how to write a MSDOS TSR. Certainly not enough to write one. TSRs were developed by the developer community, not by Microsoft. The Microsoft attitude toward TSRs was primarily silence, with occasional warnings and disclaimers. Not unlike what we're seeing now with Palm. Not using undocumented facilities to detect viruses assumes that all viruses follow the same rules. Virus writers are not among the most pristine in their approach to rules. The idea that using only documented facilities will protect you from changes in future OS versions is naive. Witness the current problems with NVFS. "Documented" does not equate to "stable", "unchanging" or even "functional". "Undocumented" likewise does not equate to "changeable" or "non-functional". It's like a log rolling contest, and only the alert and constantly involved have a chance at staying upright. The reason that SetTrapAddress is not available in OS/5 is that it doesn't make sense with an Arm device that is emulating a 68K. TRAP is a 68K instruction that transfers control from a 68K program to a 68K handler. In OS/5, the 68K TRAP instruction transfers control to an Arm handler. If you want to provide an alternate handler, then you need to intercept the call to the Arm handler and provide your own Arm handler. This is exactly what YAHM does. Palm is not going to tell you how to do this without some legal leverage on how you use the information. -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
