CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 1

What's New on CFOG's #1 RCPM

[These are edited listings of new programs found on CFOG's RCPM #1. They are not <as of this writing> in the library, but should be shortly. As of November 23, 1986, they were in the "Uploads" section unless otherwise indicated. -- bhc]

HRDSFT11.LBR - WordStar
'Hardens' and 'softens' WordStar files. Strips the 8th bit, etc., for sending out ASCII files; strips off hard carriage returns in ASCII files so they can be reformatted with WS. Works in memory, limits files size it can handle according to that limit. VERY fast.

VDE231SP.LBR - CP/M (generic)
Latest version of VDE for screen play writers -- and Diablo 1610 compatible daisy wheel printer users regardless of what they write. Installs for ^PD, ^PS, and ^PY <ribbon toggle>; intalls four user defined embedded commands for 12 pitch, 15 pitch, etc. Set left margin with ^PQ.

CHECK.BUG - Utilities
Bug report, with fix, for CHECK25.COM. By the way, CHECK25.COM will NOT run with both DRIVE C: RAM disk and Smartkey. Not tried with RAM disk alone or with XtraKey.

CHECK25.LBR - Utilities
CP/M 2.2 or ZCPR3; not tested on CP/M 3.0. Compares the contents of two disk directories; compares two files to determine equal size or not; copy files; delete files; display files. Simplifies the making of backup copies of important files on another diskette.

MCOPY46.LBR - Utilities
Multiple copy utility works from command line or with 'sweep' style listing, has options not verify <default=verify>, not copy if file exists <default=query>. Works on CP/M 2.2 AND 3.0, but is a ZCPR3 tool. Neat for RAM disk loader since you can specify multiple files to be copied to RAM disk only if they are not already there.

SUPRDOS2.LBR - CP/M (generic)
Replacement BDOS for CP/M 2.2; developed on a Kaypro, author says it should work on most everything. There may be a problem with the Osborne SYSGEN program, however, so it may require some tweaking to get it to work. If someone does get it to work on an O-1 it will be a great improvement <no more ^C to reset disks!>. ZCP-NEW section.

PSET17.LBR - Utilities
Printer set-up utility for various dotmatrix printers. WS-NEW section.

Create parameter files for WordStar special versions; put them in specific user areas; when you run WS from that area WS will automatically patch itself with the specified parameters. Useful to get special versions for programming <default 'n' mode>, 'h' and 'j' on or off, special margins, etc. WS-NEW section.

Modify WSMSGS.OVR to reflect effect of embedded commands. Set up for Epson printer commands. WS messages will tell you in help screens what ^PE, ^PQ, etc., do -- double wide, condensed, etc. WS-NEW section.

SUB310BJ - Utilities
Extended submit facility for CP/M 2.2; written by Richard Conn of Z-System fame. Rename to SUBMIT.COM and use like submit but with additional facilities such as ability to 'build' a submit command line without actually creating a file. SUB-NEW section.

CRUNCH23.LBR - Utilities
Latest version of the crunch/uncrunch utility that is finding its way around more and more. Save more space than SQueeze utilities for many text files <not generally helpful for COM files>. Files with extension ?z? are generally crunched. UTL-NEW section.

YANC23.LBR - Utilities
Catalog program that combines all functions in one -- catalogs by user area and lists file size. You have to get out the correct terminal parameter file and rename it to YANCTERM.PRM to get this one to work. CAT-NEW section.

ECHO.LBR - CP/M (generic)
These are the programs that Roy Lipscomb wrote at the October CFOG meeting. ECHOFF gives CP/M the equivalaent of the MS-DOS ECHO OFF command. ECHOFF suspends program output from going to the video screen. ECHON restores normal operation. By using ECHOFF and ECHON in SUBMIT batch files, the batches can run "silently" without cluttering up the screen. SUB-NEW section.

Master catalog of CFOG library files. This lists files in alphabetical order so you can find where they are in the library. Also contains WS merge-print file. The catalog was prepared with YANC and while various 'print catalog' utilities will be compatible with it, only YANC would print the user area and file size for each file. For those who don't have YANC, this file will merge print the in two columns. Check it to make sure the .fi command is followed by the filename of the as you have it <it probably doesn't as uploaded>.

RESQ17.LBR - CP/M (generic)
Rescue what was in memory when your computer went kerflooie. Reset and run resq. Searches for a string you specify, then saves from the beginning of the file as much as it can. UTL-NEW section.

GENSTAT.LBR - Executive
A statistical analysis program that works quite well on CPM+. UPLOADS section.

A possible fix for two common problems that prevent turbo related programs from working on many machines. TXT-NEW section.

This file, courtesy of ICUG on The Source, is the program to convert the old CPM.SYS file on the C128 to the new one, which supports RS232. Even if you have the new upgrade, run this! C128-NEW section.

CPMXFER3 - Other
This file is written for the 128 mode. Save it as a PRG file and run it. It will allow C128 users to download and then transfer the IMP and MEX stuff to their CPM disks. Works better than the file from Irv. C128-NEW section.

MEX128.OZJ - Communications
MEX version 1.14 for the C128. Already set up to download, uncrunch, rename to .COM and go! C128-NEW section.

128READ.ME - Other
Explanatory doc on the C128 files below. C128-NEW section.

C128-IMP.LBR - CP/M Plus (generic)
IMP for the C128. C128-NEW section

CONF.LBR - Other
This is a special Configure program for the C128 CPM3 system. It can be used ONLY on the C128! C128-NEW section

[The following files have been relocated from the Uploads section but their location is not listed by the Whatsfor program. Use DIR <filename.type $AD<cr> to find them. -- bhc]

OSBORNE1.VDM - Osborne 1
The overlay to install VDM23 on an Osborne 1. Includes printer control codes for an Epson-compatible printer. Install using the VDE install program VINST, just type: VINST23 VDM23 0SBORNE1<return>, then enter S (for save) on the VINST menu.

VDE231.LBR - CP/M (generic)
VDE231 supplement to the VDE23.LBR for those who have it. Two bug fixes for VDE/M 2.30, which should be dumped!

PUBPAT.LBR - CP/M (generic)
Patches to make files 'public' so that they can be accessed from different user areas. Also includes patched version of DISK7 that works with this.

SAP52.LBR - Utilities
Clean up directory; alphabetizes so that DIR will give an alpha listing.

FINREP23.LBR - WordStar
Updated version; find and replace external to WordStar; works on wildcard selected files, so if you have CHAP.1, CHAP.2, etc, you can do a global replace with one command!

BISHOW33.LBR - CP/M (generic)
"Type" utility, allows paging forward and backward in document.

VDE23.LBR - WordStar
Latest version of Eric Meyer's growing word processor for ALL cp/m machines, especially those with memory mapped video. More like WS, with top/bottom of screen commands, this is a super editor for files that fit in memory with a 10K WP program <9K with memory mapped video>.

DD12.LBR - Utilities
Yet another 4 column directory program, in 4K bytes, shows all files or sys files only, vertical alphabetization <or horizontal if you really want it>, only a few other options. Uses "/" for parameters instead of $, much easier to use even if non-standard.

747.BQS - MicroSoft Basic
A flight simlator game for a Morrow. It would not run on an O-1 Got off the ground with TPC-1 and CPM 2.2 + MBASIC, but ran out of memory. May work on CPM 3.0. Looks fairly good on the TPC-1 screen. [Are there REM statements in this file? Stripping them out <with utilities in the CFOG library> might solve the memory problem. -- bhc.]

BASCOM2.DQC - MicroSoft Basic
Some hints on using the BASCOM compiler for MicroSoft BASIC.

EX15.LBR - CP/M (generic)
RAM resident replacement utility for Submit.




CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 3

Cheap Dot Matrix Printer

by Benjamin H. Cohen

I've always had a daisy wheel printer at home. It gives good appearance, but it's a bit slow. When I saw a message on CBBS #1 (the first Computerized Bulletin Board System) that CCS Computers in Palatine had some Star Gemini 10-X printers on close-out for $125.00 I contrived to get out there one afternoon. I bought two. The Gemini 10-X printer is a 120 CPS 9 pin dot matrix printer. lt prints 60 CPS in 'enhanced' mode.

NewWord supports the Gemini 10-X fully, and its graphics mode with Bradford gives a 'near letter quality' look. It was a bargain, though it's a bit noisier than current but more expensive Epson models. They may still have a few when you get this.



CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 4

Getting the "Enhancer", the "Clock", "Anychar", and more into 'WordStar" together!

by Paul Litke

For a couple of years, I've had the problem of trying to get Spite Software's The Enhancer, my RT-60B battery backed up clock, and the program Anychar, to work together with WordStar. Over Christmas, I learned enough 8080 code to combine with PIP and Foghorn articles to solve the problems important to me.

The RT-60B battery backed up time clock which piggybacks on the parallel port of my DD Osborne 1. It has a print-time-trap feature which allows the current date/time to be dumped to the printer as the document is printed. It works by use of an @tXXXX or @dXXXX, or using ^PQxxxx^PQ or ^PWxxxx^PW.

The @ trap wouldn't work with The Enhancer installed, and the ^PQ/^PW traps wipe out major Enhancer features.

Then came Anychar, incomplete in the Sep'86 Foghorn p26 by Walter D. Neumann, and completed in the Jan'87 Foghorn p50 by W. Ernst Eder and p 18 by Tony Woozley. Now my Star Gemini 15 printer can do anything I've wanted out of WordStar. I inserted Anychar at 0310h out of the way of other patches. An important modification was to use a -50h character shift per ^PK A -40h (Neumann) shift of the ASCII Code Table makes the @ character impossible to access since no other keyboard characters can be shifted to its value using a 40h shift. A -60h (Woozley) shift would seem to allow the @ to be accessed using ^PR^PR^PR (front single quote) or ^PR^PR^PR^PR^PR (space). Unfortunately, the front single quote is not on the O-1 keyboard, since it uses the back single quote only which shifts to ring the bell instead. Also, the space character is a delimiter which nullifies the ^PR attempt.

However, I used a -50h shift instead. This allows the @t and @d to slip past Enhanced WordStar as ^PR^PR^PR0tXXXX (zero+t+9X's or zero+d+24X's) and reach the printer as the current time and date. Patching the ^PR for the Anychar only knocks the elite (12 cpi) out of The Enhancer, but elite becomes ^PEB2. The Woozley patch solved the continous underlining of left margins. I took my Enhanced WordStar 2.26 on a disk with DDT and not write-protected and patched as follows:

4000 0100
0310 00 21 ;This is the Anychar
0311 00 1E ;patch in an open
0312 00 03 ;area of MORPAT:
0313 00 FE
0314 00 20
0315 00 CA
0316 00 1F
0317 00 03
0318 00 FE
0319 00 FF
031A 00 CA
031B 00 29
031C 00 03
031D 00 D6
031E 00 00
031F 00 36
0320 00 00
0321 00 5F
0322 00 0E
0323 00 05
0324 00 CD
0325 00 05
0326 00 00
0327 00 B7
0328 00 C9
0329 00 7E
032A 00 C6
032B 00 50 ;Used a 50h shift her per article
032C 00 77
032D 00 C3
032E 00 28
032F 00 03
0330 00 .
037E 08 00 ;Changes offset to zero
037F 00 .
06D8 00 01 ;Changes USER4:^PR to send
06D9 00 FF ;FFh to printer
06DA 00 . ;via Anychar and Clock
06E7 00 05 ;PSINIT:Sends next 5 hex
06E8 00 1B ;instructions.
06E9 00 40 ;[ESC]@ initializes printer
06EA 00 1B ;to "just-turned-on" condition.
06EB 00 4D ;Sets margin to 9 spaces per Woozley
06EC 00 09 ;solution to continuous underlining
06ED . ;of margin.
071D 5F C3 ;Sends WS to 0310h for
071E 0E 10 ;output to printer.
071F 05 03 ;Anychar requires 28
0720 CD 00 ;addresses, but WS only
0721 05 00 ;has 8 addresses here for
0722 00 00 ;the output routine.
0723 B7 00
0724 C9 .
-G0 ;That's a G{zero} to exit DDT
;back to CP/M

The "page" 63 is the number of 256 decimal byte (00h to FFh) "pages" in the file in RAM to SAVE. My WS.COM goes to 0400h. Neglecting the 00 portion, the 04 translates to Ox256 + 4xI6 = 64 pages less one because the 00 says the last page was not started. I am constantly updating "calendars" and want to know which copy was printed when.

My prior best solution was to copy a file of @t and @d created on a Clock WS disk not containing any Enhancer. Somehow, this would work fine, but was not as convenient. I don't create files needing the print-time-trap very often, but it is a very nice feature to have.

Next Christmas, I hope to figure out a catalog disk patch that not only isn't screwed up by the Clock software, but carries the date and time stamping into the catalog. The Clock reduces the directory limit to 46 files instead of 64 files to make room for the stamping. PIP and the Foghorn have been more valuable to me than any magazine, and I hope this article is helpful to someone.



CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 5

MS-DOS Batch File Processing

by Ernest Perez

[This article is a file I downloaded from Henry Kisor's Word Processing BBS. It was posted there on 12- 31-1986 by Ernest Perez. -- bhc]

I have found out a deep, dark, batch file "programming" secret. I'd always thought you could not call a batch file as a SUBROUTINE from another batch file. For instance, I couldn't create a BAT1.BAT, stick a call to BAT2.BAT somewhere in the middle of BAT1, and have processing return to BAT1 to finish up, after executing BAT2. It would go to BAT2, and that was the end.

I caught a mention in the DOS manual that implied you can do it, but couldn't figure out how to. And now, here's the secret....

In the "calling" batch file, you have to restart COMMAND. COM... To do this, enter this batch command line:

command /c <batchfilename

The called file will execute, and return processing to the first batch file!

My first trial was the following (it worked).

rem this is the calling .BAT file,
rem about to make the call...
command /c try2
rem And this is the rest of the first .BAT
rem file, about to display a single
rem column directory.
rem THE END...
rem this is the called file,
rem displaying a wide directory...
dir /w
pause The called batch file is now finished...

Pleasant 'puter playing...





CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 6

Eric Gans: A Programmer's Output

[Eric Gans of the French Department at the University of California at Los Angeles is one of the most prolific programmers on the CP/M scene.]

[He has also released a more modest output of programs for MS-DOS. Using a Kaypro 10, Gans has written many useful programs for wtiters, hackers, and users. From time to time he has collected them in a LBR file under the name EGUTILnn.LBR. The latest is version 5.1 (EGUTIL51.LBR), dated January 11, 1987. The following is taken from the DOC file from that LBR, somewhat edited, and gives an idea of the scope of the programs that Gans has written. Most of the individual programs that Gans has written are generally found in individual LBR files. -- bhc]

Note to the user: These programs have been debugged largely through my own use, although many users have both found bugs and made suggestions for improvements, many of which are acknowledged in the various DOC files. Please continue to let me know if for whatever reason the programs don't do the job on your system. (Fan letters are also appreciated.)

This version of EGUTIL follows the last by about nine months. It adds one new package (GKEY2, a keyboard enhancer) and improvements to a few others (FINREP, GSUB, PASS, WINDEX). The library includes virtually all of my utilities for generic CP/M. All the remaining programs are essentially or wholly unchanged; SRW 1.43 fixes a bug that appeared in certain releases of vl.42.

These programs were originally written for the Kaypro 10 (CP/M v2.2F); a few make use of K-10 video attributes, and can be patched where indicated. Most are written in Z80 code, a few in 8080. Most COM files have a version number attached (i.e. FINREP22, CAL14) for easier identification; those that do not are version 1.0. When using the files, you should rename them to eliminate the numbers (in fact, commonly used files should always be renamed; typing 11-letter filenames just makes errors more likely).

1. ABUSER.COM (v8.4)
allows you to change the user numbers of files without copying them from one user area to another. This is an indispensible utility for those with hard disks. ABUSER allows wild cards in both filenames and the from-user area. If an unambiguous filename is entered, it checks for a duplicate file in the to-user area and gives you the option of (erasing it and) replacing it with the new file. This version is reentrant; to exit, type a <cr> at the >> prompt.

2. ALERT.COM (v1.O)
Beeps to alert you. (GSUB. DOC)

3. ALPHA.COM (v2.0)
Makes alphabetical list of words in file. (WINDEX.DOC)

4. BBACK.COM (v6.22)
Archive backup program. BBDEF.COM sets default drive, etc. ARCH.AZM is a BIOS patch to set the "archive" bit to work with BBACK. (BBACK.DOC)

5. BBCAT.COM (v1.3)
Catalog program for backups. (BBACK.DOC)

6. CAL.COM (v1.4)
This little calendar is used by BBACK to find the date, which is stored in the file itself at 111-118H. In the latest version it creates a 0K date file of form -mm-dd-y.y## for use in dating libraries (and erases any previously existing date files). This file should be found in A0: if BBACK is to work properly. The date should be entered in form mm-dd-yy, after which you just enter "N" for the next day. Since this is a practical program, it only works for the 20th century; an update will be issued in 1999 to all those who still remember what the letters CP/M stood for...

Graphics addresses have been eliminated in this version for the benefit of non-Kaypro users.

7. CMDLN.COM (v1.O)
This little program will place a command-line in the command processor (CCP) on your disk that will be run on every cold boot (startup or reset).

8. DBACK.COM (v2.1)
Backs up file directories. (DIRREP.DOC)

9. DMAP.COM (v.1)
Creates a display from the disk allocation vector that shows which blocks are/are not in use. Rather than the traditional bitmap, which is no more readable than the vector itself, the display contains the block numbers, as well as a total of blocks in use. (If you can't see the used blocks, you don't have K-10 graphics! The video attributes addresses are: inverse video on: 3CD-3CFH off: 3D1-3D3H.)

10. DR23.COM
Directory program (gives # of records, allows paging, display erased files, other options). (DR.DOC)

11. DREST.COM (v2.1)
Restores disk directories. (DIRREP. DOC)

12. ERAX.COM (v 1.2)
ERAX is an extended erase program that allows you to erase files in any or all user areas using ZCPR drive/user syntax. Like ERAQ, on which it is based, it queries you before each erasure. It has a no-query option for use in batch files and when you're absolutely sure of what you're doing (say, erasing BAK files). Since it is now reentrant (like ABUSER, RN, XRASE) you can erase various groups of files without reloading the program.

13. FINREP (v2.4)
[finds and replaces strings in text files. Much more powerful than WordStar and works on wildcard filenames. -- bhc] Looks much the same as previous versions, but the string search procedures have been extensively revised, with result that FINREP should now find even the most perverse strings, with or without wildcards.

14. GKEY2 (v1.0)
Is a keyboard enhancer that is less complex than SMARTKEY but that has the important additional feature of allowing you to define two-key sequences with ESCAPE, thereby adding 127 redefinition possiblities. Key files can be saved to and loaded from disk either along with GKEY2 or at a later time. Creation of macros follows a similar procedure to SMARTKEY.

15. GSUB v2.0
Includes several new features, including default variable settings, "quiet" mode operation, the use of filenames with GOTOG, and a couple of fixes. The old IFG.DOC has now been included in GSUB.DOC. [GSUB is, if I am to believe what I see on local bulletin boards, simply the best of the SUBMIT replacement files floating around. It has its own IF, GOTO, etc., works in memory, and at less cost and faster than others. -- bhc]

16. GTXT.COM (v1.1)
Converts text files into COM files for automatic printing. Can be used more efficiently with GTXT.000, 0.DAT and COM.SUB (GTXT.DOC)

17. LC.COM (v2.2)
This little program does the opposite of FIXALL et al: it converts text (e.g., ASM) files to LOWER case. The XLATE 8080-Z80 converter, DASM, etc. put everything in u.c., which is hard to read and unpleasant to type in, whence this program. Comments and items in single quotes are left alone. (Z80 note - Because LC flags single quotes, it won't work if your program refers to the alternate register pairs af' etc. It just didn't seem worthwhile adding code to avoid this problem.)

18. LUSER.COM (v1.1)
Moves $$$.SUB file to new user area; for use with OFFRUN or SUBMIT. (OFFRUN.DOC.) [What this does is to allow you to move from one user area to another in CP/M 2.2 SUBMIT files. -- bhc]

19. M.COM (v2.2)
Dumps a page of memory at an address input from the console or the program in both hex and ascii. Since it is much smaller than, say, DDT, it can be used to verify memory traces of programs that would otherwise be overwritten. It also allows the user to write bytes into the memory.

20. OFFRUN.COM (v3.4)
Runs programs on startup. (OFFRUN. DOC)

21. OUTLN.COM (v1.1)
Makes & formats outlines. (OUTLN. DOC)

22. PAIRX.COM (v1.31)
Checks unmatched control characters in WS files. (See PAIRX.DOC.)

23. PASCH.COM (v2.0)
Changes the password in PASS.COM. (EGPASS.DOC)

24. PASS v2.0 (formerly ZAP.COM)
Runs an "OFF" (or "SAFETY") program rather than merely hanging the computer if the correct password is not entered; passwords may be from 3 to 12 letters, instead of always 8.

25. PHN.COM (v2.1)
Phone list/dialer program. The dialer is only useful for Kaypro (10?)'s with Hayes-compatible modems, but the list is for everybody. (PHN.DOC)

26. RDATE.COM (v1.2)
Reads the date in files backed up by BBACK. (BBACK. DOC)

27. RN.COM (v2.1)
Is a wildcard file rename utility that allows you to rename groups of related files. If the new name already exists, you will be asked if you wish to replace it. As of v2.0, RN supports ZCPR drive/user syntax (a13: b: 11: a*: [= alluser]) and the intuitive oldfile=newfile order used in MS-DOS. V2.1 is reentrant.

28. SRW.COM (v1.43)
Disk/memory utility. (SRW. DOC)

29. SWITCH.COM (v1.1)
Allows you to hide files in user area 16 so that they will not normally show in the directory. This is useful if you have friends (children?) who play with your computer. The program also outputs a list of switched files. Switching the file a second time will return it to the current user area.

30. SYN.COM (v1.0)
Makes a synonym for a command line (allows variables). (SYN.DOC)

31. U.COM (v.3)
Is for those who tire of typing "user" but who are reluctant to get involved with ZCPR. It changes drive/user without the use of upper-case (e.g. ':'). Since it uses specific addresses it should be employed with caution, although it should work with a standard CCP & BDOS. (This program owes nothing to similar programs with the same name in the public domain.)

32. WINDEX (v3.01) [makes indexes from WordStar files]
Allows indexing of strings as well as words, without requiring you to use non-break spaces (^O) in your file. The command structure has been made more convenient, and WINDEX can now be run without problems from a SUB file.

33. XRASE.COM (v3.3)
Is an unerase program that, unlike many such programs, (1) works on all types of disks, (2) will not unerase two versions of the same file, and (3) checks for reused allocation blocks and will not unerase a file part of which has been reallocated. It accepts only unambiguous filenames. Unerased files are restored to the current user area.




CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 8

Gkey2 Almost Replaces SmartKey

by Benjamin H. Cohen

'Keys' programs have been with us a long time. I got the original -- SmartKey -- back in October, 1982. I wanted to redefine my keyboard to the Dvorak layout, but Smartkey also let me build keyboard 'macros'. Macros are strings of characters that can be recalled with a single or two keystrokes. For example, when writing a contract for my client, Chicago Widget Company, I can redefine the backslash key, not used much in contracts, as "Chicago Widget Company". Then, each time I want to write Chicago Widget Company, I just hit the backslash key. SmartKey allows me to make these definitions while I'm editing my WordStar or NewWord file, a lot more convenient than exiting to the operating system level each time and using SETUP.COM or FK.COM, and I don't have to give up my standard function key definitions to do it, either.

Public domain fans have been able to use QK21 for the same purposes. Eric Gans's GKEY2, a fast loading 2K file, with a separate 4K help and setup file, lets you redefine each key on the keyboard AND gives you a super-shift key so that you can redefine the super-shifted keys instead of the normal key. The limit of any single definition is 256 bytes; the aggregate of all definitions is limited to 512 bytes.

The super-shift key is the solution to the problem that there aren't a lot of excess keys on the keyboard. You do need nearly all of them at one time or another, so you don't want to redefine them to mean something else.

GKEY2, like SmartKey and XtraKey, gives you a 'super-shift' key. The default is the backslash (\). When you want a backslash, you hit the backslash key twice. If you hit the backslash once and then any other key you're calling for a defined string that you have stored there with GKEY2.

If I understand the documentation correctly, the space used by abandoned definitions is 'retreived' by GKEY2 for use with new definitions, a definite plus (SmartKey doesn't do this; XtraKey does).

I didn't test GKEY2 extensively, but it seemed to work quite well. You can save your definitions in a file and reload them later. You can change the lead-in key that starts definitions, and the super-shift key, using GKEYSET.COM, which also allows you to terminate the program and contains a sufficient help file.

Unfortunately, the writers of RAM resident (or terminate and stay resident) programs, especially under CP/M, have a tendency to be ill-mannered. As a result, some of the programs that they write are likewise ill-mannered. One of the most notorious of the ill- mannered RAM resident programs for Osborne owners is the Drive C: loader. GKEY2 won't work with the old DCL software from WestWind. I tried loading it both before and after loading the Drive C:, and with and without the printer buffer. I haven't a copy of the new WL2, so I can't say whether that's any improvement.

Not surprisingly, GKEY2 won't run on my Osborne Executive with CP/M+.

If the limitations of other public domain 'keys' programs make them less than useful to you, you might want to try GKEY2. On the other hand, a new version of SmartKey, 4.2, available for about a year for Kaypros, opens up a neat window at the bottom of the screen for creating macros, has a 'backspace' key so you can correct your definitions, and allows much larger definition files than GKEY2 (as does the original SmartKey). An Osborne edition is currently in beta test, and should be on the market before long.




CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 9

Making MEX for Your Osborne

by Daryl Gelbach

[This is the second in a series of articles on MEX to be reprinted here. They originally appeared in Y.O.U.r Newsletter, the newsletter of the Yankee Osborne Users Group. -- bhc]

Modem Executive (MEX) is a very powerful program. It has the potential for becoming a truly universal modem program. The secret is that MEX proper is distributed without I/O drivers. It will run but is unable to address the modem or machine ports. This feature allows MEX to be adapted to a variety of systems. This is done by installing within MEX a series of overlays. These allow MEX to use the full capabilities of the system. This article will present the steps to create a fully installed MEX for the Osborne I and Exec.

The first step in constructing MEX for your system is to find the appropriate overlays. It is possible to use MDM7 or other overlays, but to take advantage of all MEX features it is better to use custom-made overlays. These may be found on Yankee One in the MEX-OVL library.

MXO-OC11.AQM --> Osborne I with Comm-Pac
MXO-OS22.AQM --> Osborne I
MXO-OSEX.AQM --> Osborne Executive
MXO-OX15.AQM --> Osborne Executive

[There are lots of other overlays in the MEX-ovl.lbr series. --bhc] You will also need from the board and MLOAD is a nice program that combines the parts of the program without the use of DDT.

For Comm-Pac Modem users the construction of MEX is quite simple. First unsqueeze the source code for the overlay. Then:


That's it. You now have a working copy of MEX that uses the Comm-Pac modem.

For the Osborne I and Executive the procedure is a bit more difficult. After you unsqueeze the source code, it may be necessary to modify some of the equates in the program. Once that is finished proceed as above. (For Executive owners substitute your chosen overlay for MXO-OS22.)


This MEX program will work, but will not be able to use the special features (if any) of your modem unit. You will need to add the correct overlay for your modem. At this time Yankee One contains:

MXO-SM14.AQM --> Smartmodem Overlay
MXO-PR10.AQM --> Penril Overlay

To configure MEX to your modem follow these steps. (Remember to substitute your overlays for the ones shown here.) The file order given for MLOAD is important. Please make sure to overlay the computer hex file before the modem hex file.


Now your MEX is fully installed to use all of the features of both your Osborne and your modem.

Finally, for the truly ambitious programmer MEX is distributed with a Mexpat11.asm overlay. This allows the user to customize operating parameters, some not available through STAT variables. Alter the values in this file then:


The patch may be loaded along with other overlays but should be in the first position for proper installation.

MEX has great potential. The obvious advantage to this overlay process is seen if you work with more than one computer. MEX helps you avoid the problem of having to learn a different set of commands for each system. Other advantages will be explored in future articles.

[CFOG members may find it advantageous to get one of the already configured versions of MEX in the CFOG library and avoid the necessity of assembling and loading it. MEX has a big advantage in that you can change most of its features and then use the CLONE command to make a new copy with those changed features. MEX also comes in a commercial version, MEX Plus, $49.95 through the Lillipute Z-Node (649-1730). A version for MS-DOS is also available ($99.95) so that CP/M users who deviate to that system can take MEX with them. -- bhc]





CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 10

What's New? Switching Over: CP/M to PC/MS-DOS

by Jim Holmes

Not long ago I declared that I could see no reason to switch from my trusty CP/M system to a PC/MS-DOS environment at present, "or in the near future"; well, welcome to the future!

Like many others, my decision was based on a particular need. I'm going back to school, to complete a Ph.D. in Clinical Psychology. On campus I'll be able to use a departmental PC, but it's running under PC-DOS 3.1. I've also decided to do a bit of consulting. I plan mainly to work with others in my field, helping them as they "computerize." While some could get along fine with a CP/M system (or an Apple, etc.), most are going to want an IBM-PC or "clone."

I approached the conversion gingerly, at first. Not being certain which system represented the best value for me (shades of '82), I rented a COMPAQ (because it's portable) for a while. I'll likely have more to say in future columns about hardware, but this time I'm going to stick with first impressions re the similarities and differences between operating systems.

First off, you'll find learning PC/MS-DOS is easier than learning CP/M was. That's partly because much of what you know already has a corollary "under DOS", but also because the environment "helps you more." That's not to suggest you'll be comfortable right off with PC/MS-DOS if you never learned CP/M; whatever your level of expertise, however, you will find it fairly easy to "translate."

If you have been an active user of CP/M, exploring most of its possibilities, you know all about SUBMIT files (if you don't, it's a subject well worth spending time on). PC/MS-DOS systems use the BATCH file, but it is built in to the operating system. You can write/edit and run BATCH files without any external software being involved, and the applications are expanded, too. [But users of Roy Lipscomb's Supermit series have some capabilities not found in PC/MS-DOS batch operations. -- bhc]

Much has been said about the greatly expanded memory of PC/MS-DOS systems. It's certainly available, and it's CHEAP. While prices are coming down in the CP/M world for RAM and hard disks, I doubt they'll ever approach the bargains available to PC/MS-DOS users. What isn't often said is that, for many users, the extra memory is something of a luxury nice to have, but not essential. You might be able to do some things faster or in fewer steps, but if you aren't working with very large data or spreadsheet files, the extra memory won't let you do more than you are doing now.

Further, the programs under PC/MS-DOS are generally much larger (in K) than in CP/M; a good part of that "extra" memory is really needed to accommodate these bigger software packages. Often the extra size is needed for additional features not available in the CP/M version, but in some cases it appears to be just wasted by a programmer too lazy (or inept) to write "tight code."

For those of you who are converting (or considering it) I'd like to recommend Using PC DOS by Chris DeVoney (Que Corp., P.O. Box 50507, Indianapolis, IN 46250 - $21.95, 519 pages, soft cover). I selected this text mainly because it covers PC DOS version 3, but can recommend it for anyone interested on a sound tutorial and permanent reference to PC DOS.

The book is very well laid out, moving easily from the four-page introduction (I read it in the bookstore) describing what the book will cover (and will not) through a brief New Users course, then on to well-written tutorials which gradually teach structure and use of PC DOS. Each chapter is relatively self-contained, and each contains a one-page summary of major points discussed. A very comprehensive reference (nearly 200 pages) to DOS commands, a set of useful charts and tables, a tutorial on preparing your HARD DISK and an intelligent index complete the book. I've found it very helpful thus far, and I know I'll often use it as the reference it's intended to be.

That's all for this time. I can't guess how much converting to a PC/MS-DOS system could do for you (if anything), but I hope these occasional chronicles re my personal experiences help you make up your own mind. Meanwhile, I've no intention of abandoning CP/M in these columns, and in my use personally or as a consultant. Our groups must go on serving and supporting users of both systems as well as any new and meaningful developments which could benefit the membership at large.

[CFOG has no intention of abandoning CP/M users, either, but many of our members are using MS/PC-DOS every day and you'll see some articles here in recognition of that. -- bhc]





CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 11

What's New: The ON! Computer; JetFind; New Version of Presto!

by Benjamin H. Cohen

One of the nice things about the CP/M 'trailing edge of technology' world is that there isn't so much new stuff in the commercial product world every week that you have to spend two hours scouring InfoWorld from top to bottom to begin to keep up with it. In contrast, there's so much out in the MS-DOS world that's new every week that you cannot possibly keep up with the spate of word processors, data base management programs, spreadsheets, communications software, not to mention new versions of old software, and not to mention the latest clone.

On the other hand, the CP/M world isn't dead, either. In other articles in this issue I've reported on the newest version of VDE, Eric Meyer's incredibly fast word processing program, Eric Gans's GKEY2 and the new edition of Smartkey version 4.2 for Osbornes. Other new public domain software is coming out or being discovered all the time -- there's so much of it that I cannot begin to cope with what interests me, much less everything else.

And there is still some new commercial CP/M software or versions coming out, or being announced. A letter published in the Foghorn issue of January 1986 reports that ButtonWare, Inc., is still interested in having someone come out with a new version of PC-File for CP/M systems. Whether that's vaporware only time will tell. And see the separate article on the lastest about NewWord / WordStar.

An advertisement in the January issue of Profiles, the Kaypro magazine, offers a new version 3 of Presto!, the TSR (terminate and stay resident, sometimes called RAM resident) program for CP/M computers. The upgraded version of this program takes 5K less RAM than the previous version, but ADDS features: CP/M commands to read the directory, erase a file, copy and rename files, type files to the screen, and keyboard macro processor including the ability to load definition files with each program you use. $39.95 from Spectre Technologies (800-628-2828, ext. 918, for orders only) for all Osborne, Kaypro, and Otrona CP/M computers. All orders must add $4 for shipping. Upgrades for users of older versions, send your original disk with a check for $5.

At our January meeting we saw at two exciting new things. First, the ON! computer, a full blown ZCPR3/ZRDOS system utilizing a Z80 chip, a Televideo terminal running at an ultra-fast 19,200 baud speed, a 2 Mb RAM disk, and fully power protected. In the near future RAM disks of 4 and 8 Mb will be available. It reads four disk formats as native, including Osborne, and a fifth native disk format can be selected from a list of about 48.

You can pull the plug out of the wall and plug it back any time within 12 hours and get right back where you were when the power failed. Optomized for word processing, this computer will really shine for applications where protection of your documents from power line vagaries is important [i. e., everywhere] and a fully integrated fast and powerful system is needed.

Wonderful as the ON! computer is, it's not perfect. The single quad density 96tpi drive can read double density 48tpi disks, but cannot write to them at all. No hard disk is currently available, although a SCSI (small computer systems interface) port is planned.

With a full-blown ZCPR3 operating system you get a lot of convenience, but at the cost of a modest TPA (transient program area, the space available to run programs). The SuperCalc2 memory 'meter' read 21K with a blank spreadsheet, compared to 25K for an Osborne 1 and 30K for an Executive. This limits some functions on the ON! Keep in mind, however, that this is not intended to be a big number cruncher -- the ON! is a powerful WORD cruncher, and the TPA limitation is not of much importance to that function.

It's a bit pricey at more than $2,000, but perhaps if ONEAC can get enough sales the unit cost can come down. In the meantime, if you have as much money as your time is worth, get the system that's always on and ready to go as soon as you turn on the display and never loses data.

The second 'star' at our January meeting, was JetFind, from Echelon, source of the Z-System (ZCPR3, ZRDOS, etc.). When Lillipute Z-Node sysop Richard Jacobson announced that he had a copy, I told him that on the basis of the Echelon notice in Z-News 609 I was ready to send in a check. It was with some degree of regret that Rich had to report that the program was actually still in beta test. The demonstration, however, was impressive -- here's a program that searches specified files, including wild cards, for a string, can output the line with the string to printer, file, or screen, together with the number of lines before and after the target line, etc., etc. The most impressive thing about the demonstration, however, was the speed with which JetFind worked.



CFOG's PIP, February 1987, Volume 5 No. 4, Whole No. 52, page 11

Submissions for PIP

Submissions for PIP may be uploaded to either CFOG RCPM or put on a disk and mailed to the Editor. Enter a title on the top line, with your name on the next line after the word "By". Next, as notes, put your address and a telephone number and the best time to reach you at that number. Indent each paragraph three spaces. An extra <cr> goes between paragraphs. Single space the text. Don't use hyphenation and above all, don't justify the text.