tim (01/24/83)
I am looking for a reasonably complete C compiler for my Atari 800. I would like to hear from anybody that has bought such a thing and what they thought of it (what was missing from it? how fast was it? what assembler was required for it? efficiency of generated code?...) Please mail your replies to... ...decvax!utzoo!dciem!tim Tim Pointing
bernie (01/25/83)
The problem is that the Atari (like the Pet, Apple and far too many others) uses the 6502, by far the most primitive of the widely-used microprocessors in terms of architecture and instruction set. It *cannot* support a native C compiler, and the code density coming out of even the best cross-compilers is bound to be poor. There are NO 16-bit registers, the stack is 8 bits wide and is fixed-size (256 bytes) and at a fixed location (page 1 in memory). The only effective way of implementing a high-level language is to write an intermediate-code interpreter (the approach taken by the USCD p-system) or put in a supplementary processor (such as the Z-80 or (better yet, from a high-level language implementer's point of view) a 6809). To the best of my knowledge, none of the above are available for anything except the Apple. There are alternatives, however; Forth is almost certainly available, if only because it's so easy to port; Atari Basic is supposed to be reasonable for really simple applications; 6502 Assembler sucks, but the 6502 is a fast processor and writing in assembler lets you take advantage of that speed. My suggestion : buy a second system, like the IBM PC, with a decent processor and tons of good software. If you're in no rush for quality software, anything based on the 68000 is going to be more powerful that the IBM PC with its 8088. However, if you're really patient the 16000's will be out soon, and should be strong contenders. --Bernie Roehl ...decvax!utzoo!watmath!watarts!bernie P.S. There is a Tiny-C *interpreter* for the 6502, but it is extremely slow and provides a truly tiny subset of a subset of the language. Good for playing with, useless as a serious software development tool.