I called Lifeboat Associates, which is now located in Tarrytown, NY. Their
receptionist now answers the phone as "Magellan...". Their software support
person informed me that they discontinued CP/M support a while ago, but gave
me a number for a place called Software Resources. Strike 2.
The woman at Software Resources acknowledged that they once supported CP/M,
but no longer do so. Strike 3.
So, it looks like I've exhausted all potential commercial sources of a C
compiler. Perhaps someone on the list is interested in selling their copy
of BDS C? Are there any public domain compilers around? I'm getting some
sense that there is a freeware compiler floating around the RCPM systems.
I received a message that a gentleman named John called me at work, regarding
the Northstar. I guess this was in response to my earlier compiler inquiry.
The number for the return call was in Connecticut and I've gotten no answer
each time that I have called (during office hours). If the individual who
called would try to call again, or send email, I would really appreciate it.
Thanks.
-Jim.
----------------------------------------------------------------------
Jim Gonzalez AT&T: 617-873-2937
BBN Systems and Technologies Corp. ARPA: gonz...@bbn.com
Cambridge, Massachusetts UUCP: ...seismo!bbn!gonzalez
----------------------------------------------------------------------
I have 2 CP/M C compilers. The first one I is QCX, the other is
Aztec C from MANX.
QCX is was an upgrade to a compiler called Q/C. The upgrade was mostly
compatability and portability changes. QCX is a reasonably full
featured compiler that is almost completely K&R compatable (lacks bit
fields and doubles, and any of the ANSI or SysIII extensions like void
and enum). It's biggest advantage is that it comes with full source
code, not just for the libraries, but the compiler too! It will compile
itself.
Looking at the source, it appears the person who wrote it was not a
compiler specialist, but it is well commented and maintainable. Local
changes made here were to add voids, and unsigned characters as types
handled specially by the compiler (unsigned chars are not promoted to
ints in operations only involving other unsigned chars, since they can
fit in the accumulator and results in a major speed win). The point of
that digression is you can fix up anything you want if you have the
source.
I ported it to UNIX to be able to do cross development for CP/M. The
compiler output is Z80 assembler source, so if you want to do cross
development, you need a cross assembler (and possibly a linker). When I
bought QCX several years ago, it cost less than $150. Also, it was sold
with MS-DOS executables for cross support (I think that's what the X
stood for), Q/C was the native CP/M product. BTW, on the cross support
front, The Code Works also sold (in source) a Z80 assembler/linker. I
bought it, but unless it has been substantially enhanced, don't bother.
It probably works OK native on CP/M, but took *MAJOR* rework to build on
UNIX! Repeat after me, "Pointers are not integers".
QCX was written by Jim Colvin at:
Quality Computer Systems
3394 East Stiles Avenue
Camarillo, CA 93010
It was published by:
The Code Works
Box 62136
Santa Barbara, CA 93160
(805) 684-9534
This information is several years old, so you may have to hunt a bit
to find them.
If you are not looking for something you can hack around with, but
just something you can run, the other compiler I use is Aztec C
release 1.06D from Manx Software Systems, Inc. It is basically the
same C compiler they sell to the IBM PC world and the Apple MAC folks,
so it is quite full featured. The difference is just in the code
generation portion, I'm led to believe. They used to sell several
packages (called commercial, developers, etc.) that differed in
whether you got library source and some of the utilities; I'm a little
hazy about that. The set I bought came with library source, compilers
for both Z80 and 8080 output (the big difference is the Z80 allows one
extra "register" specification), an assembler and linker (although
you can also use Microsoft M80 and L80 or Digital Research RMAC and
LINK if you like), a librarian and some other utilities. The supplied
assembler/linker/librarian are quite good and faster than the
Microsoft and Digital Research counterparts because they are tailored
to deal with the compiler output (no macro's, for example). They also
support overlays and there is an overlay manager supplied in source.
Since this is a port of the standard Aztec C, the library is quite
complete. I regularly move programs from UNIX to CP/M with little
effort as long as the programs don't require impossible system
functions like fork(2).
Manx advertizes regularly in most of the computer magazines. They
quit mentioning the CP/M version in the ads about a year ago, but when
I called and asked for it they were willing to sell it to me with the
caution "there will be no further development on this product, what
you get is what you get". That was fine with me. They wanted about
$250 for the whole enchilada (sources for libraries and all), I didn't
ask about other configurations and the price seemed somewhat
negotiable as they were just unloading inventory, I gathered.
Summary: Q/C and/or QCX; you get ALL the source, reasonably cheap
Aztec C; more robust and full featured ("commercial", even!)
Of course, I am not affiliated with any of these people; they probably
don't even know I exist. If you have any specific questions not
addressed in the lengthy ramblings above, send me e-mail at the
address below. Don't give up! C lives and works in the CP/M world.
---------------
"I read the news today, oh boy!" --John Lennon
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| DCF, Inc. | UUCP: ...ncar!noao!nud!anasaz!dcfinc!chad |
| 14623 North 49th Place | Ma Bell: (602) 953-1392 |
| Scottsdale, AZ 85254 | Loran: N-33deg37min20sec W-111deg58min26sec |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| Disclaimer: These ARE the opinions of my employer! |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Maybe you don't want it, but wasn't Mix C initially offerred under CP/M?
The only advertise their DOS version now.
I believe that a Small-C compiler is available at simtel-20.
Good luck.
--
- Ralph W. Hyre, Jr.
Internet: ral...@ius3.cs.cmu.edu Phone:(412) CMU-BUGS
Amateur Packet Radio: N3FGW@W2XO, or c/o W3VC, CMU Radio Club, Pittsburgh, PA
"You can do what you want with my computer, but leave me alone!8-)"
Borland started out as Turbo-Pascal for CPM machines -- a product
looking for a company. Since Philippe Kahn, at the time an illegal
alien, couldn't get anyone else to market T-P, he formed Borland
and started selling. Migration to MS_DOS (and CPM-86) happened
later. This dates back to '83 or so (I have a Turbo-Pascal compiler
with a 4 digit serial number to prove it), before MS-DOS was a real
market force.
Turbo-C didn't get to market until 85 or 86. Indeed, Philippe, in
a Dr Dobbs interview described C 'not as a language, but as a disease'
and indicated that they were getting into C rather reluctantly.
By this time, MS-DOS had pretty well taken over, so its rather doubtful
that a CPM Turbo-C copmpiler exists.
Incidentally, Modula-2 from Borland did go the way you suspicion.
Since M-2 was a natural extension for a house already selling
Pascal compilers, the CPM version did indeed grow. But not an MS-DOS
version. Because, probably, the market had moved on, Borland
declined to sell it themselves, but licensed it to Echelon. My
guess is the decision might have been different if they had
an MS-DOS M2 compiler so they could support both OS's. Sigh.
Rex Buddenberg
(disclaimer: no connection to Borland, only reciting folklore)
>
> So, it looks like I've exhausted all potential commercial sources of a C
> compiler. Perhaps someone on the list is interested in selling their copy
> of BDS C? Are there any public domain compilers around? I'm getting some
> sense that there is a freeware compiler floating around the RCPM systems.
Apparently, no one has heard of Dynacomp! I have their most recently
printed catalog, and it is full of software for cp/m computers(among others).
They will ship in many different formats, both 8" and 5 1/4" for a variety
of machines.
Yes, they do sell a "C" compiler, (C/80) made by a company called "Toolworks".
The price is $49.95 for 5 1/4" or $52.45 for 8". The compiler seems
fairly complete, looking at the catalog description, though some seldomly used
language features are left out.
Also available from Dynacomp is a package called "C/NIX", to provide
a UNIX-like environment on CP/M computers. This program adds the most
convenient features of UNIX, such as piping, hierarchical directories,
and search paths. C/NIX costs $59.95 on 5 1/4" or 8".
They have a toll free phone number for placing orders:
and their address:
Dynacomp, Inc.
DYNACOMP Office Building
178 Phillips Road
Webster, NY 14580
If anyone has used either C/NIX or C/80, could they please post their
opinions on the worth of these programs?
-Steve Santarelli
disclaimer: I have done very little business to date with Dynacomp,
and therefore am unable to make any claims about the quality of
their software.
I bought C/80 for my H-89 CP/M computer many, many moons ago. Back then,
I couldn't afford anything else and @ $49, I thought C/80 was the greatest
thing since sliced bread. I still feel that way. I received updates for
longs and float/doubles later and some other stuff, so you can do serious
work with it. For $49, it a an extremely stable and solid product. Yes,
C/80 is missing a few things - bit fields and I can't remember what else,
but it produces fairly tight code and has a farily fast compile time.
Dr. Dobbs published an article featuring a peephole optimizer for Z80/8080
C compilers a few years ago and that optimizer is available in their C Chest.
I still write software for embedded controllers using the Z-80,
but not using C/80 unfortunately. I still wish I could switch to it...
Chris
"The set I bought came with library source, compilers for both
Z80 and 8080 output (the big difference is the Z80 allows one
extra "register" specification) ..."
That's two extra. On the 8080, the first "register" goes in BC, the
rest in the stack frame. On the Z80, the second and third "register"s
go in IX and IY.
Using BC is a win over statics, but IX and IY are not (it takes more
code to use them than it does to use static memory). All three
registers give better code than automatics (stack frame elements).
In 1982 I did an extensive project in Aztec C, on a TRS-80 model II
running Pickles&Trout CP/M. Five months of programming a "business
BASIC" compiler, for real-world money. I was quite happy with the
Aztec C compiler.
-=- Andrew Klossner (uunet!tektronix!tekecs!frip!andrew) [UUCP]
(andrew%frip.gwd...@relay.cs.net) [ARPA]
rcs