Cromemco C-10SP. (evaluation) David Hilton.
The C-10SP is the latest entry from Cromemco, one of the oldest and most respected manufacturers of small business-oriented computers. This addition to the low end of Cromemco's line represents a good value at $1785 for a bundled package of hardware and software. It also has some excellent features, and a few not-so-excellent ones. Let's have a look and see whether it might be the computer for you.
The CRT is a 12 unit coated with P-31 phosphor. The image delay provided by the P-31 is one of the best features of the C-10. The character display is 25 lines of 80 characters each.
There are four character sets in ROM, but the documentation lacks any instructions on how to get to them. The pixel graphics mode provides a display of 160 X 72, and full graphics mode offers 720 X 384.
The character display is very clear in the center of the screen, bleeding to a slight fuzziness around the edges. The edges of the screen display also contract about 1/8 each time the disk drive is accessed.
The heart of the computer is a Z80 microprocessor with a 4 MHz clock. The standard configuration includes 64K of RAM and 24K of ROM. Resident in ROM are a disk boot routine, self-test routines, and the CROS, a firmware resident monitor.
The main system unit sports a disk interface port, an RS-232 port with a DB25 connector, a computer port with a DB9 connector, and the keyboard port, which uses a telephone type plug. The unit is not portable in that it does not have handles, but it is certainly light enough to be transported from place to place when necessary.
The keyboard that is supplied with the C-10 is also lightweight and compact. The two rubber-tipped bolts which are provided as height adjusters are inadequate, however. As the keyboard is used, the bolts revolve and the unit creeps away from the user. And since they do not revolve in unison, they soon get to be different lengths, which causes the keyboard to rock.
I solved the problem by threading a nut onto each bolt and using it as a locknut to hold the bolts in place. I also glued a piece of rubber to the bottom of the keyboard case to help hold it in place on the desktop.
The key configuration is the normal QWERTY with some added features. There are four cursor control keys in the lower righthand corner. The TAB key is immediately above them. DELETE is in an unusual, but not awkward, position to the right of the spacebar. ESC is next to the Q. Below it is CONTROL (in red), and below that in the normal position is the SHIFT key. ALPHA LOCK is below SHIFT.
The equivalent of function keys is achieved by striking combinations of the number keys, CONTROL, and SHIFT.
Other customizable features include toggling of the audible click and changing the rate of auto-repetition. The M, J, K, L, U, I, O, 7, 8, and 9 keys can be made to function as a numeric keypad simply by pressing CONTROL-SHIFT-N, and the SHIFT key produces lowercase letters when the ALPHA LOCK is engaged. There is an undocumented status line which appears at the bottom of the screen when CONTROL-SHIFT-S is pressed.
The disk drives are double sided, double density 5 1/4 drives with a storage capacity of 386K each. They are reasonably quiet and generate very little heat. The system can accommodate a maximum of two drives, and the operating system automatically senses the number of drives attached. All of the software packages tested worked equally well with either one or two drives.
The CLQ is the letter quality printer Cromemco sells to complement the C-10. It is nothing fancy, just a solid, reliable printer, which represents a good value for the $795 retail price.
The optional second disk drive sells for $595, an average price for additional drives.
All information about the C-10, CROS (Cromemco Resident Operating System), and CDOS (Cromemco Disk Operating System) is provided in the 170-page user manual. The sections on setup are excellent, and there are very nice examples to follow for using the utilities and a glossary and index for quick reference.
The manual provides 35 pages of setup information along with some good advice on the proper care and feeding of a computer system. This information, along with a set of unique cable connectors, removes the guesswork from the setup procedure.
Some topics, however, are simply ignored by the manual. For example, when you do a DIR on the distribution disk, you see EWS as system attributes. In the attribute command section of the manual, E, W, and R are described; S is not. All of the hardware and software manuals associated with the system suffer from the fact that the development of the system and applications software has outstripped the documentation. Hence, there are many undocumented features.
The user manual is devoid of technical information. Cromemco apparently assumes that the average C-10 user will neither need nor understand the details of the inner workings of the machine. A technical manual is available to dealers and owners who specifically request it.
Software for the C-10 is of four types: ROM code, operating system, operating system facilities, and application packages. As mentioned above, CROS is contained in 24K of ROM. It provides for examining and changing the contents of memory, reading and writing to the I/O ports, reading and writing to physical locations on the disk, booting CDOS, executing programs at the machine code level, and running system test routines. CROS also provides the user with the ability to configure the I/O port connection so the C-10 can be used as a terminal. CROS does not have a debugging facility or any assembly language features.
Also contained in ROM is the system initialization sequence, which is run when the computer is turned on. Part of this sequence sets the contents of RAM to EF hexadecimal, which is a processor "Restart 5' opcode which causes the Z80 to branch unconditionally to memory location 28 hex. This RST 5 is the mechanism for activating a feature of the C-10 which the user sees all too often while running PlanMaster and WriteMaster: the System Trap.
Like a wumpus in its cave, this coldhearted critter lurks within the functions of the Master series. The Trap is activated when the processor tries to execute an instruction outside of the body of the currently running program. This is fine. It protects the user from some strange results when things run amok. The damning question is: why do the Master programs jump outside of themselves so often?
The machine code seems to have some basic fault that causes it to try to execute outside itself. Like the safety on a firearm, this sort of safeguard is nice to have, but you should not have to rely on it. The operation of the Cromemco C-10 depends on the System Trap.
CDOS is a CP/M look-alike written by Cromemco specifically for their Z80-based machines. Like CP/M, it includes resident commands: DIR, REN, TYPE, ATTR, , PRINT, and L. DIR and L both provide a list of the files on the current disk. File size and remaining free storage is displayed at the end of the file list.
REN and TYPE are the same as their namesakes in CP/M. ATTR is unique to CDOS; it allows the setting and resetting of file attributes; E for erase protectr, W for write protect, R for read protect. The aforementioned undocumented S is said to be programmer specifiable.
The command runs the utility called Menu, about which more later. The CONTROL-P printer toggle function of CP/M is duplicated in CDOS in addition to the PRINT command which is identical to TYPE, except that text appears on the printer rather than the screen. These resident commands and any runable program may be specified to CDOS in upper- or lowercase.
CDOS has the built-in capability to execute a program at boot time. The mechanism is a special case of the BATCH command: any time CDOS is run, it looks for a file named STARTUP.CMD. If one exists, CDOS processes it.
There is partial compatibility between CDOS and CP/M. The manuals do not list the conditions which determine it, so compatibility must be determined empirically.
Menu is the utility that forms the heart and soul of the C-10 for the beginning user. CDOS automatically runs Menu when the computer is turned on (after looking for STARTUP.CMD), thus insulating the unsophisticated user from the operating system. Two screens offer the user 18 choices of programs to run. A program not on the menu may be run by typing in its name instead of a menu selection number.
If a program is entered from the menu, CDOS returns to Menu when the program exits the system. Sometimes the Master programs like to return to menu when they are not supposed to--that is, when they don't feel like taking the user through a System Trap. I found it necessary to erase the Menu program from the disk to shorten boot time and eliminate the penalty for reloading Menu after each command.
CopyDisk formats and moves the system tracks to a new disk, copying the contents of the data tracks as an exact image of the source disk. It cannot copy without first going through the formatting and sysgen stages, however. This means that every disk in use has the system tracks active and that disks are reformatted often.
There is no real problem with this procedure except that it means that the total time required to run CopyDisk is well over seven minutes. In a single drive system, it takes even longer, because the user must physically change disks for each of the nine passes that it takes to copy the whole disk. The whole process is entirely too time-consuming to be practical.
Fortunately, there is another utility provided for file copying. CopyFile performs the same disk-to-disk file transfer functions as the PIP program in CP/M. Wildcards are allowed, and files can be copied in both single and dual drive systems. CopyFile is a nicely written program that can be invoked with a parameter string. It does, however, offer the necessary prompting if it is invoked without parameters. It is one of the nicest programs in the system.
CheckDist performs two functions. First, it can be used to check for overlapping files. The documentation states that if overlapping files are found, CheckDisk will inform the user of the appropriate corrective action. I was unable to verify this statement, because I never presented the system with an overlapping file.
The second function of CheckDisk is to read the complete disk while checking "disk integrity.' I assume that this means it is checking for bad formatting, bad address mark CRC errors, and bad data mark CRC errors. I was unable to verify this as well. The only error message I ever got from CheckDisk was: Home error: Driveb:, Cylinder, Surface 00, Sector 0a, Status-34. I subsequently erased CheckDisk from all but the distribution disk.
Batch allows you to string together as many lines of CDOS level commands as you want. These commands are then processed without any further interaction with the user. The user can create files with the extension .CMD as lists of these CDOS primitives for future or repeated processing. Batch is not included in all releases of CDOS.
Printer is an interactive program which sets up the assignments for the logical printer. It has pre-defined selections for a variety of printers, both parallel and serial. This is somewhat confusing as the C-10 has only a serial printer port.
Beginners won't get into Structured Basic very often, but for anyone who has ever wanted something extra in his Basic, it is here: Tracing, built-in editing, Boolean operators, long and short floating point, while-end-while, extensive output formatting, extensive I/O driver control, partitions, procedures, error handling, external library functions, the list goes on and on--long enough to satisfy the desires of any Basic programmer. The 311-page Structured Basic manual contains everything a user needs to know about the language as well as the only clues about the insides of the C-10 that you can find in the standard documentation.
The normal video display of the C-10 consists of light characters on a dark background. Both the intensity of the character display and the intensity of the background can be varied over a scale of 16 settings.
Some of these settings are not very useful. Having both foreground and background at the same setting makes the characters hard to distinguish. On the other hand, the display can be tuned to whatever brightness and contrast suit the eyes of the user and the ambient lighting. Bright is the utility that makes this possible.
The user who wishes to enter text into the C-10, either as a document or as a source code file for a language, has a choice of two text input systems, WriteMaster and Screen. Screen is a quick, clean, and delightful two-dimensional screen editor. It is several notches above the typical line-oriented editors often distributed by manufacturers but not quite equal in complexity or functionability to a full blown word processor.
Screen is the best all round "standard equipment' editor I have seen. It maintains a banner across the top line of the display which shows all the available options. As an option is chosen, the banner changes to prompt the user for the correct input for that option.
Screen is also clever enough to protect the unwary user who creates a file that is too large for the available disk space. Left and right margins as well as paragraph indentations are selectable, and the BEAUTIFY command reformats the text. Screen is another of the good things in the C-10SP package.
Now we come to the biggies, the Master series: MoneyMaster, PlanMaster, and WriteMaster. MoneyMaster is a Basic program. It is also the one true application program in the C-10 system. It performs six financial analysis functions:
Each analysis is branched to from an opening menu. All necessary input for each routine is prompted for and error checked. Allowances have been made for inconsistent input structures; where a dollar amount is expected, for example, the program doesn't care if a dollar sign is typed or not. It is, however, possible to overflow the capacity of the program for handling out of range numbers. If this happens, the program bounces the user back to CDOS.
MoneyMaster is useful for getting a sense of the growth or diminution of an asset over time.
PlanMaster is Cromemco's electronic spreadsheet for the C-10. The user of PlanMaster works within a fixed structure which is made up of ten plansheets each of which is limited to 31 rows and 13 columns. The user may choose as many of the ten plansheets as he wishes for each plan. He may also choose the number of rows and columns that best fit his data.
The rows and columns always appear on the display, but when the matrix is printed out, only the labeled ones are printed. Columns can range in size from four to 16 characters wide, and each column can be declared to contain hexadecimal, normal, or scientific numbers. In normal and scientific modes, the user can select the number of decimal places from the range zero to six.
Each of the ten sheets in each plan can have one and only one define screen. The user must design the plan so that he will never need more than 24 lines of calculations for each 13 X 31 sheet. Fortunately, cell values can be passed between sheets in a single plan. If the definitions calculate a number too large for the size field selected, PlanMaster places #### in that filed on the sheet and offers the user a chance to widen the field.
The program is easy to use for those whose requirements fit within the limitations it sets forth. PlanMaster is, however, a flaky program. It hangs, for example, if too many column widths are changed without saving the format, and it sends the user to the System Trap under circumstances that cannot be consistently reproduced. Occasionally, it copies either too much or too little information back and forth between sheets in a single plan. Sometimes it fails to read back in the data and format files that it has just written out.
I suggest that those who choose to use it follow the instructions contained in the Help functions, as they are more correct and current than those in the manual.
PlanMaster is suitable as a tool for learning about spreadsheets. Its simple form allows for a steep learning curve for the first time user. I suspect, however, that anyone who is serious about using an electronic spreadsheet will want to look elsewhere.
By far the most worthwhile program in the C-10SP package is WriteMaster.
WriteMaster abounds with helpful little features which by making the program more forgiving of the user's mistakes, makes him more forgiving of its mistakes. For example, if the user runs out of disk space, WriteMaster displays the disk directory and leads him through a deleting session that allows him to clear sufficient space to save his text.
In edit mode, single keystrokes produce boldface, underlining, and centering.
Among the most useful functions included in the program are the FIND and REPLACE commands. Using FIND or REPLACE causes the 24 "function keys' to be redefined temporarily for special use within those commands. Wildcards are allowed; (ANY CHAR f1); ANY SEQUENCE, for example, finds a string when given only its beginning and ending characters. SET SEARCH sets sensitivity to upper- and lowercase and sets up conditional groupings of characters to be look for. NOT causes the conditions that have been set for the search to reject a string from a search rather than include it. With combinations of these functions, the user can perform such tasks as looking for all three-character words that begin with t but do not have e, a, or t as their third letter.
WriteMaster includes several features which are provided as extra cost options on other word processors. Merge, for example, allows the user to pick names from one file and insert them in a form letter contained in another file. WriteMaster is used to set up both the boilerplate and the data file. The merged stream may be displayed on the console, sent to the printer, or saved back on disk.
Another useful command for those who write books and long papers is the INDEX command and its companion MARK-FOR-INDEX. Used together, these two commands and build an alphabetized index with page number references. This index is appended to the user's file and can be edited just as normal text would be edited.
WriteMaster also has the best documentation in the package.
The C-10 is a mixed bag. I gathered the information for this review over three months, during which time I was given four releases of the operating system and two different C-10 computers. Why so many changes? Because I was getting all sorts of strange results from the system. Many times while using WriteMaster and PlanMaster, the system would hang, hit the System Trap, garble and display, destroy my file, or retrench to some lower level of code on the operating system.
I did observe steady improvement through the later releases of the software, but I cannot ignore this general instability in the system. I do not nor do the people with whom I have spoken at Cromemco know just how many of the problems I experienced are bugs in the software and how many are attributable to hardware failures. Certainly, the latter part of the review process, after the original system had been replaced, went much more smoothly than the first part.
As far as I am concerned, WriteMaster is almost reason enough to buy the machine. Structured Basic and the Screen utility offer the user who wants to write his own software enormous power. For these people, an assembler and additional languages are available as extra cost options.
It is a shame that PlanMaster falls so far short of the quality of the rest of the system. It is definitely the poorest program in the package.
The C-10 is also in desperate need of communications software, not only of the modem hookup variety but of the system-to-system-through-serial-interface-variety. I sat here for over two months with four other computers within arm's reach and several hundred floppy disks and tapes full of software but no way to get any of it into the C-10.
When I was a little tyke, one of my favorite stories was "The Little Engine That Could.' I thought of it as I watched one of the high-resolution graphics demos on the C-10: a train was chugging its way across the screen with smoke pouring from its stack and the whistle blowing. It occurred to me that the C-10 is like that little train . . . if it could just throw off some of the dead weight and get up a little more steam, it could make it to the top.
Products: Cromemco C-10SP (computer)