GNU Smalltalk version 1.1.1
by Steve Byrne (sbb@gnu.ai.mit.edu)
DOS port by Jim Pannozzi (73300.2046@compuserve.com)
12-Sep-93 15:10:16

This is the first release of GNU Smalltalk for MS-DOS.  The 1.1.1
DOS only version is organized differently from the standard GNU Smalltalk
distributions.  It is distributed as a single pkzip file (version 2.04g).
The files are organized as follows:

\s11		The kernel Smalltalk files
\mst111		The C source files, executable, documentation, etc.

About GNU Smalltalk
-------------------

GNU Smalltalk attempts to be a reasonably faithful implementation of
Smalltalk-80 as described in the "Blue Book", also know as "Smalltalk-80, the
Language and its Implementation", by Adele Goldberg and David Robson.  The
syntax that the language accepts and the byte codes that the virtual machine
interprets are exactly as they appear in the Blue Book.  Most of the primitives
are the same as well, although due to the differing nature of the
implementation some of the primitives haven't been implemented, and other new
ones have been.


The current implementation has the following features:

  * Incremental garbage collector
  * Binary image save capability
  * C-callout (allows Smalltalk to invoke user-written C code and pass
    parameters to it)
  * GNU Emacs editing mode
  * Highly portable C code implementation
  * Optional byte code compilation tracing and byte code execution tracing
  * Automatically loaded per-user initialization files


Installing GNU Smalltalk on MS-DOS
----------------------------------

Installation requirements: PKUNZIP.EXE (version 2.04g or later), 1.5M disk,
4M (I think) RAM (although I [sbb] don't understand DJGPP well enough yet
to know whether its virtual memory support will allow you to run with
less), and at least an 80386 CPU.

To install GNU Smalltalk (assuming you have the .zip version of the
distribution), 

1) be sure you are in the top level directory of the drive you are
   installing on (typically C:).

2) Type
       pkunzip -d -o mst111.zip
   GNU Smalltalk will be installed into \s11 and \mst111 (as described above).
   The \mst111 directory may be moved to some other directory with some
   other name, but the \s11 directory needs to remain where it is (see below).

3) Add the Smalltalk main directory to your PATH in AUTOEXEC.BAT
       SET PATH= . . . ;C:\mst111
   (again, if you move mst111 to some other directory, use that directory
   name here).
   
4) Reboot, or re-run autoexec to get your PATH variable to include the
   Smalltalk main directory included

That's it!  You are ready to run.

To verify that things are working correctly, invoke Smalltalk by typing

    smltk -V

(note this is a capital V).  You should see a lot of lines printed out
of the form:

    Processing /s11/builtins.st
    Processing /s11/Object.st
    Processing /s11/Message.st
    ...

followed by:

    "GC flipping to space 1...copied space = 84.1%...done"
    Smalltalk 1.1.1 Ready

    st> 

And you are on the air!     

See mst.doc for more information on the operation of the Smalltalk system.


Notes
-----

This is an initial release on a new platform.  I [sbb] did not build it, and do
not currently have the makefile to rebuild it (this will be fixed soon).
While I believe it will work in a wide variety of DOS environments, I don't
make any kind of guarantees.  If you have problems with your platform, let me
know. 

GNU Smalltalk was ported to DOS using DJGPP.  I've included a recent version of
go32.exe (needed to run things build with DJGPP) in the mst111 directory.  You
should be able to replace it with a more recent version if desired.

The GC percentage mentioned in the example above (84.1) may be different
in your environment, or may change if you create your own initialization
files.  THIS IS OK, and nothing to worry about.

You can, in fact, move the \s11 directory to some other location.  You'll
need to ensure that the environment variable SMALLTALK_KERNEL is set to the
path of directory where the .st files live (i.e. it defaults to \s11).

The documentation (mst.doc) is essentially the same documentation that
ships with the normal distribution of GNU Smalltalk, and thus may be a tad
UNIX-centric.  However, the majority of the information is still valid and
correct. 



Bugs
----

To report bugs or suggestions (or even offer assistance :-) ), send mail
to bug-gnu-smalltalk@prep.ai.mit.edu.  Bugs reported here will be echoed to the
gnu.smalltalk.bug newsgroup. 


