


	CHAPTER 1:   HP 95LX Software Developer's Overview

The information in this document is intended for Independent Software Vendors'
(ISV) use when planning software development or adaptation for the
HP 95LX Computer.  Hewlett-Packard hopes that this information about the
HP 95LX platform will be sufficient so that you can formulate strategies to
adapt your products to the HP 95LX.

===== LEVELS OF ADAPTATION =====

Most PC programs intended to run on the HP 95LX will require (or at least
benefit from) modification to conform to the HP 95LX hardware.
Assuming that you have considered this, the first thing you should consider
is how your software will run on the HP 95LX. The HP 95LX
platform provides three options in this area:

  1. Run from RAM as an independent DOS program. Such a program would be
     compiled and linked with standard DOS tools and be loaded and executed by
     DOS exactly as on a standard PC.

     There are several distribution options for these programs. All that is
     required for their execution is that they reside on an HP 95LX disk.
     Hence they could be down-loaded to the HP 95LX's internal RAM disk
     from a PC or a modem, or distributed on a plug-in ROM card that has been
     formatted as a disk.

     This is the simplest execution option but it may be the least
     RAM-efficient, and it will not be integrated with the HP 95LX's built-in
     applications.

  2. Run as an independent ROM-executable XIP (eXecute In Place) program.
     Such a program would be distributed on a plug-in ROM card. At execution
     time, the program would bank switch its code into the CPU address space
     using the HP 95LX's bank-switching capabilities.

     This option provides greater RAM efficiency than option 1, but there is no
     integration with the built-in applications.

     This level of adaptation requires the code to be ROMable, requires special
     software tools to prepare the ROM image, and requires the program to use
     the HP 95LX's bank-switching services. These tools and services are not
     completely described in this manual, but they will be defined in the
     developer's kit.

  3. Run under the System Manager.  Such a program is called
     System-Manager-compliant in this manual - the program can be either
     RAM-executable or XIP. Under this option, the program has access to the
     same set of services that are used by the built-in applications. For
     example, this enables the program to share a non-preemptive multitasking
     environment with the built-in applications so that the user can
     conveniently switch between tasks.


The information you will need to write System-Manager-compliant applications
is in chapters 7 and 8.


===== THE HP 95LX HARDWARE OVERVIEW =====

The HP 95LX is a palmtop computer that is very PC-compatible except in areas
that have been customized to accommodate its small size or to support large
amounts of memory.

These areas are highlighted in the following five sections.

DISPLAY
-------

The HP 95LX's physical display is 40 characters by 16 lines in text mode. This
display is a window into an MDA standard 80 character by 25 line display RAM.
While there is provision for windowing the physical display around the larger
display RAM, we presume that most software development for the
HP 95LX will include customization to a 40 by 16 screen.

The display also has a (non-standard) graphics mode with pixel dimensions of
240 columns by 128 rows.

CHARACTER FONT
--------------

The HP 95LX character fonts are stored in ROM. Codepage 850 was used since it
contains international characters - it was chosen to facilitate
localization of the product. Developers should be aware that the
character-font standard for PC's is codepage 437.

(Codepage 437 contains line-drawing characters.)

KEYBOARD
--------

The HP 95LX keyboard is not shown in figure 1-1. (You'll have to use your
nearest HP 95LX or your imagination, whichever is nearer to hand.)

See "BIOS Int 9h" in chapter 5 for the scan/ASCII codes corresponding to each
key.

MEMORY STRUCTURE
----------------

The HP 95LX has more "logical" memory (memory residing on memory ICs) than can
be accommodated in the 1-megabyte "physical" address space of its CPU. Bank
switching is used to access the additional memory. Figure 1-2 shows how bank
switching accesses code for the computer's built-in applications and how to
access the memory on a plug-in card.

PLUG-IN CARDS
-------------

The HP 95LX has a plug-in-card slot that accommodates a PCMCIA/JEIDA standard
memory card. This card slot is analogous to a floppy-disk drive on a standard
PC.

There are two main types of cards:

* A battery-backed RAM card which is formatted as a RAM disk. This type of
card is analogous to a floppy disk. RAM cards are available in 128K and
512K-byte sizes.

* A ROM card that contains application software. This card could be formatted
as a disk in which case it would be analogous to a read-only disk. A ROM card
can also contain XIP software designed to be bank switched into CPU address
space rather than accessed as a disk file. ROM cards will be available in 1-
and 2-megabyte sizes.


===== THE HP 95LX SOFTWARE OVERVIEW =====

BUILT-IN APPLICATIONS
---------------------

The HP 95LX features eight built-in applications:

* Filer.
* Setup.
* Terminal Emulator (COMM).
* Appointment Book.
* Phone Book.
* Memo.
* Lotus 1-2-3.
* HP Calculator.

These applications are accessed by pressing the corresponding key (see
figure 1-1).

SYSTEM MANAGER
--------------

The System Manager is the control program that runs the built-in and other
System-Manager-compliant applications.

All the built-in applications execute from ROM under the direction of the
System Manager. Briefly, when an application key is pressed, the System
Manager deactivates any current application, performs any necessary bank
switching to access the code for the requested application, and starts up
the new application. This is termed non-preemptive multitasking since the
application being deactivated gets a chance to "clean up" before losing
control.

See chapters 7 and 8 for more information.


DOS
--------

The HP 95LX uses Microsoft DOS 3.22. This version of DOS was chosen because it
executes from ROM leaving the maximum amount of RAM available for applications.

The DOS kernel functions are always available and provide access to the DOS
command processor. However, since the emphasis of the HP 95LX is
on applications, the HP 95LX does not contain the full set of DOS
external commands.

See chapter 3  for notes on how DOS 3.22 has been customized for the
HP 95LX.

BIOS
-------

The HP 95LX contains a ROM BIOS layer that provides the standard interface as
well as many extensions to support HP 95LX-specific hardware.

See chapter 5 for details.

DISKS
-----

The HP 95LX's disk support is patterned after that of a PC that has an
internal hard disk drive and one floppy disk drive.

The HP 95LX's internal disk (named C:) is a combination RAM/ROM disk. The ROM
disk portion contains a variety of files such as help files for the built-in
applications and utility programs such as FORMAT. The RAM disk portion
contains user files and resides in system RAM. The size of the RAM disk is
user-selectable using the "Setup" application.

The HP 95LX uses plug-in battery-backed RAM cards formatted as RAM disks for
its "floppy" disks. The plug-in port is the A: (or B:) drive, analogous to a
single floppy drive on a PC.
