glaser (07/01/82)
Thanks to everyone who supplied me with information about C implementations for the Apple. I'm still getting responses to my request, but now seems like as good a time as any to summarize what information I've gotten so far. If I hear anything else important I'll pass it along. Several people mentioned that C is no problem for Apple II's that have CP/M cards. A message specifying suppliers and prices for CP/M C's has already been posted to net.micro, so I won't duplicate that information. Others said that C was impossible (or nearly impossible) to implement on a vanilla Apple because of the 6502's absurdly small 256 byte hardware stack. (Nearly all C compilers are implemented as stack machines). This sounds like compelling logic but, fortunately, is not strictly true. *************** Enter Manx Software Systems. Manx has now, in beta (soon to be final) release, a C compiler (full K & R) that runs in standard Apple DOS. Price: $199. The catch: right now, the compiler generates pseudo-code that can be linked with assembly language routines but that must be run with an interpreter (supplied with the compiler, as is an editor and a few shell utilities). This is a drag for two reasons: (1) Obviously, slow performance (no benchmarks given) and (2) if you want to sell something developed in C the consumer will need the interpreter. Manx hasn't set a policy on how to distribute the interpreter, but will either charge a licensing fee of ~10 for each copy sold, or have no license fee at all. Recognizing that this arrangement is just half a loaf, Manx intends to come out with a fully-compatible native code compiler in about 6 months (evidently it hasn't been finished yet). They've figured out the stack problem (they create their own pseudo-stack, I think) and have run impressive sounding benchmarks on the native code compiler. All in all, Manx offers a good potential product, but we'll have to see. Their address: Manx Software Systems, PO Box 55, Shrewsbury, NJ 07701. Phone: (201) 780-4004 Other options: Tiny C associates (P.O. Box 269, Homodel, NJ 07733, phone (201) 671-2296) offers a Tiny C for the Apple II for $100. Problems: (1) Tiny C is limited (no for statements, no floating point math, to name two big problems). (2) The Apple II version is, like Manx's an interpreter, and the woman at Tiny C mentioned no plans to write an Apple II Tiny C native code compiler (al- hough they do have one for CP/M). This arrangement seems clearly inferior to Manx's, except for those who want to save $99 and don't mind losing some non-trivial language constructs and features. Advanced Digital (1701 21st Avenue S, Nashville, TN 37212, phone 615-383-7520) offers a C cross-compiler for the 6502 that, according to my source, can run on UNIX, RT, RSX, IAS, VMS, etc (as long as you have the corresponding machine's native C compiler as well). This compiler supports almost full C (no floats, longs, or bit fields). The drawback: It costs $1700. Caveat: I haven't followed this up, as I have no interest in a cross-compiler, so I can't vouch for the accuracy of this information. That's about it, except that the man from Manx (sounds like a spy novel) said that he thought there was another full or almost full C compiler on the market for the Apple II. Not surprisingly, he didn't give me any information. *********** There you have it. If anybody goes out and buys any of this stuff, please send me your impressions of the product. Thanks again to everybody who responded. Rob (yale-com!glaser)