[net.micro.amiga] Lattice C and other things

hcarter@afit-ab.ARPA (12/27/85)

From: hcarter@afit-ab.ARPA (Harold Carter)


The current issue of lattice C (2.03 I think) that is being distributed
as Amiga C has the following plus and negative characteristics:

                + Implements the complete syntax and semantics as V. 5
                  K & R Unix C

                - Documentation is the pits.  A lot of libs and .h files
                  are supplied for which there is absolutely no documentation.
		  As recognised by others on this net, the manual does
                  not accurately reflect what is distributed.  Even
                  the errata sheets have significant errors!

                - No "exec" function seems to be supplied to permit chaining
                  to existing programs.  (I tried to write a small C program
                  which would be called from the Startup-Sequence on power
                  up of the Amiga to request date and time, then execute date
                  with that date and time.  With no "exec", couldn't make
                  linkage cleanly, so I ended up with a terrible kludge...)

                - The install sequence supplied with Amiga-C is worthless
                  if one wants to create a system disk for C development
                  leaving df1: entirely free for developer's code.  I use
                  the following structure for my df0: disk -

                        c - only put those executable programs that you
                            really need to edit, compile, and execute your
                            programs.  Not including "edit" and other
                            large programs frees up alot of disk space.

                        s - only put Startup-Sequence and Make (from the Amiga
                            C disk) here.  Modify Startup-Sequence to load
                            CLI by removing the last line from the vanilla
                            version supplied with the Amiga.  Modify the Make
                            script by putting "df0:" in front of all file
                            references to lib files.

                        libs - get rid of any libs you don't think you'll
                            need.  For my applications, I don't plan on using
                            Workbench or other built-in graphics facilities
                            and what I need I'll grow my own, so this
                            directory is currently empty.  This may change
                            as I use more of the system.

                        lib - amiga.lib, debug.lib, Lstartup.lib, Astartup.lib,
                            and lc.lib are here.

                        l - Disk-Validator, Ram-Handler, and Port-Handler.

                        devs - As per original Workbench disk except I removed
                             printers directory since I plan on using my
                             cp/m system as a print spooler for the time being.

                        t - empty (and will stay that way since this disk is
                             write protected).

                        fonts - empty since system seems to want this directory
                             but I don't need the fonts (yet).

                        include - copy include directory from the Amiga-C disk 
                             to here and then remove the workbench and intuition
                             subdirectories.

               All this fits on one 880 K disk with 39 blocks to spare.  Since
               my application is for integrated circuit and PC board CAD, I
               find the workbench and intuition graphics get in my way, so
               they are not a part of my C development disk.  However,
               anything mentioned above may change as I get more
               familiar with all the undocumented .h and lib files.

             - C programs take forever to compile and load!

I would be interested in how others have configured their C development disks.
Also, where in the world do we get documentation on all the .h files and lib
files supplied on the Amiga C disk?  I am one frustrated fellow at this time
because I can't even communicate normally with the serial port!!

By the way, the serial port is configured for a modem, not a terminal.  Thus,
one either needs to configure an RS-232 cable with pins 2 and 3 reversed, or
go into the insides of the Amiga, cut the 90-degree wires on pins 2 and 3
at the connector, and wire-wrap reverse connections on those cut pins
(carefully, very carefully!!) if terminal communications
is desired.  I strongly suggest that Commodore put in a modem/terminal switch
to accomplish this in further revisions of the Amiga so people like me don't
have to go inside the machine (which is beautifully layed out and packaged) and
perform unneccesary surgery.

One very nice touch... the underside of the top part of the cabinet has
the signature of a number of people - I assume this is the Amiga design and
development group.  Gave me a nice warm feeling that the machine came from
the fountain spring of human creativity and passion.

                         Lt Col Hal Carter
                         Air Force Institute of Technology

hamilton@uiucuxc.CSO.UIUC.EDU (12/29/85)

> I would be interested in how others have configured their C development disks.

the include files on my disk totalled something like 440Kb.  after i ran
them thru a few filters on the Vax, i reduced that to about 130K.  my
"C Workbench" thus has room for a large :c (currently ~600Kb).  i jettisoned
all the fonts and printer devices.  i might throw out translator&narrator
later, but i'm still playing with speechtoy, etc.  my :c directory must have
a lot of stuff yours doesn't -- standard commands plus cc, make, wack, etc.

	wayne hamilton
	U of Il and US Army Corps of Engineers CERL
UUCP:	{ihnp4,pur-ee,convex}!uiucdcs!uiucuxc!hamilton
ARPA:	hamilton@uiucuxc.cso.uiuc.edu
CSNET:	hamilton%uiucuxc@uiuc.csnet
USMail:	Box 476, Urbana, IL 61801
Phone:	(217)333-8703