[fa.info-cpm] MARC, etc.

info-cpm (12/07/82)

>From vortex!lauren@Lbl-Unix  Tue Dec  7 14:52:12 1982
To: ELIOT@Mit-Mc
Cc: INFO-CPM@BRL
Via:  Lbl-Unix; 7 Dec 82 3:18-EST
Via:  Brl; 7 Dec 82 6:22-EST
Via:  Brl-Bmd; 7 Dec 82 6:36-EST

The BDS-C that comes with MARC is a MARC-native version of 
whatever the latest CP/M version happens to be.  I guess right now
we *are* up to 1.5.  Obviously, there are differences between the 
CP/M compiler/linker and the MARC version, since the MARC filesystem
and other facilities allow much more flexibility than Leor had to
work with under CP/M.  The major point of departure between the two
versions (MARC vs. CP/M) comes in the area of libraries.  The MARC
libraries are extremely extensive, and give direct access from C
to all MARC system calls, including all the more "esoteric" ones
such as "stat", "gtty", etc.  Time conversion routines are also
included, and automatically handle niceties such as daylight
savings time, etc., as appropriate.  (MARC keeps the time internally
exactly the same way as Unix, as the number of seconds since Jan 1 1970 GMT).
I have purposely discouraged any Z-80-only libraries, since I've learned
that (somewhat to my surprise) there are still lots of people with 8080's
and 8085's.  As I said before, the benefits are not worth the hassles
of trying to maintain two sets of libraries, and I refuse to leave my
old 8080 supporters out in the cold!  Note that the stdio library under
MARC is even more extensive than under CP/M, and (as far as I can tell!)
it exactly follows K&R for all supported functions, e.g.:

#include <stdio.h>

FILE *infile;

if ((infile = fopen("/etc/passwd", "r")) == NULL)
{  fprintf(stderr, "Can't open the password file!\n");
   exit(-1);
}

does exactly what you would expect; no more of the CP/M kludges for file
I/O.  Also note that the old DIO library is no longer needed, since
MARC handles such features at the shell/exec level.  By the way,
argv[0] (command name) is available under MARC, which turns out to
be pretty handy!  (Some commands in MARC are simply links to the same
file that are called by different names -- depending on the name used, the
program acts in different manners.)

As for the CP/M emulator, I use it as little as possible, and I rarely ever
NEED to use it.  Most of my work is in BDS-C, and I long ago ported all
of my BDS-C programs over to MARC -- it's mainly a job of pulling unneeded
code and libraries OUT, since the MARC versions almost universally turn
out to be smaller and much more similiar to Unix C.  Many of the programs
I write these days are almost fully portable between MARC and Unix.
I mostly use the emulator for testing (things like MAC, WORDMASTER,
M80, L80, etc.) but I never really "use" those things -- BDS-C and
MINCE are the primary tools in my operation.  Oh yeah, I use the emulator
for playing an old Sargon chess game, and some of my dialup users play
a few old BASIC games under the emulator.

My hope is that most people will wean themselves away from CP/M programs
as rapidly as possible.  Since CP/M programs have such a limited idea
of filenames, even the most simple programs can become much more
flexible if ported over to native-MARC operation.  Still, the emulator
is there for those who need it.

--Lauren--

P.S.  In my experience, I've found that the vast majority of public
domain CP/M programs I've collected have been utilities to try correct
"defects" or fundamental limitations in CP/M.  Frankly, under MARC, 
virtually none of those sorts of programs should be needed...

--LW--

info-cpm (12/08/82)

>From ELIOT@Mit-Mc  Wed Dec  8 00:17:18 1982
To: vortex!lauren@Lbl-Unix
Cc: info-cpm@BRL
Via:  Mit-Mc; 7 Dec 82 17:08-EST
Via:  Brl; 7 Dec 82 17:22-EST
Via:  Brl-Bmd; 7 Dec 82 17:41-EST

	If most of the public domain software for CPM is to correct
CPM deficiences (sp) and MARC will not need these, then what will there
be to do on a MARC system?

						-Eliot at Mit-DM

helge (12/08/82)

What will there be to do on MARC??
Maybe we can start doing useful work on our systems instead of using
most of the time to cope with operating system deficiencies. I am
really looking forward to changing from cpm to MARC!!

-helge
(cpm hacker)

info-cpm (12/08/82)

>From clark.wbst@Parc-Maxc  Wed Dec  8 15:37:28 1982
In-Reply-To: ELIOT's message of 7 December 1982 17:09-EST
To: Eliot Scott Ramey <ELIOT@Mit-Mc>
Cc: vortex!lauren@Lbl-Unix, info-cpm@BRL
Via:  Parc-Maxc; 8 Dec 82 9:30-EST
Via:  Brl; 8 Dec 82 9:45-EST
Via:  Brl-Bmd; 8 Dec 82 10:12-EST

	"If most of the public domain software for CPM is to correct
CPM deficiences (sp) and MARC will not need these, then what will there
be to do on a MARC system?"

Answer:

	How about the job for which you originally obtained the computer ?

--Ray

info-cpm (12/09/82)

>From wegeng.wbst@Parc-Maxc  Wed Dec  8 15:56:48 1982
In-Reply-To: ELIOT's message of 7 December 1982 17:09-EST
To: Eliot Scott Ramey <ELIOT@Mit-Mc>
Cc: vortex!lauren@Lbl-Unix, info-cpm@BRL
Via:  Parc-Maxc; 8 Dec 82 10:50-EST
Via:  Brl; 8 Dec 82 11:12-EST
Via:  Brl-Bmd; 8 Dec 82 11:24-EST

Eliot,

"...then will there be to do on a MARC system?"  Well, lots.  What is there to do
on a RSX11-M system when we have RT-11?  What about RSTS?  The answer is
that different operating systems appeal to different applications and different
users.  In reality that's a big reason why both UNIX and VMS exist for VAX
computers, and will continue to exist.  Each has it's group of followers.

I personally have nothing against CP/M, but I find that the user interface (and
general philosophy) of UNIX to be more to my liking.  Therefore, I look forward
to the day when I can purchase MARC for my home system.  That's all.

==dw