Date : Thu, 26 Apr 1984 00:12:00 MST (Thu)
From : Keith Petersen <W8SDZ@Simtel20.ARPA>
Subject: SYNONYM art. in Microsystems
Date: Wednesday, 25 April 1984 13:44-MST
From: Dick <MEAD at USC-ECLB.ARPA>
To: info-cpm at BRL.ARPA
Re: SYNONYM art. in Microsystems
Microsystems has a short review of a program, in the PD, called
SYNONYM. I gather that the source listing was supposed to be
included, but lately Microsystems has been pretty sloppy with
such things, and it got left out. Has anyone seen the program???
Yes, the program is available on SIMTEL20 now. It's in
MICRO:<CPM.DIRUTL>SYNONYM2.DOC and
MICRO:<CPM.DIRUTL>SYNONYM3.ASM
SYNONYM is a program that generates a program. This
generated program when executed, will invoke another CP/M
command. It's really not as complex as it sounds. Here is an
example: You would like to invoke Microsoft basic by typing
only the letter "B" instead of typing "MBASIC". You could
just rename MBASIC.COM to B.COM but you could no longer use
"MBASIC" to invoke basic.
SYNONYM can create a "B.COM" file that when
invoked will modify the CCP input buffer to "MBASIC" and
then jump to the CCP. The new .COM file is very small (1
block) and is saved with the $SYS indicator set (in CP/M
2.x ) so it won't clutter up your DIRectory. Then to invoke
basic you would only have to type: "B". You could also pass
basic a program name to execute just as with MBASIC by
typing: "B BASPGM" (where BASPGM is the name of the basic
program).
You can also create a SYNONYM with a fixed parameter
string. For example you might like to run a basic program
called STARTREK.BAS by typing "ST". SYNONYM can create a
file ("ST.COM") that will invoke MBASIC and pass it a fixed
string "STARTREK". If you do create a SYNONYM with a fixed
paramater string any paramaters entered on the command line
invoking the SYNONYM will be appended to the fixed
paramaters. This could be used to invoke the SUBMIT program,
pass it the name of the .SUB file as a fixed paramater, and
then any other variable paramaters.
The program can be assembled with MAC or ASM and has been tested on
both CP/M version 1.4 and version 2.x (the $SYS attribute is set only
on 2.x).
--Keith