Document Sample
HPJ-1976-06-Low-Resolution Powered By Docstoc

Third GenerationProgrammable
A newprogramming language,  HPL,helpstheuserapply
the manytechnologicaladvances thispersonal
computing                                      and
          machineto a wide varietyof computation
                                      Geoffrey Chance,
by DonaldE. Morris,ChrisJ. Christopher,
and Dick B. Barney

  A    POWERFUL MEDIUM-PRICEDdesk-top pro-                  With the live keyboard, never before found on a
.tagram-able      calculator with many features pre-      desktop calculator, the user can examine and change
viously found only on minicomputers, the new              program variables, perform complex calculations,
26-pound HP 9825A Calculator(Fig. 1), is designed call subroutines,        and record and list programswhile
primarily for use in the fields of engineering,research
and statistics.The new calculator'sspeed,interfacing
abilities and computer-like features make it particu-                           Cover:      Two important
larly well suited for use as the controller of an instru-                       aspecls of the 98254 Calcu-
 ment system,for pilot processcontrol applications,                             lator storyare itshigh-perfor-
for remote data collection, and for production con-                             mance NMOSLS/processor,
trol. It can also be used as a powerful stand-alone                             pictured at the top of the
 computing tool.                                                                cover photo and described
    Significant contributions that provide major user                           in thearticleon page 15,and
benefitsinclude two-level priority interrupt, live key-                         the 98254'spowerfulsystem-
board, direct memory access     with input speedsup to                          controller capabilities, sym-
400,00016-bit words per second,high-performance             bolized by the HP-lB-compatibleinstrumentsin
bidirectional tape drive, multidimensional arrays,          the lowerbackgroundand describedin the article
 automatic memory record and load, and extendedin-          on page 2,
ternal calculationrange(-r1gs11 -'16-511).
                                    1o          Someof
theseare standard   featuresand othersare availablein
optional plug-in read-only memories(ROMs).                  In this Issue:
   The 9825A uses a high-level programming lan-             Third-Generation Programmable Cal-
guagecalled HPL. This formula-oriented      languageis                            Li         I
                                                            cuIator Has Computer- ke Capabiittes,
easy to learn and is designed for conholler applica-        by Donald E. Morris, Chris J. Chris-
tions as well as for data processing.HPL provides for       topher, GeoffreyW. Chance,and Dick
subroutinenesting and flags, and allows 26 simple           B. Barney                                 page 2
variables and z6 multidimensional array variables,
                                                            High-Performance NMOS LSI Pro-
limited only by the size of the calculator memory.
                                                            cessor, by WilliamD. Eads and David
Editing of lines and characters simple, and error lo-
                                                            S.Maitland                       ..... page15
cations are identified by a flashing cursor in the dis-
play. Fixed and floating point formats can be set by        Characterlmpact Printer Offers Maxi-
the user from the typewriter-like keyboard.                 mum Printing Flexibility,by Robert B.
   The keyboard has twelve special function keys            Bump and GaryR. Paulson               . . page 19
that, combined with the shift key, can handle 24            Mid-Range Calculator Delivers More
different operations.Thesekeys help in program writ-        Powerat Lower Cost,by DouglasM.
ing and in peripheral and instrument control. They          Clifford,F. TimothyHickenlooper,and
can serveas immediate-executekeys, as call keys for         A. Craig Mortensen                  . , . page 24
subroutines,  and as typing aids.

PrnledrnUSA                                                                             @ H e w e t t ' P a c k a rC o m p a n y1 9 7 6
                                                                                    Fig. 1. Model 98254 Calculator
                                                                                    can be used as a stand-alone   pro-
                                                                                    grammablecalculatoror as a sys-
                                                                                    tem controller Major new features
                                                                                    include two-levelpriority interrupt,
                                                                                    direct memory access, live key
                                                                                    board, multidrmensionalarrays,
                                                                                    high-performance  tape drive with
                                                                                    automatic memory record and
                                                                                    load capability, and extended
                                                                                    internal calculation range The
                                                                                    keyboard layout ts based on that
                                                                                    of a standard typewriter with the
                                                                                    additionof a numberpad, system
                                                                                    command and editing keys, and
                                                                                    twelve user-definablekeys The
                                                                                    programming language is called

the calculator is performing other operations.            memory load and record operations. In the event
   Interrupt capability, available in the Extended I/O    of a power failure, this feature, coupled with the
ROM, permits the calculator to act as a controller for    autostart feature, can reload the calculator's memory
several instruments or peripherals that require atten-    with whatever had been recorded on the tape and
tion at unpredictable rates or times.                     continue from that point. Or, while a long program is
   A 32-character LED display and a built-in 16-          running, an operator can stop it, record the entire
character thermal printer provide alphanumeric            memory onto the cartridge, run another program and
readout including both capital and lower-case letters.    then reload and continue the first program from the
Some European and Greek characters are also avail-        point of interruption. A 90-ips search and rewind
able in an optional ROM.                                  speed and a 22-ips read/write speed give an average
   The display was specifically designed for the          access time of six seconds. The tape drive provides
9825A Calculator. Each character has a maximum            automatic verification during recording, and the cal-
height of O.gZcm and is formed on a S-by-7dot matrix.     culator always knows the position of the tape, so it
Four characters are packaged together in a dual in-       saves time by being able to search at high speed in
line package. The dots are red light-emitting diodes      either direction for the next file.
fabricated on a monolithic substrate.Also on this sub-
strate are two bipolar ICs, each of which contains two    The Language: HPL
seven-bit shift registers for holding the column infor-     The 9825A's language, called HPL, is a powerful
mation and decoding and enabling the appropriate          formula-oriented language that provides features of
column. The display is treated as a peripheral device     BASIC. FORTRAN. ALGOL and PL/I. HPL's features
by the processor. Display refresh and flashing of the     minimize the translation process that a user has to go
insert and replace cursors are all handled by hard-       through to program an algebraically formulated
ware. Therefore, no loss of processing speed is in-       problem.
curred by having the display active during program          HPL's basic building block is the statement. The
execution.                                                language allows several statements per line; this re-
   The printer is the same as the 9815A Calculator's      duces memory requirements and increases execution
built-in printer (see article, page 24).                  speed. In HPL, key words are written in lower-case
   The built-in tape cartridge holds 250,000 bytes        characters and variables in upper-case or capital let-
and has a 2,75}-byte-per-second data transfer rate.       ters. Some of the language's features are demonstrat-
Using the cartridge, the operator can perform rapid       ed in the following program, which solves for the
roots of a quadratic equation by computing the value          functions.
ot 1-e*Vlnn-+nc;)tzR.                                           0:   dim A$[80]
   0: enp "value of A", A, "value of B", B, "value of C", C     1:   "BOB " &"IONES"+A$
   1: if 4AC>BB;gto"imag"                                       2:   A$&" 2100 McKinley Ave."+A$
   2: prt "real roots"; spc 1                                   3:   dsp A$;wait 500
   3: prt [-B+V(BB-aAQ)/2A;spc 1                                4:   dsp cap(A$)
   4: prt (-B-V(BB-4AC))/2A;spc 4; jmp -4                       5:   end
   5: "imag":                                                 In line 0, the "dim" statementis used to declarethe
   6: prt "complex roots"; spc 1                              string array A$, which is 80 characterslong. String
   7: prt "real", "imaginary"; spc 2                          arrays can be of one or two dimensions. The lower
   8: prt -B/2A,V(4AC-BB)/2A;spc 1
   9: prt -B/2A,-\/ (4AC-BB)l2A;spc 4; gto 0
                                                              bound is one and the upper bound is given by the di-
  10: end                                                     mension size specification. In line 1, the character
   Line 0 allows the user to enter and print (enp) the        strings "BOB " and "JONES" have been connected
                                                              with the concatenationoperator "&" to form a new
values of the variablesA, B, and C. When the nux key
is pressed, first message,
            the              "value of A", wiII appear        string "BOB JONES"which is assignedto the string
on the display and be printed on the printer. After           array A$. In line 2, the presentcontents of A$ are ap-
typing the answer, the user presses coNrnu;r key
                                    the                       pended with the string " 2L00 McKinley Ave." and
to resumeprogram execution.In lines 3 and 4, the so-          the result is reassignedto the same string array. In
lution of the equationis programmedin a very simple           line 3, the system will display the contents of the
manner similar to the pencil-and-papersolution. The           string array as: BOB JONES 2100 McKinley Ave.
implied multiply feature reduces the number of par-           Then, afterwaiting for one-halfsecond,it will display
enthesesand "*" multiplication signs that would               the same information with upper-casecharacters
otherwise be required. Lines 1, 4, and 9 contain              throughout. The "cap" function transformsall lower-
branching statements  with label, expression,and line         casealpha charactersto upper-casecharacterswith-
number arguments.                                             out modifying the original shing stored in A$. This
                                                              function simplifies string comparisons and string
Arrays                                                        sorting.
  When dealing with large arrays of numbers, it is                Additional string functions calculate the length of
normally necessaryto reservea memory spacelarge               a string, the position of a substring within a string,
enough to solve the problem. HPL provides dynam-              and the value of a substring of numeric characters.
ically allocatedmulti-dimensional arrayswith selec-               The relational operators
table lower bounds.Thus, the user can easilyspecify           s t r i n g c o m p a r i s o n s ,a s t h e f o l l o w i n g e x a m p l e
his data memory requirements.The dimension state-             demonstrates.
ment dim A[O:N] reservesmemory space for N+1                    0: dim A$[10]
numeric elements. The first element of the array is             1: "AB"+A$
                                                                2: if A$<"ABC";prt "AB<ABC"
A[0]and the last is A[N].                                       3: if "AC">A$;prt "AC>AB"
  Multiple arrayscan be declaredin the same"dim"                4: end
statement.For example:                                        Both relational operations are true, so lines 2 and 3
               dim A[o:N],B[3,3],K[3                          will be executedand the printer will print:
In this case,the system will reserve memory space               AB<ABC
for arraysA, B, and K. Array B is a two-dimensional             AC>AB
(3x3) array. Array K is a three-dimensional   auay.           Looping and Branching
The size of the first dimension is 2X-(3+L)+1.                   As seen in the quadratic solution program above,
Y and Z specify the size of the second and third di-          the absolute and relative "go to" and "jump" state-
mensions of the array K respectively. The first ele-          ments provide simple and computed unconditional
ment of the array is K[3+L,1,1] and the last is               transfers of program control. These, in conjunction
Klzx,Y,zl.                                                    with the relational operators, can be effective in de-
                                                              veloping controlled Ioops that allow repetitive execu-
                                                              tion of program segments. In many casesthe looping
   Many problems are numeric and can be solved
                                                              task can be simplified by the use of HPL's "for-next"
using traditional mathematical functions and numeric
                                                              statements, similar to those in the BASIC language.
arrays. Others are presented as character "sttings"
                                                              For example:
and can best be handled by HPL's string functions               0: for I:o to 90 by 10
and string arrays. Character strings are assigned to                               1000
                                                                 1: dspI,sin[IJ;wait
string variables, which are denoted by a capital letter          2: next I;end
followed by a "$" sign. The following example dem-              The "for" statement initiates the loop and specifies
onstrates string arrays and some of the string                the control variable's initial value. 0. and final value,
                                                                     9825A Product Design
     Theproduct      designof the9825ACalculator basedon the        was
  belief thata product, an organism,
                              like                        interacts    withitsenviron-
  ment, imposesdemands,and createsrelationships                                  between
  itselfand all who come in contactwith it duringits odysseyof
 d e v e l o p m e n t p r o d u c t i o n t e s t i n g ,s h i p m e n t ,a n d u l t i m a t e
  maturityin the field Requirements                      that consistently         appear
 are small size, lightweight,and ruggednesslt is also desir-
 able that the internalparts be sensiblyarranged and that
 subassemblies easily  be            accessible assemblyfor                and service.
    Theseneedsled to the firstmajorconceptin the productde-
 sign,thatthe mechanical              elements        mustprovide maximuma                 of
 functions     with minimumslructureand weight Traditional                                no-
 tions of sheet metal card cages mounted in an externalshell
 wererejectedbecauseof tolerance,                      size,and weight problems
 After consideringmany manufacturing                             methods,structural
 foammolding       appeared bestsolvethe problems providing
                                   to                                       of
 a combination external
                     of                 shellwith detailedinternal               structure
 for mounting     and locating          the varioussubassemblies
    The structural      Joamcase, however,did not provide RF inter-
 ferenceshielding         that previous        metalcaseshad providedand
 was determrned be necessary To meetthe RFIrequirements,
                       to                                                                            Fig,2. Printed circuit board stacking hinge detail
 a conductive      coatingis appliedto the insideof the case and                                   rightsideup Hencethereareno morekneeand backexercises
 connectedto calculatorground Two techniquesare used,                                              required to remove or installaccess screws Two screws re-
 flamespraying       aluminum         and painting         witha silver     colloidcon-            moved from the rear free the top shell,which is interlocked
 ductive paint, both of which have proved to be satisfactory,                                      to cause power disconnectin case of inadvertent                              opening
    Fourcase parts are toam molded;two of them,the base ano                                                       (but
                                                                                                   Loosening notremoval) twoscrewsin the baseallows
                                                                                                                                        of                                              the
 the keyboardhousing,             are the two majorsubassemblies                         The       keyboardhousingto slide forwardand be set aside At that
 printedcircuitboardsare stackedhorizontally the basewith a         in                             point, any of the secondarysubassemblies                            (printed circuit
 new HP-designed           printedcircuitboardstacking                  hingeand are               boards,printer,      keyboard,      and so on) are accessible                  immed-
 interconnected flat cable along the hingededge, elimin-
                      with                                                                         iatelyand independently
atingthe need for a motherboard (see Fig i) The flat cable                                            Oneof the subassemblies thekeyboardin                                    is
                                                                                                                                                                 housing the key-
alsoallowsphysical           separation thetwo majorsubassemblies
                                              of                                                   board, which was developedspecifically the 98254 and         for
whileleavingthem connected                    electrically                                         9815ACalculators         Thegoalswereto provide positive ac-    a              key
    The printedcircuitboards in the stack havetwo of the new                                       tion,to keepthefrontprofileof the machrne                  low,andto lowerthe
hingesattachedto one side These providea rigid mounting                                            cost over previously       used switchesThe "bucklingstrip"tech-
whenclosed,but alsoallowrandom                        accessto anyof the boards                    nologyoriginally      used in HP hand-held            calculators          was modi-
by hingingthem up individuaily together        or                 (Fig 2) Accessto                 fiedto suita largerkeyboard,            primarily increasing spac-
                                                                                                                                                       by                      key
bothsidesof a boardor to manyboardsat onceis possible,                                  The        ing and key cap travel This new keyboardis only 0 79 cm
hingesslideapartfor easyboardexchange                             without    tools Thus            thick,savingabout1600cm3and abouthalfthe cost per switch
thecalculator be completely
                  can                          openedandcontinue                running            of previous9800-Series          keyboards
   The entirepackageis designed be assembled       to                        and tested               The firststep of the keyboardmanufacturing                         processis the
                                                                                                   preparation the printedcircuitboard that carriesthe key-
                                                                                                   switchscanmatrix        and the padsfor the individual                 switchesThe
                                                                                                   surface the boardis platedwith brightalloythatgivescorrosion
                                                                                                   proofingand the weldablesurfaceneeded for the next step
                                                                                                   Thena beryllium-copper platedwith brightalloyis cut into
                                                                                                   0 4 x 1 6 5 - c m p i e c e s ,w h i c h a r e e l e c t r i c a l l w e l d e d t o t h e
                                                                                                   printedcircuitboard in such a way as to give an arch 0 06 cm
                                                                                                   high Thebuckling thisarchgivestactile
                                                                                                                           of                                feedback theuser to
                                                                                                   Thiskeyswitch       boardis then securely           stakedto a plastrc             insert
                                                                                                   that contains keycaps Each keycapis hingedand has an
                                                                                                   actuator    that depresses arch beneathit
                                                                                                      Theoperating      systemROMis housedin a separate                          package
                                                                                                   that is accessiblefrom the outside This allows testing in-
                                                                                                   dependently the mainframe
                                                                                                                     of                      final assemblyand very easy
                                                                                                   field replacement Critical internalcomponentsare placed
                                                                                                   directly frontof thefanto achieve             morethanadequate                 coolrng
                                                                                                   in spite of a high total heat dissipation                 rnsidethe package
                                                                                                   lnternalmountingbosses, reierencesurfaces,and guiding
Fig. 1. 98254 Calculator is fully operational when opened                                          grooves moldedintothestructural
                                                                                                              are                                     partsto provide           accurate
lor servicing Printed circuit boards are hinged to provide                                         locatron the subassemblies a minimum hardware
                                                                                                              of                           with                     of                  and
access lo both sldes Plug-in ROMs at front and side were                                           labor As a resut, suchelements the display, as                       tape transport,
pulled halfway out for this photo                                                                  and printerare automatically            locatedonce they are installed
90, and the step size, 10. AII programstatements
                                               en-         will be completed and the system will return to the
closedbetweenthe "for" and "next" statements  will         main task to begin execution of the next program line.
be executedten times before the program terminates         If an error has been detectedduring the live keyboard
with the "end" statement.                                  operation, it will be displayed and the calculator
                                                           will abort the live keyboard job and resumethe main
Interactiveness:  Live Keyboard                            task.
   The HPL command set by itself does not make the
calculator usable.The human-machine interface is a
very important aspect of calculator design. The         DataEntry
9825A provides a number of interactive featuresthat        In the quadraticsolution program,the "enp" fenter
allow the user to receive information and control the   and print) statementallowed the user to enter a value
calculator system in a very flexible manner.            for the specifiedvariable and print the requestand the
   Normally, when a calculator is executing a pro-      answer.If printing is not wanted, the "ent" (enter)
gram, the keyboard is disabled. In the 9825A, the       statement  can be used instead.Enteringdata,numer-
keyboard is active and the user is allowed to per-      ics, or character strings is a very important func-
form certain taskswithout stopping the job currently    tion of a computing system,so HPL makesit as inter-
in progress.This "live keyboard" feature allows the     active as possible.As shown in the quadratic ex-
user to evaluate algebraic expressions,examine the      ample, the enter statement causes the calculator
status of the running program, control the program      to prompt the user and accept data. In the numeric
flow, and execute specific subprograms without          case, the data can be given as a number or as an
aborting the main task.                                 expression,  which will be evaluatedand the result
   The following example containstwo subprograms.       supplied as an answer to the enter statement. If an
The first, lines 0 to 5, approximatesthe value of zrac- error is detectedduring the syntax analysisor evalua-
cording to the series,7+7,32+7152+7172+...:       n218.                         the
                                                        tion of the expression, errorwill be displayedand
The second,lines 6 to 9, evaluatesthe factorial of an   the calculator will remain in enter mode. While the
integer.                                                calculatoris in the enter mode, the user can execute
    0: "2 APPROXIMATION":                               expressions  and most of the HPL commandswithout
    1: l+A+B;0+C+N                                      affecting the pending enter statement.
    2: "L":B-12+B
    3: 1/BB*A+A;V (AR)-P
                                                           Often the user will enter array data element by ele-
    4: C*1+C;if N#O;gsb"FACT"                           ment. In such cases,it is important that the enter
    5: gto "L"                                          promptsproviderelevantinformation.The 9825Aac-
    6:                                                  complishesthis very simply as shown by the follow-
    7: "FACTORIAL EVALUATION":                          ing program.
   8: "FACT":1+X:for I=1 to N                                0: dim A[10]
   9: XI+X;next I;dsP X;0+N                                  1: for I=1 to 10;entA[];next I
  10: ret                                                    2: end
While the calculator is busy executingIines 2 through S,   The first time the "ent" statement executed, dis-
                                                                                              is          the
the user can sample the value of the counter C by          play will show the prompt "A[1]?". The following
simply entering c EXEcurE.    The value of C will appear   prompts will be "Al2l?"..."A[10]?". Thus the
on the display, indicating the number of terms ac-         array elementI or an equivalent expressionis evaluat-
cumulated thus far. All mathematic functions and           ed and the numeric result is presentedto the user
most of the HPL commandscan be executedunder               along with the array name.
live keyboard. These include variable assignments             At times, the entered expressions the program
and execution of subroutines designed for a specific       lines will be syntactically incorrect. When such an
job. While the calculatoris continuing the approxi-        error is discoveredthe calculator will take no further
mation of z. the user can enter n+N EXECUTE,     where n   actionotherthan to display an errormessage give
is the integerwhosefactorialis desired.Upon execu-         an audible signal. Additional error information can
tion of line 4, the calculator will perform a subroutine   be obtainedfrom the error booklet or by simply recall-
jump to "FACT",     evaluatethe factorial of n, display    ing the line. If a syntacticalerror is discovered,  the
the result and return to the approximation program,        line will be displayedwith a flashingrectangular   cur-
which was temporarily suspended.                           sor. The cursor identifies the problem areaso the error
   The keyboard is serviced as an interrupting device      can be corrected quickly.
while the program is running. To initiate live key-
board execution,an EXECUTE     commandmust be given.
The command will be logged and interrogatedwhen            Editingand Debugging
the end of the current program line is reached.If no         In the processof composinga program and enter-
errors are encountered,the live keyboard operation         ing it into the calculator,logical and typographical
 errors will inevitably occur. The 9825A offers im-        a line of asterisks, *. When the program is listed,
 proved editing capabilities for modifying existing        the user can immediately spot the location of the mis-
 information without retyping complete lines. Also         sing lines. Otherwise, the partitions are managed by
 available are many debugging aids, tools the pro-         the system and are completely transparent.
 grammer can use to locate and identify programming           Often the programmer will have to interrupt the de-
 errors.                                                   bugging process or swap complete jobs. Depending
    The editing features include both character and        on program complexity and system requirements,
 line editing. The design objective was to minimize        these may not be trivial tasks. The 9825A includes a
the time and number of keystrokes needed to edit the       "record memory" command which simplifies these
 proSram.                                                  tasks. The command records all the data and pro-
    Even though the programmer can minimize the de-        grams and internal pointers, so when the file is
bugging effort by correct problem analysis and good        loaded back into the calculator the system's status is
programming techniques, some troubleshooting will          the same as before the record operation. This allows
usually be necessary. The 9825A facilitates such ac-       continuation of the debugging process or complete
tivity by means of the following commands: step,           redefinition of the system with a single command.
trace, normal, stop, and reset. The programmer can
step through sections of a program line by line.
                                                           Optional LanguageFeatures
Stopping at certain lines and tracing of lines can be
                                                              The Advanced Programming ROM includes a
requested before program execution begins or from
                                                           cross-referencecommand and subroutine and func-
the live keyboard while the program is running.
                                                           tion calls. The cross-reference command scans the
When tracing is specified, the calculator will print
                                                           entire user program in the calculator memory, locates
the number of the line that is currently being exe-
                                                           all the simple and array variables used in the pro-
cuted, followed by any variable assignments and flag
                                                           gram, and prints them in alphabetical order. Every
assignments. In the case of array assignments, the
                                                           variable is followed by a list of the line numbers in
array name and the specific numeric subscripts will
                                                           which that variable occurs. This cross-referencelist-
be given followed by the value assigned to the array
                                                           ing can be very helpful in editing and appending
                                                           large programs.
                                                              The "go sub" statement provides basic subroutine
Tape CartridgeCommands
                                                           capability in HPL. The subroutine "call" statement
    The 9825A has a versatile set of cartridge com-
                                                           implemented in the Advanced Programming ROM
mands for recording and loading programs, data,            provides additional capability by allowing parameter
special key definitions, and assembly language             passing and local variables. Subroutines can return
programs.                                                  one or more parameters. Functions allow parameter
    When the calculator is turned on, the verify-after-    passing and local variables, but return only one par-
write feature is enabled. Following every record com-      ameter. The following example demonstrates the use
mand, the calculator will back up, read the recorded       of subroutines and functions.
information, and compare it byte-by-byte to the cor-         0: ent A,B
responding information in the calculator read/               1: c11'sum,diff'(A,B,C,D)
write memory. If an error is detected the calculator         2: prt C,D
wiII issue a terminal error signal and abort the opera-      3: prt 3+'sum'(A,B);stp
                                                             4: "sum,diff":p1+p2+p3;p1 -p2-p4
tion. Two commands, auto-verify enable and disable,
                                                             5: ret
allow the user to enable or disable this feature under       6: "sum":AA+p3;BB+p4
program control. Another verify command verifies             7: ret! [p3+pa)
the recorded file and returns the status of the opera-       The values of the variables A and B are passed to the
tion. When a bad file is encountered, the information      subroutine 'sum,diff' and are assigned to the local
can be recorded on another file and the task continued.    variables p1 and p2. In turn, the results, p3 and p4, are
    During load operations, files are read up to four      returned to the variables C and D. In line 3, the func-
times if an error is detected in the check word. Thus      tion 'sum'returns a numeric value and the result of
a transient error, such as a loose dirt particle, is not   the evaluated expression is printed. The p-variables
visible to the user.                                       are local to the particular subroutines and functions.
    Use of the verify features and proper cartridge        When these routines are exited, the p-variables are
handling will assure very infrequent loss of recorded      deallocated, thus returning to the program the tem-
information. To minimize loss of programs and data         porarily used read/write memory. The simple and
when failures do occur, every file is divided into par-    array variables are global variables. They can be used
titions 256 bytes long. When a program file partition      in subroutines and functions as well as in the main
is lost, the corresponding lines will be substituted by    program.
                                                            done via four signal lines. Theselines are defined by
                                                l/O Bus     loading memory address916,      which is also known as
                                                            register R9. Each peripheral must know its own ad-
                                                            dress and decode that addressduring an I/O strobe.
                                                              Registers(memory addresses)R4 through R7 are
                                                            phantom registersto the processor;they exist only in
                                                            the electronicsassociated  with a peripheral. To trans-
                                                            fer data between the processorand a peripheral de-
                                                            vice, the peripheral address is written into R9, and
                                                            then either a "Load RN" or "Store RN" command is
                                                            executed,   where N is 4, 5, 6, or 7. The registernum-
                                                            bers are encoded on two lines.
                                                              If the command is a store command,then the signal
                                                            Dour goes low, denoting a transfer to the peripheral
                                                            registerselected.If the command is a load command,
                                                            the transfer will be from the peripheral into the pro-
                                                            cessor's registeror R0.
     F)9. 2.98254 hardware oryanization The processor and
     ROMs are HP-developed NMOS LS/ circuits.

  With the Matrix and Array optional ROM, a 40x40           l/O InterruptStructure
matrix can be inverted in 80 seconds.Matrix trans-             The standard I/O system can operate without the
position and multiplication are among the matrix            use of interrupt, but the interrupt capability is de-
operations.Array operations (*, -, *, +) are per-           fined only in conjunction with the standardI/O proto-
formed on corresponding elements of identical-size          col. The interrupt capability can be turned on or off by
arrays.                                                     software command.
                                                               There are two levels of interrupt. On each level
                                                            there are eight ranked priorities. The interrupt prior-
Hardware   Organizationand MemoryStructure                  ity of a device is the sameas its peripheral addressor
  Fig. 2 is a block diagram of the 9825A hardware.          selectcodes.Low-level interrupt deviceshave select
The key elements of each block were developed es-           codes 0 to 7; select code 0 has the lowest priority.
pecially for this machine, except for the 4K RAMs           High-level interrupt selectcodesare I to 15; 15 has
in the read/write memory block.                             the highest priority.
  The processoris describedin the article beginning            If interrupt is enabled,then any interrupt can nor-
on page 15. Communicationbetween the processor              mally be serviced. If more than one peripheral on a
and memory is over the 16-line, bidirectional IDA           given level wants service,the device with the highest
bus. The ROMs are 16,384-bitHP-developedN-                  priority is servicedfirst. Once an interrupt servicere-
channel MOS devices. To save power and improve              quest has been initiated for a given level, another re-
reliability, theseROMs operatein a low-power stand-         quest from the same level will be ignored until the
by mode until addressed.                                    first requestis completed,A high-level interrupt will
  The total memory addressspacefor read/write and           interrupt a low-level serviceroutine. The termination
read-only memory is 65,536 bytes. Memory cycle              of an interrupt servicerequestis similar in function to
time is 880 nanoseconds.   The standard geZSA in-           the RETURNI the end of a subroutine.
cludes 8K bytes of read/write memory and z+K bytes             To minimize interrupt service times, the device
of operating system in ROM. The user can expand             polling and software branching are handled entirely
both types of memory if needed.                             by the interrupt hardware. Actual service response
                                                            times are software-dependent.
InpuUOutput   Structure                                        There are two interrupt requestlines that are pulled
   The internal inpuUoutput bus of the 9825A Calcu-         low by peripheral devices to indicate that they need
lator is the sameI/O bus that goesto the three I/O slots.   service. One is the low-level request line and the
Therefore, the printer, display, keyboard, beeper,          other is the high-level requestline. As soon as either
and tape transport are all treated as peripherals.          (or both) of these lines is low and interrupt has been
   Communication between the processor and the              enabled, the I/O chip initiates the polling routine.
peripherals is done asynchronously with respect to          Any operationon the I/O or IDA busesis allowed to
the system clocks. Signals on the data and control          complete.
Iines are valid only when the I/O strobeUosB) low.
                                                is             When an interrupt request is initiated by a pe-
   The selection of peripherals for data transfer is        ripheral device, it holds the appropriate line low
 until it is actually grantedservice.The fact that an I/O   card with interrupt capabilities, an HP-IB interface
 poll occurs does not necessarilymean that interrupt        card with extensiveinterrupt capabilitiesthat imple-
 was granted,becausemore than one device might              ments most of the interfacefunctions defined in IEEE
 have been requesting service. If a request occurs on       Standard 488-7975, and powerful HPL interface
 both levels,then the high level will be the first polled   instructions that may be added by plug-in read-only
 and serviced. The processorautomatically selects           memories (ROMs),Featuresof the interfacelanguage
 the highest-priorityrequeston eachlevel.                   include instructions for control of the HP-IB, in-
    Beforethe poll (usually during the turn-on routine)     terrupt operations,and input and output data buffers
 an interrupt vector is stored in register R10. This        operating in interrupt, DMA, or burst transfer modes.
 interrupt vector is twelve bits long; concatenated                                  in
                                                            The main consideration the design of the HPL in-
 with the select code of the interrupting peripheral it     terface firmware was to make the task of program-
 forms the addressof the appropriate entry in the in-       ming external devices as easy as possible. Three I/O
terrupt table. The interrupt table contains sixteen en-     ROMs are available. They are the General I/O ROM,
tries; theseare the starting addresses  ofthe peripheral    the 9862A PlotterROM. and the ExtendedUOROM,
serviceroutines. The I/O chip automatically branches
through the interrupt table to the selected service
routine.                                                    16-BitDuplexlnterface
   The selected   peripheraldoesn'treceiveany indica-          The 98032A 16-8it Duplex Interfaceis a general-
tion that it has beenselected   until the serviceroutine    purposeinterface   that enables HP 9825A Calcula-
resetsthe interrupt request.This delayedacknowledg-         tor to exchangeinput and output information with a
ment permits interrupting a low-level requestby a high-     wide variety of devices. This interface features
level request without regard to when the interrupt          16-bit input and 16-bit output data registersthat
occuIS.                                                     provide temporary storageduring data transfer,plus
   The 98254 has a single channel of DMA (direct            control, interrupt, and direct memory access(DMA)
memory access).     One of the high-levelselectcodesis      logic. Also provided is a peripheralcontrol line (take
assigned DMA. The I/O chip handlesthe protocol for
            to                                              action) to the peripheral device and a peripheral flag
the memorybus cyclesand signalsthe processor        after   line (actioncomplete)from the peripheral device.In
the necessary   number of transfershas been completed.      addition to thesebasiccontrollines.the interface     also
                                                            featurestwo extended control lines for multiplexing
lnterfaclngExternalPeripherals                              applications and three device status lines.
    The 98254 Calculator has enhanced interfacing              The calculator initiates an input operation by re-
capabilities. It has fast, versatile interface hardware,    questing data from the peripheral device via the pe-
high-level interface firmware, and extensive fac-           ripheral control line. The peripheral device indicates
ilities for conhol of the HP Interface Bus (Hewlett-        the data is ready via the peripheral flag line. This
Packard's implementation of IEEE Standard +gg-              signal entersthe data into the input data registerand
7975).Thesecapabilities help make the new calcula-          indicates the completion of the I/O operation by set-
tor a powerful controller for external peripherals,         ting the calculator flag line and setting one of the in-
automatic stimulus-responsetest systems,and real-           terrupt request lines if interrupt has been enabled.
time processcontrol systems.                                The calculator responds with an input instruction
    Interfacing capability was a major considerationin      that entersthe input data into one of the calculator's
the developmentof the new calculator.Speed,in par-          accumulators,
ticular, was important. The 9825A mainframe is                 An output operation is initiated when the calcula-
roughly eight times fasterthan its 9821A predeces-          tor transfersthe contentsof one of its accumulatorsto
sor. the interface hardware can transfer data at            the output data register. The calculator also issuesa
speeds up to 400,000 words per second, and the              "take action" command via the peripheral control
HP-IB interfaceperforms at up to 45 kilobytes per sec-      line, indicatingthat the datais readyto be actedupon.
ond. Interrupt and direct memory access     (DMA) capa-     The peripheral device indicates acceptanceof the
bilities have been added.                                   data via the peripheral flag line. This signal also
    To interface the 9825A to a peripheral, a hardware      marks the completion of the I/O operation by setting
interface is plugged into one of the three interface        the calculator flag line and setting one of the interrupt
slotson the backof the 9825A,and a ROM containing           requestlines if interrupt has been enabled.
interface instructions is plugged into one of the I/O          The DMA logic on this interfacepermits the 9825A
slots on the front of the calculator.                       to exchange   input and output information with a pe-
    Flexible interface hardware includes a 16-bit           ripheral deviceat high datarates.This logic requests
duplex interface card with interrupt and DMA capa-          the calculator to perform a DMA transfer whenever
bilities, a binary-coded-decimal(BCD) interface             the interfacehas been enabledfor DMA and the inter-
face is ready for an inpuUoutput operation. Data                  input the information.
transfer rates up to 400,000 16-bit words per second                 The input string of 16 ASCII characters   has two for-
can be accommodatedwith this mode of operation.                   mats.If only one device is connectedto the interface,
                                                                  the format is an eight-digit signed mantissawith a one-
BCD lnput Interface                                               digit signed exponent,a one-digit function code,and
   The 98033ABCD Input Interfaceprovides the inter-               an overload indication. If two devices are connected
facing hardware necessary interfacethe 9825A to a
                             to                                   to the interface,the format is a four-digit signed man-
variety of instruments that provide binary-coded-de-              tissa and a five-digit signed mantissa with a positive
cimal (BCD) output data in a bit-parallel, digit-paral-           exponent.
lel form. This interface permits the input of up to 10
BCD digits with overload and sign information. The
interfacecan alsobe easily programmedto input BCD                 HP{B Interface
digits from two instruments.                                         The combination of the 98034A HP-IB Interface
   This interfacecontains a multiplexer and code con-             and the ExtendedVO ROM makesthe 9825A Calcula-
verter that converts the bit-parallel, digit-parallel             tor a powerful and versatile controller for the HP
                                                                  InterfaceBus. An extensivemessage     oriented instruc-
BCD input data into a string of 16 ASCII characters.  It
also contains control and interrupt logic.                        tion set eliminates the need for the user to have a de-
   The calculator initiates a reading from the inter-             tailed knowledge of the structure of the HP Interface
faced device by issuing an output instruction that                Bus. The table below shows the HP-IB functions
causesthe interface to set the device control lines               implemented in this interface.
true. Initiation of a reading causesthe interfaceto in-           IEEE488-1975                  98034,{ Capabilities
dicate "busy" to the calculator. The interface will               Interface Function
remain in this mode until a device flag is received in-           Source Handshake(SH1) Complete Capability
dicating that a valid reading is available on the input           Acceptor Handshake(AH1) Complete Capability
Iines. If interrupt has been enabled, one of the in-              Talker (T5)             Basic Talker
terrupt lines will be set true when a valid reading is                                    Serial Poll
available.The calculator respondswith input opera-                                        Talk Only Mode
tions until the ASCII characterthat represents end
                                                the                                       Unaddress if my listen
of the reading is detected.Unlike most other interfaces,                                   address (MLA)
storageis not provided on this interface.Datamust be              Listener (L3)           Basic Listener
retained on the input lines until the calculator has                                      Listen Only Mode

   Calculator                                          HP-lB lntertace
    l/O Bus

                                          Data Bus

                                                                                                               Data Bus
                                                                                                                  I oror-
                                                                                                                  I D|oo

                                                                                                                Data Byte
                                                                                                               Control Bug


                  Fig. 3. HP-IB lntetface, used with the Extended I lO ROM, implements most of the functions
                  defined in IEEE standard 488-1975. Some HP-IB functions are also orovided in the General
                                     llO ROM. Binarv and BCD interfaces are a/so available

                              Unaddressif my talk
 ServiceRequest(SR1)          Complete Capability
 Parallel PolI (PP2)          Omits capability of
                                being configured by
 DeviceClear (DC1)            Complete Capability                           HP.IB
 Controller (C7,2,3,4,5)      System Controller
                              SendInterface Clear[FC)
                              Send RemoteEnable
                              Respond to Service
                                Request(SRQ)                            1&Bit Duplex
                              Send InterfaceMessage
                                                              Flg-4. HP-IBinsttucttonset eliminates need for the user
                              PassControl                     to have detailed knowledge of the structure of the HP inter-
                              Parallel Poll                   face bus. lnsttuctionsfor reading from and writing to devlces
                              Take Control                    on Arc HP-IB are similar in form to othet readlwite instruclons
                                Synchronously                 Bus orotocol is handled automaticallv and is transparent to
                                                              the user.
   The HP InterfaceBus can also be controlled by the
9825A when it is equipped with the 98034A HP-IB
Interfaceand the General/I/O  ROM. This combination      word read/write are included in this ROM. A feature
is sufficient when extensivecontrol of the bus is not    of this ROM is the ability to exchangedata with the
required and the primary job to be performed is the      HP-IB interface or any other interface with the same
transfer of data between the 9825A and peripheral        read or write statement.
devices on the bus.                                         Fig. a shows several devices connected to the
   The design of the HP-IB interface is based on an      9825A calculator. Three are connected to the HP-IB
eight-bit processor developed by HP. Fig. 3 is a         interfaceand one is connectedto the 1o-bit duplex in-
simplified block diagram of the interface, showing       terface.Each of the interfaceshas its own selectcode.
the interconnections between the processor,ROM,          The interfaces do not have to be plugged into any
the I/O registers associatedwith the 9825A I/O bus       particular slot in the rear of the calculator. Also, each
and the HP Interface Bus, and the other electronic       device on the HP-IB has its own address.
modules required to support the processorand the            To read data from the device on the interface with
98254I/O system.                                         select code 3 and replace the value of the variable A
   The firmware algorithms contained in the ROM          with this data, the program statementis "red 3,A".
implement the state diagrams for the interface func-     Similarly, to sendvariableA to the devicewith select
tions and control the flow of messages    between the    code 3, the statementis "wtt 3,A".
calculator and the HP-IB. Both the calculator I/O bus       If the data is to be sent to a device on the HP-IB,then
and the HP-IB are monitored for conditions that re-      a larger addressdesignatesthe interface select code
quire the interface to take action. The calculator can   and the device number, Reading data from HP-IB
initiate action by addressing the interface and re-       device 3 to variable A is accomplished by the state-
questing an I/O operation via the command register.      ment "red 7o3,A". The HP-IB device number is the
When a calculator requestfor an I/O operation is de-     decimol equivalent of the leastsignificant s bits of the
tected, the processorissues the appropriate instruc-      HP-IB talldlisten address.This device addressis ap-
tion to the other modules to decode and executethe        pended to the HP-IB interface select code, 7. The
requestedI/O operation. The statusof the HP-IB con-       general VO ROM determines that the device is on
trol bus is periodically sampled via the HP-IB input      the HP-IB by the larger select code. It then goesinto
multiplexer. If a condition is detected that requires     an HP-IB firmware routine and issues instructions
action, for example, the service requestline (SRQ)is      to the HP-IB interfaceto unlisten all devices,address
true, the processorissuesthe appropriateinstructions      device 3 as a talker, and addressthe HP-IB interface
to complete the operation requested,                      as a listener. Data is then transferred from device 3
                                                          to the calculator. Thus HP-IB protocol is transparent
InterfaceFirmware: Generall/O ROM                         to the user.
  The GeneralI/O ROM provides the basic firmware             In these examples, it was assumed that the pe-
necessary communicate with external peripherals.
          to                                              ripherals all had similar data formats. This is not
Instructions such as formatted read/write and bvte or     always the case,so a format statementmay have to be

used in conjunction with a read or write statement.        device statementis usually executedat the beginning
                                                           of a program and equatesdevice mnemonics to select
PlotterROM                                                 codes.At a later point in the program, the device may
  The 98624 Plotter ROM supplies high-level in-            be referred to by name, rather than by select code. In
structionsto the 9825A for controlling the HP 9862A        the following program, "DvM" is substitutedfor select
Plotter.Included are instructions for scaling,generat-     code 7O2,and "Printer" is substituted for selectcode
ing axes,and labeling.                                     703:
                                                              5: dev "DVM", 702, "Printer", 703
 Extended ROM
    The ExtendedI/O ROM is an extensionof the inter-
 face instructions in the GeneralUO ROM. These add           20: red "DVM", A
 to the basic interfacing instructions the following         20: wrt "printer", A
 capabilities: extensivecontrol of the HP-IB, buffered
 I/O, interrupt operation, code conversion, and bit        Interrupt
 manipulations.                                                The Extended I/O ROM adds the necessary in-
    When devices are interfaced to the HP-IB, many         structions for conhol of the two levels of hardware
 bus operations are sent between devices.The power         interrupt availablein the 9825A. Fig. 5 shows how in-
 of the extended I/O instructions can be illustrated by    terrupt subroutinesare implemented. The "On-Inter-
 comparing what HP-IB operations must occur to get         rupt" statementassignsthe addressthe program will
 a status byte from a bus device, and how this same        jump to when a given peripheral interrupts. The "En-
 message   may be sent by an extended I/O instruction.     able Interrupt" statement enablesa particular inter-
 Status bytes are received when performing a serial        face to interrupt. Each interrupt subroutine must be
 poll on the HP-IB.                                        terminated by the "Intermpt Return" statement.In Fig.
    Referringto Fig. 4, assumethat the 9825A is to read     5, lines 5 and 6 assignthe location of interrupt subrou-
 into variable A the status byte of device 3. The bus      tines for peripheral devices 2 and 8. Line 7 turns on in-
 operations that must occur are:                           terrupt for those two devices.Then, during the execu-
    Unlisten                                               tion of line 25 in the main program, device 2 interrupts.
    CalculatorListen Address (DeviceNumber 21J             After line 25 is executed, the program jumps to the
    Serial Poll Enable                                     interrupt subroutine starting at label A. While line
    Device Talk Address (DeviceNumber 3).                  507 of this subroutine is being executed, higher-
The 9825A can now read the statusbyte on the HP-IB,        level device 8 interrupts, and after line 507 is exe.
store the result in variable A, and then send the com-     cuted, the program jumps to the interrupt routine
mand: Serial Poll Disable.                                 beginning at label B. At the completion of this inter-
   Most HP-IB controllersrequire that the user initiate    rupt program (line 612), the program returns to line
each of thesebus operationsto obtain the statusbyte.       508. After completion of this low-level intemrpt rou-
However, with the 982bA and the ExtendedI/O ROM            tine (line 510), the program returns to line 26 of the
the user need only execute the statement "rds              main program and continues.
(zOS;'6". Thus with one instructionthe usercanper-            The "On-Interrupt" statement can be programmed
form this very basicoperationof receiving a statusbyte.    to cause an immediate jump to a service routine
   The device statementof the ExtendedI/O ROM en-          on interrupt, before the current line is completed.
ablesone to assignmnemonicsto selectcodes.The              However, the information processedin that line will

                                                                                        Flg. 5. Ihe extended llo BOM
                                                                                        adds high-level instructions
                                                                                        for control of the 98254's two
                                                                                        Ievels of interrupt. This example
                                                                                        shows how control is transferred
                                                                                        during the servicing of lowJevel
                                                                                        and high-level interrupts.

be lost and the interrupt program cannot return to the                     had to perform during this wait period, it would be
line in which the interrupt occurred. This mode of                         advantageousif data from the calculator could be
operation could be used, for example, if an emer-                          placed in a buffer to be sent to the peripheral when-
gency demanding immediate attention should occur.                          ever it interrupted to indicate that it was ready for the
                                                                           next word or byte of data.
Buffered l/O                                                                  The Extended I/O ROM has buffered input and
   For most I/O transfers,the read and write instruc-                      output capability that helps solve these problems.
tions in the GeneralI/O ROM are sufficient. However,                       Shown in Fig. 6 is an output buffer in the 9825A.This
in some instances the calculator may need to com-                          is a softwarebuffer located in the calculator memory.
municate with a device that requires data at a higher                      The buffer can be filled by write statements that
rate.Another problem situation occurs when the cal-                        transferdatafrom dataregistersto the databuffer. The
culator is executing a program and needs to com-                           data is then transferredfrom the data buffer to the pe-
municate with a very slow device.If the write or read                      ripheral using the transfer statementin one of three
statementwere used here,the calculatorwould spend                          modes: burst, direct memory access (DMA), or
most of its time waiting for the slow device. Assum-                       interrupt.
ing that there were other tasks which the calculator                          In the burst mode the program stops while data is

                                              9825A Cartridge Tape Unit
    The cartridgetape unit in the 98254 Calculatorhas a careful               The partition
                                                                                          gap is usedwithinfilesso thatif an erroroccurs,
  mixtureof mechanical,electronic,and softwarefeaturesthat                  onlya smallportion data will be lostinstead the entire
                                                                                              of                         of          file
  combine givetheuserhighperformance at the sametime
          to                               and                              Partitions otherwise
                                                                                     are           invisible the calculator
                                                                                                           to                user
                   and ease of use lts operatingcharacteristics
  dr E.                                                                     Tape System Design
                                                                               Tape speed in the 98254 tape transportis sensed by a
     Capacity:250,000bytes                                                  1000-line  opticaltachometerThis high-resolution    tachometer
     Average Access Time: 6 seconds                                         makes possibleprecise controlof accelerationand decelera-
     Read/Write Speed: 559 mm/s (22 in/s)                                   tion,helping minimize gap length
                                                                                         to           file           and maximize capacity
     SearchSpeed (bidirectional):2286 mm/s (90 in/s)                           Pulses from the tachometer   triggera monostable  multivibra-
     Typical TransferRate:2750 bytes/s                                      tor (one-shot)Low-passfilteringthe one-shotoutput produces
     Typical Access Rate: 14300 bytes/s                                     a voltageproportional speed Thissignalis compared
                                                                                                    to                                witha
     RewindTime:19 s (one entiretrack)                                      forcingfunction  that is proportional the desiredspeed,and
                Automatic recording
                           on                                               the difference srgnal drivesthe motorby wayof an amplif that
                                                                            compensates the mechanical
                                                                                           tor                 pole of the motor The overall
    The tape cartridgeis the same mini data cartridgethat is                servo system bandwidth is 200 Hz
 usedin the 26444 Terminalt                                lt
                                and the 9815ACalculator. mea-                  Speedchanges    occurat a constant   acceleration decelera-
 suresonly 63 5 mm x 82.5 mm x 127 mm (2 5 in x 3 25 in x                   tion producedby changingthe forcingfunctionlinearly         with
 05 in)                                                                     ume,
    Thetape is encodedwitha deltadistance       techniqueA short               The outputof the magnetichead is proportional the time
 distance (time) between magnetic flux transitions the tape
                                                      on                    derivative magneticflux, so the flux reversals the tape
                                                                                       of                                       on
 represents   adatazero, and a longdistancerepresents one.  a               are coincidentwith peaks in the head output waveform These
 During  each interval  between  transitions capacitor charged
                                           a           is                   peaks are detectedby differentiating signaland sensing
 by a constantcurrent,so at the end of the interval capacitor
                                                    the                     zerocrossingsTheheadsignalis alsoleveldetected,         and only
 voltageis proportional the time betweentransitions.
                          to                              This vol-         peaksthat exceeda threshold      are passedon Thiseliminates
 tage is comparedwith a thresholdvoltageto determine      whether           problems   with noiseduringgap regionson the tape
 the data bit is a zero or a one The thresholdvoltage is also                  The threshold  circuitperforms tmportant
                                                                                                                an           functionduring
 storedon a capacitorand is updatedslightlyafterany transition              automaticverification    atter recording During normal read
 intervalthat is shorteror longerthan expected,Thus the threshold           operations thresholdis set at 10olo the nominaloutput
                                                                                        the                            of
 tracks low-frequencyvariationsin the transitionintervals Track-            pulseamplitudeAftera recordoperation new information
                                                                                                                        the               is
 ing makes it possible for the ratio of a one intervalto a zero             read and compared     withmemorywiththe threshold at 45%
 intervalto be smallerthan it would have to be otherwise,   there-          of nominalamplitudeThis assuresnot only data validity,       but
 by increasing    cartridgecapacity.                                        also that the recordingis not marginalin amplitudeor pulse
    At nominalread/write    tape speeds the followingtransitionin-          quality
 tervalsare typical                                                            Theoutput the readelectronics fed to the decoder,
                                                                                          of                     is                   which
                                                                            reconstructs  binarydata from the times betweenflux transi-
                 0's                     :    284p,s                        tions,as describedabove
                 1's                     :    497p.s                           The writesystem the 98254 Calculator the sameas that
                                                                                                 of                       is
                 threshold               :    38 3rrs                       of the 9815A (see article, page 24)
                 partitiongaps           :    550rrs
                 file gaps               --   45 ms                         Reference
                 end of valid data gap   :    300ms                         1 R G Nordman,F L Smith,and L A Witkin,"New CRT TerminalHas lvjagnet
                                                                            Tape Storaqefor ExoandedCapability, HewlettpackardJournal May 1976

                                                                                                                     Donald E. Morris
                                                                                                                     Serving overallprojectmana-
                                                                                                                     ger, Don Morrislaunchedthe
                                                                                                                     98254 project, then continued In
                                                                                                                     that capacityfor the hardware
                                                                                                                     designwhenthesoftware   became
                                                                                                                     a separate project WithHP since
                                                           1 6 - B i tD u p l e x                                    1970,he had previously  worked
                                                              Interface                                              on the 9805Aand 464 Calcula-
                                                                                                                     tors Born in Dallas, Texas,Don
                                                                                                                     attended the University New
        Fig. 6. Buffered llO provides software buffers for input and                                                 Mexico, graduating 1967witha
        output data transferin DMA, interrupt,or burst modes                                                         BSEEdegrge FromOklahoma
                                                                                                                     StateUniversity, received
transferred to the peripheral in the fastest possible                                                                MSEEand PhD degreesrn 1968
software loop. Data rates of up to 45 kilobytes per                                                                  and 1970 He's married,  has two
                                                                                           sons,and livesin Loveland,ColoradoDon owns and flieshis
second may be achieved on the HP-IB.
                                                                                           own airplaneand devotes significant
                                                                                                                   a           portion his freetrme
   In the DMA mode, upon execution of the transfer                                                   mathematics programming a localvocational
                                                                                           to teaching           and               at
statement, the program continues while data is trans-                                      education center
ferred from the data buffer to the peripheral under
DMA. Data transfer rates of up to 400,000 words per
second may be achieved. DMA operation is available
only with the 16-bit duplex interface.                                                                                  Dick B. Barney
                                                                                                                  : , With HP since 1969,Dick Barney
   In the interrupt mode, upon execution of the
                                                                                                                  .. :: has servedas development
transfer statement, the program continues while data
                                                                                                                        engineer 9800-Series              Catcu-
is transferred from the data buffer to the peripheral                                                              .' latorsand the 98664 Printer,            as
under interrupt operation. The calculator fills the                                                               . .:: productmanagerfor the 9800
data buffer and instructs it to begin the transfer to the                                                          ..;: Seriesinterface       cards, and as
                                                                                                                   ':l prolectleader
slow device. The data transfer between buffer and pe-                                                                                       for the 9825A's
                                                                                                                        interface     cards. Born in Hetena
ripheral is then transparent to the main program.@                                                                   \-
                                                                                                                        Montana, servedin the U.S.
                                                                                                                        Navy for threeyears,then en-
                                                                                                                        rolledat Montana        StateUniversity
                                                                                                                        and received BSEE  his        and MSEE
                                                                                                                        d e g r e e s n 1 9 6 5a n d 1 9 6 9 H e ' s
                                                                                                                        a m e m b e r f I E E EN o w l i v i n g n
                                                                                                                                         o                      i
                                                                                                                        Loveland,       Colorado,   Dick is mar-
                                                                                          ried,has threechildren,
                                                                                                                and is an activememberof Toasrmas-
                                                                                          ters International also enjoysreading,
                                                                                                           He                              fishingand back-
                                                                                          packang the mountains Colorado
                                                                                                   in               of                 and Montana

                                                                                                                    Chris J. Christopher
                                                                                                                    ChrisChristopher          was project
                                     Geoffrey W. Chance                                                             managerfor the 98254'slan-
                                     GeoffChancewas projectmana-                                                    guage. HPL A nativeof Greece,
                                     ger for the 98254 liO System                                                   he came to the U S A in 1961and
                                     Geoffloined HP in 1965 He was                                                  received BSEEand MSEEde-
                                     the project                    for
                                                     manager the mem-                                               greesfrom Colorado            StateUni-
                                     oryand powersuppy ofthe9810A                                                               i
                                                                                                                    v e r s i t yn 1 9 6 8a n d 1 9 7 4 J o i n i n g
                                     Calculator,     and servedas pro-                                              HP in 1968,he workedon com-
                                     d u c t i o n n g i n e e r i nm a n a g e r
                                                  e                  g                                              puterized      testingand production
                                     afterthe 9810Awas transferred                                                  of 9100 SeriesCalculators            and
                                     to productionHe holdsBSEE                 and                                  peripherals,      and developed        the
                                     MSEEdegreesfrom Montana                                                        98304 tape cassettesottware              and
                                     StateUniversity,        received 1963in                                                          for
                                                                                                                    the software the 9880A/BMass
                                     and 1965,respectively              Geoffis                                     Memory He's a memberof IEEE
                                     a native MontanaHe'smarried,
                                                 of                                                                 Now livingin Loveland,          Colorado,
                                     the fatherof two smallgirls,and                      Chris is marriedand has one child-a daughter He enjoys
                                     an activeToastmaster eniovs       He                 skiing,and investsmuch of his free time in his garden and
 backpackrng, o o d c a r v i n g , a n d h a n d b a
            w                                                                             hisbeecolonies,

               NMOSLSI Processor
William D. Eads and David S. Maitland

'THE HEARTOF THE 9825A Calculator,and the                    dress is clear, the word at that address is data; if the
 I basis of its performance,is an HP-developed               most significant bit of the address is set, the word at
16-bit processor.                                            that address is treated as another address.
   The processorconsistsof three N-channelmetal-                The memory reference group of instructions forms
oxide-semiconductor    (NMOS) large-scale  integrated        a memory address by adding the least significant 10
(LSII circuits. The usual computer instruction set is        bits of the instruction to the current value of the f S-bit
provided by the BPC chip, the IOC chip providesin-           program counter register (P) giving an address rela-
puUoutputfunctions, the EMC chip providesa set
                      and                                    tive to P. Or, depending upon a bit in the memory
of binary-coded decimal arithmetic macroinstruc-             reference instruction, this bit can be used to address a
tions. The three NMOS LSI chips are packagedin a             fixed toz+-word block of memory, called base page.
hybrid circuit with four bipolar bidirectional buffer        Thus any memory reference instruction can directly
chips. Fig. 1 is a photographof the hybrid circuit.
   A block diagramof the processor shown in Fig, 2.
The IDA bus is 16 bits wide and bidirectional.It time
                                                                                             Table I
multiplexes instructions, data, and addresses.    The
IDA bus signals go through the bidirectional buffers                               Instruction
                                                                             Typical                 Times
to either the inpuUoutput (I/O) port or the memory
port. The control bus containsall the control signals          lnstruction            Description                 Time (ps)
for memory, I/O, and communication between the
processor  chips.                                             LDA m     Load accumulatorA from addressm           1.83
                                                               CPBm     Compare contents of B with con-           2.33
   Communication between the processorchips is
                                                                        tents of m; skip next instruction
the same as interacting with memory. Thirty-two                         if unequal.
addressesin memory are assigned to the various                JMP m     Unconditional branch to addressm          7.17
registers the processor
         on               chips.Whenevera memory              ISM m     Jump to subroutine at m. The con-         2.5
cycle is executedthat specifiesone of these 32 ad-                      tents of return stack register R are
                                                                        incremented,and P is stored at the
dresses, the chip registersare accessed    instead of                   addresscontainedin R.
memory.                                                        RET n    Return from subroutine. The con-          2.33
   Eachof the three NMOS chips has its own internal                     tents of the addressin R are placed
                                                                        in P and added to n (-32<n<32).
controller, which operateson 16 bits of parallel data
                                                                        The processoriumps to this address
or 15bits ofaddress. Eachchip alsohasan instruction                     and R is decremented 1.
registerand a decoderfor recognizinginstructions.              ABR n    Arithmetic right shift of B n places,     2 . 6 7( n : 8 )
   Table I shows typical processor instruction exe-                     with sign bit filling all vacated
cution and I/O times.
                                                               PBC m    Place byte content of m into stack        3.5
                                                                        addressed C. IncrementC.
BinaryProcessor  Chip                                          FXA      rz-digit decimal add                      467
   The primary chip of the systemis the binary proces-         FMP      12-diSirby-1-digit decimal multi-         173
                                                                        ply giving 13 digit result.
sor chip (BPC).It executes59 instructions and can
function independently of the other chips.                                                TypicalUOTimes
   The BPC is built around two general-purpose
16-bitaccumulator            A
                    registers, and B, aswell asother           LI       Lockout    time   (maximum)   of inter-   Instruction time
                                                                        tenupt    acknowledgment                  *33ps
registers.The memory address    spaceof the processor
                                                               LD       Lockout    time   (maximum]    of DMA     767 ps
is 32,768words,which requiresa 1s-bitaddress     field.
                                                                        Maximum      transfer rate in DMA         667,000
The 16th bit of an addressword is used to define in-                                                              16-bit words/s
direct addressing. the most significantbit of an ad-

                                                                   ment memory and skip on zero, and logical AND/OR
                                                                   operations with A.
                                                                      The shift-rotate instructions contain a four-bit field
                                                                   that allows 1 to 16 bits of shift or rotation on the A or B
                                                                   register. Left and right shifts are allowed. The alter-
                                                                   skip instructions contain a six-bit field to allow skip-
                                                                   ping up to 32 instructions forward or backward.
                                                                   These instructions may be used to test for various
                                                                   conditions of the BPC registers.
                                                                      To minimize the time it takes to form the address
                                                                   for the next instruction when a skip is executed, a
                                                                   dedicated 1s-bit full adder is associated with the
                                                                   program counter. This adder also decreasesinstruc-
                                                                   tion time by forming the next address while execut-
                                                                   ing the current instruction.
                                                                      A stack pointer for subroutine returns is also on the
    Fig.1. An HP-developed16-bit processor theheartof the
                                          is                       BPC. Two other single-bit registers that can be set,
    98254Calculator consisfs threeNMOS
                              of              LS/ chipsand         cleared, and interrogated act as software flags. These
    fourbipolarchips a hvbrid
                   in        circuit a 7 6 x 3 8-cmceramic
                                   on                              flags are also set if an arithmetic overflow occurs.
                                                                   There are also four external flag inputs that can be
access the 1,O24 words of base page memory and                     monitored with software instructions. BPC func-
the words that lie within -t512 words of itself. If                tional units are shown in Fig. 3.
the instruction specifies an indirect address, any
word in memory can be accessed via the address                     InpuUOutputChip
word. The memory reference instructions include                       The inpuUoutput chip (IOC) acts as the controller
loading, storing, adding, comparing A or B with                    for all communication via the I/O port and executes 12
memory, jump, jump subroutine, increment or decre-                 instructions. One of the functions it provides is con-

                                                                     ,Power Supplies
                                                                    / and Grounds

                                                Has \
                                        EoqHss:Ec':                         aPs:c"Fi;a"j

                                                                                                                ""o I To Bus
                                                                                                                    ) Control
                                                                                                                eee J circuit


       l/O Data
        Bus to

                    Fig.2. Processorblock diagram Theprimary chip is the BPC, which execules 59 instructions
                    The 12-instruction
                                     IOC controlsinput and output functions,The EMC execules 15 instructtons,
                                               mostlv fot mathematical  routines,

                                                             transfers and the sequencing of the memory address.
                                                             A four-bit DMA peripheral address register holds the
                                                             select code of the DMA operation.
                                                                In addition to interrupt and DMA operations,
                                                             the IOC can place or withdraw words or bytes se-
                                                             quentially into or out of two areas of memory. The
                                                             stack group of instructions provides for addressing
                                                             into two data stacls using two hardware registers, C
                                                             and D, as pointers. The data stacks may be accessed
                                                             either by word or by byte, depending upon tle instruc-
                                                             tion, and may grow as memory addressesincreaseor de-
                                                             crease, again depending upon the instruction.

                                                             Extended Math Chip
                                                                The extended math chip (EMC) executes 15 in-
                                                             structions, mostly for implementing math routines.
                                                             Each of these instructions actually causesseveral ma-
                                                             chine level instructions to be executed. Having these
                                                             special macroinstructions in hardware makes the
                                                             math routines over ten times faster than they would
                                                             be in software.
      Fig.3. BPCchiplayout.                                     There are two types of macroinstructions, differ-
                                                             ing in the numerical format on which they operate.
                                                             The first type is designed to be used with any type of
trol of two signallines on the control bus by meansof
                                                             binary data. Two macroinstructions in this group
softwareinstructions. If any of four particular register
                                                             clear or transfer one to sixteen contiguous words of
addresses specified in a memory reference,         these
                                                             memory. A third microinstruction can multiply two
two lines go to a particular coded binary state de-
                                                             16-bit two's complement numbers and obtain a
pendingupon which registerwas addressed. two   The
                                                             32-bit product.
signalsremain in the samestateuntil the next instruc-
                                                                The second type of macroinstruction is designed to
tion. Another I/O control function centers around a
                                                             be used with a three-word (48-bit) binary-coded-deci-
four-bit peripheral addressregister that can be ac-
                                                             mal (BCD) L2-digit mantissa. The EMC has a four-
cessedwith memory references.All four bits are
                                                             digit arithmetic unit capable of performing decimal
output continuously as select codes on the control
                                                             addition and optionally generating the g's comple-
bus. This savesexternal latching and decoding cir-
                                                             ments necessary for subtraction operations. The con-
cuitry in the peripheral interfaces.The selectcode re-
                                                             troller in the EMC interacts heavily with memory, but
mains in the peripheral addressregister until it is al-
                                                             is also important for on-chip, multi-step micro-
tered by a memory write cycle to the peripheral ad-
                                                             instructions. In processing floating point, 12-decimal-
dressregister or by an interrupt.
                                                             digit mantissas,the controller directs the flow of data
   All the hardware for two levels of vectored inter-
                                                             from a decimal accumulator register and memory to
rupt is,on the IOC. It determinesif an interrupt is
                                                             the arithmetic unit. When adding four-digit words,
valid, and does a parallel poll to determinewhich
                                                             the generated carry goes to the decimal carry register
peripheral has requested the interrupt. It concate-
                                                             where it is added to the next most significant digit
natesthe peripheral addresswith a 12-bit interrupt
                                                             during the subsequent add. The sum is placed in the
vectorregisterto form the indirect address the rou-
                                                             12-decimal-digit accumulator register.
tine. The selectcode of the interrupting peripheralis
put into the peripheraladdress   register.Because isit       Bidirectional Interface Buffers
usually necessary savethe selectcode that was in
                    to                                          The four other integrated circuit chips shown in the
the peripheral address register before interrupt oc-         processor block diagram (Fig. 2) are bidirectional in-
curred, the contentsof this registerare placed on a          terface buffers (BIBs). These 8-bit bipolar buffers per-
stack whenever interrupt is granted. The original            form two main functions. On the MOS side, they
selectcodeis returnedto the peripheraladdress     regis-     provide a four-volt logic high level and a high-
ter at the end of the interrupt service routine.             impedance load. On the other side they have the low
   Another I/O function is direct memory access              impedance necessary to drive the capacitance of the
(DMA). If DMA is requested, IOC insertsmemory
                               the                           instrument's internal bus. The BIBs have two control
cycles within the current instruction. Two t6-bit            inputs. One determines the direction of transmission,
counter registers keep track of the number of DMA            and the other disables all transmission,

Processor Details
   The seven chips shown in Fig. 1 are on a ceramic                                                                     ProcessorTester
substrate 7.6 cm long and 3.8 cm wide. Thin-film                                                           An Application of the 9825A Calculator
single-layer gold interconnect traces are used. The
chip signals are directed to these gold traces through                                                    To testthe NMOSLSIprocessor                 a
                                                                                                                                              hybrid, 9825ACalculator      is
                                                                                                       used as an environment the orocessorunder test and a
234 aluminum wires only 38.1 g,m in diameter. The                                                                                                             The purpose
                                                                                                       second98254 is usedas an analytical         controller
traces come off the hybrid via 82 legless electrical                                                   of the test is to determine the devicers functional,
                                                                                                                                     if                          and if not,
connections. The aluminum die cast heat sink keeps                                                     whichchip has failed,
the surface of the LSI chips at less than 70'C in a 55'C                                                  Executing    go/no-gosoftwareand taking dc voltageread-
ambient while dissipating six watts in the processor.                                                  ings are the two parts of the test The go/no-gosoftwareexer-
                                                                                                       cises99% of thetransistors is executed
                                                                                                                                       and                         for
                                                                                                                                                        separately each
   Dimensions of the LSI chips averageapproximately                                                    LSIchip lf andonlyif anyof thethreeLSIchipsfails,        thenthedc
4.7 mm per side. The output drivers on the chips are                                                   test is executed,                           if
                                                                                                                          Thisdc test determines the bidirectional     inter-
connected to the *5V supply to keep the output level                                                   face buffersare at fault Thesetwo tests requireapproximately
clamped below 5 volts. The output circuits on the                                                      two minutes, secondsof which is the go/no-gosoftware
                                                                                                                      30                                                test
                                                                                                          By triplingthe load capacitance        and increasing   the clock
processor chips are capable of switching a 50 pF load
                                                                                                       raleby15/",aworsl-casetest performedA muchwiderrange
b e t w e e n 0 . 5 V a n d 4 . 5 V l e v e l s i n l e s st h a n 1 0 n s . T y p i -                 of supplyvoltages testedthan rs requiredby the 9825Ade-
cal gate delays within the chips vary from 2 to 20 ns,                                                 sign Using 35 combinations voltagesand checkingeach
depending upon speed requirements.                                                                     pointtwice can mean that the go/no-gosoftware executed  is
                                                                                                       '1 timesfor
   Each processor chip has an internal control array                                                     70           eachof the LSIchips Theoutput      fromthetester    for
approximately equivalent to an 8000-bit ROM. Also,                                                     a good deviceis a voltageplot of the operating       rangefor each
                                                                                                       LSI chip All output information printed on the 9825A's
on the average, about 6000 MOS transistors, or 2000                                                    built-in printer
equivalent gates, are contained on each LSI chip.                                                         Othertestequipment       used in thesetestsincludes     two scan-
   The processor operates with square wave, two-                                                       ners (34954), two relay actuators (593064), a multimeter
phase non-overlapping clocks at speeds from 1 kHz                                                      (34904) a counter (5300 System),an ASCII digital clock
                                                                                                       (59309A)and five resistance         programmable    power supplies
to greater than 10 MHz. These clocks have a mini-
                                                                                                       controlled a multiprogrammer          (69408) All thisequipment     is
mum high level of 6.5 volts and a maximum low level                                                                            Bus The scannersare used to multiplex
                                                                                                       on the HP Interface
of 2 volts. Signal inputs have high levels above 3 volts                                               eitherthe multimeter a power supplyto any one of 82 pins
and low levels below 2.2 volts. Input pads are pro-                                                    of the processor the dc test,The otherpowersuppliesbe-
tected from static discharges of greater than 3 kilo-                                                  come the four processor       supplies Two of theseare switched
                                                                                                       separately  through relayactuator eachLSIchip Thisa lows
                                                                                                                             a                to
                                                                                                       the outputs any LSIchip to be put in a high-impedance
                                                                                                                    of                                                state,
   The processor uses four power supplies: +12, +7,                                                    thus eliminating possibility one LSI chip influencing
                                                                                                                          the              of                            the
+5, and -5 volts. Many types of circuits are used in                                                   other'stest
the processor chips, such as ratio and ratioless logic                                                    Forthoroughness,      each deviceis testeda minimum three of
elements, dynamic storage devices, bootstra cir-                                                       timesduringassemblyThe firsttest is done afterbondingthe
                                                                                                       processor   and indicates repairis necessarylf the deviceis
cuits, and static and dynamic array structures
                                                                                                       good, it is encapsulated testedagain The lasttest is done
                                                                                                       afier high{emperature       reverse-bias   burn-in,and failuresare
                                                                                                       indicated a changein the operating
                                                                                                                  by                                               the
                                                                                                                                                   range Storing data
                                                                                                       from the previous    test on the internal  cassette allowsthe ana-
                                               David S. Maitland                                       lyticalcontroller look for a change This data also helps
                                               Dave Maitland         has been design-                  determine   what chip or bond has failed
                                               ing calculator      circuitsfor HP
                                               srnce1967,starting            with the
                                               9100A,HP'sfirstcalculatorHe                                                      William D. Eads
                                               designed 4K ROMfor the9800
                                                            the                                                                 TexanBill Eads was born in
                                               Serres, workedon the 98054,and                                                   Dumasand attended             RiceUniver-
                                               was projectmanagerfor the                                                        sity in Houston,     graduating         i1
                                               9825A processorHe's authored                                                     1966with a B A degree rn elec-
                                               half a dozen patentapplications                                                  tricalengineeringHe continued
                                               An lllinois    productborn in Belve-                                             at Ricefor his PhD degree,re-
                                               dere, Dave received BA de-     a                                                 ceived it in 1970,and joinedHP
                                               gree in liberal      arts from Rockford                                          thatyear Billhas beenconcerned
                                               College Rockford) 1963,        in         and                                    with computer-aided           artwork      and
                                               a B S degree in electrical             en-                                       computer-aided        designtech-
                                               gineering      from the University        of                                     niques,and was projectmanager
   l l l i n o i ( i n C h a m p a i g ni ) 1 9 6 4 M a r r i e d i x y e a r s , e a n d h i s
                 s                        n                     s               h                                               for two of the NMOSchips in the
   wifehavea son,2, and livein Loveland,                        Colorado,       Dave'sin-                                       98254 processor He likesto relax
   terests        are many and varied;they includefishing,hiking,his                                                                                         b           ,
                                                                                                                                b y h i k i n gc a m p i n g , i k i n g o r
   tarm and motorcycle,               skiing,travel,music and books, photog-                                                    workingin his garden He's
   raphy,and the DenverBroncosfootball                          team                                                                         in
                                                                                                                              and laves Loveland,
                                                                                                              has two children,
                                                                                                       married,                                               Colorado

Character lmpact PrinterOffers Maximum
Thisnew printer a /asf and reliable,and has features
previouslyunavailable a calculator
                     in             peripheral,including
programmablehorizontaland verticaltabulation,variade
characterspacing, and plotting ability.

by Robert BumpandGaryR. Paulson

AgazrR,       extends the output capabilities of all
9800-SeriesCalculators and other computing devices.
Under program control, the printer can fill out forms,
create reports, draw charts and plot graphs.
   A character-impact printer offers several advan-
tages not available on line printers or thermal page
printers. For example, any paper can be used, includ-
ing multiple-copy paper. This allows printing on dif-
ferent sizes or types of paper, including preprinted
forms. Also useful for forms is the flexibility provided
by variable character and line spacing and margins.
   Model gB77A (Fig. r) is a page-width printer that
accommodates paper up to 15 inches wide and prints
up to 132 columns at 10 characters per inch. It has an
averageprinting speed of 30 cps and handles six-part
paper in single-sheet or continuous-feed form. A                         Fig.'1, Model 9871A Printerts a page-width impact printer
form-feed accessory for continuous z-fold paper has                      for use with all HP 9800-SeriesCalculators lt prtntsup to
an adjustable pin-feed tractor mechanism and a                           132 columnsat 10 charactersper tnch Printingspeed is 30
                                                                         charactersper second
basket to receive the printed paper. A viewing feature
advances the paper to show the last character printed,
if desired.                                                              can be used to generate special symbols or ac-
   A bidirectional platen and plotting instructions              cent marks requiring multiple strikes. A self-test
provide graphics capabilities (seeFig. 2). Plotting can          routine is built in. The standard interface allows oper-
be carried out to a resolution of tzo dots per inch on           ation with all gAOO-Series   Calculators, and an HP-IB
the horizontal axis and 96 dots per inch on the vertical.        (IEEE Standard 488-1975J interface is available for
   Interchangeable fonts can provide symbols for vari-           bus operation.
ous languages and other special characters. In addi-
tion to the standard 96-character, upper/lower case
Roman character font, optional fonts are now avail-              Design Overview
able for ASCII symbols and for European language                    The 98 7 1A Printer prints each character by striking
symbols.                                                         the appropriate characteron a plastic disc (Fig. 3).
   Programmable tabs with four-direction tabbing                 The plastic disc was chosen for two reasons.First, the
are useful for tabular data and arrays. A 158-char-              character must be stationary during the print cycle
acter buffer allows high-speed data to be stored,                for best print quality. To meet this requirement and
freeing the calculating device for other tasks. A                still have reasonablespeed (30 charactersper second),
character substitution feature allows any predefined             a light font that can be positioned quickly and ac-
character to be replaced by a string of characters.              curately is needed. Second, reliability and service

              This   rs an exa@Ie      of the &E      of
              flpxrLil   rlv ovdlldLlc      rn tlrt rF987tA.
              The uer     c;n vdv     Lhe horizontdl     drc
              verticJ     spiciw;     prrnt   or ub   rn
              eithpr   dirbctim,      arxl cven do lett     drd
              right   mrqin    justification.

              This     rs  dn  example    of   Lha type  of
              flexibrl    1ty  availablc   in the HP9B7IA,
              The user     can vary    the horizontal   anC
              verticaL      spacing,     prrnl   or tab  tn
              eilher   dlrection,     and even do left  and

                                                                            Fig. 3. lnterchangeable96-characterprint discs provide
                                                                            standard Roman characters, ASCII symbols, or European

                                                                       most functions to be implemented in firmware, there-
     Fig.2. A bidirectional                          provide
                                          instructions                 by minimizing electronic hardware, maximizing
     graphics capabilitiesCharacter hnespacing
                                   and              and four-
                                                                       design flexibility, and making it possible to improve
     dtrectiontabbing alsounderprogram
                      are                   control
                                                                       performance by adding features at little or no addi-
                                                                       tional cost. The disc drive control system would have
frequency are related to the number of moving parts,
                                                                       been particularly difficult to implement in hardware
and the print disc positioning mechanism requires
                                                                       because of its complex transfer function, but it is
very few. The 9871A Printer has only ten moving
                                                                       easily implemented in firmware. Also the ease and
parts, compared to several thousand in the common
                                                                       speed of firmware changes were valuable in the
                                                                       development of the disc control system.
   Helping to reduce parts count and achieve a mean
time between failures (MTBF) greater than 500 print-
ing hours are new designs for the print disc drive, the                DifferentialPrint Disc Drive
ribbon drive, and the paper drive, and the use of a mi-                  A prime consideration in the design of the printer
croprocessorfor control. The microprocessor allowed                    was minimizing the mass and inertia of the print font

                                                                                                   Fig.4. Translationand rotation of
                                                                                                   the print disc are controlled by
                                                                                                   two fixed motors Motion is trans-
                                                                                                   ferred to the disc by means of a
                                                                                                   chai n-and-spr ocket d ifferential
                                                                                                   dilve (theprint disc and sprockets
                                                                                                   rotate as a unit) The design mini-
                                                                                                   mizes the mass and inertra of the
                                                                                                   print disc and its carrier

and the elements that carry it. Plastic print discs have
inherently low mass and low rotational inertia, but
the motor/encoders commonly used to rotate such
discs are heavy and place an extra load on the transla-
tional positioning motor.
   Differential stringing removes the rotational motor/
encoder from the carrier mechanism. Two frame-
mounted motors together effect both translation and
rotation of the print element, resulting in a carrier
OO%lighter than other comparable designs, The two
motors are relatively small and together consume less
space and power than the much larger motor that
would be required simply to translate the otherwise
heavier carrier.
   The differential drive mechanism resembles
two parallel gear racks with a pinion between them
(Fig. a). The "racks" are actually a continuous chain
consisting of urethane cross pins overmolded on two
parallel stainless steel cables. The chain accurately
transfers the motor rotations to the "pinion"-the
print disc and attached sprockets-and has adequate                   Flg. 5. Ribbon drive, designed for light weight and simplicity,
                                                                     reverses direction automaticallywhen the end of the ribbon is
stiffness (high axial spring constant) and stretch
                                                                     reached Ribbon cartridges are available worldwide
    When both "racks" move in the same direction
                                                                rollers provide nearly constant pressurebetweenthe
by the same amount the "pinion" moves in the same
                                                                platen and the irregular surface of the paper.
 direction without rotating. Moving the "racks" in
                                                                  The hard rubber platen is driven by a four-phase,
 opposite directions by the same amount causes the
                                                                1.8" steppermotor. Bipolar, half-stepdrive is used,
 "pinion" to rotate without translating. Any desired
                                                                with two levels of coil current, one for low torquefor a
rotation and translation can be obtained by an appro-
                                                                static platen detent, and one for high torque for
 priate choice of "rack" displacements and directions.
                                                                rotating the platen. A four-phase motor with half-
                                                                step drive requires eight states to determine coil
Ribbon Drive                                                    currents, so the printer's control ROM has an eight-
   The ribbon drive (Fig. 5) is also designed for light         word table to generate these states. Direction is
weight and mechanical simplicity. The enclosed-                 controlled by incrementingthe table address.      When
spool ribbon cartridge was chosen for its size, weight,         the platen is first activated, a software ramp acceler-
and worldwide availability. A small dc motor with a             atesthe motor up to 400 stepsper second.This feeds
torque-multiplying gearhead drives the ribbon from              paperat four inchesper second. the ramp were not
spool to spool, reversing direction automatically               used, the step rate would have to be less than 300
when the end of the ribbon is reached.                          steps per second,the maximum speedto which the
   Assume the motor is rotating counterclockwise.               platen can be accelerated one step.
This causes clockwise rotation of the sungear. Since
the swing arm and the sungear are frictionally cou-
pled, the swing arm and planet gear are rotated into            PositionControlFirmware
contact with spindle gear 2, winding ribbon onto the               Fig. 6 is a flow chart of the printer control firmware.
takeup reel. When the supply reel has emptied, the              At turn-on, the positions of the carrier and disc arenot
ribbon stops, causing the motor load and current to             known, so the HOME     routine drivesthe carrieragainst
rise sharply. This is sensed and the motor polarity is          a stop beyond the left margin. This allows the motor
reversed, sending the planet gear into contact with             position count for both motors to be set to an initial
spindle gear 1 so the ribbon rewinds onto the supply            value representinghome for the carrier horizontal po-
reel.                                                           sition and the disc angular position. After this, both
                                                                motors are monitored so that their positions are
Paper Drive                                                     always known.
  The major elements of the paper drive are a platen               A typical printer cycle startswith the LoADroutine
and a paper guide. The paper guide consists of a                reading a characterfrom the buffer or input lines. If it
foam-molded polycarbonate frame in which are sus-               is a printed character,the pcuan routine will prepare
pended individually-spring-loaded rollers, The                  for printing by moving the ribbon, increasingplaten

                                                           right-margin forced carrier return and line feed.
                                                              The MovEoroutine computes the motor end posi-
                                                           tions and position changes,and the point to switch
                                                           from accelerationto deceleration.Since the load that
                                                           one motor seesdependsupon the motion of the other
                                                           motor, an optimum drive depends upon the relative
                                                           motion between the two motors. For a given move,
                                                           the ratio of disc rotation to carrier translation is used
                                                           to determinethe necessary    acceleration. The software
                                                           ramp used to accelerate steppermotor is scaledby
                                                           this ratio to produce the appropriate acceleration.
                                                              The loop routine requires the move to be restarted
                                                           aslong asthe access   coveris open (sensed a switch
                                                           to prevent carrier motion and protect the operator)or
                                                           if a stepperposition is more than four stepsaway from
                                                           the desired position, since in this event the stepper
                                                           will fall out of sync and not follow its pulse train. If
                                                           not aborted,the routine will insert a waiting character
                                                           into the buffer. The motor with the larger required
                                                           movement will be steppedonce, and the other motor
                                                           may be steppedor skipped to allow it to move propor-
                                                           tionally to its end point. After eachstep, the position
                                                           count is brought up to date and compared,first to de-
                                                           termine when to start decelerationand secondto exit
                                                           the routine at the end point.
                                                              The sn'rrr, routine delays hammer firing to allow
                                                           any resonances die out. The hammer energyis con-
                                                           trolled by both the character printed (e.g., small
                                                           energy for ".") and the rear-panel intensity setting.
                                                           While the hammer is retracting,a buffer charactercan
                                                           be read. The nxuc routine allows a sroP key to termi-
                                                           nate printing and clear the buffer. If no characters
                                                           remain to be printed, the platen relaxes,the drive
                                                           motors are turned off, and the printer waits for the
                                                           next input. The motor positions are monitored so that
                                                           position accuracyis maintained even if the carrier or
                                                           disc are disturbed.
                                                               Specialoperations   such astabs,plotting, and char-
                                                           actersubstitutionsare accessed an escap code.27
                                                                                             by           e
                                                           different routines provide these special operations.
                                                           The read/writememory storesthe tab locations,print
                                                           variables, and charactersubstitution lists as well as
                                                           the characterbuffer.
                                                               The firmware also generatesthe logic signals for
                                                           individual coil control of both carrier steppers and
                                                           the platen stepper and controls the ribbon drive,
                                                            hammer drive, and status lines to the calculator.

                                                             A four-bit up-down counter takesthe differencebe-
     Flg.6. FIow chatt of printet control fimware          tween the steps fed to the motor and the encoder
                                                           pulses that result from motor rotation. This error
holding torque, and getting the hammer intensity           signal is monitored by the processorfor position feed-
from a look-up table. The disc rotation from the pre-      back for that motor. The processoris a 16-bit NMOS
vious position is calculatedand the horizontal spac-       microprocessor  designedand built by HP. Read-only
ing is loaded to test for a left-margin truncation or a    memory is suppliedby two 1Kx16-bit, NMOS ROMs

                                                                      high restoring torque for small angular errors, and
            sw2                                                       allows use of a relatively coarse and inexpensive en-
                                                                      coder for position feedback. The encoder is a slotted
                                               High Voltage           disc mounted on the motor's rear shaft. Infrared LEDs
                                     S         Kick Swiich            provide light that, modulated by the disc rotation, il-
                                                                      luminates a monolithic silicon sensor (FiS.8). The en-
                                                                      coder develops two signals 90o out of phase for quad-
                                    *                                 rature direction detection and relative position detec-
                                    H                                 tion of 1/400th revolution. Each signal is derived from
                                                                      a Schmitt comparator driven by the difference be-
                                         cR3                          tween the voltages from a pair of sensors 180oout of
                                                                      phase. This differential detection gives immunity to
                                                                      LED intensity variations. It also makes it unnecessary
                                                                      to adjust the hysteresis for ch LED, while maintain-
                                                                      ing good phase accuracy.
     Fag.7. Toovercome inductance theprintdisc stepper
                        the          of
     motors, 20:1 voltageoverdrive
             a                     pulse ls applied,bringing
     the current to rating20 timesfasterthannormal.
               up                                                                                 Robert B. Bump
                                                                                                  Bob Bumpwas theelectronics   pro-
also of local origin. Read/write memory uses four                                                 ject leaderfor the 9871A Printer
256x4-bit commercial RAMs. An interface buffer                                                    He joinedHP in 1962,just after
chip, also developed by HP, provides conversion                                                   receivinghis BSEEdegree from
                                                                                                  California Institute Technology
from NMOS to TTL logic levels and a three-state
                                                                                                  He also holdsan MSEEdegree
data bus.                                                                                         from ColoradoState University.
                                                                                                  Bob developedthe 2084 Oscil-
Stepper Motors as Servo Elements                                                                  lator,the 4654 Amplifier,and
   An average print rate of 30 characters per second re-                                          the analog controlsfor the 675A
quires accelerations up to 40,000 radians per second                                              Sweeping   Signal Generator Then,
                                                                                                  transferring HP'sAvondale,
per second to cover the distance in the time allowed,                                              Pennsylvania          he
                                                                                                                 Division, de-
after deducting settling and hammer times. The load                                               signed electronicsfor the 76204
requires more than 40 ounce-inches of torque and up                                               and 57004Gas Chromatographs,
to 10,000 steps per second to achieve this accelera-                    concentratingon electrometers. Returningto his native state
                                                                        of Colorado.he developed softwarefor add-on ROMs for the
tion. A major obstacle to this high step rate is the in-
                                                                        9810Aand 9830ACalculators,    Married, and the fatherof
ductance of the stepper motors, which limits the rate                   2 young boys,Bob is activein his churchand is interested in
of currentrise, To overcomethis. a 1.3-voltmotorwas                     conservation politics A bicycleenthusiast, rides
                                                                                    and                               he
chosen; a 20:1 voltage overdrive pulse brings the cur-                  approximately4000 miles per year
rent up to rating 20 times faster than normal (Fig. 7).
  The stepper motor was chosen for high reliability
and long life compared to a dc servo motor. It has a
                                                                                                  GaryR. Paulson

                                                                                                  on successive weeksin m id-1968,
        a                                                                                         GaryPaulson  began his careerat
                                                                                                  HP workingon the 9120Aprinter
                                                                                                  Thenfollowed productdesign
                                                                                                  of the 9810A. 9820A. and 98304
                                                                                                  calculatorsWhileworkingon the
        a                                                                                         9871Aas mechanrcal   project
                                                                                                  leader,he authoredseveralpatent
               \\                                                                                 applications,and receivedhis
                    Photovoltaic Cells
                                                                                                  firstpatent the differential
                                                                                                            on                drive
                                                                                                  used in the 9871A,Gary lists
                                                                        \"i                       amonghis interestswoodworking,
     Flg. 8. Positlon  teedbackencoderis simpleand inexpensive          travel,OregonTrailpioneer
                                                                                                history, and mountaineering the
     lnfrared light from two light-emitting diodes is modulated by                                                      in
                                                                        latter, saysthatwhat beganas a casualinterest a few of
     the rotating print disc and detected by a monolithic silicon       Colorado's 14,000 peaks,yearlybecomesan obsession
                                                                                         ft                                      to
     sensor. Logic circuits extract the position and direction          "climb'em ll!"

Mid-Range                MorePower
at LowerCost
Its design takesadvantageof the /afesftechnology,
principallya single-chipmicroprocessor.

by Douglas M. Clifford, F. Timothy Hickenlooper,and A- Craig Mortensen

      EAR THE MIDDLE of the spectrumof calcula-                  size of its predecessors and costs about one-half as
      tor usersis the user who needsmoderatecom-                 much? A single-chip microprocessor gets most of the
puting power and control capability at a modest                  credit. The microprocessor reduces the hardware
price. HP's Model 9810A Calculator has met these                 needed to control the calculator and its internal pe-
needs for about five years. During that period, signifi-         ripherals such as the printer and the display.
cant advances in technology have occurred, making it                Smaller internal peripherals also contribute to the
possible to provide not only the 9810A's level of per-           new calculator's small size. A major improvement is
formance but also many more features at a much                   the built-in tape transport system, which uses the
lower cost. This is done in the new Model 9815A Cal-             new 3M DC-100 mini-cartridge. 96,384 bytes of infor-
culator (Fig. r).                                                mation can be stored on each tape cartridge. The ma-
   How is it possible to put this kind of power and              chine searchesfor data at 60 inches per second, which
flexibility into a calculator that is about one-third the        means that the worst-case access time from the be-

                                                                                            Fig. 1. Model 9815A Calculator
                                                                                            includes as standard many for-
                                                                                            merly optional features, including
                                                                                            printer,magnetictape unit,and 15
                                                                                            special function keys The key-
                                                                                            board languageis reverse Polish
                                                                                            Memory is expandab/e from 472
                                                                                            program steps to 2008 program

ginning of a tape to the end is only 28 seconds. The              Editing
average time to find and read a file is less than nine               Editing features such as INSERT,           and LISI
seconds.                                                          allow the user to modify programs and correct mis-
   Despite its small size and simple appearance, the              takes. The 9815A automatically corrects branching
9815A includes features formerly found only in much               statements during editing.
larger calculators. Instead of the plug-in read-only                 The program or segments of the program can be
memories (ROMs) often used to expand a calculator's               Iisted on the built-in 1.6-character alphanumeric
language, the standard 9815A Calculator includes all              printer. The listing is in easy-to-read mnemonics. The
of the most popular options of its predecessors.                  srrp and BACKsrEp keys allow the user to walk through
Mathematical functions are included, as are L5 user-              the program either in program mode or in run mode.
definable keys. The thermal printer and display are
standard. The ability to drive external peripherals can           Software Enhancements
be added with the I/O option. This option accepts any                Several advanced programming features were
two of a series of I/O cards that mate with most of the           added to the 9815A to make it easy to generate a com-
existing HP calculator peripherals.                               plex program. The FoR-NEXTloop is generally as-
                                                                  sociated with higher-level languages such as FOR-
Reverse Polish Notation                                           TRAN, When implemented on a reverse Polish ma-
  Like its predecessorthe 9810A, the new 9815A CaI-               chine, it adds significantly to the programming
culator uses reverse Polish notation (RPN). The RPN               power of the calculator. The n'on-NExr instruction
language is more efficient than other computing lan-              allows the user to execute the same sequence of pro-
guages in terms of the amount of memory needed to                 gram steps a predetermined number of times with
store a program. Programming efficiency implies re-               one of the variables incremented through a pro-
duced memory cost, an important consideration for a               grammed range of values. The 9815A allows three
calculator in this class.                                         nested FoR-NEXT   loops.
   In the 9815A further programming efficiency is rea-               Eight selectable flags are available to the user. All
lized by combining several keystrokes into single or              eight flags can be manually set or reset and interrogat-
dual program steps. As the user enters the key se-                ed. However, four of the flags have other functions
quence, the calculator automatically combines logi-               which provide special programming aids. Normally,
cal sequencesofkey codes and enters these combined                if an error condition is detected in a running program,
instructions into the memory. Fig. 2 shows key en-                the program will stop and the calculator will print out
tries that are combined into each program step of a               the error message. One of the special flags will over-
typical program.                                                  ride this condition and allow the program to continue
   In most cases, program instructions only take a                execution. Instead of stopping the execution, another
single step. However, certain memory reference in-                of the special flags is set when an error condition is
structions take two program steps-for example, sTo                suppressed. This second flag can be interrogated in
Rrz, store the contents of the display register into reg-         the program and alternate action taken.
ister number 12:. sro+I R12s,
                  or              add the contents of the            Another special flag can be toggled during program
display register to the register that is pointed to by the        execution, allowing the user to modify a program se-
contents of register 125 (indirect addressing). Be-               quence during execution. The last special flag is a
cause of the combining of key entries into program                data entry indicator. The flag is set every time a srop
statements, the average 9810A program can be writ-                statement is encountered. Any manual data entry will
ten in approximately 30% less memory space on a                   reset this flag, but if the nuN key is pressed before a
98154.                                                            data entry, the flag will remain set. This can be used to
                                                                  terminate a string of data entries in a program.

                                                                  Auto Start
                                                                     The 9815A Calculator has a new feature called auto
                                                                  start. When the calculator control switch is set to the
                                 Ei11r                            auto start position, and the power switch is turned on,
                                                                  the calculator automatically rewinds the tape, loads
                                                                  the program on file 0, and begins execution of that
                                 E:                               program.
                                                                     Another use of auto start is for unattended opera-
                                                                  tion. Say the calculator program used to control a sys-
     Fig.2- Many keystrokesequencesare combinedinto one or        tem resides on the tape cartridge and contains an
     two program steps lhese are a few examples                   initialization routine for the other devices in the svs-

tem. If a power failure should occur,the systemwill                Thin-Film  Printer
automatically power up again and be reinitialized by                  To fit the overall objectivesof low cost, small size,
the auto start program on the tape cartridge. This                 and high performance,it was necessaryto develop a
provides a nonvolatile memory for the system.                      new printer, one with alphanumeric capability to en-
                                                                   hance the programming language and provide easy-
                                                                   to-readprogram listings. A dot-matrix thermal print-
User-DefinableFunctions                                            ing technique is used. The paper advance mechan-
  Another way that a calculator can be tailored to a               ism, which in previousmodelshad usedlargeexpen-
particular application is by the use of user-definable             sive steppermotors, has been redesigned.      The new
functions. Such a function is a program segmentthat                mechanismrelies upon the force of a magneticfield to
canbe calledby a singlekey entry.The 9815A has 15                  pull a metal armature in toward the poles of the
keys that can be user-defined.                                     magnetic core.The motion of the armatureis coupled
                                                                   to a ratchet mechanismthat rotatesthe paper roller a
Cartridge TapeSystem                                               fixed distance with each cycle of the armature. The
  The tape systemof the 98r sA Calculatorrepresents                volume of the entire motor is less than 11 in.3
a significantadvancein both capacityand capability                    The print head is a ceramic substrateon which a
over magnetic cards. the tape drive was designed                   pattern of thin-film resistorsis deposited.Custombi-
and developed by Hewlett-Packard'sCalculator Pro-                  polar driver chips are also mounted on this substrate.
ducts Division, to work with the new 3M DC-100                     The dot information for the row to be printed is serial-
mini-cartridge. It was determined that a level of per-             Iy loaded into the chips, which drive the appropriate
formance below that of the 98254 Calculator (see                   resistorsto heat the thermal paper, The paper is ad-
article, page 2) would be adequate,so the search                   vanced one position, and the cycle is repeated.For
speed was reduced to oo ips and the read/write                     the S x 7 dot matrix used,it takessevenadvances      to
speed to 10 ips. The recording density was set at                  print a line of charactersand three more advancesbe-
500 bits per inch. Because of these reduced de-                    tween lines. The printer is controlled by the micro-
mands all of the encoding and decoding of the bits                 processor and the dot information for the various
can be done in firmware. Also, a frequency-lock                    characters stored in ROM. The print speed is 2.8
control loop is used for the motor control instead of              lines per second,
a more costly dc servo (more about this later)'

                                                        Or         OutputBus

                                                          sTtt 2
                  Address Bus                         Select

                  F19.3, Model 9815A Calculator rs based on a commercially available 8-bit microprocessor.
                  Eight read-onty memories contain the instructions necessary to implement the calculator's

Keyboard                                                       display, the 1O-character      alphanumeric thermal
   The keyboard was a critical component of the                printer, the 63-position keyboard,and the bidirec-
9815A design because the case was too shallow for              tional tapedrive. Controlof thesedevicesis the job of
the standard key switches. A snap action key switch            an I/O chip that is separatefrom the microprocessor.
has been used on HP hand-held calculators for many             This interface chip provides a 12-bit I/O bus to the
years,and it was decided to expand this technology to          peripherals.  This samebus alsogoesto the I/O option
a full-size key panel.                                         to control external peripherals.
   The springs are fabricated from strips of a copper             Sincethe microprocessor only execute
                                                                                             can              onerou-
alloy that are preformed into an arch, These strips are        tine at a time, only one peripheral can be active at any
welded onto a printed circuit board in a bowed posi-           instant. For example, when the tape cartridge is
tion, The key depressesthis arch until it buckles and          searching for a file, the printer and display are dis-
makes contact with the pad under the spring. To min-           abled. The only exception to this is the keyboard,
imize cost and tolerance variations from key to key,           which is scannedby special hardware and can inter-
an automatic welder was developed in conjunction               rupt the processor   when it senses key closure.This
with an outside vendor. The welder can cut, preform,           allows the user to terminate a print cycle or a tape
weld, and test a key switch in seven seconds.                  searchwith the sroP key.
   The same key switch design is used in the 9825A                The third block is the optional I/O interface mod-
Calculator.                                                    ule. This module provides twelve output lines and
                                                               eight input Iines per channel for controlling external
Architecture                                                   peripherals. There are two such channels. The
   Fig. 3 is a block diagram of the 9815A. The system          module acceptsany of six availableI/O cards.These
can be divided into three blocks, the first being the          cardscontrolmost of the calculatorperipherals     plus a
microprocessor and memory. The machine uses a                  wide variety of instruments and custom equipment.
commercially available 8-bit microprocessor. The               One card is an interfaceto the HP-IB, HP's imple-
processor chip has an 8-bit bidirectional data bus and         mentation of IEEEstandard488-1975.
a 16-bit address bus. Only ts ofthe 16 addressesare
used, making it possible to address 32K bytes of mem-          InpuUOutput
ory. The memory is divided into a block of random-                Interfacing power was an important consideration
accessread/write memory (RAM) and ablock of ROM.                                    of
                                                               in the development the 9815ACalculator.       Examin-
In the basic machine there are six RAM chips of 1K             ing past interfacingneedsand presentdesires, was it
bits each, organized in a 256x4 configuration. This            determined that two I/O slots would fill the interfac-
gives 768 bytes of RAM. 296 bytes are used by the              ing requirements.The internal I/O hardware was tai-
system for general registers, subroutine return vec-           lored to give neededflexibility and transferrates.
tors, keyboard buffer, flag conditions, and other exe-            The internal I/O control hardware consists of
cution variables, and the remaining 472 bytes arc              output data latches,handshakelogic, and channel
available for user data registers or program storage.          selectlogic (see Fig. ). An I/O instructionROM is in-
The same memory locations can be used for data or for          cluded on eachplug-in interfacecard.This 2K x 8-bit
program storage. The user can specify the boundary             ROM customizes     the hardware for the device being
that divides the memory according to his current pro-          interfaced. Also included on the external interface
gram needs. If a routine requires more data registers          card are output data drivers and an input data latch.
and the execution program is small, the user can swap             Interfaces availablefor the 9815A include special
program steps for registers at the rate of eight steps         interfaces for the 9862A Plotter and the 9877A
per register. A read/write memory option expands the           Printer, and four generalinterfaces:8-bit I/O, BCD,
calculator memory to 2008 program steps or 251                 HP-IB,and RS232C.
registers.                                                        The plotter interface has a major new feature,
   Eight ROMs contain the microprocessor instruc-              digitizing mode,which allows the pen of the plotter
tions needed to execute the calculator's functions.            to be positioned over a point and have the scaled
These ROMs contain r6K bits each, organized in a 2K            coordinates that point enteredinto the calculator
x 8-bit structure that interfaces easily to the 8-bit data     stack for processing.This mode is useful for ap-
bus. The main calculator routines are contained in             proximating areas or line segment lengths from
seven ROMs. The eighth ROM can be installed at the             published material or photographs,
factory to make it possible to list Katakana and Cyril-           The 9871A Printer/Plottercan print or graphically
lic characters on the internal printer and on optional         plot data in either single or multiple copies.The in-
external line printers.                                        terface ROM providesconvenientinstructionsto con-
   The second block of the system is the internal pe-          trol the printing and plotting functions of the printer
ripherals, which consist of the rO-digit gas discharge         from the keyboardor a userprogram.A jumper on the


     o                                           ^l
     (6                                          tl
      o                                          el
     =                                           >l
     u,                                               I
     o)                                               I
                                                 >l                                      I
                                                   I                                     I           Fig. 4. An llO option adds the
               Data Out
                                                 _ T -,""i"*
                                                   I                                    -!- -
                                                                                         I          ability to drive externalperipherals
          1               Internal l/O Conlrol
                                                                    E"-;;,;;;,*    ;;               Two llO channe/s are provided:
           I                                                                             I          each acceots one of six available
                                                                                                    interface cards.

interface card allows the user to pass parametersin                      and output data are buffered. The cn and rlc lines
either inches or centimetres.                                            have programmablelogic sensesand three different
   The a-bit generalI/O interfaceis a bit-parallel, char-                handshake modes are provided. There are several
acter-serialinterface to a wide variety of peripheral                    ways to input datafrom a BCD instrument, depending
devices,  such as readers,  punches,printers,and digi-                   on speed and timing requirements. A software in-
tizers. One  characterof buffer storagefor both input                    terrupt is provided for taking less than 100 readings
and output data is provided. Normal data instruc-                        per second. This allows the calculator to be taking
tions include full formatted output of numeric data                      a reading and doing other computations at the same
along with a full ASCII characterset. Binary data I/O                    time. Overload or illegal characterscan be checked
is also provided along with binary data operating in-                    automatically by setting up a masking code for the
structions.Input data is read under free field format                    teststhrough the vRsx instruction. If the BCD instru-
with the additional feature of having user-definable                     ment or device is fast and a block of data needsto be
delimiters. The user can define up to three de-                          read rapidly, there are two commands for reading
limiters to be used in reading numbers. Logic sense                      blocks of data at over 2OO0nine-digit readingsi
 can be changed by user instructions. Three dif-                         second. This data goes directly into memory; it can
ferent handshake modes are available: one for cor-                       then be stored on the data cartridge or translated
 porate handshake, one for corporate handshake                            immediately and processed.There are also com-
 disabled,and a new one called peripheral mode,                           mands for inputting and outputting a-bit binary data
 that allows the 9815A to act like another calculator's                   in blocks at rates exceeding 5000 bytes/second.
 peripheral.A special four-column list command lists                         The HP-IB interface provides for connecting up to
 the user program in a four-column-wide, 5o-Iines/                        14 other instruments or devices in a system configur-
 pageformat useful for documentationand debugging'                        ation for testing, measurement, or other purposes.
    The RS232Cinterface is formed by adding hard-                         This interface conforms to IEEE standard 488-7975.
 ware to the e-bit generalI/O interfaceto serialize the                   The calculator may or may not be the system con-
 8-bit parallel output data and form 8-bit parallel data                  troller; it can pass and receive control. Data may be
 from serial input data.Characterbuffers are provided                     sent or received as strings at speedsexceeding 2000
 for both input and output data. The serial data is                       bytes/second.   Commands for building and manipu-
 RS232Ccompatible with changeable        baud rates (110                  lating strings are included in the instruction ROM'
 to 3600),selectable   data formats,and parity.                           An auto addressfeature allows the calculator to ad-
    The BCD general-purposeinterface is compatible                         dress itself as talker or listener. Peripheral devices
 with a large number of character-parallelBCD de-                          are assigned select code numbers that are trans-
 vices.Because its flexible data formating and man-
                 of                                                        lated in the ROM to bus addresses user simplicity.
 ipulating instructions, it is alsoused for custominter-                   When the 9815A is not the systemcontroller, a device
 facing. The interface provides 40 parallel data input                     clear command (oct ) will return the calculator to
 lines and eight parallel data output lines. Both input                    the power-up state,allowing an auto start operation;

this is useful in remote sites having power-fail/re-        lock to 0 Hz.
start capabilities or when an external restart com-           In steadystateoperationlong term (>0.1 s) speed
mand is available.                                          variations are less than -+2o/o.
                                                               The readiwrite system uses a dual track, center-
Cartridge TapeElectronics                                   tapped magnetic head for data transfer. The general
   The 98154 motor speed control system is con-             block diagram is shown in Fig. 6.
figured asafrequency-lockedloop (FLL).The FLL is a             Magnetic recording is accomplishedby driving the
closed-loop electronic servo with a speed-propor-           center taps of the dual track head with a current
tional output frequencythat is frequency-lockedto an        source and by alternately grounding the remaining
input reference frequency. A block diagram of the           two head lines of the appropriate track under micro-
servoloop is shown in Fig. 5.                               processorcontrol. As the current is allowed to flow
   Division of the crystal-controlled system clock          from one winding to another, the magnetic field
creates two frequency references,62.5 kHz for the           polarity is reversedand a flux reversalis recorded on
tapesearchspeedof o+.0inchesper second,      and 10.4       the moving tape. The current source remains off
kHz for data transfer at 10.8 inches per second.The         during power-up and power-down sequencesand
appropriatereferencefrequencyis gatedinto the Ioop          when a write command is not in effect.
under microprocessorcontrol.                                   During a read operation, the flux distribution on
   Motor capstanmotion is translated into frequency         the tape induces an output voltage across the head
feedbackinformation by meansof a 1000-lineoptical           windings that is proportional to the time derivative of
tachometer disc coupled to the motor shaft.                 the magnetic flux. The voltage signal appears as a
   Servooperation has three distinct modes:accelera-        train of positive and negative pulses.
tion, servo lock, and deceleration.During accelera-            Analog switches gate the selected track to the
tion, the servo loop is closed but not locked to the        preamplifier inputs. The preamp is configured dif-
referencefrequency.To avoid excessive    stresson the       ferentially to maximize common-moderejection.The
tape,motor, and power supplies,the loop gain is re-         second stageamplifier provides additional gain and
duced. Once acceleration complete,the loop has
                           is                               acts as a low-pass filter to reduce spurious high-fre-
Iockedto the reference. this point the bandwidth of
                        At                                  quency interference. To block the dc offset of pre-
the loop is increased by increasing the gain of the         vious stages and to attenuate low-frequency noise,
servo system. The high-gain condition is sustained          the read signal is ac-coupledinto a band-limited inte-
until deceleration begins. During deceleration the          grator. The integrator also attenuateshigh-frequency
low-gain condition is in effect.The loop is no longer       noise.
closed becauseit would be impractical to attempt to            The integrator output is injected into the compara-

                           1@0-Line Optical
                           Tachometer Disc

                                                                                       Fig. 5. Cartridge tape speed
                                                                                       control system is a frequency-
                                                                                       locked loop that uses an optical
                                                                                       tachometer for sensing motor




                  Fig.6. 98754 caftridgetapereadlwritesystemDatadecodingisdonebyfirmware The98254
                          Calculator has the same write system, but decoding is done by hatdwate

tor stage,which functions as a "relative" zero cross-      peripherals. The display electronics and the key-
ing switch. The rising and falling edgesof the com-        board scanningare done on this assembly.Part of the
parator output are coincident with the voltage peaks       tape systemelectronicsis also here.
(flux reversals) from the magnetic head. The fre-            The third board is the power supply board, Includ-
quency doubler translatesthe peaks to rising edges         ed with the power supply board are most of the tape
only. Its output is sent to the microprocessorfor in-      and printer electronics. A separate power module
terpretation and bit reconstruction.                       houses the transformer and main power transistors.
PowerSupplyand Packaging                                     The caseis made of injection molded plastic. The
    One of the biggestchallenges the entire project
                                   of                      electronics are packaged as a sandwich and con-
was putting aII the piecestogether in one small box'       nected to the keyboard panel The power supply as-
The power dissipation was of concern also as com-          sembly attaches the baseof the casealong with the
ponents were placed in close proximity inside the          printer and tapetransport.Because the imaginative
case.A goal of only 10"Ctemperaturerise inside the         useof plastichingesand interlockingcase  parts,only
 casewas set early in the project and was met. Because     six screws are needed to hold the casetogether. The
 of these constraints,the power supply needed to be        calculatorweighsonly 13 pounds and ta     up a little
more efficientthan normal seriespasssupplies,so a          more than a squarefoot of surface area
 switching supply was designedto provide the +5V
                                                                                      Douglas M. Clifford
    The noise of the switching supply proved to be a                                  Doug Clitfordcame to HP in 1968
 formidable problem in the layout of the printed cir-         I                       and designed microwavespec-
 cuit boards.Much carewas spent on shielding critical         lb                      trum analyzers three years be-
 lines and busing the power traces on the boards. A                                   forejoiningHP'sCalculator Pro-
                                                                                      ducts DivisionHe was resoon-
 stargroundingand powerbusingtechniquewasused
                                                                                      siblefor the HP-46and HP-81
 to keep noisy signals from affecting critical low-level                              Calculatorsand was project
 signals,such as the signalsfrom the tape system.                                               for
                                                                                      manager the9815A Calculator.
    The machine has only three main circuit boards.                                   He holds severalcalculator-
 With much effort spent in printed circuit layout, the                                relatedpatents Doug receivedhis
                                                                                      BSEEdegreefrom Brigham
 designers were able to keep from using multilayer                                    Young Universityin 1968 and his
 boardsand saveda significant amount in the costsof                                   MSEEfrom StanfordUniversityin
 theseassemblies.                                                                      1970,            to
                                                                                            and expects complete   his
    Oneboard containsthe main processorelectronics,                                               *
 This includes the microprocessor     and I/O chips, the                            Jff"1ti ,;'rt"'
                                                              [t!,*" u ivrs r"]i T,l"i
                                                                      n e *y,n,,          ffit#f
                                                              church,the Boy Scouts,and the national patrol,Doug is
 sevenROMs, and the six RAMs, A number of discrete                                                                and
                                                              married,                 and likesto ride motorcycles
                                                                      has four children,
 ICs usedfor chip selectand addressdecoding are also          horsesand playgolf, basketball, volleyballHe was bornin
 included on this board.                                             Arizonaand now livesin Loveland,
                                                              Safford,                                  Colorado
    Another board has the electronics for the internal

                                                 A. Craig Mortensen                                                                                F. Timothy Hickenloopel
                                                 Craig Mortensen  receivedhis                                                                      Tim Hickenlooper   helpeddesign
                                                 BSEEand MSEEdegreeslrom                                                                           the l/O system and mainframe
                                                 BrighamYoungUniversity     in                                                                     frrmware the 9815ACalculator,
                                                 1972and 1973,thenjoinedHP to                                                                      With HP since 1974,when he re-
                                                 work on the 9815ACalculator                                                                       ceivedhis BSEEdegreefrom
                                                 He'sauthored patentapplica-
                                                               two                                                                                 Brigham  YoungUniversity, is
                                                 tionsas a resultof his servoand                                                                   now a production   engineerat
                                                 read/writeelectronics designfor                                                                   HP'sCalculator  Products Division
                                                 the 9815Acartridge  tape system,                                                                  A nativeof Provo,Utah, he's mar-
                                                 Craig was born in St Anthony,                                                                     ried,has two youngchildren,  and
                                                 ldaho,and now livesin Loveland,                                                                   livesin Loveland,  Colorado
                                                 Colorado He'ssingle,and enjoys                                                                     He'sactivein his churchand as a
                                                 all outdoorsportsand activities,                                                                  Boy Scoutleader,he enjoys
                                                 especiallyskiing He'sa studentof                                                                   sports,especially basketballand
                                                 karateand is activein his church                                                                  volleyball, he likesto workon
                                                                                                                         cars and inventelectronic

                            HP Model 9825A Calculator                                                                    SIZE/WEIGHT
                                                                                                                           H E I G H T 1 2 95 m m ( 5 1 i n )
                                                                                                                           WIDTH:383 mm (l5 l in)
                     Standard                           6,844 bytes                                                                   :
                                                                                                                           O E P T H 4 9 5 3 m m 1 1 95 i n )
                     Opt 001                           15,036 bytes                                                        NET WEIGHT:11 I k9 (26 lbs)
                     Opl 002                           23,228 bylos                                                      POWERREOUIREMENT
                     Opt 003                           31,420byles                                                         SOURCE: 1OO112012201240V -1ook           +soh,
                                      9 9 ,o , 1 o - 9 9 t o - 1 0 9 9                                                     LINE FREQUENCY| to 66 Hz      48
D Y N A M | C A N G E :1 0 9 9t o 1 0
                                                1               1,           1         1                                   POWEB CONSUMPTION:                    100V/17A
INTERNALCALcULATIoN RAilGE: 1051 to 1o-51 o, - 1o-51 to -t 051                                                                                                   120V/15A
SIGNIFICANTDIGITS: all numbers are calculatedand stored internallywith                                                                                           220V1AA
  12 significant digits,regardless the formatused
                                       ol                                                                                                                        240V1754
ADORESSING       MODES:Conditional unconditional absolute,
                                           and                   lor        relalive,sym-
  bolic,and compuled                                                                                                                      lnterfaceCard                                 Card Number
SPECIALFUNCTION          KEYS: 12. shifiable 24  to
                                                                                                                                           16-bitDuolex                                  HP 98032A
TAPE CARTRIDGE                                                                                                                            BCD                                            HP 980334
               Capacity:                                    250,000 bytes                                                                                                                HP 980344
               Average Access Time:                         6 sec
                                                                                                                         ADD-ON ROIl|s
               Bead/Write    Speed:                         559 mm/sec (22 in/sec)
                                                                                                                           STFING-AOVANCED                 PROGRAMMING:           Singlestringsand stringarrays String
               SearchSpeed:                                 2,286 mm/sec(90 in/sec)
                                                                                                                             size limited by memory size Seven string functions and one string operator
                 (bidirectional)                                                                                              Parameter-passing           functions and subroutines locaivariablesFOR-NEXT
               Transfer Rate:                               2,750 bytes/sec
                                                                                                                              statementsand cross-relerence              operator Split and integer precisionnumber
               Typical Access Rate:                         14,300 bytes/sec
               RewindTime:                                  19 sec (end to end)
                                                                                                                           MATBIX: Performsmatrix addition,subtraction,                           multiplication,     lransposition,
               TypicalEraseTime:                            40 sec (one entire track)
                                                                                                                             and inversion Performs              addilion,subtraction,          multiplication,     division,    iniliali-
               Cartridge  Size:                             635mmx925mmx
                                                                                                                             zation and redirensioning on n-dimensionalarrays Prinls arrays on the
                                                            127 mm(25 in x 3 25in
                                                                                                                           9862A PLOTTER-GENEBAL                    UO: HP 98624 Plotter slatements tor scal-
               Verification:                                Automaticon recording
                                                                                                                             ing, plotting.      labeling,   and drawingaxes
PRINTER                                                                                                                    GENERAL l/O: Basic l/O capabilities                   includingread/writewith format con-
                  PaperWidth:    57 l5 mm (225 in)                                                                           t r o l L i s t s p r o g r a m so n a p e r i p h e r a l S t a t u s t e s t i n g C o m p a t i b l e i t h
                  Speed:         190 lines/min                                                                                HP-lB oeriDherals
                  Font:          A 5 x 7 dot matrix Prints all the                                                         EXTENDED l/O: CompleteHP-IB control Interruptcommands Auto start,
                                 characlers shown below in upper and                                                         error trapping,and tire out Bil manipulationand testing Code conversion,
                                 lower case Up to 16 characlers/line                                                         burst read and wdte, butfered l/O, and direct memory access (DMA)
                               LED displaydisplaysall of the following
DISPLAY:the standard32-character                                                                                           ORDERII{GINFORMATION
     FlE i ti i i: il N j -l i. l- i,l i.i t:iF i.!E.:l T i-i i; ;,,i'"f                                                                   OPTIONNO                      KIT NO                   DESCRIPTION
    ,:iL,; 'li,                                                              i ",,
                i ! i ' l i - i i : . ] ; ' : j ; r - r i r r - rf = t r - J r i j ! i r ' i ; [ : ]   l-fl - l-+                          Standard                                     6,844bytes of memory,32-
                                      ' : ' t : ; L := - : r ' J a           ?                                                             HP 98254                                     character  LED display,16-
    iilI':t        4:ji;':::                                     i" #i: l::i
                                                                   f           i .i ++:
                                                               "                                                                                                                        character strip printer
                                              characters available:
  With the Stringor GeneralUO ROM,the following        are                                                                                 Opt 001                                      15,036total bytesof memory
                                                                                                                                           Opt 002                                      23,228 tolal bytes of memory
                         r-r;f r; ij il i, ':':E; t-,j, i ft,,, i,,:i i
     ii '--r rj !:;1iri.-!
           ;i                                                                               r I il
                                                                                                                                           Opt 003'                                     3 1,420 tolal bytes of memory
     ::i i ij t | .,+ I. i- { i;:i                                                                                                                                  98221F              Fieldinstalled  8,192 bytesof
PERIPHERAL   UO                                                                                                                                                                         memory
 CAPACITY:Three general l/O slots                                                                                                                                   98222F              Field installed 16,384 bytes
 TRANSFER RATES: Input rate of up to 40Oktransfers/sec,   output rate of up to                                                                                                          of memory
   2OOktransfers/sec depending on the program, ROMS used, and l/O €rd                                                                       Plug-lnROMs             9821oAt             String-AdvancedProgramming
   (A transferis one 16-bitword or one 8-bitbyte )                                                                                                                  98211A              Matrix
 INTERFACE:    Dedicated                                         plus
                        cardand cableassemblies peripherals, general
                                                   for                                                                                                              98212A              9862A Plotter-General l/O
   l/O interfacecards providingHP-IB, bil-parallel,  and BCD formats HP-IB                                                                                          98213A1             Generall/O-Exlended l/O
   formatconlormslo IEEE Standard    488-1975                                                                                                                       98214At             98624Plotter-Generall/O-
ENVIRONMENTAL      RANGE                                                                                                                                                                Extended l/O
                                                                                                                         'Will not oDerate
                                                                                                                                         with ROMS98210A,98213A,and 982144
 OPERATING     TEMPERATURE: to 40'C ambient
 STORAGETEMPERATURE;         -40'C to +65'C                                                                              twill not operatewith 31,420bytes memory
 AMBIENTHUMIOITY:      <80%                                                                                              PRICElN U.S.A.:9825ABase Price.$5900

                        HP Model 9871A Prlnter                                                                        HP Model 9815A Calculator
SPEED                                                                                           STONAGE
  Avelage text lins ot 10 characters/in:30 characters/sec. Best case ot 10                        DYNAM|C AttGE: o99to to-99. o. -10-99to -1099
                                                                                                             R        t
     characters/in, rolation: 32 charaders/ss Worst cas of 10 characters/in.
                    no                                                                            R/W MEMORY:472 Vc{Iam st€ps, 10 data rsgisttrs"
       8f rotation: 14 charactefs/ssc                                                             OPT. 001: 20OBtotal program steps, 10 data registers'*
  Cardor relurn or tab, tull length: 325 msec.                                                    "May be allocated by user into any combination of program steps and data
  Line teed, 0 167 in. (4,23 mm): 50 msec                                                           regrstsrs
PAPER                                                                                             DATA CARTRIDGE: 96,384 bytes (8 steps = 1 register, 1 st€p = ons 8-bit
  Singl€ sheet or continuous feed- Fqm tsed mgchanism recommended for                               byle), 12,048 regisreF
     continuousteed                                                                               SEARCH SPEED: 1524 mm/sm (60 in/sm) bidirectionat
  Siinglepart or multi-part,2 to 6 parts.                                                         R/W SPEED:254mm/str (10 in/sec)
  15 in (381 mm) milirum width.                                                                  TAPE LENGTH:42.67 (140 tt)
DmENSTONS                                                                                         FILE SIZE: 80 bytes to 2008 bytes, programmable
  HEIGHT:19 mm (7.75 in.)                                                                         DfMENSIONS:    63.5 x 82.5 x 127 mm (2.5 x 3.25 x 0 5 in)
  WfDTH:565 mm (2225in1                                                                         THERMAL PFINTER
  DEPTH:387 mm (15 25 in )                                                                        PAPER:55 mm (2 25) in wide
  WEIGHT:18.4k9 (40 5 tbs)                                                                        PRINT: 5 x 7 dot matrix, lo-character line
  SH|PP|NGWETGHT:         24.5 kg (54 lbs)                                                        NO. OF DIGITS:10 digits maximum,plus sign and signed 2-digitexponent Print
POWERREOUIRED                                                                                       format user selectable
  SOURCE: 1@l 12Ol22Ol240V +57q -10o/o                                                            AVAILABLE    ALPHA:
  FREQUENCY:48-66         Hz                                                                                  fl E ri IrE F E H I ._t L HH r-tF r,1 5 T U'l,'t'tl1T r
                                                                                                                                     ti             E
  CONSUMPTION:2OOVA          mdimum (printing)                                                                ElIt45ETE'--+                     iruFllti'Fttt
                      60VA (nonpdnting)                                                                       {:.1 r i +
                                                                                                                   .        - + . / = : f # ! $ E ' l r , i li + + d + , : : }
ENVIRONilENTAL RANGE                                                                            DISPLAY
 TEMPERATURE: to 4yC   e                                                                          TYPE: 7-segmenlgas discharge
  HUMIDITY:syo lo 95o/o (noncondsnsing)
                            RH                                                                    SIZE: 16 numsriccharacters;l0 digils maimum with a signedz-digit exponent
OPERATII{G CONTROLS                                                                               NOTATION:Fixed, scientific,scientific3
 Power on-off switch                                                                            ENVIROI{HENTAL RANGE
 Self-test,pushbunon switch                                                                       TEMPERATURE:5"C 4eC ambient to
 g-positionprint inlensity adjustment                                                             HUMIDITY:      8O'l.
 Sal€ty inlorlock(stops printing whs access cwer is remoyed)                                    SIZE/WEIGHT
BUFFER                                                                                            HEIGHT:101,6mm (4 in)
 158 characlers-automatically tills if characters are rmeived faster than print                   W I D T H : 3 4 5 , 4 m ( 1 3 . 6i n )
    rats. Slatus line indicateswhen 16 charactersare lett in butfer The butfer may                OEPTH:342,9mm (13.5 in)
   al$ be used tor storing tab intormationand user defined characters                             WEIGHT:5,9 g (13lb)
EXTEFNALLY PROGRAMMABLE FUNCNONS                                                                  SHIPPING      WEIGHT:1 1,8 kg (26 lb)
 96 printingcharacters,selflest, horizontaltabs, vertiml labs, dot and line plotting,           POWERREOUIREMENT
   characterand line spacing, bel.                                                                souRcE: 1@l1ml2wl240v                  +50h, -10%
                                                                                                 FREOUENCY: to 66 Hz
 One of the tollowinginlerlace options is required;
   Opl. 010 for use with the HP 981oA-Opt. 010 requireseiiher the HP 11252A                                      22OVl4OOmA
   or HP 11264A PeripheralControl ROM'Sor HP 11262A Peripheral/Cassette
   ROM or HP 1'12664Peripheral/Printer     Alpha ROM.
                                                                                                ORDERING INFORIIATIOT{
 ODt 020 for use with the HP 9820A
                                                                                                 STANDARO-HP9815 with 472 program steps, 10 data registers
 Opt 021 tor uss with the HP 9821A-Opl 020 and 021 roquire either the
                                                                                                   OPT 001: 2008 total program sleps
   HP 11220A or the HP 11U4A Petioheal Control FOMS. The HP 11221A
                                                                                                   OPT 002: 2 l/O channels
   Math ROM is requiredfo/ plotting and form filliqg
                                                                                                PRICElN U.S.A.:9815ABase Price.S2900
 Oot. m0 tor use with the HP 98lil0A.
 Oot- 015 tor uss with the HP 9815A.                                                             MANUFACTURINGDIVISION: CALCULATOB PROOUCTS OIVISION
 Opt 8oo-European Print Disc                                                                                            P O Box 301
 ODt.801-ASCll Print Disc                                                                                               815 FourleenthStreet, S W
PFICE lN U.S.A.:9871A.   $3400                                                                                          Loveland, Colorado80537 U S.A.

                                                                                                                                                                                Bulk Fate
              Company,   1501PageMill                                                                                                                                   I I S    Pnctano

    Road, PaloAlto,California
                            93Ol                                                                                                                                            Paid

                                                                  . To change your address or delete your name from our mailing list please send us your old address label (it peels off)
CHANGEO                                                           . Send changes to Hewlett-Packard   Journal, 1501 Page Mill Road, Palo Allo, California94304 U S A Allow 60 days
          HP Archive

This vintage Hewlett-Packard document was
        preserved and distributed by

        Please visit us on the web!

    On-line curator: John Miles, KE5FX

Shared By: