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.