Data Files Formatting Notes

The files are in pure ASCII, 78 characters per line max.  Tab
characters (9 decimal) are used for formatting; 8 column tab stops are
assumed.  The files are intended to be readily machine parsable.  In
particular, lines fit into one of four types:

- A line starting with a form feed character, it ends a product

Otherwise, the first token on the line is used to determine what to
do.  Tokens are delimited by one or more Space or Tab characters.

- If the first token ends with a single colon (:), it is a labelled
data line.  The data consists of the remainder of the line, with
leading and trailing Space and Tab characters removed.

- If the first token ends with a double colon (::), it is a "block
data" line.  The rest of the current line is skipped.  All following
lines until the next line with a token that ends in a double colon or
the end of the record are accumulated into a single text block.
(Lines whose first token ends with a colon are not significant.)
Leading and trailing -- but not embedded -- blank lines are dropped.

- If the first token ends in anything else, it is a "continuation"
line for the preceeding labelled data (single colon) line.  Leading
and trailing Space and Tab characters should be dropped.

In general, most other cases are "administratively prohibited."  I.e.,
they won't be typed in.

Special characters and keywords used:

- A number of characters are indicated by various approximations.  See
the CHARS file for a complete list.

- A data value of "?" means that the correct value is not known.

- A data value of "none" or "-" implies that it is known that there is
no correct answer.  (For example, if a product does not have an
internal code name.)

In some cases, a device which is a minor variation on another device
is listed as such.  In this case, the model number field will include
the string "<model number>, differences from <base model>".  Only
those fields with different values will be listed.  In general, you
will need to examine the data for both the base model and the other
model in order to understand the device.
			  Field Definitions

Model:	<model number>

General:			<no data, heading only>
	Name:			<device name>
	Code-Name:		<internal code name>
	Family:			<internal family name>
	Logic:			<RPN, algebraic, etc.>
	Features:		<general description / listing of major
				features, does not duplicate anything
				mentioned in firsts>
	Firsts:			<any significant firsts>
	Introduction:		<no data, heading only>
		Date:		<YYYY-MM-DD of US introduction>
		Price:		<list price in US$ at introduction>
	Discontinuation:	<no data, heading only>
		Date:		<YYYY-MM-DD of US termination>
		Price:		<list price in US$ at termination>
	Production-Run:		<number of units produced/sold>

Display:			<no data, heading only>
	Type:			<type of technology and pattern>>
	Size:			<sizeo of display>
	Number-Formats:		<ways that numbers or data can be displayed>
	Annunciators:		<special annunciators>

Data:				<no data, heading only>
	User-Visible:		<no data, heading only>
		Smallest:	<smallest non-zero positive number>
		Largest:	<largest non-zero positive number>
		Signif.-Digits:	<number of>
	Internal:		<no data, heading only>
		Smallest:	<as user-visible, but for internal numbers>
		Largest:	<as user-visible, but for internal numbers>
		Signif.-Digits:	<as user-visible, but for internal numbers>
	Data-Types-and-Sizes:	real, 7 bytes

Memory:				<no data, heading only>
	Named-Registers:	<nameable registers>
	Flags:			<flags>
	Register-Usage:		<special-purpose register usage>
	Numbered-Registers:	<number of them, often in max->min form>
	Program-Steps:		<number of them, often in max->min form>
	Program-Editing:	<insert or replace>
	Program-Display:	<keycode or alpha>
	User-RAM-Bytes:		<user-visible RAM>
	Total-RAM-Bytes:	<total system RAM>
	ROM-Bytes:		<size of ROM chips>
	Machine-State:		<any state information retained>
	File-Types:		<special file types>

Physical:			<no data, heading only>
	Technology-Used:	<type>
	Processor:		<model>
	Chip-Count:		<number>
	Power-Source:		<battery or other types>
	Continuous-Memory:	<yes/no>
	Expansion-Ports:	<number and type>
	I/O-Ports:		<number and type>
	Clock:			<clock or timer>

	Length:			<size, official unless otherwise noted>
	Width:			<size, official unless otherwise noted>
	Height:			<size, official unless otherwise noted>
	Weight:			<weight, official unless otherwise noted>
	Temperature-Range:	<no data, heading only>
		Operating:	<range>
		Charging:	<range>
		Storage:	<range>
		<other:>	<other, where applicable>

Keyboard:			<no data, heading only>
	Switches:		<number and meanings>
	Shift-Keys:		<tuples: name, color, position>
	User-Defined-Keys:	<list>


<an array of * and space/tab characters that give an overall feel for
how the keys are laid out.>


<The key labels for the base keyboard.  Keys marked [] are blank.  Key
names in []s are applications keys (solid background).>


<for each shift key listed above, the key labels>


<a listing of the programmable operations that can be performed on the


<a listing of the non-programmable operations that can be performed on
the product>


<a description of the menus>


<any known bugs and ROM version changes/fixes>


<any miscellaneous notes>



Craig's Articles



I am Craig A. Finseth.

Back to Home.

Back to top.

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