(From BYTE, September 1983, Vol. 8, No. 9)

System Review


The Kaypro II

Dependable hardware and extensive software make this affordable portable a winning package

by Roger Fager and John Bohr

One industry pundit insists that for a microcomputer system to be successful, it need only be adequate - which is to say complete, reliable, standard, and inexpensive. The Kaypro II from Non-Linear Systems epitomizes these homely virtues.

A complete system encased in aluminum, the Kaypro II contains a single-board computer, two 5 1/4-inch floppy disks, and a 9-inch (diagonal) green-phosphor video screen that displays 24 lines of 80 characters. A 6-foot coiled cord hooks a high-quality, 76-key detachable keyboard to the Kaypro's chassis. It uses a Z80 microprocessor running at 2.5 MHz and has 64K bytes of RAM (random-access read/write memory) plus an RS-232C serial port and a Centronics-compatible parallel printer interface.


Photo 1: The Kaypro II portable computer.


The Kaypro II comes bundled with extensive software, including CP/M 2.2 and the Perfect Software series: Perfect Writer (a word processor), Perfect Filer (a database program), Perfect Calc (an electronic spreadsheet), and Perfect Speller (a spelling checker). In addition, the manufacturer supplies Profit Plan (a simplified spreadsheet) and two forms of BASIC: S-BASIC, which is structured, compiled BASIC, and MBASIC, the de-facto standard, interpreted BASIC. To round out the software package, Kaypro II includes The Word Plus (a powerful spelling checker) and several game programs.


Photo 2: The main printed-circuit board of the Kaypro II.



Name: Kaypro II

Manufacturer
Kaypro Division
Non-Linear Systems Inc.
533 Stevens Ave.
Solana Beach, CA 92075
(619) 755-1134

Dimensions
Folds to an 18- by 8- by 15 1/2-inch suitcase-like metal box with a handle; weighs 26 pounds

Components
A Zilog Z80 microprocessor running at 2.5 MHz; 64K bytes of dynamic RAM and 2K bytes of screen memory; an 80-column by 24-line green-phosphor display with brightness control; a selectric-style keyboard with numeric keypad; two single-sided, double-density 5 1/4-inch drives, each with a capacity of 193K bytes (formatted); RS-232C serial and Centronics-compatible parallel ports

Software
CP/M 2.2; the Perfect Software family: Perfect Writer (word processor), Perfect Files [database), Perfect Calc (spreadsheet), Perfect Speller (spelling checker), tutorial disks; The Word Plus (Spelling checker); Profitplan (spreadsheet); MBASIC (Interpreted BASIC with Games); S-BASIC (structured, compiled BASIC); system utilities.

Documentation
System manual; standard CP/M manual; Perfect Software manuals; The Word Plus and Profitplan manuals, S-BASIC and MBASIC manuals (language descriptions)

Price
$1595

Options
Vinyl and nylon cases

Hardware

On examining the machine we immediately noticed that the Kaypro II's hardware is solid and obviously designed for transport. When you want to move the Kaypro II, the keyboard snaps onto the case to form an 18- by 15 1/2- by 8-inch suitcase that weighs 26 lbs. Heavy-gauge aluminum surrounds and shields the keyboard and the main chassis.

Inside the case, Non-Linear Systems' test-equipment expertise is readily apparent. The major subsections are firmly mounted to the case, far apart from each other. Not only does isolating components provide space for air circulation and heat removal, it also makes all the major components readily accessible for examination and repair.

The layout of the main circuit board (see photo 2), suggests that the system was designed as four subsections. The main computer subsection consists of the Z80 microprocessor, the ROM (read-only memory) chips, and 64K bytes of dynamic memory. The floppy-disk-control subsection consists of a 1791 disk controller and TTL (transistor-transistor logic) support chips. The I/O (input-output) subsection includes two Z80 PIOs (parallel input/output devices), a Z80 SIO/0 (serial input/output device), TTL buffers, and connectors. The final subsection is the digital part of the video generation system: 2K bytes of static RAM for screen memory and a character-generator ROM. The chips are socketed and easy to get at.

Surprisingly, the system clock rate is only 2.5 MHz (a rate of 4 or 6 MHz is possible with a Z80A or Z80B and corresponding support chips). At least one other potential hasn't been tapped: each of the PIO chips can support an additional 8-bit parallel port. This means that with existing hardware the Kaypro II could easily drive an IEEE-488 port to supplement the parallel and serial ports already available. The IEEE port could be implemented by software routines to do the timing for the various control lines. This would enable the Kaypro II to interface directly with intelligent test equipment.

Despite those two missed opportunities, the computer is dependable and well laid out and runs coolly even over long periods of use.

Human Interface

The detached keyboard has contoured keys and a standard IBM Selectric layout supplemented by these special keys: ESC, CTRL, Line Feed, Tab, Caps Lock, Backspace, DEL, and four cursor keys. The numeric keypad has its own period, comma, and Return keys. An LSI (large-scale integration) chip within the keyboard generates serial signals, which are communicated through a 6-foot coiled cord with modular telephone-handset-style RJ12 connectors on both ends.

The 9-inch green-phosphor display gives a sharp, stable image in an 80-character by 24-line format. In addition to the ordinary ASCII (American National Standard Code for Information Interchange) characters - upper- and lowercase, numerals, and punctuation - the Kaypro II displays the Greek alphabet. The only graphics available are simple character graphics.

Storage

The Kaypro II comes with two double-density single-sided disk drives, each of which provides 193K bytes of storage (see the text box on "The Kaypro 4 and the Kaypro 10" for other configurations). The floppy-disk drives can read and write disks in Xerox 820 format; therefore most CP/M software is available to the Kaypro owner. Software is now available from Kaypro to read other 5 1/4-inch disk formats (including those of the Osborne 1 and Radio Shack Model I).

Hardware Hardships

A machine of this weight needs a comfortable handle; however, the Kaypro's handle will cut two parallel grooves into your hand if you carry the system for more than a short time. A well-designed, padded handle would be a considerable improvement.
Perfect Writer's multibuffer memory architecture allows you to edit as many as seven documents at one time, transferring sentences or paragraphs between them.

The Kaypro II's lack of environmental seals is also a problem. There are no covers for the interface jacks, and the air circulation holes at the top can serve all too well as inlet ports for rain when the system is moved. The unsealed junction of the keyboard and case also invites contaminants into the keyboard circuitry and floppy disks. (The manufacturer offers a protective vinyl cover as an extra-cost option.)

Unfortunately, the Kaypro II provides no means to carry its software treasure. For convenience, some other portable computers have integral disk holders.

Software

Non-Linear Systems, aware that the typical user is not a computer professional or hobbyist, has wisely selected a package of user-friendly software. Purchased separately, Perfect Writer, Perfect Filer, Perfect Calc, Perfect Speller, Profitplan, MBASIC, S-BASIC, Word Plus, and CP/M 2.2 would cost much more than the Kaypro II package.

Perfect Writer

Perfect Writer uses a distinctive command structure for inserting, editing, deleting, and replacing text. The program is similar to the text editor MINCE, which in turn is based upon a mainframe editor called EMACS. As with these forebears, not all of your document needs to be in memory; the virtual memory technique uses a disk swap file to extend the size of a document up to or beyond 64K bytes' worth of characters. Another impressive feature is multibuffer memory architecture, which allows you to edit as many as seven documents at a time, transferring sentences or paragraphs between them. A split-screen feature allows any two documents to be viewed simultaneously.


The Kaypro 4 and the Kaypro 10

by Arthur A. Little

Time waits for no man and certainly for no microcomputer reviewer. Since this review was completed, Non-Linear Systems has revamped its produce line for 1983 with two new system configurations (the Kaypro 4 and Kaypro 10), new software offerings, and a different pricing structure. The now "venerable" Kaypro II is quite a bargain because NLS recently dropped its suggested retail price to $1595, a $200 reduction.

The Kaypro 4 is essentially an upgrade of the earlier model. Like its forebear, the Kaypro II, the Kaypro 4 is a portable, CP/M-based system with 64K bytes of RAM and two double-density floppy disk drives. The three major differences are that (1) it has double-sided disk drives (each offers 380K bytes of storage), (2) it is packaged in a dark gray case, and (3) it costs $1995. A minor, if inexplicable difference, is in the product name. NLS has shifted from using roman numerals (e.g., II) to arabic numerals (e.g., 4) - a change not without historic precedent.

The big news is the Kaypro 10, which incorporates an internal 10-megabyte hard disk as well as one double-sided, double-density, half-height floppy-disk drive (380K bytes of storage). The Kaypro 10 itself is an upgrade of the Kaypro 5, a 5-megabyte hard-disk portable shown in 1982 but never produced in quantity. The Kaypro 10, including software, will put you back only $2795.

First, let's look at the hard disk. The physical 10-megabyte disk is divided into two logical devices of 5 megabytes each, called drives A and B. The 5 1/4-inch floppy-disk drive is drive C. Drives A and B are each subdivided into 16 user areas (i.e., AO, Al,... A15 and BO, B1,...B15). As delivered from Kaypro, the unit has the following files recorded on the hard disk:
    User 0: Kaypro and CP/M utility programs
    User 1: Perfect Writer word-processing program
    User 2: Profitplan electronic spreadsheet
    User 3: Perfect Calc electronic spreadsheet
    User 4: Perfect Filer/Individual Member Data Base
    User 5: Perfect Filer/Organizational Member Data Base
    User 6: S-BASIC
    User 7: MBASIC and Games
You can add or delete files to suit your needs as long as you stay within the 5-megabyte limit per logical drive. Note that user areas do not have predefined storage limits - each user area takes from the 5-megabyte common pool.
One file, SAFETY.COM, is hard-disk-specific. Before ending a session with the Kaypro 10, run the SAFETY program. This utility moves the hard disk's read/write heads to an unused area of the hard disk prior to powerdown.

Therefore, even if the heads were to hit the surface of the hard disk, no damage would occur to an area on which data was stored. Running this program is a must for those who will be taking the Kaypro 10 out into the real world and a should for the rest of us. (It would have been nice if this procedure had been incorporated into an automatic shutdown process.)

Aside from the single drive, the exterior of the Kaypro 10 looks much like its predecessors, especially the Kaypro 4. Both systems share the same no-nonsense, gunmetal-gray cabinet and all-black keyboard. One welcome addition is an integral wire stand for the front of the unit that tilts the display up to a comfortable viewing angle. Also, the carrying handle has been redesigned to be more compact. Because of the hard disk, the designers included a fan for cooling the interior components. The whole system weighs 31 pounds, as compared with 26 pounds for the Kaypro 4.

The back panel shows evidence of some changes also: the power cord is removable, there are connectors for one parallel port and two serial ports (one printer and one modem), there is a jack for a light pen, the brightness control has been moved to the back, and the Reset button has been moved to a more accessible location. In addition to the 80- by 25-character display, the Kaypro 10 has these graphics capabilities: draw/erase a line, draw/erase a pixel, inverse video, half-intensity, blinking, graphics characters (2- by 4-pixel matrix), cursor positioning, and cursor on/off. The display is treated as a matrix 100 pixels high by 160 pixels wide. S-BASIC has special commands that draw geometric figures such as circles, rectangles, squares, and bars.

Non-Linear Systems includes a prodigious amount of applications software with each system. In addition to all of the programs supplied with the Kaypro II, the firm is offering Wordstar as an option to the Perfect Writer program. There is also a new utility that will read and write disks in the formats of several other popular computer systems - at the moment, it can transfer data to and from the Osborne 1, the Xerox 820/II, and the TRS-80 Model I. There is reason to believe that another 10 or more formats are on the horizon.


Arthur A. Little is a technical editor for BYTE.



The documentation for Perfect Writer is excellent. The manual leads you through the program's capabilities one step at a time, always building on previous knowledge. The editing routines are presented in tutorial form with illustrations of the commands (such as CTRL and ESC key sequences), and there are abundant examples of edited documents.

Although the documentation is helpful, the program itself is annoyingly unforgiving of mistakes. Perfect Writer may terminate suddenly if you type in a wrong control code, wiping out your newly created document, The "delete sentence" command will hang up the system if there are no more periods in the file, which could occur when you edit toward the end of your document, Perfect Software is aware of the problem, and later revisions should eliminate this problem - an example of practice making perfect, no doubt.

Perfect Filer

Perfect Filer enables you to create a database record as long as 1024 characters, enter data under cursor-key control, use up to five sort keys, and print out any subset of your stored records in form letters, mailing lists, or specialized forms. You can also change the format of a database without losing your data. Because Perfect Filer is fully menu-driven, you don't have to be a programmer to handle these rather sophisticated tasks.

As examples of how to construct your own file managers, two predefined database templates accompany Perfect Filer: an individual member mailing list (name/address/phone/busphone/organization) and an organizational mailing list (org/address/phone/contact/comment).

Another uncomplicated menu-driven subprogram enables you to define a subset for search (for example: all New York names entered after November 1982). Thc results of the search can be output to the display, printer, or disk file for use in Perfect Writer.


The Perfect Software programs share commands, facilitating crossover learning from one application to the next.

Perfect Calc

The electronic spreadsheet, Perfect Calc, displays an entry window of 8 columns by 24 rows on a 52- column by 255-row worksheet. Perfect Calc features cursor-key directed movement, instant recalculation of formulas, and a Help menu.

The master disk supplies 29 formatted spreadsheet templates with applications varying from checkbook balancing to income-tax calculation. The users guide suggests that they "may require modification to meet your particular needs." This is an understatement because many of the templates contain bugs. For example, the accounts-receivable worksheet formulas call for variables from accounts-payable entry sheets, and the Payroll analysis set depends on a spreadsheet, "payfacts.pc," which Perfect Software has not included.

Still, Perfect Calc itself is comfortably bug free. It has the same split-screen, virtual-memory, multibuffer editing features as Perfect Writer. The control commands are identical, except that there are extensions for the editing of columns. You can pass entries or blocks of entries between any number of spreadsheets, and a powerful "associate files" option links the formula calculation and calling into memory of separate sheets. Although the Kaypro II does not do graphics, Perfect Calc allows you to format a bar graph as varying strings of asterisks. The user manual is written in jargon-free English and is well illustrated.

The biggest disappointment is the lack of communication between the Calc and Filer programs. If you need totals in Perfect Filer, which does not perform arithmetic, you have to transfer the numbers individually to a Calc file using split-screen editing, then key the totals back by hand. The Perfect programs in the Kaypro II package were designed as an integrated package and share command ' structures, format, and an overall functionality. This means that there is considerable crossover learning from one program to the next a boon to users. Perfect Software is not perfect, but considering the price, portability, and commitment to improvement, it is very good indeed.

Profitplan

Kaypro also includes Profitplan from Chang Laboratories. This spreadsheet program is appropriate for simple applications: data and formula entry are fairly straightforward, but once you make a "what if" projection, you can't restore your original spreadsheet.

The Word Plus

Although Perfect Speller is still included in the Kaypro II software package, it has been largely superseded by The Word Plus from Oasis Systems. The Word Plus lists words it doesn't recognize and asks whether they need correction. It can display the words in context and will generate a list of likely corrections at your request. Next, it automatically makes the corrections in your text and writes an updated file to disk. The program will even "learn" new words and add them to its dictionary for future use.

Furthermore, The Word Plus displays total word count, frequency of occurrence, homonyms (such as colonel and kernel), anagrams (debug and budge), and lists of rhymes. It also assists in solving crossword puzzles and playing Scrabble. These word-puzzle routines are so intriguing and so much fun that The Word Plus may interfere with your time management; sooner or later you will lose a whole morning playing with them.

The 45,000 words of the main dictionary were selected on the basis of frequency of occurrence and frequency of misspelling and were checked for accuracy by proof-readers and by existing lexical programs. In addition, you can create specialized dictionaries (e.g., legal, medical or scientific terminology) and specify them at run time.


Because the S-BASlC manual lacks illustrations of actual code, it takes some trial and error to type certain S-BASIC statements in a way that pleases the compiler.

Down to BASICs

MBASIC from Microsoft is so widespread within the microcomputer world that we need only say that this interpreted BASIC works as expected and makes a huge software base available to the Kaypro owner.

The S-BASIC compiler is an interesting mixture of BASIC syntax and Pascal control structures. BASIC programmers may find little need to change their programming methods except that variables must be declared. (However, if they want to write more readable, debuggable, and maintainable code, the means are there.)

S-BASIC offers good internal documentation with its variety of commenting structures. Variables can be declared and documented on the same line, and COMMENT...END allows a whole block of comment lines to be entered. S-BASIC supports interactive programming with an assortment of INPUT statements, and a single instruction outputs an entire block of display lines. Its "advanced structured techniques" show a strong similarity to Pascal: WHILE... DO; REPEAT... UNTIL...; CASE...OF...END; as well as procedures and functions which allow parameter passing and recursion.

Boolean variables are fully implemented although there is not a separate boolean type. A statement such as FLAG = (X < Y) will work whether FLAG is declared as integer, real number, or string. In the latter case, a string that begins with "Y," "y," "T," or "t" is evaluated as true. You might use the variable in a routine similar to the following:

INPUT1 "DO YOU WANT DOUBLE WIDTH PRINTING"; FLAG
IF FLAG THEN DOUBLE.WIDTH


S-BASIC aims to be a tool for the experienced program- mer of structured languages, improving on Pascal by adding string variables and random-access file I/O and dispensing with its tedious punctuation (a = b replaces a: = b;). It does not have Pascal's power in describing data types, however. There are no pointer variables, sets, records, or scalar subrange variables.

Parameters in a procedure are used somewhat differently. First, all parameters are of the pass-by-value type. In other words, none of the arguments of a function or procedure can be altered by it. While this may not meet the approval of Pascal purists, I feel that the resulting independence of modules is an aid to program structure. S-BASIC handles the problem of a multivalue function by using global variables. Remember that microcomputer programming is not a likely environment for a major team software project. The clarity of a program that will take up only 60K bytes of memory is not going to suffer from a few extra global variables. Furthermore, arrays are not allowed as parameters. Also, a parameter declaration is not permitted to have the same name as a global variable or as a variable local to another procedure.

Software Problems

The current S-BASIC manual, although an improvement over the original, does not have sufficient illustrations of actual code, so it takes a certain amount of trial and error to type some of the statements in a way that pleases the compiler. The following statement, which is meant to call up the execution of a separately compiled program, is an example:

chain "b:program com"


This statement produces run-time errors until you discover that the file name must be typed in uppercase letters. The manual does not make this clear.

Another problem is a statement with more than 65 characters. The compiler uses a linefeed as the delimiter of a program statement, and neither the manual nor the Kaypro II users guide hints that specifying Perfect Writer's "normal" mode is the way to turn off word wrap.

Compiler error messages are noticeably weak. For example, "$$$$$$$ Cannot process this / Statement error" is the only message covering a large class of syntactical errors in REPEAT, WHILE, ELSE, and CASE statements. Incredibly, S-BASIC has no test for an end-of-file condition. Thus, a program will crash unless you take the trouble to define a counter field that you increment when you write a new record. 'Modulo' and 'odd' functions have been omitted for the sake of economy, leaving the programmer to grapple with integer-division expressions.

Aside from these rough edges, writing structured code was easy and natural. With improvements, S-BASIC could be highly suitable for introducing microcomputer users to the advantages of structured programming.

The Company

When you are buying a computer, your scrutiny should not end with the hardware, software, and documentation. The company matters, too. Non-Linear Systems has been around for a long time. In the 1950s the company president, Andrew Kay, invented the digital voltmeter, and Non-Linear has been a major supplier of portable test equipment for the last 30 years. His son, David Kay, is product manager for the Kaypro line. They seem genuinely committed to customer service and are well organized for it. As part of this customer support, Non-Linear Systems publishers Pro-Files, a Kaypro users magazine. Pro-Files is available free for one year to Kaypro owners.

Conclusion

If Kaypro II is the answer, then the question might be, "What is the best value in a practical portable computer?" Though it has some limitations, the Kaypro II is both good and affordable; For $1595 you get an extensive software package with high-quality documentation, standard hardware that works all the time, a fine keyboard, an 80-character display, standard interfaces, and good floppy-disk drives. That's what we call "best value."


Editor's Note: Shortly after this review was written, Non-Linear Systems announced that it has changed its corporate name to Kaypro Corporation. Non-Linear Systems will become a division of the parent company.

Roger Fager is associate professor in the Physiology Department at the University of Virginia School of Medicine in Charlottesville.
John Bohr has a degree in mathematics and is a part-time computer science student.