
First acquire a copy of the Scheme package from MIT.  Install it in some
directory, say /usr/scheme.  Move the file (in this directory) "neuroprim.c"
to /usr/scheme/microcode.  Edit the Makefile in /usr/scheme/microcode and
add/edit the following lines:

-------------------------------------------------------------------------
# set this to be the simulator home directory
RCS_DIR = /usr/connect

USER_PRIM_SOURCES = neuroprim.c
USER_PRIM_OBJECTS = neuroprim.oo simulator.oo

# make a simulator relocatable.  Integer, no link delays.
simulator.oo: ${RCS_DIR}/lib/sim.o
	${RCS_DIR}/bin/makesim -R -o simulator.oo
-------------------------------------------------------------------------

You can change the flags for the makesim command, adding -f if you want
the floating point version and -t if you want the propagation delay
version, and -ng if you don't want the sun graphics interface.

When this is all done, simply remake scheme from /usr/scheme, for example
on a SUN by typing `make sun'.  Then execute /usr/scheme/microcode/scheme
and load in the file "simdefs.scm" (in this directory).  Now you are
ready to roll.  You'll have to look at the code in neuroprim.c to see
exactly which primitives are there, but pretty much they mimic simulator
function syntax.  To initialise the simulator type (sim-init) to the
scheme prompt.  The graphics window should pop up (if appropriate).
Click on the quit button or type return to the simulator prompt
and control returns to the scheme window.  To get back into the simulator
type (sim) to the scheme prompt.  Type return to the simulator prompt or
click the graphics quit button to get back to scheme.  Use (sim-quit) to
remove the graphics window.  However you cannot call (sim-init) again to
restart the simulator window.  You can of course write new primitives to
call simulator functions from scheme.

You might want to save the band to avoid having to load simdefs.scm every
time you enter scheme.  There is one primitive, "sim-cmd" which takes
a single string as an argument.  This can be any string you might type
to the simulator prompt.  It returns the index of the unit most recently
made, so that you can construct networks.  However it is much faster to
use the simulator functions via the primitives provided.

If you don't have scheme yet, you can ftp it from MIT or get it via
physical mail (I think).  Here are some relevant addresses:

To ftp: connect to prep.ai.mit.edu		(ARPANET)
Login as: scheme
Password: scheme
You want the file /scheme/dist.tar.Z which is no doubt a compressed tar file.

For bug reports send computer mail to

BUG-CSCHEME%OZ@MC.LCS.MIT.EDU (on the Arpanet/Internet)

or US Snail to

Scheme Team
c/o Prof. Hal Abelson
545 Technology Sq. rm 410
Cambridge MA 02139

Other relevant mailing lists:

INFO-CSCHEME%OZ@MC.LCS.MIT.EDU
        Questions, notices of bug fixes, etc.
        Send mail to INFO-CSCHEME-REQUEST to be added.

SCHEME@MC.LCS.MIT.EDU
        Applications, mostly for educational uses.
        Note that this mailing list is NOT MIT C Scheme specific.  It
        covers general language issues, relevant to all the
        implementations of the scheme language (MIT's C Scheme, Yale
        University's T, Indiana University's Scheme84, Semantic
        Microsystems' MacScheme, and Texas Instruments' PC Scheme
        among others).
        Send mail to SCHEME-REQUEST to be added.
