Newsgroups: comp.robotics
Path: brunix!uunet!kithrup!stanford.edu!ames!elroy.jpl.nasa.gov!usc!wupost!micro-heart-of-gold.mit.edu!news.media.mit.edu!fredm
From: fredm@media.mit.edu (Fred Martin)
Subject: News from the developer of Micro-C
Message-ID: <1992Apr24.174615.14720@news.media.mit.edu>
Sender: news@news.media.mit.edu (USENET News System)
Organization: MIT Media Laboratory
Date: Fri, 24 Apr 1992 17:46:15 GMT
Lines: 169

A while back some of us were discussing Dave Dunfield's ``Micro-C,'' a
C compiler product that's tailored for compiling code that will run on
an 8-bit micro.

His compiler system supports quite a few micro's, including 6811,
8051, 8086, and is easily customized for other processors.  Binaries
of the compiler, assembler, and linker are provided for MS-DOS, but
Dunfield provides portable source code and it's easy to port the
system to just about any machine with a C compiler.

I've had quite a lot of success using Micro-C to write code to control
robots running off of a 6811 with 2K of internal EEPROM.

Anyway, he sent me this message and asked me to forward it around.  It
answers several questions people have raised about his product.

I hope people don't consider this to be too commercial a use of the
net.  I think this information would be valuable to many people and
that it would be difficult to get this information out otherwise.  I
have no affiliation with Dunfield other than being a satisfied
customer of his.

	- Fred

----------------------------------------------------------------------
Fred Martin	| fredm@media-lab.media.mit.edu	  | (617) 253-7143
MIT Media Lab	| Epistemology and Learning Group | Cambridge, MA 02139
----------------------------------------------------------------------


From Dave Dunfield (MICRO-C)

Greetings

A member of this newsgroup recently wrote to me for information on the
MICRO-C compiler, and included a listing of messages about it which had
been posted recently on this network.

I wish I could participate in these discussions directly,, however I've
moved out to the country and there isn't a networked UNIX system for
miles!!!

I've asked one of my customers (whose name presumably will be visible
at the top of this message) to post this list of comments etc. to
recent messages:

--------------------------------------------------------------------
??-???-?? Mike Ardai posted my old address:

  That address is no longer valid, but is being forwarded to me for the
  time being... I have a new address which is:

      Dunfield Development Systems
      P.O. Box 31044
      Nepean, Ontario Canada
      K2B 8S8

      Voice: (613) 256-5820 [Between 0800-1900 EST Please!]
      Fax  : (613) 256-5821 [0800-1900 EST Mon-Fri]
      BBS  : (613) 256-5821 [1900-0800 EST Mon-Fri, All day Sat-Sun]

  You can get an up-to-date copy of my catalog at any time, by calling
  the BBS, and logging in with the name 'catalog' (lower case). The
  system will them immediately XMODEM download CATALOG.ZIP to you,
  and hang up the telephone.

11-Feb-92 Girish Govind askes about porting MICRO-C to unix:

  Many of my customers have ported MICRO-C to a number of different
  versions of Unix, Qnx, Coherent etc., and report no problems. I even had
  one guy port it to run on and generate code for an IBM 370/MVS system!

  I have personally compiled MICRO-C with as many different compilers
  and systems as I can get my hands on, and so far have not found any
  that I could not get it running on with little difficulty. (Except
  for SMALL-C which is missing too many things that MICRO-C uses).

11-Feb-92 Ed Carryer mentions that He hasn't seen XASM source:

  The source for XASM (all 10 assemblers + utilities) is only available
  directly from me, and costs $50 (with purchase of XASM).

  Ed also notes that I don't distribute source in the "demo" archive
  any more. I'm sorry that I had to do this, however I had seen much
  talk on various BBS networks about what a great time people I had
  never heard of were having with MICRO-C. I only sold about 5-10 copies
  a year. Since pulling the source and making enough enhancements to
  differentiate the new from the old, I am now selling about 3-4 copies
  a DAY!!!

  I have since gone into this "full time", and legitimate users of my
  products have benefited from my new distribution policy. I have made
  many improvements/enhancements/additions to the products, and offer
  much better support services.

  I would like to ask anyone who has a old version of MICRO-C (with
  source code) to NOT distribute it or make if available for download.

20-Feb-92 Girish Govind asks about setting up MEMORY/IO:

  Recent editions of MICRO-C "Developers Kits" document this much better,
  mainly in the form of a READ.ME file in the directory for each processors
  library which documents the EXACT changes necessary to relocate ROM/RAM
  and I/O devices.

  Also, each "Developers Kit" includes a document describing the compiler
  and libraries as implemented for each particular processor. This covers
  such things as command syntax, memory models, CPU specific extensions,
  library functons etc.

  The "Developers Kits" contain the entire MICRO-C and XASM packages, a
  collection of programmers utilities of mine, as well as a Debug Monitor
  or Simulator, and hand coded library for the particular processor which
  is targeted by the kit. Currently Dev. Kits are availabel for 6811, 6809
  8051, 8085, 8086 and 8096. (68HC16 coming soon, as soon as motorola
  coughs up the EVS Toolkit I ordered).

20-Feb-92 Fred Martin describes his MICRO-C setup, and points out a
          couple of "minor complaints".

  - ASM11 is slow
    I have recently made improvements to all of my assemblers which make
    them run significantly faster than before. Also, my ASM11 performs
    an extra "optimization" pass that AS11 does not, and thus (usually)
    generates tighter code. I have a number 6811 source files which will
    not assemble with AS11 because of "Branch out of range", but assemble
    (and work) OK with ASM11.

    I do admit however that the compiler does really make use any of
    ASM11's enhancements. Since AS11 and ASM11 have virtually the same
    syntax (within AS11's subset of ASM11), it is very easy to substitute
    AS11 for ASM11 if you wish.

  - 'C' names restricted to 8 chars.
    Symbol names in MICRO-C can be as long as you like, however only the
    first 15 characters are significant. Most of the code generators futher
    squash global names down to 8 characters (For XASM compatibility),
    however this is done with a reduction algorithm that retains the first
    and last four charcters for a symbol, and orders the last four chars
    based on the total length of the name. Conflicts are *very* rare. The
    next release of XASM will allow up to 15 character symbols.

  - SLINK dosn't allow you to specify a different INDEX file.
    Newer releases of SLINK support this and many other enhancements,
    such as multiple output "segments", which get collected up and placed
    sequentially in the output file. Also included now are utilities for
    automatically creating and maintaining the library and index file.

06-Mar-92 Jason Baker asks about re-configuring for 68HC11A1

  The 68HC11 library now contains a READ.ME file with all the details of
  memory addressing etc.

  Another common problem experienced by people using the Motorola 68HC11
  EVB is that since MICRO-C's (and MON11's) default serial I/O functions
  use the internal SCI port, you have to connect your terminal to the HOST
  connector on the EVB. The EVB's terminal port is apparrently an external
  ACIA.
--------------------------------------------------------------------

I can be contacted at the address and telephone numbers posted earlier in
this message if anyone has any questions, or wants further information.

  - Dave Dunfield


-- 
Fred Martin	| fredm@media-lab.media.mit.edu	  | (617) 253-7143
MIT Media Lab	| Epistemology and Learning Group | Cambridge, MA 02139
