June 1985 The PIC 3.5" Disk with CP/M by larry gensch with Bill Gerber When the Model 100 was first introduced, it was considered a landmark machine. It had quite powerful communications ability, being able to communicate with most any desktop or larger machine with its RS-232 port. About the only hardware it lacked was reliable mass storage. Many companies have tried to fill this niche. Tandy offered a Disk/Video Interface, which turned the Model 100 into a desktop machine. Other companies offered expensive bubble memory, RAM upgrades, Wafer Tape units, and even portable disk drives. Still, the concept of mass storage on the Model 100 can make a user's mouth water. With 3.5" disk becoming more and more popular, there is little wonder that more and more manufacturers are providing this capability to Model 100 users. Most 3.5" disk drives being offered for the Model 100 also offer battery operation; this allows the use of diskettes while "on the road". The PIC 3.5" Disk Drive is one of the portable disk drives currently available for the Model 100. In addition to mass storage and portability, this unit offers an additional 32K bytes RAM, a rechargeable battery, hardware for attaching the drive to the computer, the CP/M operating system, and T/Maker software. The Unit The unit is self-contained and comes with a mounting plate and a plastic protective tray that fits underneath the Model 100. The mounting plate has a short ribbon cable that connects to the expansion port of the Model 100, and provides a sturdy mounting surface for the installation of the drive. The plastic tray is used to protect the cable and provides a base for the Model 100. Although the unit comes with an additional 32K RAM, loading the CP/M operating system requires that the Model 100 also have 32K RAM internal. If a Model 100 with less memory is used, it must first be upgraded in 8K increments either by Radio Shack, or through the purchase of 8K RAM Expansions that are available through mail order. Installation of the hardware is quite simple. The installation manual details in step-by-step fashion with clearly marked diagrams the actual procedure, which requires a flat-bladed screwdriver to open the expansion compartment on the bottom of your Model 100 (a coin would do for this), and a 1 phillips screwdriver for attaching the mounting plate to the Model 100's base. The unit comes supplied with two screws that replace the two screws on the bottom of the Model 100 on the side near the bar code reader port. Once the mounting plate is installed, the 40-pin connector on the ribbon cable attaches snugly to the Model 100's expansion connector. Since the expansion compartment's lid cannot be replaced once the ribbon cable is attached, a protective tray is provided that fits under the entire bottom of the Model 100 and the mounting tray and attaches easily with Velcro strips, which are provided with the unit. Boston Lap Computer User Group Newsletter Page 1 June 1985 At this point, you have a Model 100 that is about 1 inch wider and 1 inch taller. The Model 100 may be used at this time with or without the disk drive. Attaching the disk drive is a simple task of just fastening the disk drive over the mounting plate which protrudes on the side of the Model 100 next to the bar code port. In fact, the disk drive seems to prevent access to the left side of the machine, making it virtually impossible to use either the BAR CODE port, or the modem switches on that side of the Model 100. The connection seems rather secure, but weighted heavy on the side where the drive is located. Additionally, the protective tray, when installed, prevents access to the sockets underneath the Model 100's base unit. Thus, the plastic "feet" that are being made/sold for the Model 100 can not be used with this disk drive installed. The disk drive, when attached, adds another four to six inches to the width of the Model 100, giving the composite unit a larger "footprint". Although it fits on a lap, I would not recommend this setup on a crowded 727. The disk drive seems to be about a half-inch taller than the Model 100 and the protective tray, which may get in the way of typing. The disk drive has no provisions for being connected without being physically attached to the Model 100. An independent unit connected by a cable (like that of the Chipmunk) would probably be easier to use. The disk drive can be powered by either an internal NiCad battery, or by an AC Adapter that is similar to the one used by the Model 100. When the drive is using AC power, it is charging the internal battery. Complete directions are provided for charging and maintaining the internal rechargeable NiCad battery. Although the documentation does not state this, the batteries must be fully charged, or the unit running on the AC Adaptor, when trying to load CP/M. If the unit does not have enough power, a COLD START could occur, causing the loss of all data in the Model 100. Operating System Unlike other manufacturers that provide their own proprietary operating systems with their portable (and non-portable) drives for the Model 100, the PIC disk uses the CP/M Operating system version 2.2, a standard operating system for 8-bit computers. When the Model 100 is first powered up after the installation of the disk drive, the familiar MENU will display. Accessing the disk drive can be accomplished by a 1-line program that is detailed in the manual (this can also be entered as a command in BASIC). When you run this program (providing there is enough power to the disk), the Model 100 is turned into a 64K CP/M System, and the system loader will request that you confirm that you want to enter the CP/M environment. If the "N" key is pressed, the loader will return to the Model 100 environment; when the "Y" key is pressed, the unit transforms the address space to 64K RAM, and loads the CP/M operating system from the disk drive. An "auto-start" file is executed that executes two utilities provided by PIC: Page 2 Boston Lap Computer User Group Newsletter June 1985 TRSAVE A transient program that saves the previous contents of the Model 100 onto a disk file called TRS100.MEM. This file takes up 32K free space on the diskette, no matter how many or how few files you have on your Model 100 when you run CP/M. This program must be the first program run after the CP/M system is loaded, or the contents of the Model 100 memory will be lost irretrievably. SETKEY A transient program that redefines the Model 100's function keys to allow the execution of programs at the touch of a key. For instance, the "F8" function key is set to run the MENU program to return you to normal Model 100 mode (see below). On the evaluation unit I received, this auto-start did not work because two CP/M commands "SUBMIT" and "XSUB" were not on any of the distribution diskettes, nor on the backups I received. However, after listing the contents of the auto-start file, I was able to perform this function manually by executing the "TRSAVE" immediately after the "SUBMIT" command failed. Once this auto-start is completed, you will get CP/M's (in)famous "A>" prompt. At this point, you can execute any of CP/M commands, or run any program on the current disk. If you wish to switch diskettes, CP/M requires that you inform it afterwards by pressing CTRL-C, which performs a "WARM BOOT" and redisplays the "A>" prompt. PIC supplies a few other utilities that can be run under CP/M: MENU A program that allows you to re-enter the Model 100 "MENU" environment (without disks). This utility will search for the TRS100.MEM file on the current diskette. If it is there, it will restore the memory prior to re-entering the Model 100 menu. Thus, you will not have lost any data by entering the CP/M operating system. XFER This utility is used for converting a Model 100 ".DO" file into a CP/M data file. Thus a document that was created by the Model 100 TEXT program can be used as input by a CP/M program. Unfortunately, PIC does not offer any utilities for passing data BACK to the Model 100 environment. MODEM This program was not on the diskettes that I reviewed. The documentation states that this is a version of the famous CP/M terminal program configured for the Model 100 CP/M environment. This program can use either the Model 100's built-in modem, or the RS-232 port for the transfer of data. This program supports bother Ascii "capture" transfers (similar to the UP and DOWN functions in the Model 100 TELCOM), as well as the standard XMODEM protocol. FORMAT This program prepares a new diskette for system use. This allows diskettes to be initialized so that CP/M can use them. COPY This program is used to transfer files from one diskette to another. Since the unit I evaluated was a single drive system (the documentation implies dual drive systems are available), this is the only method for performing this kind of transfer. Boston Lap Computer User Group Newsletter Page 3 June 1985 DISKCOPY This program is used to make a complete system backup from one diskette to another. Since the unit I evaluated was a single drive system, this operation requires some disk swapping, which might discourage some users from making regular backups. D Not documented in the manual, this program was on the main CP/M disk. This program provides a sorted directory that also lists file sizes. RCV Another program not documented in the manual, this seems to be some sort of file transfer program, but I could not figure how to make it work. TMAKER This is an integrated package that combines word processing, data management, and graphics in a surprisingly simple environment. A more detailed description is given later. Implementation A lot of programs written for the CP/M environment assume a standard terminal is attached to the machine. The Model 100, with its 40 character by 8 Line LCD screen, is non-standard in this respect. To deal with this, PIC has written a driver for the Model 100 that makes it simulate a larger screen. Using this driver, the unit responds to commands as if it were a normal terminal with 24 Lines of 80 Characters. The LCD display is used as a "window" to this larger screen, and can be manipulated with the arrow keys. Thus, the Model 100 can effectively use software that was written for a standard CRT terminal. A disadvantage to this is that the LCD tries to follow the cursor as text is being output, making the text seem to jump around until the display routine finishes. Since the LCD is a slow device compared to a CRT, this causes needless delay and the appearance of "jumping" as the text reaches the end of one line and positions to the start of the next. When using a word processing program that is constantly redrawing the screen, this can start to get very irritating. PIC seems to be aware of the problem and may be working to correct this. This is particularly importantly, considering that it limits the usefulness of the full-screen T/Maker program that is provided with the unit. On looking at the BIOS (Basic driver for CP/M written by PIC), I see that there is no direct support for any devices other than the keyboard, the LCD display, and the parallel printer port. Thus, if one wanted to use a serial printer, or one of the Model 100's other I/O devices such as the Bar Code port, routines will have to be written from scratch (unlike the Model 100 in its native mode, there are no "ROM routines" to make interfacing to such devices easier). Not documented in the PIC manual, but standard on most implementations of CP/M, the CTRL-P key can be used to signal to the BIOS to "Echo" the text going to the display to the printer, in a manner similar to the "Echo" function in the TELCOM program in the Model 100's native mode. This can be used with the "DIR" command to produce a printed directory. Pressing CTRL-P a second time will stop the "Echo" function. Page 4 Boston Lap Computer User Group Newsletter June 1985 The character set used on the LCD, while the same size as that on the Model 100, has been redesigned slightly so that there are now no true lower case "descenders". This makes reading the display a bit more difficult. PIC should have used the same character set as the Model 100 in its native mode. Missing in the CP/M environment is a BASIC interpreter, which is a standard in the microcomputer world. This means that BASIC programs in the Model 100's native environment can not be used in the CP/M environment as distributed by PIC. The BASIC interpreter in the Model 100's ROM allows access to all the Model 100's unique features. Although MicroSoft BASIC is available for CP/M machines, it is not provided as a standard option with this unit, decreasing its usefulness for people who desire special applications. CP/M DOES come with an assembler, and a few assembly language programming utilities including a debugger. However, no documentation was supplied with the evaluation unit on how to perform CP/M BDOS and BIOS calls, so if you were interested in this capability, you will need to purchase one of the many books on CP/M Assembly language programming. Documentation Supplied with the unit is a small manual that aptly describes the system loading procedure, battery management, and the utilities supplied on the distribution diskettes. There seems to have been a few changes in the functionality of some commands, and the documentation needs to be updated at a few points. The documentation is lacking on the actual usage of the machine. For example, no documentation is provided to explain how to write programs in the CP/M environment. A keyboard map and a list of display control codes and/or escape sequences would be very helpful, and should be included in an appendix. Additionally, the documentation seems to assume that the user is already familiar with CP/M, which is probably not true of the average Model 100 user. The user is referred to standard CP/M reference books. The only CP/M reference contained with the unit is a quick reference booklet, which is virtually useless for those not already familiar with CP/M. I feel that more information should have been given to the user with the unit, instead of just listing the commands and their functions. T/Maker PIC has answered the problem of leaving the Model 100 and its built-in TEXT editor, BASIC interpreter, and TELCOM program by optionally providing an integrated software package called "T/Maker". This program is available for most CP/M and MS-DOS desktop machines, so there may even be an added benefit of being able to use the exact same software "on the road" as one does at the office. T/Maker provides in its own environment an integral Word Processor, an 80,000 word spelling dictionary, spreadsheet capability, data base operations, and graphics capabilities. Drivers are provided for Epson, Okidata, Tandy, and other popular printers (including the HP Laserjet), and others can probably be added with a little effort. Boston Lap Computer User Group Newsletter Page 5 June 1985 The T/Maker program uses a consistent set of commands to perform its functions, allowing switching between applications very simple. The editor is the "heart" of the T/Maker environment, allowing you to create documents, mailing lists, spread-sheet templates, and even a data base. The T/Maker works on all files in memory, so you are limited in the size of the files that can be used. A comprehensive manual is provided that provides a tutorial that is designed to get you started with T/Maker's basic functions immediately. The tutorial covers the basics of editing, printing, creating a simple data base, and using the spread sheet capabilities. Sample files are provided on the distribution diskette that are referred to in the tutorial. Unfortunately, the manual's page numbering makes it confusing to get to a specific section in the manual quickly. Instead of being numbered consecutively, or by Chapter/Page, the manual is numbered with a 2-letter prefix followed by a page number. There is no way to quickly locate a desired section unless you are familiar with the organization of the book. Once you find the section you seek, the manual gives detailed explanations of each command, and includes plenty of examples in a reasonable context. The tone of the reference section is conversational and is pretty easy to read. There are also sections on development T/Maker applications, and customizing T/Maker for specific applications. The manual also contains an index. Conclusion The PIC 3.5" disk, which costs $799 with T/Maker, and $599 without, provides a pretty good implementation of CP/M on the Model 100. This system offers 384K on a single sided 3.5" diskette, which is more than most 5.25" disk drives. Aside from being able to pass data from the Model 100's Ascii (.DO) files to the CP/M operating system, there is little integration with the normal Model 100 environment on the unit that I reviewed. I understand that a FILER program will be able to interchangeably load, from cassette or other sources, both programs that run on CP/M and those that run on the Model 100's native mode. This would provide a more versatile operating environment. When CP/M is used, you not only lose the Model 100's TEXT and TELCOM programs, which can be functionally replaced by T/Maker and Modem, respectively, but you also lose its programability. As mentioned, a BASIC interpreter is not included with the machine. If you are looking to purchase CP/M software for this machine, you may find yourself reliant on PIC to be your distributor. I have not checked to see if the 3.5" disk format is compatible with any of the other 3.5" CP/M systems (the Epson Geneva and NEC Starlet come to mind), but I do not know if many CP/M software vendors will be supplying their wares on 3.5" diskettes. By including the MODEM program with this unit, however, PIC has unlocked the key to a much larger library of software for CP/M; that of public domain software. There are many programs available for CP/M machines for free through bulletin boards and information services such as CompuServe and the Source. Page 6 Boston Lap Computer User Group Newsletter June 1985 With a 24K Model 100 currently costing $500, an 8K upgrade self-installed for $50, and $600 for the basic 3.5" disk drive without T/Maker, you will have spent about $1,150 for a single drive CP/M lap top. This is not too expensive, and the purchase can be extended over a period of time. However, with prices dropping on desktop, transportable, and lap top CP/M machines, it may not be extremely cost effective as a one-time purchase. People with CP/M software on their desktop machines will appreciate the transportability of their applications (eg, bringing their work home with them). For those people who desired more continuous memory than a 32K Model 100 could provide, this CP/M system offers a 53K TPA (Transient Program Area - the amount of space a program can load into). With the T/Maker software, this unit exceeds most of the functionality of the Model 100 in its normal mode, with the exception of its programability in BASIC. Boston Lap Computer User Group Member, Boston Computer Society One Center Plaza Boston, MA 02108 Boston Lap Computer User Group Newsletter Page 7