VOLUME 2 EDITION 4 AUGUST/SEPTEMBER 1985

C*PRO

NATIONAL USERS GROUP

FOR

COMPUPRO COMPUTER OWNERS

Not affiliated in any way with CompuPro or with Godbout Electronics.
Merely a collection of users.

CompuPro is a Registered trademark of Godbout Electronics.

POST OFFICE BOX 2146 WOODBRIDGE VA 22193


The Newsletter Connection

System 816-B, Software:

      Some Reflections

by A. J. Dubrexxx
A-J - Enterprises
xxxxx, CT
July, 1985
                                                                                                    ajDubre@Yahoo.com

     I had operated, an Osborne-1 (dual. disk, 64k, CP/M-2.2 transportable) for 18 months
before ordering an 816-B from, CCT, Sedona, AZ.

     The system: 4-RAM16(256k),  Drive/H(512k), SS-1, Disk-1, I-3, I-4,  2.4 Meg Mitsubishi Dual 8" Drives, Freedom-100 Terminal, CP/M-2.2N, CP/M-86-1.1PB, MP/M 8-16 2.1-F, with MP/M 8-16 Ldr 2.0-D.

     It is cabled to support 10 terminals, 2 serial printers and, a Centronics parallel printer.  The parallel port is not presently connected.

     My purpose was to provide a demonstration unit it suitable for use in small offices.  Thus, I selected the MP/M 8-16 operating system for development purposes. (I bought the C-Pro w/ M-Drive/H due largely to Jerry P's- endorsement ).

     I recently added a RAM-22 and a second M-Drive/H from Priority One. (They had advertised RAM-21's at a low-ball price, but they were out-of-stock when I called). The MDrive/H arrived DOA (Dying-On-Arrival); it was returned within one week with appropriate RMA.

     Fortunately,- the- RAM-22 functions- properly, bringing the system up to 1/2 Meg, and I am hobbling along with only 1/2 Meg RAM-Disk.

     Finally, after 1/3rd of a year, a functioning M-Drive/H board arrived. It seems to be OK now.  It is nice to have a full Meg of RAM disk. I use over 400k for the small form of DR C Compiler with WordStar and basic utilities.

     Implementing AUTO.SUB, MOTD, PASSWD, etc., reminded me of training my dog a decade ago -just reversed!  Each process had to. be repeated over and over until each, detail was perfect.  On occasion the MP/M technical manual had to be taken with a grain of salt.

     The worst area was assigning printer number in the PASSWD file. The manual went to great length to tell us to use upper case 'PRINTER' only, while the file will only recognize the numeric assignment alone!

     AUTO.SUB now loads M-Drive with MP/M Utilities, WordStar and SuperCalc2.  The PASSWD file signs me onto M-Drive and the MOTD leaves an interesting display as well as directions to load a. help display.

     The help display, which was written in CBASIC-86, describes how to load program's for extended word processing, SDI, DBASE II,' and CBASIC.  I use it to remind me, where the operating programs are stored.

   The disk in drive A holds the required program files. The drive-B disk holds the data files. (Shades of the Osborne-1, without having to change each disk pair for each application program).

     User areas are employed to separate and group programs. For example, WordStar and MailMerge are stored in User 11, while SpellStar and StarIndex are stored in. user 12.

     MP/M offers the Big advantage of displaying the' user area as well as the active drive.  I find this Indispensable as a secondary level teacher who does a 'little' word processing,spread sheet and data base work, and programming.

     First, I will not comment on SuperCalc-86 or DBASE-II-80 since they are included and plenty has been said already. Comments will be directed to programs we must purchaseto fully utilize our powerful microframes.

     CBASIC-86 Compiler v2.0 (Digital Research) was purchased (at extra cost) with the system. It is a three pass compiler with a link editor and library module. I had much exposure to the 8-bit version on the Osborne-1 and preferred it to Microsoft MBASIC-80 v5.3. The latter is excellent for learning to program; however, only the former is adapted to lengthy programs and extensive disk interaction. The few built-in functions missing in CBASIC were more than offset by multi-line defined functions. Thus, you could define procedures for the few missing functions, as well as defining those peculiar to your application. Also, an often used subroutine could be written as an easily identified defined function, rather than an obtuse GOSUB to a numerical address.

     The compiler version even 'allows' GOSUB branches to alphanumeric address labels. The advantage of this and multi-line defined functions becomes obvious when you can use these procedures in more than one program. You no longer have to renumber a useful subroutine to 'fit' each application program you write. The compiler %INCLUDE option allows pulling in several debugged procedures without retyping on each use. The library utility allows building libraries of special interest functions, beyond those supplied by the DR CB86.L86 file.

     The Final Word v1.15 (The Mark of the Unicorn) was the first word processor added to the 816-B.  It was touted as being mnemonic and logical. However, accessing screen functions required memorizing the 'correct' path from the main menu. The menus are three deep and their logic may not agree with 'our' logic. Furthermore, the logical commands required two-hand typing skills which must be at the well developed stage. (No more late-night one-hand editing sessions). The manual promised many formatting rewards and I tried it for a while. It was finally 'junked' when the print formatting became a horrendous chore w/o half the built-in benefits of WordStar on the Osborne-l (I am committed to the 'what-you-see' is 'what-you-get' format of WordStar).

     WordStar v3.30 Pro-Pack included StarIndex v1.01 which only functions under CP/M 86. This required disk swapping between CP/M-86 and MP/M 8-16 when completing this phase of word processing. WordStar can be configured to come up in Non-document mode.  This mode suppresses the embedded formatting codes. It is an excellent program for writing executable/program code. I find the WordStar editing commands easy to learn as they are needed. The code sequences are easily entered, an especially valued feature to a non-typist.  I always type in the 'insert' mode, as each proof reading is a revision.

     SuperCalc2 v1.O offers an Arrange function useful in grade reporting. A Date function and a Look Up Table add to its power. A combination of LD-GRD.SUB and LDGRD.XQT minimizes the effort required to update student grades. The SUB file moves the class registers from B-drive storage to M-drive, calls up SuperCalc2, and returns the class registers to storage on B-drive at the sessions end. The .XQT file calls up each class, allows data update, offers option for print out and saves each file. (The '&'- return to execute file character - allows for the interactive execute file from SuperCalc2).

     DR's 'C' compiler v1.11 (CP/M-86) is a three pass compiler with a link editor and library module. I used programs from August'83 BYTE to check this release. It tested favorably (my system runs at 8 MHz). The executable programs for small tasks were large when compared to similar programs written in CBASIC compiler. I have only used the small model briefly to date.

AUTO.SUB

     The AUTO.SUB file is read immediately following the 'completion' of MFORM.CMD. On the occasion of a reset, a CPTL-C will abort this command when not desired. My file changes designated drive to M and passes control to a SUB file MK-M-UTL (make M-drive w/ utilities). This is the file:

A > pip Ist:=a:AUT0.SUB [R]
M:                                 ; change to M-drive
$ INCLUDE A:MK-M-UTL ; includesubmit file
     The MK-M-UTL is a submit file to configure the RAM-disk with buffered utilities. Different application programs would require slightly different configurations. The DR ‘C' compilerrequires over 400 k-bytes just for the small model to have most of its files together.  Below is a listing of my general purpose file base: OA > type MK-M-UTL.SUB
A:PIP M:=A:PIP.CMD   ; move workhorse first
PIP M:=A:UTL.CMD       ; UTL is defined below
PIP M:=A:WS*.* [G11]   ; WordStarfiles
PIP M:=A:SC.* [G13]      ; SuperCaJc2 family
PIP M:=A:*.*lG15]          ; Dbase2.4family
STAT [R0]                      ; prevent accidental ERA
STAT [SYS]                           ; make available for users
     The UTL' in the above file refers to MP/M system utilities. My preference is: DIR, ERA, REN, SDIR, STAT, SUBMIT, SW!, TOD, TYPE; also, ABORT, CONSOLE, DSKRESET,MPMSTAT.

     The first listing, AUTO, used PIP so the system file could be read. The second listing, MK-M-UTL, used the TYPE command since it was a directory file required by the $ INCLUDEoption. Also, comments may not be allowed mixed on a command line as in these examples.

GENSYS a new MPM-SYS for MP/M 8-16 2.1F

     GENSYS allows the user to modify certain defaults. I changed both system drive and temporary file drive to M. 'SW!' will not otherwise activate from M-drive for 8-bit programs. Eight-bit software comes right up now!

      Required files: SHELL.RSP, CIO.MPM, BDOS.MPM, MEM.MPM, SYSDAT.MPM, RTM.MPM, SUP.MPM, XIOS.MPM. Be sure to PIP the appropriate XIOSxxxx.MPM to XIOS.MPM first. The 'xxxx' could be FLPY for a disk-based system.

     This information is scattered throughout the MP/M manuals. Pat Martini (CCT) reminded me of the last PIP procedure. The integrator of my system had left a hard drive XIOS file for me. (Maybe hoping I would buy a 20 Meg unit next).

Communications - XTALK v3.0

     Crosstalk VIII v3.0 works well on my C-PRO. I have both I-3 and I-4 boards.  The base address is 10h. The relative user numbers decrease left to right on I-3.  XTALK allows you to select relative user number as well as base address.  Relativeusers on my I-3 are 7 -> 0, left to right. The Centronix port on I-4 is relative user 8 (0 - on that board), while the serial ports are 11, 10, 9. (The parallel port, extreme left takes two user nos.).  I have had no problem addressing the ports on the I-3 and I-4 boards.  A port on the I-4 is used for XTALK communications to transfer files with the Osborne1.  A TTYS modified I-3 port is used by the Osborne as a terminal.

     OTERM v4.05 is used on the Osborne. The system can operate at 1200 baud in terminal emulation and for downloading. But, it can only upload at 300 baud - excruciatingly slow!  The friendly folks at EPCO Systems, Pittsfield, MA, put me onto Crosstalk. OTERM is from the Yankee Osborne library.

Pin configuration - DCE to DCE ala 0sborne-RS232C

     The Yankee Osborne Users Group newsletter suggested this one:
                Connect 1 and 7 straight through:
                                                                    1 ß --------à 1
                                                                     7 ß --------à 7
               Cross lines 2 and 3:
                                                                     2 ß --------à 3
                                                                     3 ß --------à 2
               Short 6 & 20 to 8:
                                                                   6, 20 ß ----à 8
                                                                   8 ß ----à 6, 20
Both ends of the cable are the same. Keep all stripped wires as short as possible when soldering.

     The terminal file entry is - '4:4:1:81N:Ozzie:Trmnl'. The first '4' is for port label; the second '4'calls for 1200 baud; the ‘1’ calls for DTR hardware handshake; 81N calls for 8 data bits, 1 stopbit and no parity. The last two entries are optional.

Program Development with M-Drive/H

     I have found the following format suited to writing program modules. The TOD (time of day) stamp allows the user to keep track of time during compile, link and finally, run.

          OM > type PGM-DLV.SUB
          WS TST-PGM.BAS    ; WordStar opens Non-document TOD -Start time
          CB86 TST-PGM         ; 3-pass compiler TOD ; Stop ,Start time
          LINK86 TST-PGM       ; Link editor, if possible TOD ; Stop 11 Start time
          TST-PGM                 ; Run program, if possible TOD ; Final stop time

When the program module finally 'runs', rename it and save it to storage disk. This shell can be used for 'C', or any developmental language. It shines in the M-drive environment!  I cannot believe a serious developer would have a CPro without M-Drive/H.  CCT is now selling it at $469/ 512k.   ** For 8-bit software such as Dbase 2.4, use: 'SW!  DBASE'.  Note the space after ‘SW!'.

Program Development with MP/M OS

     My system is now 768k 12 MHz static RAM w/ 1024k MDrive/H. This allows me to 'fire-up' all nine available 1/0 ports. (One port is reserved for XTALK 1/0).  Occasionally, while boldly developing a program, an errant procedure will 'hang' the program in an infinite loop.  Rather than hitting the reset button, etc., try the following:
1.   Move the terminal cable from console-0 to console-1.  The serial 1/0 ports should be clearly
                labeled.
2    Log-on to this terminal - first time only.  You could do this at initial log-in.
3.   Issue the command. 'ABORT CMD-PGM 0'.  This detaches the errant program.
4.   Issue the command: 'USER ##’, to get to your work area. User areas allow grouping of
               related files together.
5.   Issue the command: 'SUBMIT PGM-DVL Continue program development from
               this console.
6.   If another infinite loop is encountered: replace 0 w/ 1 and 1 w/ 0; goto step 1.

     All this is done electronically from M-Drive, thus is fast. The physical changing of the terminal connection is a better release than 'hitting' a reset button. There is no noise or time wasted rebooting a 62k MPM.SYS file, by-passing MFORM.CMD and aborting AUTO.SUB.

Imported 8-bit Files & Programs

     To date I have transferred only a few files and programs from the Osborne-1. The OTERM 4.05 allowed uploading .COM files such as CBASIC and MBASIC. Most seem to perform as expected. I used a modified MPM.SYS file where M-drive is the default drive. Thus, all calls to a.COM file subsequently calls up the SW! file from M-drive.

     This allows CBAS2. CRUN2 and MBASIC to come up really fast.  I tried to run some Osborne specific graphic output with the Osborne attached as a terminal.  But, to clear the garbage from the screen required calling for CLEAR from OTERM. (Printing 24 blank lines, rather than a call for clear, would work here.)   I can run the programs (12-14k) transferred so far.  Thus, M-drive is now, available to develop and edit work files for the Osborne.  This saves a complete rewrite to conform with the rules imposed by the compiled version.

'Revived' Software

     Just transferred Oasis Systems' 'the Word Plus' and 'Punctuation & Style' to the Cpro. This includes a 45k word dictionary.  All parts seem to work OK. Could not use these programs on the Osborne-1 since the Osmosis DD-board could not read Osborne DD media.  Thus the 45k word dictionary could not be used.  Anything less is a bad joke. (DD = Double Density).

     Two Osmosis DD-boards proved to be unreliable beyond 100k.  I now have a Neuvo DD-board which is reliable up to 150+k (my self imposed limit).  The Neuvo board allows for 185k disk storage.  The above comments just make me more appreciative of the Cpro and the fast (3 ms) dual 2.4 MegaByte Mitsubishi drives.
**  Also, this demonstrates the need to back-up all important disk files. This is especially important for experimental work.

Ed Note - THANKS!  We all appreciate the effort which went into this, A-J. You've not only provided a wealth of information for both newcomer and seasoned pro, but done so in aninteresting and informative manner.

   It is Usually Best to Use Your <Back> Button  to Return to Main