PDP_SCAF for pdp v0.7 Cellular Automata modules for PDP Copyright (c) by Tom Schouten This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The GNU Public Licence can be found in the file COPYING ------------------------------------------------------------------ This is a pdp extension lib that contains modules for cellular automata built on a (very) minimal forth-like virtual system (scaf - simple cellular automaton forth) to define update rules. a compiler is included to produce scafo object code that can be dynamically loaded into the pdp_ca module. so it is possible to add/change rules without restarting pd (note however you need to close all lib files before the dynamic loader reloads the lib). see scaf/README for details. pdp_ca2image and pdp_image2ca are included for conversion between CA packets and image packets. (pdp_ca2image produces greyscale images) Have a look at the patches in test/ for some crude docs. The file README.scaf contains some more info on the internals. Requirements: * pd * pdp * linux * perl for the forth compiler * an intel/amd processor that supports MMX Building: ./configure make make install If you don't have both libraries in the same dir and want to keep it that way, hardcode the paths in Makefile.config.in and run configure. You need to do "make install" to install the scaf compiler "scafc" and the default ruleset. This is to be able to load plain (text) rule files and have the default rules loaded when you create a pdp_ca object. Using: add "-lib /pdp_scaf" to the pd command line after the "-lib /pdp" part. launch pd with the options -lib $PDP_DIR/pdp -path $PDP_DIR/abstractions Directory structure: include/ header files pdp/ pdp external code compiler/ forth system code test/ some test patches (cryptic doc) rules/ ca rule libraries Please let me know if you discover a bug or think something doesn't work right. Code, documentation or example patches are more than welcome of course. Have Fun, Tom last modified: 2003/01/12