novack@hope.UUCP (Steve Novack) (05/06/86)
I'm looking for information about C compilers for the apple ][. Any information would be GREATLY appreciated. Thanks in advance, Steve Novack
dr@ski.UUCP (David Robins) (05/11/86)
> I'm looking for information about C compilers for the apple ][. Any > information would be GREATLY appreciated. > > Thanks in advance, > Steve Novack Funny you should ask! I just recently received a MANX Aztec-C compiler for the Apple. It turns out, MANX has several packages, as seen in some of their ads. DOS 3.3 systems: Aztec-C Apprentice system- for learning C generates a pseudo-code, which is interpreted at runtime has separate runtime system for graphics programs, which eliminates use of some trig functions, scanf, etc. Fast one-pass compiler Must have SHELL present Uses a runtime package of ~70 sectors length Code is small for this reason Price ~ $30.00 (quite a bargain!) Aztec-C Personal System- no longer made Aztec-C C-Prime has a real compiler and native code assembler linker for standard library, as well as floating point and graphics much faster than Apprentice-C code longer, of course. No runtime code, but must have SHELL present Price ~99.00 (includes Apprentice-C) - takes place of Personal C package. Both of of these come with a UNIX-like "shell", which uses many of the familiar UNIX commands. All programs must run under the shell. Cannot link apprentice-c code and c-prime code. Aztec-C Developer's package has both a pseudo-code and native code compiler can link program modules of any mixture of these types to get a compact program with fast (but larger) parts for the time-consuming loops, etc. (but I don't know if a runtime package is needed for the pseudo-code in this mixture) CAN PRODUCE stand-alone code- additional 2-4K runtime code Price ~199.00 Aztec-C Commercial package (supports PRODOS and DOS 3.3) in beta-test now (not available) will support some RAM addition (/RAM like PRODOS ???) Price ~299.00 Size of program allowed (including data storage, etc): Apprentice-C: no graphics: ~8k space with graphics: ~ 5600 bytes, or ~14k if using HGR2 instead of HGR page1. The company doesn't mention size in the C-Prime part; they told me it's the same as Apprentice-C. They have not split the code to allow jumps around the graphics pages, so graphics programs are bound by that upper limit. They may support auxiliary RAM cards in the future to store data, or maybe even store swapable code, but nothing definite yet. bytes in the Apprentice-C The Developer's version allows overlay code, so programs can be any size, and parts can be swapped in from disc. I don't know about support for hard drives. These packages require unmodified DOS in the standard location, so pseudo-RAM drives and DOS-movers cannot be used. Throrough manual included with the C-prime package and Apprentice system I have. The company tech I spoke to recommended the PC systems, rather than the Apple systems, because of the larger space available in the PC, and the lack of interference with the graphics pages. (systems available for MS-DOS, PC-DOS,CP/M-86, MacIntosh, Amiga, CP/M-68K,Apple II, Commodore C128, Radio Shack) FURTHER READING: Call-A.P.P.L.E. December 1983, and January 1984 "C" What I Mean, Parts I & II, Jim Hockenhull (Pt I explains C; Pt II reviews the Aztec-C $200 system) Anecdotal "benchmark": using the standard published Sieve programs from Byte in C and BASIC: (All times include the Titan Accelerator //e card, running unless noted) for a sieve of size 7000 (yielding 1651 primes) Applesoft = 240 seconds (few hundred bytes) Applesoft = 73 seconds Microsoft Applesoft Compiler = 18 seconds Apprentice-C = 12.5 seconds(file size 5 sectors) C-Prime C ~ 1.5 seconds (file size 50 sectors) BTW: I have no connection with MANX or APPLE. -- ==================================================================== David Robins, M.D. Smith-Kettlewell Institute of Visual Sciences 2232 Webster St; San Francisco CA 94115 415/561-1705 {ihnp4,qantel,dual}!ptsfa!ski!dr The opinions expressed herein do not reflect the opinion of the Institute!
nazgul@apollo.uucp (Kee Hinckley) (05/13/86)
In article <249@ski.UUCP> dr@ski.UUCP (David Robins) writes: > > I'm looking for information about C compilers for the apple ][. Any > > information would be GREATLY appreciated. > > Aztec-C Developer's package > has both a pseudo-code and native code compiler > can link program modules of any mixture of these types > to get a compact program with fast (but larger) parts > for the time-consuming loops, etc. > (but I don't know if a runtime package is needed for > the pseudo-code in this mixture) > CAN PRODUCE stand-alone code- additional 2-4K runtime code > Price ~199.00 You don't really have to worry about the difference between psuedo-code and real-code stuff. Everything links together and the interpreter is linked in automatically. You can use both interpreted and compiled code in standalone compiled modules as well as ones that run under the shell. Generally you do all of the development work under the shell, and then just bind in the standalone library instead when you are ready to test the final product. > > Aztec-C Commercial package (supports PRODOS and DOS 3.3) > in beta-test now (not available) > will support some RAM addition (/RAM like PRODOS ???) > Price ~299.00 > Currently the only ram support in this version is the /ram ramdisk. The shell in this is also much more powerful, it supports both wildcards and environment variables. In particular you can use special environment variables like CCTEMP and INCLUDE to specify where to put temporary files (on the ram disk usually) and where to look for include files (INCLUDE has the same format as PATH, which is also supported). > The Developer's version allows overlay code, so programs can be any > size, and parts can be swapped in from disc. I don't know about support > for hard drives. I've tried using the DOS3.3 stuff on my hard drive (CMC with the PROFIX software support for DOS volumes on the drive) but PROFIX modifies DOS too much for Aztec to deal with it. I don't know if there are any work arounds. The PRODOS stuff works like a charm on a hard drive though. > > These packages require unmodified DOS in the standard location, so > pseudo-RAM drives and DOS-movers cannot be used. Yes and no. As I mentioned above, a very modified DOS won't work, but I've been using a RAM disk I typed in from a NYBBLE article several years ago and it works fine, in fact I'd hate to have to work without it. Generally I put the C compiler and editor (with a few tools) on one drive, the source/binary disk on a second, and the files I am currently working on on the ram drive. Then I set working directory to the ram drive. My compile scripts tell the compiler to always look for the file on the ram drive, but to put the final binaries on the source drive. All of the temporaries (where most of the reading/writing occurs) are on the ram. You can't fit both the linker and the compiler on one disk though, so you still have to do some disk swapping. > The company tech I spoke to recommended the PC systems, rather than the > Apple systems, because of the larger space available in the PC, and the > lack of interference with the graphics pages. The PRODOS version has a linker option to leave holes in the linked text. This should allow you to easily use the graphics areas. If the program is small you can either link it under the graphics page, or over it. If you're to large do that there is one more hack you can do. If you just want to use the graphics screen occasionally you can copy the code out of the way, show your pictures, and then copy it back. This actually works pretty well so long as you make sure that the code to do the copy sits somewhere else. In any case these problems all should go away with the PRODOS version (I haven't actually tested that feature yet). ---------------- There are a couple other C compilers on the market now, all in the $50 price range. I don't know too much about them but I suspect that they have nowhere near the library/shell support that Manx provides. One of them had a product announcement in the latest A+ (they called it a C++ compiler, but that was before they realized there was already a langauage called C++). The other compiler is the Small-C compiler. It's really not a development language, it doesn't support anywhere near the full language, but it's available with source from the people who put out the ORCA/M assembler. You'll need to buy the assembler as well. If you're going to do any development, particularly for more than one machine, I definitely recommend the Aztec compilers. They run on a wide variety of machines. The benchmarks generally show them around the top in compile/run speed, and they support just about every UNIX system call (generally circa SysIII) that you might want. I've found some bugs in using them, but nothing I couldn't work around, and they have a bulletin board you can leave bug reports on and talk to other users. -kee Disclaimer: I don't work for Manx, Apollo doesn't use their compilers, and all these distorted views are my own. -- ...{yale,uw-beaver,decvax!wanginst}!apollo!nazgul This is the Button to Start the Machine To make with the Cybernetics and Stuff To cover Chaotic Confusion and Bluff That hung on the Turn of a Plausible Phrase And thickened the Erudite Verbal Haze Cloaking Constant K That saved the Summary Based on the Mummery Hiding the Flaw That lay in the Theory Jack built. A Space Child's Mother Goose (1 more message to finish this poem!)