Programming the HP 100/200LX Palmtop PCs is in one way easy and another difficult. What makes it easy is that the HP Palmtops are DOS machines any DOS program that runs on an XT class machine with a CGA display will run on the 100/ 200LX. Program-ming for the Palmtop becomes more difficult if one wants to write programs that operate under the Palmtops System Manager. Writing System Manager compliant programs from scratch requires new tools and concepts, and porting existing DOS programs over is not all that easy.
Since you can set up DOS programs to run from Application Manager, or from the DOS prompt, why bother with System Manager compliancy at all? The answer: Users like the features of System Manager compliant programs, including the pull-down menus, dialog boxes, hot-keys and cut-and-paste capabilities. Programmers were stuck between a rock and a hard place. It became evident that they needed a PAL to help them out.
PAL: The Palmtop Application Library
PAL is a collection of C language functions that provide DOS programs with the look & feel of the HP 100/ 200LX built-in applications. The library is the result of a common development effort from independent programmers located in the U.S., Canada, and Europe. Contributors communicate via e-mail and messages in Library 15 (Palmtop Programmers) of the CompuServe HPHAND forum.
When HPHAND Sysop Mark Scardina suggested the original concept and was looking for somebody to lead and coordinate the project, I volunteered. I liked the idea and knew that it could work from the impressive results of the Stone Soup Group, creators of FRACTINT .
Much of the work that was needed for PAL had already been done - HPCLIB, a graphics library written by Harry Konstas, served as a basis for what should become PAL.
PAL Includes everything but the C compiler
PAL comes complete with source code and many useful programming utilities. All the files in PAL are copyrighted freeware and may be used to develop public domain, shareware, or commercial applications - there are no royalties or obligations beyond giving credit to the PAL group. All that is needed beyond PAL is an ANSI C compliant compiler. At the time of this writing, PAL comes with built-in support for the following C compilers:
Borland Turbo C,
Borland C++
Microsoft MSC
Microsoft QuickC
MIX PowerC
Symantec C++
Programmers can use PAL on both the Palmtop and on a desktop writing programs for the Palmtop. Complete documentation in ASCII text and hypertext formats is included in PAL. Sample source codes illustrate the use of the library.
The library provides graphics functions, support for windows, menus, bitmaps, icons, dialog boxes, configuration files, built-in and proportional fonts, and even access to System Manager specifics like the clipboard.
Programs created using PAL
Although the first official version of PAL (numbered 1.0) has been available for a short time only, a number of applications have already been written, or are currently under development, that use PAL. Below is a list of some of these applications. Others are in development and should be available soon.
Future additions
The great advantage of a library is that one can add as much functionality as one wants - programs that use the library only grow by the size of those functions that they are actually calling. So the potential for addition is endless. The next PAL version will have an entirely new module that permits handling of palmtop-specific files: phone databases, general databases, notes databases, application manager databases, and eventually even MEMO text files. In the dialog department, list boxes will be added, and a file selection box will be built using them. A help system is currently under development as well.
Thanks!
The following people are part of the PAL group, or have contributed in the past: (in alphabetical order)
Name -- CompuServe ID
Ron Crain -- [70011,307]
Andreas Garzotto -- [73064,1657]
Gilles Kohl -- [100137,637]
Harry Konstas -- [72540,620]
Barry Marks -- [70020,527]
David Vickers -- [76334,3252]
How to get PAL
The latest version of PAL is available as PAL.ZIP , in library 15 of the HP Handhelds forum (GO HPHAND) on CompuServe. It is also available with the HP Palmtop Developers Kit (see page 16 for more information).