home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / cellsim / v2_5 / src / source.doc < prev    next >
Encoding:
Text File  |  1990-02-26  |  4.6 KB  |  139 lines

  1.  
  2.  
  3.                  Source Code Documentation for CA Simulator 2.5
  4.                                February, 1990
  5.  
  6.  
  7.      The source code is divided into the following modules:
  8.  
  9.      cell.c, cell.h
  10.         Main module.  Contains the function main which calls all
  11.         routines necessary to initialize the automaton.  Also contains
  12.         general utilities.
  13.  
  14.      cellscr.c, cellscr.h
  15.         Display module.  Contains lots of SunView-specific code.
  16.  
  17.      celldata.c, celldata.h:
  18.         Data structure module.  Manipulates the pixrects which hold
  19.         the current and image arrays, buffers, etc.  No other routines
  20.         (except in cellscr.c) know that the arrays are stored as
  21.         pixrects.
  22.  
  23.      cellvonn.c:
  24.         VonNeumann module.  Contains VonNeumann (5-neighbor, 2-d)
  25.         versions of all neighborhood-dependent functions.
  26.  
  27.      cellmoore.c, celllin.c, cellmargolus.c:
  28.         Similar to cellvonn.c, but containing Moore (9-neighbor, 2-d),
  29.         linear (1-d), and Margolus (4 spatial neighbors and 1 "phase"
  30.         neighbor, 2-d) versions, respectively, of neighborhood-
  31.         dependent functions.
  32.  
  33.      cellnborhoods.h:
  34.         Include file for the above neighborhood-specific modules.
  35.         Containts mostly declarations of external variables.
  36.  
  37.      cellsock.c:
  38.         Socket module.  Contains all socket-related functions.
  39.  
  40.      cm_cellsim.c, cm_cellsim.h:
  41.         Routines that communicate with a daemon process on a
  42.         Connection Machine front-end (CMFE), to transfer data
  43.         between Cellsim and the CM and tell the CM what to do.
  44.  
  45.      cm_cellproto.h:
  46.         Define statements used for protocol between Cellsim and CMFE.
  47.  
  48.      dynamic.c:
  49.         Code used to dynamically link in an object-code file
  50.         (".o" file) containing a 256-state update-function.
  51.         Supplied by Stephen Pope.
  52.  
  53.      cell.def:
  54.         Defines various constants and macros common to all procedures.
  55.  
  56.      nborhood.h:
  57.         Defines various structures and macros to simplify the
  58.         task of writing rules.  The neighborhood-specific routines
  59.         above use this file to package neighborhoods to send to
  60.         the user's update-function, when 256 states are being used.
  61.  
  62.      cell.icon:
  63.         Defines the icon used by the frame when closed.
  64.  
  65.      t0.cursor, t1.cursor, ... , t15.cursor
  66.         Textures used in black & white mode.  These are stored
  67.         in "iconedit" format.
  68.  
  69.  
  70. Finally, there is a Makefile which will put all of these together.
  71. Please note that before you compile, you should read the file "../Installation"
  72. to find out what changes you need to make to the Makefile.
  73.  
  74.  
  75.      Our intention in making the source code available is to allow users who
  76. need additional capabilities to modify the code themselves for their own use.
  77. We ask that users who do decide to make their own modifications adhere to
  78. these guidelines:
  79.  
  80.      1.    Do not place any additional restrictions (charging fees, etc.) on
  81.     further distribution of this code or its variants.
  82.      2.    Document any changes you make, by comments at the head of the file(s)
  83.     changed.
  84.      3.    Do not remove the credit lines in the source code or documentation.
  85.      4.    Do not distribute any programs which contain major changes from the
  86.     original.  We would like to keep the versions as similar as possible
  87.     to avoid compatibility problems.  If you should make a change which
  88.     you think might interest other users, please let us know about it,
  89.     and we may include it in a future release of the program with
  90.     appropriate credit.
  91.  
  92. Any comments, complaints, etc., should be sent to Chris Langton
  93. (cgl@LANL.GOV) and/or Dave Hiebeler (hiebeler@heretic.lanl.gov)
  94.  
  95.  
  96. /*
  97.  *
  98.  * Cellsim copyright 1989, 1990 by Chris Langton and Dave Hiebeler
  99.  * (cgl@lanl.gov, hiebeler@heretic.lanl.gov)
  100.  *
  101.  * This package may be freely distributed, as long as you don't:
  102.  * - remove this notice
  103.  * - try to make money by doing so
  104.  * - prevent others from copying it freely
  105.  * - distribute modified versions without clearly documenting your changes
  106.  *   and notifying us
  107.  *
  108.  * Please contact either of the authors listed above if you have questions
  109.  * or feel an exception to any of the above restrictions is in order.
  110.  *
  111.  * If you make changes to the code, or have suggestions for changes,
  112.  * let us know!  If we use your suggestion, you will receive full credit
  113.  * of course.
  114.  */
  115.  
  116. /*****
  117.  * Cellsim history:
  118.  *
  119.  * Cellsim was originally written on Apollo workstations by Chris Langton.
  120.  *
  121.  * Sun versions:
  122.  *
  123.  * - version 1.0
  124.  *   by C. Ferenbaugh and C. Langton
  125.  *   released 09/02/88
  126.  *
  127.  * - version 1.5
  128.  *   by Dave Hiebeler and C. Langton  May - June 1989
  129.  *   released 07/03/89
  130.  *
  131.  * - version 2.0
  132.  *   by Dave Hiebeler and C. Langton  July - August 1989
  133.  *   never officially released (unofficially released 09/08/89)
  134.  *
  135.  * - version 2.5
  136.  *   by Dave Hiebeler and C. Langton  September '89 - February 1990
  137.  *   released 02/26/90
  138.  *****/
  139.