home *** CD-ROM | disk | FTP | other *** search
-
-
- Source Code Documentation for CA Simulator 2.5
- February, 1990
-
-
- The source code is divided into the following modules:
-
- cell.c, cell.h
- Main module. Contains the function main which calls all
- routines necessary to initialize the automaton. Also contains
- general utilities.
-
- cellscr.c, cellscr.h
- Display module. Contains lots of SunView-specific code.
-
- celldata.c, celldata.h:
- Data structure module. Manipulates the pixrects which hold
- the current and image arrays, buffers, etc. No other routines
- (except in cellscr.c) know that the arrays are stored as
- pixrects.
-
- cellvonn.c:
- VonNeumann module. Contains VonNeumann (5-neighbor, 2-d)
- versions of all neighborhood-dependent functions.
-
- cellmoore.c, celllin.c, cellmargolus.c:
- Similar to cellvonn.c, but containing Moore (9-neighbor, 2-d),
- linear (1-d), and Margolus (4 spatial neighbors and 1 "phase"
- neighbor, 2-d) versions, respectively, of neighborhood-
- dependent functions.
-
- cellnborhoods.h:
- Include file for the above neighborhood-specific modules.
- Containts mostly declarations of external variables.
-
- cellsock.c:
- Socket module. Contains all socket-related functions.
-
- cm_cellsim.c, cm_cellsim.h:
- Routines that communicate with a daemon process on a
- Connection Machine front-end (CMFE), to transfer data
- between Cellsim and the CM and tell the CM what to do.
-
- cm_cellproto.h:
- Define statements used for protocol between Cellsim and CMFE.
-
- dynamic.c:
- Code used to dynamically link in an object-code file
- (".o" file) containing a 256-state update-function.
- Supplied by Stephen Pope.
-
- cell.def:
- Defines various constants and macros common to all procedures.
-
- nborhood.h:
- Defines various structures and macros to simplify the
- task of writing rules. The neighborhood-specific routines
- above use this file to package neighborhoods to send to
- the user's update-function, when 256 states are being used.
-
- cell.icon:
- Defines the icon used by the frame when closed.
-
- t0.cursor, t1.cursor, ... , t15.cursor
- Textures used in black & white mode. These are stored
- in "iconedit" format.
-
-
- Finally, there is a Makefile which will put all of these together.
- Please note that before you compile, you should read the file "../Installation"
- to find out what changes you need to make to the Makefile.
-
-
- Our intention in making the source code available is to allow users who
- need additional capabilities to modify the code themselves for their own use.
- We ask that users who do decide to make their own modifications adhere to
- these guidelines:
-
- 1. Do not place any additional restrictions (charging fees, etc.) on
- further distribution of this code or its variants.
- 2. Document any changes you make, by comments at the head of the file(s)
- changed.
- 3. Do not remove the credit lines in the source code or documentation.
- 4. Do not distribute any programs which contain major changes from the
- original. We would like to keep the versions as similar as possible
- to avoid compatibility problems. If you should make a change which
- you think might interest other users, please let us know about it,
- and we may include it in a future release of the program with
- appropriate credit.
-
- Any comments, complaints, etc., should be sent to Chris Langton
- (cgl@LANL.GOV) and/or Dave Hiebeler (hiebeler@heretic.lanl.gov)
-
-
- /*
- *
- * Cellsim copyright 1989, 1990 by Chris Langton and Dave Hiebeler
- * (cgl@lanl.gov, hiebeler@heretic.lanl.gov)
- *
- * This package may be freely distributed, as long as you don't:
- * - remove this notice
- * - try to make money by doing so
- * - prevent others from copying it freely
- * - distribute modified versions without clearly documenting your changes
- * and notifying us
- *
- * Please contact either of the authors listed above if you have questions
- * or feel an exception to any of the above restrictions is in order.
- *
- * If you make changes to the code, or have suggestions for changes,
- * let us know! If we use your suggestion, you will receive full credit
- * of course.
- */
-
- /*****
- * Cellsim history:
- *
- * Cellsim was originally written on Apollo workstations by Chris Langton.
- *
- * Sun versions:
- *
- * - version 1.0
- * by C. Ferenbaugh and C. Langton
- * released 09/02/88
- *
- * - version 1.5
- * by Dave Hiebeler and C. Langton May - June 1989
- * released 07/03/89
- *
- * - version 2.0
- * by Dave Hiebeler and C. Langton July - August 1989
- * never officially released (unofficially released 09/08/89)
- *
- * - version 2.5
- * by Dave Hiebeler and C. Langton September '89 - February 1990
- * released 02/26/90
- *****/
-