HP-48 series
Encyclopedia
The HP-48 is a series of graphing calculator
Graphing calculator
A graphing calculator typically refers to a class of handheld calculators that are capable of plotting graphs, solving simultaneous equations, and performing numerous other tasks with variables...

s using Reverse Polish notation
Reverse Polish notation
Reverse Polish notation is a mathematical notation wherein every operator follows all of its operands, in contrast to Polish notation, which puts the operator in the prefix position. It is also known as Postfix notation and is parenthesis-free as long as operator arities are fixed...

 (RPN) and the RPL programming language
RPL programming language
The RPL programming language is a handheld calculator system and application programming language used on Hewlett-Packard's engineering graphing RPN calculators of the HP-28, HP-48, HP-49 and HP-50 series, but it is also usable on non-RPN calculators, such as the HP-39...

, produced by Hewlett-Packard
Hewlett-Packard
Hewlett-Packard Company or HP is an American multinational information technology corporation headquartered in Palo Alto, California, USA that provides products, technologies, softwares, solutions and services to consumers, small- and medium-sized businesses and large enterprises, including...

 (HP) from 1990 until 2003. The series include the HP-48S, HP-48SX, HP-48G, HP-48GX, and HP-48G+, the G models being expanded and improved versions of the S models. The models with an X suffix are expandable via special RAM
Random-access memory
Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

 (memory expansion) and ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 (software application) cards. In particular, the GX models have more onboard memory than the G models. The G+ models have more onboard memory only. The SX and S models have the same amount of onboard memory.

Note that the similarly named HP-48GII (2004) is not really a member of the series, but rather much more closely related to the HP-49G
HP-49 series
The HP 49G series are Hewlett-Packard manufactured graphing calculators. They are the successors of the popular HP-48 series.There are four calculators in the 49 series of HP graphing calculators...

 and HP-49G+.

The hardware architecture
Computer architecture
In computer science and engineering, computer architecture is the practical art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals and the formal modelling of those systems....

 developed for the HP-48 series became the basis for the HP-38G
HP-38G
The HP-38G is a programmable graphing calculator by Hewlett Packard. It was introduced in 1995 with a suggested retail price of 79.95 USD. HP credits a committee of eight high school, community college, and university teachers with assisting in the design of the calculator.The HP-38G, unlike most...

, with a simplified user interface and an infix input method, and the HP-49G
HP-49 series
The HP 49G series are Hewlett-Packard manufactured graphing calculators. They are the successors of the popular HP-48 series.There are four calculators in the 49 series of HP graphing calculators...

 with various software enhancements. Likewise, the hardware and software design of the HP-48 calculators are themselves strongly influenced by other calculators in the HP line, most of all by the HP-18C
HP-18C
The HP-18C was a Hewlett-Packard business calculator which was quickly followed by the very similar but greatly improved HP-19B. The HP-18C was HP's first RPL-based calculator even though this model was not user programmable...

 and the HP-28 series
HP-28 series
The HP-28C and HP-28S were two graphing calculators produced by Hewlett-Packard from 1986 to 1992.The HP-28 was the first calculator capable of solving equations symbolically....

.

Specifications

The HP-48 series' Saturn
Saturn (microprocessor)
The Saturn family of microprocessors was developed by Hewlett-Packard in the 1980s for programmable scientific calculators/microcomputers. The original Saturn chipset was first used in the HP-71B hand-held BASIC computer, introduced in 1984. Later models of the family powered the popular HP-48...

 microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

 is a hybrid 64-bit
64-bit
64-bit is a word size that defines certain classes of computer architecture, buses, memory and CPUs, and by extension the software that runs on them. 64-bit CPUs have existed in supercomputers since the 1970s and in RISC-based workstations and servers since the early 1990s...

 / 20-bit CPU
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 hardware-wise but acts like a 4-bit
4-bit
The Intel 4004, the world's first commercially available single-chip microprocessor, was a 4-bit CPU. The F-14 Tomcat's Central Air Data Computer was created a year before the 4004, but its existence was classified by the United States Navy until 1997...

 processor in that it presents nibble
Nibble
In computing, a nibble is a four-bit aggregation, or half an octet...

-based data to programs and uses a nibble-based addressing system. The main registers A, B, C, D, along with temp registers R0, R1, R2, R3, and R4 are a full 64-bits wide, but the data registers D0 & D1 are only 20-bit. External logical data fetches are transparently converted to 8-bit physical fetches. The processor has a 20-bit address bus
Address bus
An address bus is a computer bus that is used to specify a physical address. When a processor or DMA-enabled device needs to read or write to a memory location, it specifies that memory location on the address bus...

 available to code but due to the presence of the high/low nibble selection bit, only 19 bits are available externally.

In both the HP-48S/SX and G/GX series, the Saturn CPU core is integrated as part of a more complex integrated circuit
Integrated circuit
An integrated circuit or monolithic integrated circuit is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material...

 (IC) package. These packages have codenames inspired by the members of the Lewis and Clark Expedition
Lewis and Clark Expedition
The Lewis and Clark Expedition, or ″Corps of Discovery Expedition" was the first transcontinental expedition to the Pacific Coast by the United States. Commissioned by President Thomas Jefferson and led by two Virginia-born veterans of Indian wars in the Ohio Valley, Meriwether Lewis and William...

. The codename of the IC is Clarke in the S/SX, after William Clark, and Yorke in the G/GX, after Clark's manservant. The previous series of Saturn-based ICs were codenamed Lewis, after Meriwether Lewis
Meriwether Lewis
Meriwether Lewis was an American explorer, soldier, and public administrator, best known for his role as the leader of the Lewis and Clark Expedition also known as the Corps of Discovery, with William Clark...

.

Common for all models

  • CPU
    Central processing unit
    The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

     architecture: Saturn
    Saturn (microprocessor)
    The Saturn family of microprocessors was developed by Hewlett-Packard in the 1980s for programmable scientific calculators/microcomputers. The original Saturn chipset was first used in the HP-71B hand-held BASIC computer, introduced in 1984. Later models of the family powered the popular HP-48...

  • Screen resolution: 131×64 pixel
    Pixel
    In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....

    s
  • Communication Ports: 4-pin RS-232
    RS-232
    In telecommunications, RS-232 is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...

     (Serial port
    Serial port
    In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...

    ) or Infrared
    Infrared
    Infrared light is electromagnetic radiation with a wavelength longer than that of visible light, measured from the nominal edge of visible red light at 0.74 micrometres , and extending conventionally to 300 µm...

     port (not IrDA
    IRDA
    IRDA may refer to:* Infrared Data Association, in information and communications technology , a standard for communication between devices over short distances using infrared signals...

    )
  • Data bus width: 8-bit
    8-bit
    The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...

     (external)
  • Maximum 4-bit
    4-bit
    The Intel 4004, the world's first commercially available single-chip microprocessor, was a 4-bit CPU. The F-14 Tomcat's Central Air Data Computer was created a year before the 4004, but its existence was classified by the United States Navy until 1997...

    -cell address width: 20 bits (leading to the address space shown next)
  • Logical address space
    Address space
    In computing, an address space defines a range of discrete addresses, each of which may correspond to a network host, peripheral device, disk sector, a memory cell or other logical or physical entity.- Overview :...

    : 512 kB
    Kilobyte
    The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

  • Maximum register size: 64 bit
    Bit
    A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

     (both working and scratch registers)
  • Available expansion card ports on X models: 2
  • Expansion card pins: 40

HP-48S/SX specific

  • CPU clock frequency: 2 MHz
  • Memory clock frequency: 2 MHz
  • CPU codename: Clarke
  • Communication Protocol(s): Serial Transfers: Kermit (protocol)
    Kermit (protocol)
    Kermit is a computer file transfer/management protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s; it provides a consistent approach to file transfer, terminal emulation, script programming, and character set conversion across...

    ; Infrared Transfers: proprietary
  • On-board ROM
    Read-only memory
    Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

    : 256 KB
    Kilobyte
    The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

  • On-board RAM
    Random-access memory
    Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

    : 32 KB
  • Maximum additional memory per expansion card: 128 KB (SX only)
  • ROM versions: A, B, C, D, E, J

HP-48G/GX specific

  • CPU clock frequency: 3.7 to 4 MHz
    • Some claim that the frequency varies according to temperature http://www.hpcalc.org/hp48/docs/hpedia/
    • According to one of the engineers on the design team of the HP48G series (Dave Arnett), the yields for 4MHz CPUs were essentially separated into two parts: the ones closest to spec, generally near 3.93-3.94MHz, were reserved for the expandable models (GX), and those just slightly under spec were used for the non-expandable units (G). Eventually the yields improved and the CPUs which clocked closer to 4MHz were installed in the non-expandable units as well. The effects of (non-extreme) temperatures are almost negligible.
  • Memory clock frequency: 2 MHz
  • CPU codename: Yorke
  • Communication Protocol(s): Serial Transfers: Kermit (protocol)
    Kermit (protocol)
    Kermit is a computer file transfer/management protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s; it provides a consistent approach to file transfer, terminal emulation, script programming, and character set conversion across...

     or Xmodem
    XMODEM
    XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...

    ; Infrared Transfers: proprietary
  • On-board ROM: 512 kB
    Kilobyte
    The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

  • On-board RAM: 32 kB (G) or 128 kB (G+/GX)
  • Maximum additional memory for expansion card port 1: 128 kB
  • Maximum additional memory for expansion card port 2: 4 MB
    Megabyte
    The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

     (128 kB addressable at any given time via bank switching
    Bank switching
    Bank switching is a technique to increase the amount of usable memory beyond the amount directly addressable by the processor. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer...

    )
  • Other communication protocols: XModem
    XMODEM
    XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...

  • ROM versions: K, L, M, P, R

Programming

The HP-48 series of calculators support a stack-based programming language named Reverse Polish Lisp (RPL)
RPL programming language
The RPL programming language is a handheld calculator system and application programming language used on Hewlett-Packard's engineering graphing RPN calculators of the HP-28, HP-48, HP-49 and HP-50 series, but it is also usable on non-RPN calculators, such as the HP-39...

, a combination of Reverse Polish Notation (RPN)
Reverse Polish notation
Reverse Polish notation is a mathematical notation wherein every operator follows all of its operands, in contrast to Polish notation, which puts the operator in the prefix position. It is also known as Postfix notation and is parenthesis-free as long as operator arities are fixed...

 and Lisp
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...

. RPL adds the concepts of lists and functions to stack
Stack (data structure)
In computer science, a stack is a last in, first out abstract data type and linear data structure. A stack can have any abstract data type as an element, but is characterized by only three fundamental operations: push, pop and stack top. The push operation adds a new item to the top of the stack,...

-based programming, allowing the programmer to pass unevaluated code as arguments to functions, or return unevaluated code from a function by leaving it on the stack. In spite of the name, RPL resembles Forth more closely than Lisp.

RPL comes in two flavors: User RPL and System RPL. User RPL is the language that a user can program directly on the calculator. System RPL requires an external compiler; this may be done on the calculator with a third-party utility, or on another machine. The two languages vary mainly in the number of low-level operations available to them. User RPL does not expose any commands that do not check their arguments. Consequently, User RPL programs cannot normally crash the calculator (and are therefore slower than System RPL programs), whereas a System RPL program that invokes a command with incorrect arguments will almost certainly leave the calculator in a state which requires a full memory reset (occasionally referred to as a three-finger salute because it requires pressing the ON, the A, and the F keys on the calculator at the same time).

It is also possible to program the HP48 directly in Machine Language code. Books are available on this subject and some of them are freely available on the web (see external links).

Programmers working in System RPL or machine language most commonly work on an HP48 emulator because it is much quicker and easier to restore the state of a crashed emulator than to restore a crashed calculator.

External links


Emulators

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK