hp94d

Model:	-94D

General:
	Name:			Handheld Industrial Computer
	Code-Name:		none
	Family:			-
	Logic:			-
	Features:		BASIC
	Firsts:			8086-compatible (with -94E and -94F)
	Introduction:
		Date:		1987-2
		Price:		$1,395
	Discontinuation:
		Date:		1987-5
		Price:		$1,395
	Production-Run:		under 1000

Display:
	Type:			LCD, bitmap, backlit
	Size:			4 lines x 20 chars, 32 x 120 pixels
	Number-Formats:		-
	Annunciators:		none

Data:
	User-Visible:
		Smallest:	-
		Largest:	-
		Signif.-Digits:	-
	Internal:
		Smallest:	-
		Largest:	-
		Signif.-Digits:	-
	Data-Types-and-Sizes:	byte

Memory:
	Named-Registers:	-
	Flags:			-
	Register-Usage:		-
	Numbered-Registers:	-
	Program-Steps:		-
	Program-Editing:	-
	Program-Display:	-
	User-RAM-Bytes:		64K
	Total-RAM-Bytes:	64K
	ROM-Bytes:		32K
	Machine-State:		memory
	File-Types:		A	Application program / Basic
					Lexicon extension file
				B	Basic program
				D	Data file
				H	Interrupt Handler

Physical:
	Form-Factor:		square
	Technology-Used:	CMOS
	Processor:		3.686 MHz NEC V.20
	Chip-Count:		?
	Power-Source:		custom NiCad battery pack
				DC in jack for recharging the battery
				DC in pin on the serial interface for
				 recharging the battery
				lithim cell for continuous memory
	Continuous-Memory:	yes
	Expansion-Ports:	1 bus slot
	I/O-Ports:		TTL DB15 serial
				TTL DIN-6 input-only wand
				beeper / 1/8" miniplug earphone
	Clock:			yes, auto shutdown

	Length:			14.6 cm (5.75 in)
	Width:			16.5 cm (6.5 in)
	Height:			3.8 cm (1.5 in)
	Weight:			680g (1lb 8oz) as measured on our office scale
	Temperature-Range:
		Operating:	0 to 55 deg C
		Charging:	? to ? deg C
		Storage:	-40 to 65 deg C

Keyboard:
	Switches:		ON/OFF	toggle button
				hole	reset button
				dial	contrast
	Shift-Keys:		SHIFT, orange, above/left
	User-Defined-Keys:	none

Key-Arrangement::

** ** ** ** ** ** **

** ** ** ** ** ** **

** ** ** ** ** ** **

** ** ** ** ** ** **
		  **
** ** ** ** ** ** **

Key-Labels-Base-Keyboard::

[]	[]	[]	[]	#	-	SHIFT
[]	[]	[]	7	8	9	CLEAR
[]	[]	[]	4	5	6	<-
[]	[]	[]	1	2	3	ENTER
[]	[]	[]	0	00	.	ENTER

Key-Labels-alpha-orange-above/left::

A	B	C	D	*	-	SHIFT
E	F	G	H	I	J	CLEAR
K	L	M	N	O	P	<-
Q	R	S	T	U	V	ENTER
W	X	Y	Z	SPACE	.	ENTER

Programmable-Operations::

none

Non-Programmable-Operations::

ON + CLEAR + ENTER	soft reset
SHIFT		hold down for 2 seconds turns on screen backlight
		for 2 minutes

command processor commands:

B#.#		set baud rate and serial data format
Cfrom.to	copy file[*]
D#		list directory
Efile		erase file
I#		initialize directory
K		keyboard self-check
L		LCD self-check
M		memory test
S		start (run) an application
T		set date/time

Menus::

none

Bugs/ROM-Versions::

none

Notes::

See also the "craig-review" file.

The expansion slot can hold one card.  Accessories:

2430A	$89	spare battery pack
82431A	$69	recharger (not included with base unit)
82470A	$240	RS-232C Level Converter
82410A	$700	128K-byte Memory Board[*]
82411A	$350	40K-byte RAM card
82412A	$150	ROM/EPROM card

[*] HP lists this as a field service upgrade.  Actually, there was no
difference between installing it and any of the other cards.  Of
course, it is called a "board" and not a "card."  The price may have
been $695, in which case you paid HP $5 EXTRA for them to sell you a
-94F instead of a -94E and 128K card (excuse me: board).

Jeremy Smith's price list shows a price change to $1,425 in
1987-07-01, possibly due to variations in exchange rate with Yen.  I
(Craig Finseth) don't recall a change (and we were selling software
into that market).

The first pre-release units were shipped to some customers in
March/April 1986.  The official release was held up until Feb 1987
because the HP development system wasn't ready, and it didn't make any
sense to ship units if customers could not use them.

But, starting in September 1986, customers could buy HP-94s if they
were using the Audax Collect-94 Development System.  This was the
first time HP has ever allowed such pre-release purchases to be
dependant on a third party.

------------------------------------------------------------
	       Excerpt From the Collect-94 Users' Guide
		     Appendix: Using the Hardware

			   Craig A. Finseth
			     Audax Corp.
				 1986

The HP-94 has a built-in "operating system" or "monitor" that is used
to manage the local file system, start applications, and perform other
related functions.  This appendix provides a summary of the monitor
commands.  It is not intended as a comprehensive reference to the
monitor.


OVERVIEW

The monitor manages from two to six _directories_, numbered from zero
to five.  Directory zero is always main RAM memory and directory five
is always the system ROM.  Directory one, if present, can be
additional ROM or RAM.  Directories two, three, and four, if present,
are always ROM.

Filenames can be from one to four characters long, can contain only
letters and digits, and must start with a letter.  Pathnames contain a
directory number, a colon, and a filename.  For example:

	0:TEST

When typing pathnames from the HP-94 keyboard, the SPACE key is
treated as a colon.

There are four types of files:  application, Basic, data, and handler. 
They are designated by the appropriate letter:  A, B, D, and H. 
Application files contain executable programs.  Basic files contain
Basic programs.  Data files contain data for the application.  Handler
files contain operating system extensions (in particular, interrupt
handlers).

Only the C command can create application, Basic or handler files.

When the HP-94 is first started, the screen looks like this:

	<copyright notice>

	>

This display (or rather, the ">" prompt) is called the _monitor
prompt_ and you must see this prompt before you can type monitor
commands.


Resetting:

You can almost always return to the monitor prompt by turning the
HP-94 off, then holding the CLEAR and ENTER keys down while turning
the HP-94 on.  If that does not work, turn the HP-94 on (you should be
able to see a grid of LCD pixels--that means the machine is on), then
insert a paper clip in the small hole just to the left of the ON/OFF
button.  That activates a full reset of the system.  When you turn the
machine on again, you should see the monitor prompt.

Some changes (such as setting the baud and data format) are temporary
and must be re-made whenever the machine is turned off and on again.


Monitor Commands

These are the monitor commands:

	B	Set Baud or data format.
	C	Copy file.
	D	Directory list.
	E	Erase file.
	I	Initialize directory.
	K	Keyboard self-check.
	L	LCD self-check.
	M	Memory test.
	S	Start an application.
	T	Set date/Time.}


B:  Set the Baud and Data Format

Usage:	B <Baud> . <DataFormat>

[In this and all other usage descriptions, spaces are shown for
clarity but are _not_ typed on the HP-94.]

	value	baud

	0	19200 (not supported)
	1	9600
	2	4800
	3	2400
	4	1200
	5	600
	6	300
	7	150

DataFormat:

	value	data bits	parity	stop bits

	0	7		none	1
	1	8		none	1
	2	7		odd	1
	3	8		odd	1
	4	7		none	1
	5	8		none	1
	6	7		even	1
	7	8		even	1
	8	7		none	2
	9	8		none	2
	10	7		odd	2
	11	8		odd	2
	12	7		none	2
	13	8		none	2
	14	7		even	2
	15	8		even	2



C:  Copy File

Usage:	C <FromFile> . <ToFile>

If either <FromFile> or <ToFile> are omitted, the serial port is used
for that parameter.  You cannot copy files _within_ a single
directory.



D:  Directory List

Usage:	D
or	D <Directory>

The first usage lists the free space for each directory in the system. 
The second usage lists each file in the specified directory, its type,
its size, and its start address as well as the total free space in the
directory.

If necessary, the directory listing is made in four-line chunks. 
Press the ENTER key to proceed to the next chunk.

All numbers listed are in hexadecimal paragraphs.  You must multiply
those numbers by 10H (16 decimal) to obtain the values in bytes.



E:  Erase File

Usage:  E <File>

The <File> can contain asterisk "wild cards."  The command asks for
confirmation (the ENTER key) then, if given, erases the specified
files.  Press any other key to cancel the erase.



I:  Initialize Directory

Usage:  I <Directory>

This command initializes the directory area.  If memory should be
trashed (very unlikely), you may have to re-initialize the directory. 
This command erases all files in the directory.  It prompts for
confirmation in the same way that the E command does.

You may have to initialize the directory when you first use a HP-94 or
a RAM expansion.



K:  Keyboard Self-Check

Usage:  K

Echoes keyboard input to the display until the ENTER key is pressed.



L:  LCD Self-Check

Usage:  L

Displays characters until you press any key.



M:  Memory Test

Usage:  M <Directory>

Displays the directory checksums.  This command displays files like
the D command, but only damaged files are displayed.



S:  Start an Application

Usage:  S <File>

Starts running the specified application (program).



T:  Set Date/Time

Usage:  T

Shows, then lets you set the current date and time.  This command does
not check whether the new date and time are legal.



CONNECTOR PIN-OUTS

The HP-94 has two connectors:  the serial port and the wand port.  In
addition, the HP-82470A RS-232C Level Converter has a different serial
connector.  This section describes the pin-outs of those connectors.


The Wand Port

The port has a female, 6-pin DIN connector and is located on the bottom
of the HP-94.

Pins:
	pin	name

	1	Vcc (+5V) Out
	2	Wand Input
	3	Ground
	4	unused
	5	unused
	6	unused


The Serial Port

The port has a female, DB15 connector and is located on the left side
of the HP-94.  TTL voltages (0, +5V) are used.

Pins:

	pin	direction	signal	name

	1	--		G	Chassis Ground
	2	out		TD	Transmitted Data
	3	in		RD	Received Data
	4	out		RTS	Request To Send
	5	in		CTS	Clear To Send
	6	in		DSR	Data Set Ready
	7	--		SG	Signal Ground
	8	in		CD	Carrier Detect
	9	out			Vcc (+5V) Out
	10	in			Recharge Input
	11	in			Recharge Ground
	12	--		--	unused
	13	--		--	unused
	14	--		--	unused
	15	out		DTR	Data Terminal Ready

The CTS signal must be supplied in order for the HP-94 to transmit
characters.  The RTS and DTR signals are always supplied by the HP-94. 
You can therefore connect pins 15 and 5 on the HP-94 end in order to
supply the required voltage to the CTS pin.


The Level Converter
 
The port has a female, DB25 connector and is located on the HP-84270A
RS-232C Level Converter.  True RS-232C voltages (+/- 12V) are used.

Pins:

	pin	direction	signal	name

	1	--		G	Chassis Ground
	2	out		TD	Transmitted Data
	3	in		RD	Received Data
	4	out		RTS	Request To Send
	5	in		CTS	Clear To Send
	6	in		DSR	Data Set Ready
	7	--		SG	Signal Ground
	8	in		CD	Carrier Detect
	9	--		--	unused
	10	--		--	unused
	11	--		--	unused
	12	--		--	unused
	13	--		--	unused
	14	--		--	unused
	15	--		--	unused
	16	--		--	unused
	17	--		--	unused
	18	--		--	unused
	19	--		--	unused
	20	out		DTR	Data Terminal Ready
	21	--		--	unused
	22	--		--	unused
	23	--		--	unused
	24	--		--	unused
	25	--		--	unused

The CTS signal must be supplied in order for the HP-94 to transmit
characters.  The RTS and DTR signals are always supplied by the HP-94. 
You can therefore connect pins 20 and 5 on the Level Converter end in
order to supply the required voltage to the CTS pin.


Cabling

With the Level Converter

The HP-94 has a serial port, but not an RS-232 port.  You must attach
the HP-82470A RS-232C Level Converter in order to have a true RS-232
port.

[ The serial port uses and the wand port accepts 0V for Mark and +5V
for Space.  A true RS-232 connection requires -12V for Mark and +12V
for Space. ]

The converter has a female DB-25 connector.  A cable with the
following pinning will connect the HP-94 to an IBM P.C. serial port
(DTE with a male DB-25):

	...not supplied...


Without the Level Converter

Some serial interfaces do not require the level converter.  In
particular, we have tested these interfaces and they do _not_ require
the level converter:

	AST Corporation:  all serial ports for the IBM P.C.
	Leading Edge Model D

However, the Asynchronous Communications Adapter made by IBM Corp.
definitely _requires_ the level converter.

If you are in doubt about your serial interface, remember that it will
always work if there is a Level Converter.  The interface _may_ work
without the Level Converter.

If you determine that the converter is not required, you can connect
your computer directly to the HP-94 serial port.  The serial port has
a female DB-15 connector.   A cable with the following pinning will
connect the HP-94 to an IBM P.C. serial port (DTE with a male DB-25):

	...not supplied...


Collect-94 Requirements

The cables described previously will work for all programs.  If you
are using Collect-94 software on _both_ ends to perform a transfer,
you only need to connect pins 2, 3, 5 and 7.  Pins 2, 3 and 7 carry
data.  Pin 5 is the CTS pin and _must_ be held high on the HP-94 end.

The DTR pin on the HP-94 (pin 15 on the DB15 connector and pin 20 on
the Level Converter) is always held high by the HP-94.  You can hold
the CTS signal high by connecting the DTR pin to the CTS pin (pin 5)
instead of connecting pin 5 to the host computer.



ROMs

The HP-94 can accept 32K, 64K, 96K, or 128K ROMs.  Acceptable ROMs are:

	ROM Size	Chip

	32K		27C256
	64K		27C512
	96K		27C768
	128K		27C1024

ROMs must be 250nsec or faster.



Error Codes

These descriptions are provided by Hewlett-Packard Company.

	100	The Basic interpreter ("SYSB" file) was not found.
	101	Illegal parameter.
	102	Invalid directory number.
	103	File not found.
	104	Too many files.
	105	Channel not open.
	106	Channel already open.
	107	File already open.
	108	File already exists.
	109	Read-only access.
	110	Access restricted.
	111	No room for file.
	112	No room to expand file.
	113	No room for scratch area.
	114	Invalid scratch area.
	115	Short record detected.
	116	Termination character detected.
	117	End of data.
	118	Timeout.
	119	Power switch pressed.
	200	Low main battery voltage.
	201	Serial port receive buffer overflow.
	202	Parity error on serial port.
	203	Overrun error on serial port.
	204	Parity and overrun error on serial port.
	205	Framing error on serial port
	206	Framing and parity error on serial port.
	207	Framing and overrun error on serial port.
	208	Framing, parity and overrun error on serial port.
	209	Invalid MDS file received.
	210	Low backup battery voltage - main memory.
	211	Low backup battery voltage - memory board or 40K RAM card.
	212	Checksum error - main memory directory.
	213	Checksum error - 40K RAM or ROM/EPROM card directory.
	214	Checksum error - reserved scratch area.
	215	Checksum error - main memory scratch area.
	216	Checksum error - main memory file.
	217	Checksum error - 40K RAM or ROM/EPROM card file.
	218	Lost connection while transmitting (CTS/DSR lines not high).
	219	Operating system stack altered.
------------------------------------------------------------
		       HP-94 System Information

			   4 December 1986

-------------------- Operating System Calls --------------------

   Input Registers				Output Registers
-----------------------------------------------------------------
AH	00		End
AL	00		cold start
	01		warm start
-----------------------------------------------------------------
AH	01		Get Char		AL	0	ok
AL	00		with echo			!=0	error
	01		no echo			DL	data	(if AL == 0)
-----------------------------------------------------------------
AH	02		Get Line		AL	0	ok
AL	buf size - 1					!=0	error
ES:BX	buf addr				DL	#chars	(if AL == 0)
-----------------------------------------------------------------
AH	03		Put Char
AL	char
-----------------------------------------------------------------
AH	04		Put Line
ES:BX	buf addr (NUL-terminated)
-----------------------------------------------------------------
AH	05		Position Cursor
AL	00		return position		CH	row
						CL	col
	01		set position
CH	row
CL	col
-----------------------------------------------------------------
AH	06		Buffer Status
AL	00		clear keyboard buffer
	01		# of typeahead chars	DL	#chars
	02		clear serial buffer
	03		# of serial chars	DL	#chars
-----------------------------------------------------------------
AH	07		Beep
AL	00		low tone
	01		high tone
BL	duration in 1/10 seconds
-----------------------------------------------------------------
AH	08		Time Data
AL	00		set time
	01		get time
ES:BX	time buf "MM/DD/YY,HH:MM:SS"
-----------------------------------------------------------------
AH	09		Timeout
AL	00		set EL off time
	01		set power off time
BX	time in seconds
-----------------------------------------------------------------
AH	0A		Set Event
AL	00		register power off interrupt
	01		register low battery interrupt
	02		mask power off interrupt
	03		unmask power off interrupt
BX	interrupt routine DS
CX:DX	interrupt routine address
-----------------------------------------------------------------
AH	0B		Get Memory
AL	chan num (0 if not a handler)		AL	0	ok
BX	size in paragraphs				!=0	error
						CX	paragraph of area
						DX	size
-----------------------------------------------------------------
AH	0C		Release Memory
CX	area to release				AL	0	ok
							!=0	error
-----------------------------------------------------------------
AH	0D		Get Memory Configuration
ES:BX	address of 5-byte buffer
-----------------------------------------------------------------
AH	0E		Room
AL	dir number				AL	0	ok
							!=0	error
						BX	#of free paragraphs
						CX	paragraph of directory
						DX	dir control area size
-----------------------------------------------------------------
AH	0F		Open
AL	channel
ES:BX	file name (NUL/Space terminated)	AL	0	ok
DS:DX	parameter area					!=0	error
						CX	paragraph of file handler
-----------------------------------------------------------------
AH	10		Close
AL	channel					AL	0	ok
							!=0	error
-----------------------------------------------------------------
AH	11		Create
ES:BX	file name				AL	0	ok
CX	initial # of paragraphs				!=0	error
DX	incremental # of paragraphs		CX	file address (AL == 0)
						DX	???
-----------------------------------------------------------------
AH	12		Read
AL	channel					AL	0	ok
ES:BX	buffer						!=0	error
CX	length					CX	actual length
-----------------------------------------------------------------
AH	13		Write
AL	channel					AL	0	ok
ES:BX	buffer						!=0	error
CX	length					CX	actual length
-----------------------------------------------------------------
AH	14		Delete
AL	channel					AL	0	ok
							!=0	error
-----------------------------------------------------------------
AH	15		Seek
AL	channel					AL	0	ok
BL	00		get current position		!=0	error
	01		set pointer			CX,DX	position
	02		set pointer to end
CX,DX	relative position (BL == 2)
-----------------------------------------------------------------
AH	16		Find File
ES:BX	file name				AL	0	ok
DX:DX	file information area				!=0	error
	D:NNNN\0TAASSSS				CX:DX	directory address
	(Directory,Name,Type,Address,Size)
-----------------------------------------------------------------
AH	17		Find Next
						AL	0	ok
							!=0	error
						CX:DX	directory address
-----------------------------------------------------------------
AH	18		Display Error
AL	error code


-------------------- Interrupt Vectors --------------------

address	number	priority	usage
(hex)	(hex)

0	0			divide by zero
4	1			single step
8	2	NMI		non-maskable
C	3			breakpoint
10	4			overflow
14	5			reserved
18	6			reserved
1C	7			reserved

68	1A			I/O monitor entry vector

70	1C			timer call through vector

140	50	pri 0		timer 1
144	51	pri 1		timer 2 (bar code reader)
148	52	pri 2		bar code reader
14C	53	pri 3		serial interface
150	54	pri 4		low NiCd battery power or back cover open
154	55	pri 5		power switch off
158	56	pri 6		reserved (iRQFK?)
15C	57	pri 7		reserved (iRQPR?)


-------------------- Chips --------------------

Canon		HD61L224F
Hitachi		HD61102		64 x 64 Dot matrix liquid crystal disp column driver
Hitachi		HD44105H	Dot matrix liquid crystal graphic disp common driver
KSS		EX02		3.686 MHz oscillator
Mitsubishi	MS336E		SD01S large hybrid
NEC		D70108D-5	V.20 8088 compatible CPU
Oki		M82C51A		USART serial port driver in x16 mode
Suwa Seiko	RTC58321S	real time clock


-------------------- I/O Ports --------------------

port	direction	system		function
(hex)

0	Output		interrupt	mask register (copy at address 20:19D)
	Input		interrupt	request register
1	Output		interrupt	clear register
	Input		interrupt	EOI register
2	Output		timer 1		control
3	In/Out		timer 1		count
4	In/Out		timer 2		count (lower 8 bits)
5	In/Out		timer 2		count (upper 4 bits)
6	Output		timer 2		control
7	Output		bar code	data save
8	Output		bar code	data clear
9	---
A	Output		serial		baud generator
B	Output		general		control latch (copy at address 20:19C)
C	Output		rtc		real time clock control
D	---
E	Output		general		EL/keyboard
F	---
10	In/Out		serial		data register
11	In/Out		serial		control register
12	In/Out		LCD		dots 64..119 (right half) control register
13	In/Out		LCD		dots 64..119 (right half) data register
14	In/Out		LCD		dots 0..63 (left half) control register
15	In/Out		LCD		dots 0..63 (left half) data register
16	---
17	---
18	---
19	---
1A	---
1B					Power down???


-------------------- Register Definitions --------------------

Baud rate generator values:

	value	rate

	0	19200 (suspect)
	1	9600
	2	4800
	3	2400
	4	1200
	5	600
	6	300
	7	150


Control Latch (Output), page 23

	bit	usage		values

	7	unused		0
	6	unused		0
	5	unused		0
	4	bar code interface 0 = disabled, 1 = enabled
	3	bar code power	0 = off, 1 = on
	2	serial port	0 = disabled, 1 = enabled
	1,0	buzzer control	00 = none, 01 = high, 11 = low


Control Latch (Input), page 24 (copy at 20:19C)

	bit	usage	values

	7		back cover	0 = open, 1 = closed
	6		NiCd battery	0 = low voltage, 1 = OK
	5		mem pack/board batt 0 = low voltage, 1 = OK
	4		main mem batt	0 = low voltage, 1 = OK
	3		unused
	2		serial port CarrDet 0 = carrier, 1 = none
	1		unused
	0		bar code data	0 = black (+5V), 1 = white (0V)


Real Time Clock Control (Output)

	bit	attached as

	7	chip select
	6	data read
	5	address write
	4	data write
	3,2,1,0	RTC data/address


Real Time Clock Control (Input)

	bit	attached as

	7,6,5	unused
	4	busy status
	3,2,1,0	RTC data


EL/Keyboard (Output)

(EL status in Console Status Area)

	bit	usage		values

	7	EL backlight	0 = on, 1 = off
	6	key scan column	0 = select, 1 = no select
	5	select, 6 is
	4	leftmost colum and
	3	0 is rightmost column
	2
	1
	0


EL/Keyboard (Input)

	bit	usage		values

	7	unused
	6	unused
	5	unused
	4	depressed keys	0 = not depressed, 1 = depressed
	3	4 is bottom row
	2	and 0 is top row
	1
	0


Console Status Area (byte in memory at 20:1F2)
(Operating system status is stored starting from 0x200)

	bit	usage		values

	7	real time clock	0 = not busy, 1 = busy
	6	unused
	5	key repeat	0 = no repeat, 1 = repeat
	4	cursor enabled	0 = enabled, 1 = disabled
	3	cursor blink state 0 = off, 1 = on
	2	cursor blinking	0 = blinking, 1 = steady
	1	keyboard shift	0 = SO (numeric), 1 = SI (alpha)
	0	EL light	0 = off, 1 = on


Timing Handler Dispatch Table (6, 4 byte entries located at 20:1DA)

	byte 1		initial value
	byte 2		current value
	byte 3,4	offset of O.S. routine to invoke

	If the current value if 255, the timer is disabled.
	When changing timer intervals , set both bytes 1 and 2.


	entry	interval	usage

	0	1 (5 msec)	keyboard scan
	1	2 (10 msec)	beeper (only 100 msec resolution required)
	2	20 (100 msec)	cursor blink
	3	200 (1 sec)	machine power down timer
	4	200 (1 sec)	EL backlight timer
	5	200 (1 sec)	user timer


-------------------- Pin-Outs --------------------

Voltages for 6-pin DIN and DB15

	Actual	Bar Code Bar Code	RS-232	RS-232	RS-232
	Voltage	Color	Port Bit	Voltage	Sense	Bit

	+5V	Black	0		+12V	space	0
	0V	White	1		-12V	mark	1

	(these are really right - see page 19 of Peter's Lab Book)


6-pin DIN wand connector:

	pin	name

	1	Vcc (+5V) Out
	2	Wand Input
	3	Ground
	4	unused
	5	unused
	6	unused


DB15 (female on body) connector:

	pin	signal	name

	1	G	Chassis Ground
	2	TD	Transmitted Data
	3	RD	Received Data
	4	RTS	Request To Send
	5	CTS	Clear To Send (required for transmission)
	6	DSR	Data Set Ready (required for recv, not impl. yet)
	7	SG	Signal Ground
	8	CD	Carrier Detect
	9		Vcc (+5V) Out
	10		Recharge Input
	11		Recharge Ground
	12	--	unused
	13	--	unused
	14	--	unused
	15	DTR	Data Terminal Ready (supplied)


Internal Memory/Expansion Connector

	on chassis:	JAE PICO-40S-ST
	mating:		JAE PICO-40T-ST

	circuit board edge connector:  Burndy PSE-36C-2

	pin	signal		pin	signal

	1	V NiCd (battery) 21	AD0
	2	V NiCd		22	AD1
	3	Vcc (switched)	23	AD2
	4	GND		24	AD3
	5	unused		25	AD4
	6	unused		26	AD5
	7	unused		27	AD6
	8	DT/*R		28	AD7
	9	unused		29	A15
	10	unused		30	A14
	11	iRQFK		31	A13
	12	iRQPR		32	A12
	13	IO/*M		33	A11
	14	ALE		34	A10
	15	CLK		35	A9
	16	AS16		36	A8
	17	AS17		37	*WR
	18	AS18		38	*RD
	19	AS19		39	GND
	20	RESET		40	GND


A/C Adaptor Connector

view facing HP94

	pin 1	pin 2
	    pin 3

I measured the following voltages:

DC	+6.7V	0V
	    0V

The adaptor is HP82431A and claims an output voltage of 6.4VDC at 400mA.


-------------------- PUTCHR Codes --------------------

	hex	ASCII		meaning

	01	^A		cursor on
	02	^B		cursor off
	06	^F		high tone beep
	07	^G		low tone beep
	08	^H,BS		backspace with wrap to previous line
	0A	^J,LF		line feed with scroll
	0B	^K,VT		clear to end of line
	0C	^L,FF		home and clear to end of screen
	0D	^M,CR		move to column zero
	0E	^N,SO		shift out keyboard to numeric
	0F	^O,SI		shift in keyboard to alphabetic
	1E	^^		turn EL backlight on
	1F	^_		turn EL backlight off


-------------------- I/O Channel Assignments --------------------

	channel	assigned to

	0	console
	1	RS (serial) port (handler)
	2	bar code reader (handler)
	3	reserved
	4	reserved
	5..15	available


-------------------- Font --------------------

The system font is stored at FFC3:0 and runs for either 96 or 192
characters (don't know which).	The first character is Space.
Characters are stored in the format required by the LCD display, and
each character is five bytes long.

User definable characters are located from 80H to 9FH and live (if
they exist) in file "SYFT".  They are stored just like the system
font, but with six bytes per character.

-------------------- Memory Configuration --------------------

Memory Usage

	from	to	directory what

	0	 FFFF	0	main memory (64K system)
	0	1FFFF	0	main memory (128K system)
	0	3FFFF	0	main memory (256K system)

	20000	29FFF	1	40K RAM pack (64K/128K system only)
	20000	3FFFF	1	128K RAM pack (128K system only)

	20000	27FFF	1	32K ROM module (64K/128K system only)
	28000	2FFFF	2	32K ROM module (64K/128K system only)
	30000	37FFF	3	32K ROM module (64K/128K system only)
	38000	3FFFF	4	32K ROM module (64K/128K system only)

	20000	37FFF	1	96K ROM module (64K/128K system only)

	20000	3FFFF	1	128K ROM module (64K/128K system only)

	4000	BFFFF		unused

	C000	?????		diagnostic ROM

	F800	FFFFF	5	system ROM

Low Memory:

	from	to	what

	0	1FF	interrupt vectors
	200	8FF	system data space
	900	9FF	debugger scratch space
64K system:
	A00	DFF	directory
	E00	FFFF	file space
128K system:
	A00	DFF	directory
	E00	1FFFF	file space
256K system:
	A00	11FF	directory
	1200	3FFFF	file space

System ROM:

	from	to	what

	F8000	F802F	directory
	F8030	FBFFF	Basic Interpreter
	FC000	FFC2F	I/O Monitor
	FFC30	FFFEF	font
	FFFF0	FFFFF	boot

Directory Sizes:

	what		entries	size (bytes)

	64K main memory	64	1,024
	128K main memory 64	1,024
	256K main memory 128	2,048

	RAM pack	32	512

	32K ROM		32	512
	96K ROM		64	1,024
	128K ROM	64	1,024

ROM Structure:

	In the directory header for a ROM directory entry 0 has
	modifications from page 44 as follows:

	Program part high address = File area head address.
	Free RAM low address = First unused paragraph, as if a RAM.
	Free RAM end address = Paragraph after end of the ROM.

-------------------- System Data Space --------------------

Segment:  20H

offset	length		what
(hex)	(decimal)

0	2		address of save area for timer 2
2	2		address of save area save for bar code
4	2		address of save area save for serial port
6	2		address of save area save for reserved 1
8	2		address of save area save for reserved 2

19C	1		control latch duplicate
19D	1		interrupt mask register duplicate

1DA..1F1  24		timer handler dispatch table
1F2	1		console status area duplicate

Areas

General

Craig's Articles

 

 
 

I am Craig A. Finseth.

Back to Home.

Back to top.

Last modified Saturday, 2012-02-25T17:30:03-06:00.