home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d03xx / d0340.lha / NorthC / NorthC.lzh / README < prev    next >
Text File  |  1990-02-27  |  9KB  |  278 lines

  1. NorthC Version 1.0  March 1990 (c) 1990 S.Hawtin.
  2.  
  3.  
  4.             NorthC by Steve Hawtin
  5.  
  6.  
  7.   Welcome to NorthC, the first complete(ish) public domain 'C' environment 
  8. for the Amiga that I am aware of.  This disk contains all you need to 
  9. compile and link 'C' programs, all the necessary documentation is included 
  10. on the disk.  You are allowed to copy this disk and distribute copies, 
  11. provided you charge no more than a reasonable copy fee.  However you may 
  12. not copy the "Blink" program without "Blink.doc", the "A68K" program without 
  13. "A68k.doc" or the "NorthC" program without "Bugs.doc".
  14.  
  15.   I have attempted to create a single floppy containing everything you will 
  16. need to start programming in 'C', if you wish to copy the programs on this 
  17. floppy you are welcome to them.  If you are passing on any of this software 
  18. please copy the complete floppy, even if you know enough about 'C' to not 
  19. require all the examples and documentation someone further down the chain 
  20. might not be so clever.
  21.  
  22.  
  23. **** NOTE ****
  24.   If you change the name of this disk from "NorthC" you must edit the files
  25. "setup-NorthC" and "Single-Disk" or they will cease to work.  In addition 
  26. you should edit "hello.doc".
  27. **** NOTE ****
  28.  
  29.  
  30.   The complete NorthC 1.0 disk contains at least the following files,
  31.  
  32.  
  33. hello.doc
  34.  
  35.     A quick introduction to 'C' under NorthC, read this if you have never
  36.   used 'C' before, or if you have trouble remembering the parameters to
  37.   "cc".  This document takes the first time 'C' user through the steps 
  38.   neccesary to produce the "Hello world" program.
  39.  
  40.  
  41. setup-NorthC
  42.  
  43.     A script file to set the path and create a logical device "clibs:" you
  44.   should run this each time you use NorthC.  If you are using NorthC from
  45.   a hard disk you can put the contents of this file in your startup 
  46.   sequence.  If you have only a single floppy "Single-disk" will set up the
  47.   environment.
  48.  
  49.  
  50. Single-disk
  51.  
  52.     A script file to set up an unexpanded Amiga 500 to compile the "Hello
  53.   World" program, after you have used it once you should go out and buy a 
  54.   second drive then use "setup-NorthC".
  55.  
  56.    
  57. README
  58.  
  59.     This file, a list of the files in NorthC 1.0.
  60.  
  61.  
  62. tools/ar.c  tools/cc.c
  63.  
  64.     The source files for the ar and cc programs, the commands "cc -occ cc.c"
  65.   and "cc -oar ar.c" will recompile these files for you.  These are here
  66.   mainly as examples that are garenteed to compile with NorthC.  Also cc.c
  67.   is a good program to hack about a bit if you want to change your top level
  68.   interface.
  69.  
  70.  
  71. libs
  72.  
  73.     The 'C' library files, this directory contains the files NorthC requires
  74.   for the standard library and the startup routines.  The files in this 
  75.   directory are listed below.
  76.  
  77.  
  78. libs/libc.doc
  79.  
  80.     Documentation on the 'C' library routines currently implemented in the 
  81.   'C' library.  This document should be printed out and often refered to.
  82.  
  83.  
  84. libs/clibdefs.i
  85.  
  86.     Some macros to use in assembler routines, these are specifically made
  87.   to suit my programming style, feel free to steal any ideas you think are 
  88.   usefull.
  89.  
  90.  
  91. libs/dos.i
  92.  
  93.     A list of the standard AmigaDOS library offsets, this has been generated
  94.   from "small.lib" in ":examples/libread".  By including these as hard coded 
  95.   offsets I do not have to load any library other than "libc.a" when linking
  96.   NorthC programs.
  97.  
  98.  
  99. libs/libc.a
  100.  
  101.     The standard 'C' library, the functions in this library attempt to follow 
  102.   the ANSI standard, see "libc.doc" for a list of the functions implemented.
  103.   The maths routines use Motorola Fast Floating Point format, the "double" 
  104.   data format in NorthC is 32 bits.
  105.  
  106.  
  107. libs/crt0.o
  108.  
  109.     The startup routine, this will load up the libraries, open a console,
  110.   and generally do the things startup routines are supposed to.  Examine the
  111.   source code for details of what it does.
  112.  
  113.  
  114. libs/crt0.asm
  115.  
  116.     The source for the startup routine, alter this if you do not like the
  117.   startup, but remember to note the fact in the file.  It is important that
  118.   you call "__main" not "_main" otherwise some things will not be 
  119.   initialised correctly.
  120.  
  121.  
  122. bin
  123.  
  124.     This directory contains the compiler, assembler, linker and front end 
  125.   for NorthC, these mostly come from other people see the documentation for 
  126.   the sources.
  127.  
  128.  
  129. bin/NorthC
  130.  
  131.     The compiler, this will translate 'C' source into assembler files.  
  132.   Read the file "bugs.doc" to find details of the current release.
  133.  
  134.  
  135. bin/a68k  bin/A68k.doc
  136.  
  137.     The assembler from Charlie Gibbs, again the doc file gives more details.
  138.   This translates assembler files into object files.
  139.  
  140.  
  141. bin/Blink   bin/Blink.doc
  142.  
  143.     The linker from "The Software Distillary", see the doc file for details.
  144.   This combines object files and libraries to produce executable programs.
  145.  
  146.  
  147. bin/Bugs.doc
  148.  
  149.     A list of known bugs in this version of NorthC, this includes work 
  150.   arounds for many of the bugs.  It is important to read this document when 
  151.   you find your program not behaving as it should.
  152.  
  153.  
  154. bin/cc  bin/cc.doc
  155.  
  156.     The front end, this will control the compiler assembler and linker.  This
  157.   program loosly follows the normal UNIX conventions, however it needs to be
  158.   hacked before it does everything you will need.
  159.  
  160.  
  161. bin/ar
  162.  
  163.     The library creator, note this takes a very simple view of creating 
  164.   libraries, it just concatenates files together.  See the tools directory
  165.   to examine the source.
  166.  
  167.  
  168. include/string.h include/ctype.h  include/stdarg.h include/assert.h
  169. include/stddef.h include/stdio.h  include/errno.h  include/macros.h
  170. include/setjmp.h include/limits.h include/time.h   include/stdlib.h
  171. include/types.h
  172.  
  173.     The standard 'C' include files, this set comes originally from the
  174.   Sozobon 'C' compiler.  The compiler automatically looks in the ":include"
  175.   directory for the include files, if you want it to look elsewhere change
  176.   the "INCLUDE" environment variable.
  177.  
  178.  
  179. include/exec include/graphics include/intuition
  180.  
  181.     There are selected parts of selected include files within these
  182.   directories, these were the bare minimum to allow me to get at the 
  183.   operating system.  The "Amiga ROM Kernel Reference Manual: Includes & 
  184.   Autodocs" contains full listings of the contents of all the include 
  185.   files.
  186.  
  187.  
  188. examples
  189.  
  190.     This directory contains some simple examples that have been ported to
  191.   NorthC, these sources should be looked at to get ideas from.
  192.  
  193.  
  194. examples/libread/libread.c
  195.  
  196.     A simple library reading program, this program converts "small.lib" to
  197.   an assembly language include file "dos.i".
  198.  
  199.  
  200. examples/libread/small.lib   examples/libread/POSTER
  201.  
  202.     Small.Lib from the "Fish 92" disk, "POSTER" gives details.  This file
  203.   is on the disk to act as a data file, it is not directly used by the NorthC
  204.   environemnt.
  205.  
  206.  
  207. examples/gnu-go
  208.  
  209.     This directory contains a very preliminary port of the GNU version of
  210.   Go.  It contains the source code for a simple Go player.
  211.  
  212.  
  213. examples/gnu-go/DOCUMENT  examples/gnu-go/COPYING  examples/gnu-go/README
  214.  
  215.     The GNU documentation for GnuGo, the copying conditions only apply to
  216.   files within the "examples/gnu-go" directory.  However I fully endorse
  217.   the warranty clauses in "COPYING", they can be taken to apply to all
  218.   portions of the disk that I own the copyright to.
  219.  
  220.  
  221. examples/gnu-go/README.doc
  222.  
  223.     A quick introduction to the Amiga Port of GNU-GO.
  224.  
  225.  
  226. examples/gnu-go/Makefile.Amiga
  227.  
  228.     A batch file to compile the complete gnu-go program, at the moment most
  229.   of the compile lines are commented out, remove the ';' characters and 
  230.   type "execute Makefile.Amiga" at the CLI to remake the program.
  231.  
  232.  
  233. examples/gnu-go/blink.list
  234.  
  235.     A Blink "with" file to relink the gnu-go program, when I have a working
  236.   version of "make" I will not need to use Blink "with" files.  At the
  237.   moment there are too many files to link at the same time.
  238.  
  239.  
  240. examples/gnu-go/AmLow.asm  examples/gnu-go/AmWindow.c
  241.  
  242.     Some source files, these show one way to call OS functions from NorthC.
  243.   If you want to add stubs to AmigaDOS commands copy the ideas from here,
  244.   but remember to save the registers.
  245.  
  246.  
  247.  
  248. NorthC Version 1.0  March 1990 (c) 1990 S.Hawtin.
  249.  
  250.   Permission is granted to copy all original data and programs on this disk 
  251. provided that:
  252.    1) It is not used for commercial gain
  253.    2) This notice is included in all copies
  254.    3) Altered copies are marked as such.
  255.  
  256.   No liability is accepted for the contents of any part of this disk.
  257.  
  258.   It is my understanding that all the non original data and programs on this
  259. disk can be copied freely, provided the restrictions noted in the various
  260. documentation files are observed.
  261.  
  262.   This software is in the public domain, you should not have to pay more
  263. than a copy fee for it.  If you feel that my hard work in preparing this 
  264. disk deserves some reward you could send a donation of $25 (US) or ú15 
  265. (sterling), or equivalent, to
  266.  
  267.   S.Hawtin,
  268.   54 Gloucester Drive,
  269.   Basingstoke,
  270.   Hampshire,
  271.   RG22 4PH,
  272.   U.K.
  273.  
  274. this would encourage me to fix bugs, improve the software and come out
  275. with another release.  If you include bug reports and comments I will 
  276. try to act on them, if you also send a blank floppy and a self addressed 
  277. envelope I will send you the latest release of the disk.
  278.