> Despite the public documentation, Palm OS is a multi-tasking OS.

I'm aware of that. I have myself posted here links to a program that 
demonstrates this:

http://flippinbits.com/twiki/bin/view/FAQ/HowDoICreateAThread

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:

MemSemaphoreReserve, MemSemaphoreRelease, SysSemaphoreCreate, 
SysSemaphoreDelete, SysSemaphoreWait, SysSemaphoreSignal, SysTaskID, 
SysTaskUserInfoPtr, SysTaskSetTermProc, SysSemaphoreSet, SysRestoreStatus, 
SysResSemaphoreCreate, SysResSemaphoreDelete, SysResSemaphoreReserve, 
SysResSemaphoreRelease, SysTaskSwitching, SysTaskWait, SysTaskWake, 
SysTaskWaitClr, SysTaskSuspend, SysTaskResume; probably others.

> 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
> information.

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? :-)

Regards,
Vesselin
-- 
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/

Reply via email to