Epson HX-20
Encyclopedia
The Epson HX-20 is generally regarded as the first laptop
Laptop
A laptop, also called a notebook, is a personal computer for mobile use. A laptop integrates most of the typical components of a desktop computer, including a display, a keyboard, a pointing device and speakers into a single unit...

 computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

, announced in November 1981, although first sold widely in 1983. Hailed by BusinessWeek magazine as the "fourth revolution in personal computing", it is generally considered both the first notebook and handheld computer.

Features

With about the footprint of an A4 size page, the Epson HX-20 features a full-transit keyboard
Computer keyboard
In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...

, rechargeable nickel-cadmium batteries, a built-in 120 × 32-pixel LCD
Liquid crystal display
A liquid crystal display is a flat panel display, electronic visual display, or video display that uses the light modulating properties of liquid crystals . LCs do not emit light directly....

 (smaller than that on many mobile phone
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...

s today) which allowed 4 lines of 20 characters, a calculator
Calculator
An electronic calculator is a small, portable, usually inexpensive electronic device used to perform the basic operations of arithmetic. Modern calculators are more portable than most computers, though most PDAs are comparable in size to handheld calculators.The first solid-state electronic...

-size dot-matrix printer, the EPSON BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....

 programming language, two CPUs at which is essentially a souped up Motorola 6801
Motorola 6800
The 6800 was an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System that also included serial and parallel interface ICs, RAM, ROM and other support chips...

, 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...

 expandable to , two RS-232 ports at a maximum of for the first 8-pin DIN intended for modem or serial printer with the second port capable of using a 5-pin DIN connector which was mainly for use with external floppy drive and video display an early concept of docking station, a acoustic coupler
Acoustic coupler
In telecommunications, the term acoustic coupler has the following meanings:# An interface device for coupling electrical signals by acoustical means—usually into and out of a telephone instrument....

 was available, built-in microcassette
Microcassette
A Microcassette is an audio storage medium introduced by Olympus in 1969. It uses the same width of magnetic tape as the Compact Cassette but in a much smaller container. By using thinner tape and half or a quarter the tape speed, microcassettes can offer comparable recording time to the compact...

 drive, barcode reader connector. Uses a proprietary operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

, which consists of the EPSON BASIC interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

 and a system monitor
System monitor
A system monitor is a hardware- or software- based system used to monitor resources and performance in a computer system.Software monitors occur more commonly, sometimes as a part of a widget engine. These monitoring systems are often used to keep track of system resources, such as CPU usage and...

 program, and weighs approximately . Known colours of the machine are silver and cream, while some prototypes were dark grey. The HX-20 was supplied with a grey or brown carry case. An external acoustic coupler
Acoustic coupler
In telecommunications, the term acoustic coupler has the following meanings:# An interface device for coupling electrical signals by acoustical means—usually into and out of a telephone instrument....

, the CX-20, was available for the HX-20, as was an external floppy disk drive, the TF-20, and an external speech synthesis Augmentative Communication Device (ACD), ‘RealVoice’. Another extension was the serially connected character video. It used a special protocol, EPSP, which was also used by the external floppy disk drive.
The battery life of the HX-20 was approximately running BASIC and less using the microcassette, printer or RS-232. The data integrety could be preserved in the range. The power supply was rated for . Operating and charging it would tolerate . Data integrety could be preserved at . Stored it would tolerate .

The later, more popular TRS-80 Model 100 line
TRS-80 Model 100 line
The TRS-80 Model 100 was an early portable computer introduced in 1983. It was one of the first notebook-style computers, featuring a keyboard and liquid crystal display, battery powered, in a package roughly the size and shape of notepad or large book....

, designed by Kyocera
Kyocera
is a multinational manufacturer based in Kyoto, Japan. It was founded as in 1959 by Kazuo Inamori and renamed in 1982. The company has diversified its founding technology in ceramic materials through internal development as well as strategic mergers and acquisitions...

, owed much to the design of the HX-20.

LCD

The LCD is 120x32 pixels and is controlled by six uPD7227 LCD controller ICs
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...

 each responsible for 40x16 pixels of the LCD. The uPD7227 uses a serial protocol and has two memory banks for switching between rows 0-7 and 8-15. It features multiple modes, including "Write", "Read", "AND", "OR" and "Character". The "character" mode draws characters from a built-in character map.
Each bank is 40 bytes with bit 6 of the address determining the bank and even though the address can be up to 127, nothing will happen when trying to access data outside the banks. If the pointer action in a command is set to decrement and the pointer is at 0, the pointer will wrap to 127.

Monitor

The Monitor program can be accessed via the main menu on startup by pressing 1, by typing the command "MON" in BASIC or by causing a trap, ie. writing/reading to/from protected addresses or executing an illegal instruction.
In the case of a trap, "Trap!" will be displayed in the Monitor and the user can use it for debugging.

When entering Monitor it shows a prompt on the first line, "Trap!" on the second line (if entered via a trap) and the CPU registers
Processor register
In computer architecture, a processor register is a small amount of storage available as part of a CPU or other digital processor. Such registers are addressed by mechanisms other than main memory and can be accessed more quickly...

 on the third and fourth lines as they were right before the Monitor was entered. These registers are A (Accumulator
Accumulator (computing)
In a computer's central processing unit , an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation to main memory, perhaps only to be read right back again for...

 A), B (Accumulator B), X (Index Register), C (Condition Code Register), S (Stack Pointer) and P (Program Counter
Program counter
The program counter , commonly called the instruction pointer in Intel x86 microprocessors, and sometimes called the instruction address register, or just part of the instruction sequencer in some computers, is a processor register that indicates where the computer is in its instruction sequence...

).

Monitor can be used for reading and writing memory, modifying CPU registers, running code at specific addresses in memory, saving/loading memory to/from a plugin option, etc. This is very useful for debugging programs written in machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

 in difference to programs written in the EPSON BASIC programming language.

Commands

Command Syntax Description
S (Set) S [old] [new] Writes the 8-bit value "new" (in hex) to 16-bit address . Entering only the address and pressing enter will make the old value at the address appear and the cursor put after the old value for entering a value.
D (Dump) D Dumps the values from addresses to to the display.
G (Go) G, Sets the programme counter to the 16-bit address and will return to Monitor before the breakpoint address is executed.
X (Examine) X Allows the user to display and change the contents of each register. The RETURN key applies the changed value (if any) and jumps between registers. Typing a non-hexadecimal character exits this command.
R (Read) R, Transfer data from an external storage to memory. can be any of M (microcassette), C (external cassette) and P (ROM cartridge). The memory address is specified using the "A (Address)" command.
W (Write) W, Transfer data from memory specified by the "A (Address)" command to an external storage. See "R (Read)" for more information. ROM cartridge is not supported by this command.
V (Verify) V, Verifies data transferred to an external storage against the memory specified by the "A (Address)" command. See "R (Read)" for more information. ROM cartridge is not supported by this command.
A (Address) A Specify an address range for commands R, W and V. The user will be prompted with T (Top address), L (Last address), O (Offset value) and E (Entrypoint). Offset and entrypoint values are only used by the "W (Write)" and "V (Verify)" commands.
K (Key set) K Enter a sequence of keys to be pressed automatically on power up (and reset). Press CTRL+@ to stop. A maximum of 18 characters can be entered and function keys counts as two characters.
B (Back) B Return to the procedure from which Monitor was called.

Expansion port

The expansion port allows hardware to connect directly to the master processor's memory bus, exposing the 16-bit address bus, 8-bit data bus and control signals. An external device can add ROMs, RAM or MMIO-devices to the master CPU's address space. The address range 0x4000-0x5FFF exists solely for this purpose but almost any address can be used.

There's an "expansion unit" which contains sockets for extra RAM and ROMs which can be mapped to various areas in the address space using a DIP switch
DIP switch
DIP switches are manual electric switches that are packaged in a group in a standard dual in-line package...

, even replacing the BASIC interpreter ROMs. Some software distributed as ROMs were designed to be used in the expansion unit.
Expansion port pinout
Pin Name Direction Description Pin Name Direction Description
1 Vb - +5V 21 ADDR6 OUT Address line 6
2 NMI# - Unused 22 ADDR7 OUT Address line 7
3 +5V - Logic voltage 23 ADDR8 OUT Address line 8
4 +5V - Logic voltage 24 ADDR9 OUT Address line 9
5 DATA7 IN/OUT Data line 7 25 ADDR10 OUT Address line 10
6 DATA6 IN/OUT Data line 6 26 ADDR11 OUT Address line 11
7 DATA5 IN/OUT Data line 5 27 ADDR12 OUT Address line 12
8 DATA4 IN/OUT Data line 4 28 ADDR13 OUT Address line 13
9 DATA3 IN/OUT Data line 3 29 ADDR14 OUT Address line 14
10 DATA2 IN/OUT Data line 2 30 ADDR15 OUT Address line 15
11 DATA1 IN/OUT Data line 1 31 R OUT Reset
12 DATA0 IN/OUT Data line 0 32 R/W OUT Read (low)/Write (high)
13 IOCS# OUT I/O chip select 33 R (RAM)# OUT RAM reset
14 Vc - RAM backup voltage (+3V) 34 E OUT ENABLE signal
15 ADDR0 OUT Address line 0 35 ROM E IN ROM enable
16 ADDR1 OUT Address line 1 36 INTEX# IN External interrupt signal
17 ADDR2 OUT Address line 2 37 GND - Signal ground
18 ADDR3 OUT Address line 3 38 GND - Signal ground
19 ADDR4 OUT Address line 4 39 CG - Chassis ground
20 ADDR5 OUT Address line 5 40 CG - Chassis ground

Memory map

Start End Description
0000 001F Internal registers
0020 003F I/O select
0040 007F RTC registers + RAM
0080 3FFF RAM
4000 5FFF Used by expansion unit
6000 7FFF ROM #4 (Option ROM)
8000 9FFF ROM #3
A000 BFFF ROM #2
C000 DFFF ROM #1
E000 FFFF ROM #0


ROM #0 and #1 are known as the I/O ROMs, handling system reset and providing functions for using the LCD, keyboard, clock, printer, speaker, serial communication, etc. The I/O ROMs are equivalent to the BIOS in modern PCs.
ROM #0 also contains the interrupt vector table at FFF0-FFFF. FFFE-FFFF determines what the program counter should be set to on power up or reset. In the standard set of ROMs for the HX-20, this value is E000, the start of ROM #0.

ROM #2 and #3 contains the BASIC interpreter. If the BASIC ROMs are removed from the motherboard, the BASIC option in the main menu will disappear, leaving only MONITOR. This is because ROM #3 contains a program header which is detected by the menu routines. This works the same for all user-created programs, except the program type is different.

Similar Epson models

  • HC-80 (Japanese version of the PX-8
    Epson PX-8 Geneva
    The Epson PX-8 aka Geneva was a small laptop computer made by the Epson Corporation in the mid-1980s.It had a Z-80 compatible microprocessor, and ran a customized version of the CP/M-80 operating system as well as various applications from a pair of ROM cartridge slots...

    )
  • HC-88 (Japanese version of the PX-8
    Epson PX-8 Geneva
    The Epson PX-8 aka Geneva was a small laptop computer made by the Epson Corporation in the mid-1980s.It had a Z-80 compatible microprocessor, and ran a customized version of the CP/M-80 operating system as well as various applications from a pair of ROM cartridge slots...

    )
  • HX-40 (American version of the PX-4
    Epson PX-4
    The Epson PX-4 is a portable CP/M based computer introduced in 1985. The screen was 40×8 characters physical, but 80×25 or 40×50 virtual, making it almost compatible with the Epson PX-8 Geneva...

    )
  • HX-45 (American version of the PX-4)
  • KX-1
  • PX-16 (IBM PC compatible portable, cartridges compatible with PX-4
    Epson PX-4
    The Epson PX-4 is a portable CP/M based computer introduced in 1985. The screen was 40×8 characters physical, but 80×25 or 40×50 virtual, making it almost compatible with the Epson PX-8 Geneva...

    )
  • PX-4 (successor of the HX-20, with larger screen and CP/M compatible like the PX-8
    Epson PX-8 Geneva
    The Epson PX-8 aka Geneva was a small laptop computer made by the Epson Corporation in the mid-1980s.It had a Z-80 compatible microprocessor, and ran a customized version of the CP/M-80 operating system as well as various applications from a pair of ROM cartridge slots...

    )
  • PX-8 (Geneva)
    Epson PX-8 Geneva
    The Epson PX-8 aka Geneva was a small laptop computer made by the Epson Corporation in the mid-1980s.It had a Z-80 compatible microprocessor, and ran a customized version of the CP/M-80 operating system as well as various applications from a pair of ROM cartridge slots...

  • QX-10 (CP/M desktop), QX-16 (like the QX-10 but with MS-DOS compatibility)
  • EHT-30, EHT-40

Problems

A common complaint found in most HX-20 computers today is the failure of the internal Ni-Cd
Nickel-cadmium battery
The nickel–cadmium battery ' is a type of rechargeable battery using nickel oxide hydroxide and metallic cadmium as electrodes....

 rechargeable battery pack. The battery pack is easily replaced by a NiMH (or equivalent) battery pack. Changing the battery pack is not generally considered to reduce the collectible value of the computer, as doing so does not damage any internals.

An easy fix for replacement batteries is to use four AA cells in a holder secured on the inside. The leads can be easily soldered on to the connector from an original battery. It can also work with a lantern battery
Lantern battery
A lantern battery is a rectangular, alkaline or zinc-carbon primary battery used primarily in flashlights or lanterns. Lantern batteries are physically larger and consequently offer higher capacity than the more common torch batteries...

 on alligator clips.

External links

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