That program definitely works under PalmOS 3.5 - maybe even under some of the earlier versions. Still, I'd rather avoid such tricks, if possible.
> 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 also a bunch of stuff related to semaphores that have meaning only in multi-tasking control:
> 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.
Dunno about Microsoft but I definitely learned how to write a TSR program from a DOS programmer's reference - although it might have been from one of the "clone" DOSes (e.g., PC-DOS). A better example is the hacks in PalmOS - Palm kept mostly silent about them and they were developed by the user community - although eventually Palm *does* mention them glancingly in the "official" documentation.
> Not using undocumented facilities to detect viruses assumes that
> all viruses follow the same rules.
No, it doesn't. Countrary to popular belief, anti-virus programs and viruses don't play by the same rules. I usually don't need to do undocumented tricks in order to detect a virus that uses some. Occasionally, the opposite is also true - I might have to use undocumented tricks in order to handle a virus that does everything "by the book".
> The idea that using only documented facilities will protect you
> from changes in future OS versions is naive.
Refraining from using undocumented features, of course, won't guarantee you a protection from quircks in futures versions of the OS. However, if you *do* rely on undocumented stuff, you're virtually guaranteed to have trouble with the new versions.
> 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
First, I don't think that I need it. Second, I don't believe that the author of YAHM got this information from Palm under NDA, did he? :-)