[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Development Tools
martin lytz <mlytz@mindspring.com> wrote:
> I visited ByteWorks and found they had two sets of tools available for
> sale at their website - the ORCA C compiler & Assembler, and the Apple
> MPW C compiler & Assembler. I would like to use the IIgs as the machine
> of choice to write code on but can I do that with the MPW tools?
Nope. The MPW tools are hosted on the Macintosh, running under the
Macintosh Programmer's Workshop environment.
The ORCA tools are IIgs native and are fine for writing IIgs
applications.
Note also that the MPW C compiler is a "K&R" level compiler, with some
extensions. It is _not_ ANSI C. ORCA/C is ANSI C (with a few minor
omissions and deviations, such as not implementing <stdarg.h> in a fully
compliant manner).
> Are the debuggers any good?
Not too bad. I generally did most debugging using Apple's "GSBug"
machine level debugger, with occasional use of ByteWorks' ORCA/Debugger.
If you are familiar with full fledged debuggers in other environments, I
think you will disappointed with ORCA/Debugger. The first "real" source
level debugger I used was Borland's Turbo Debugger (with Turbo C and
later Borland C for DOS and OS/2).
ORCA/Debugger doesn't come anywhere near Turbo Debugger in capabilities,
but it is OK for occasional simple use. I was familiar enough with
machine code to be quite comfortable doing nearly everything in GSBug.
(It has been so long since I used it that I can no longer remember the
specific areas where I disliked it. I expect a fair number were due to
limitations of the processor itself - not having hardware breakpoints,
for example.)
Note that ORCA/Debugger is a separate product from ORCA/C. I'm not sure
about the availability of GSBug (it is a separate product, but I don't
know whether it is available from Byte Works).
There was a third party source level debugger called Splat!, which was
supposed to be better, but I never used it and don't know whether it is
still available in any form.
> If I am stuck using a mac (God forbid) for development are there any in
> circuit emulators for use with the mac with the IIgs as the target?
In circuit emulators? I'm not aware of _any_ ICE system for developing
on the IIgs. You might be able to get a PC-hosted generic 65816
development system which uses an ICE, but it wouldn't have any
IIgs-specific support, and it would be a major exercise to write IIgs
code.
> ByteWorks emailed me that the ORCA tools could run native on the IIgs
> with enough system resources.
Yep. A hard drive is pretty essential, and you should be able to run
them comfortably in 2MB of RAM (4MB would be better for big projects).
> Is this toolset stable?
Mostly. I switched to using a third party editor before the 2.x tools
were released, so I avoided teething problems with the early 2.x editor
(I'm sure it is fixed now). The graphical front end for the shell
seemed to be pretty unstable every time I tried to use it (I gave up in
the end and stuck to the text environment, and I don't think I looked at
any recent versions).
The compilers, assembler and linker are fine.
> Other searches on the net revealed other tool vendors for the 65C816.
Presumably they are for generic 65816 embedded system development. I'd
steer clear of anything like this if you want to write native IIgs
software. They might be OK if you want to write 8-bit software or your
own operating system.
The main problem is that any generic 65816 tools will be missing support
for IIgs-specific stuff like calling the toolbox and GS/OS, and even the
file format which must be used for GS/OS applications.
> I come from an embedded computer hw/sw/fw development environment so I
> was a bit surprised to not see a c compiler, linker, and assembler
> rolled into one product like what is available in the microcontroller
> world. But, the tools don't break the bank so I guess that's that.
ORCA/C has a reasonably usable inline assembler for small code tweaks.
You need the separate ORCA/M assembler if you want to get into heavy
duty assembly.
All the languages (C, Pascal, Modula-2 and Assembler) work well
together, using the same shell, editor, linker and core runtime
libraries. You can write mixed language programs, if you like (it is
best to have the "mainline" in a high level language rather than
assembly).
The high level languages include the graphical front end for the shell,
but you don't get this if you only buy the assembler.
You get library source (all in assembly, requiring ORCA/M if you want to
change anything) with each language.
--
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand