
        MSWLogo Version 6.4f for Micro-Soft Windows 3.x/9x/NT
        -----------------------------------------------------

                                Contents
                                --------

Part    I) Kit Description/Location:
Part   II) New features/bugs fixed:
Part  III) Installation:
Part   IV) Standard features:
Part    V) Recommended usage:
Part   VI) Bugs / Missing features / Wish List:
Part  VII) Reporting bugs:
Part VIII) Sources:
Part   IX) Minimum System Requirements:
Part    X) Related Tools/Kits/Addons:

Part I) Kit Description/Location:

msw32b64.zip/.exe (32bit kit: Win32 95/NT)
msw32s64.zip/.exe (32bit kit: Win32s 3.1x (Win32s is not included))
msw16b64.zip/.exe (16bit kit: Win16 3.1x/NT/95))
msw16s64.zip/.exe (16bit kit: Win16 3.1x (286 only))
mswsrc64.zip      (source kit: most sites)
mswtut64.zip      (online video tutorial for beginners 3.5 MB compressed V4.2)

          http://www.softronix.com/

You can also obtain an installation floppy by Postal Mail.
If you publish this information PLEASE include the URL above
and ALL the instructions.

Send a self-addressed (Post Paid) package to:

George Mills
33 Thoreau Road
Northboro MA 01532

The package MUST contain a 1.44 Formatted Floppy.
The package MUST contain postage to return it with.
The package MUST contain packaging to return it in.
The package MUST specify 16bit or 32bit or you'll get 16bit by default.

I do not supply UCBLOGO, please contact Brian Harvey
<bh@cs.berkeley.edu> or the Logo Foundation <michaelt@media.mit.edu>.

For a small handling fee you can avoid the requirements above by contacting

Michael Tempel                    tel: 212 579 8028
Logo Foundation                   fax: 212 579 8013
250 West 85th Street              michaelt@media.mit.edu
New York  NY 10024

Part II) New features/bugs fixed:

   o Added for 6.4f, Fixed Modulo and Remainder to behave like UCBLogo.

   o Added for 6.4f, Added Clipboard access to the file I/O commands.
     Just OPENREAD "clipboard or OPENWRITE "clipboard.

   o Added for 6.4f, Documented the TURTLES command.

   o Added for 6.4f, Fixed close button on About Boxes.

   o Added for 6.4f, Changed COMBOBOXADDSTRING to not sort the listbox.

   o Added for 6.4f, Fixed problem with LogiTech Wheel Mouse Driver problem in editor
     and commander. 

   o Added for 6.4e, Fixed bug in which animated GIFs do not compress correct
     with other tools. 

   o Added for 6.4d, Fixed bug in transparent animated GIFs not erasing
     previous frame.

   o Added for 6.4c, Fixed some GPF's when dealing with very large numbers.

   o Added for 6.4b, Added -f switch to command line. This switch allows you
     to run with no scrollbars thus allowing the turtle to remain always in view.
     It also works in conjucntion with the -w and -h switches. This is mostly
     intended for young students who don't like or don't understand having the
     turtle ever out of view. It will ignore the last saved settings and will
     always come up the way you specify.

     Example (change your shortcut for MSWLogo to):

     C:\MSWLogo\Logo.exe -f

     or something like

     C:\MSWLogo\Logo.exe -f -w 600 -h 200

   o Added for 6.4a, fixed integer overflow on addition or subtraction not
     switching over internally to floating point.

     For example:
     show 20000*20000-4*50000*-8900
     -1380000000 ; (wrong answer)
     show 20000*20000-4*50000*-8900
     2180000000 ; (right answer)

   o Added for 6.4a, fixed JoyStick examples to use port 513 from 512.

   o Added for 6.4a, fixed ingameport to allow override of port used.
     make "position ingameport 1       ; Default reads from port 513
     make "position (ingameport 1 520) ; Force to use port 520

   o Added for 6.4a, added sanity check to "Active Area" parameters.

   o Thanks to Jim Fuller's encouragement and help, MSWLogo
     has a powerful new command that opens up a wide range of new projects.
     MSWLogo now has a Game Port access command called INGAMEPORT. See online
     help for more information. Yes you can use the Joy Stick, but Jim has some
     very interesting projects he is working on using the port with other types
     of hardware (see http://www.southwest.com.au/~jfuller for more information).

   o By popular demand you now can determine the size of any bitmap stored in
     memory. To keep the language consistent I had to rename a related older
     command. The former BITSIZE (which gave the size of a bitmap file) is renamed
     to BITLOADSIZE. The new command is called BITSIZE and outputs the size of the
     current bitmap loaded accord to BITINDEX This includes the all important
     ClipBoard (BITINDEX 0).

   o Modified mouse right click to no longer go into online help. Key <F1> will
     still work.

   o Fixed problems pasting text into editor from some other applications (win32
     versions only).

   o Fixed problem that caused unmatched paren or bracket problems within comments
     (Actually Brian Fixed it in UCBLogo and I incorporated the fix into MSWLogo).

   o Added MACROEXPAND function from UCBLogo.

These 6.3 Patches are also included in 6.4

   o Added for 6.3h, Fixed ERRACT causing an "ERRACT Loop" on the second
     occurrence of the same error.

   o Added for 6.3g, Fixed parsing infix (-) in a constructed list.
     (e.g. show run (se 3 "- 2) now works correctly).

   o Added for 6.3g, Fixed HALT function to be more stable (sometimes would
     crash MSWLogo).

   o Added for 6.3f, Removed Right Mouse Click for keyword search within
     editor <F1> or Menu->Help->Topic Search should be used instead.

   o Added for 6.3f, Fixed crash if no vectors defined between POLYSTART
     and POLYEND.

   o Added for 6.3e, Cleaned up exit handling if not halted.

   o Added for 6.3e, Fixed crash if you selected a large amount of text
     and right mouse clicked in the editor.

   o Added for 6.3e, Added STEPPED and TRACED functions which will
     output procedures that you enabled STEP or TRACE on respectively.

   o Added for 6.3d, FILL now takes an optional True or False
     parameter to fill using an alternative method. This is not
     documented as yet. The "normal" FILL will fill as long as it
     sees the same color it started on. The "old style" FILL will
     fill until it sees the current pencolor. FILL will now work
     the same in all flavors of MSWLogo.

     fill          ; Does normal FILL
     (fill "false) ; Does normal FILL
     (fill "true)  ; Does old style FILL

   o Added for 6.3d, All predicate functions can now be end in p
     or ? (e.g. pendownp or pendown?).

   o Added for 6.3d, When maneuvering Turtles -1 to -3 the Polygons
     will no longer automatically be repainted. You must call POLYVIEW
     for an update. This allows multiple maneuvers to multiple
     special turtles without taking the time to display all
     the polygons for each change. Thanks to Tom Lynn for the
     suggestion.

   o Added for 6.3c, Added Parallel Port Interface Example.

   o Fixed for 6.3c, Fixed crash that would occur if status window
     was up when you close the application.

   o Fixed for 6.3c, Fixed error checking for minimum of 3 points
     needed in a polygon definition.

   o Fixed for 6.3c, Fixed crash that would occur when flying
     turtle -1 through some solid shaded objects. Note that flying
     around and up to objects will give good results. But MSWLogo
     needs more work to get nice looking results while flying through
     an object. But regardless of what it looked like it should not
     of crashed which is now fixed.

   o Fixed for 6.3b, Fixed crash that would occur on the next polygon
     definition after a previous definition had generated an error.
     That is, my error handler did not correctly clean up the last
     polygon definition that was in error.

   o Fixed for 6.3b, Removed ROLL and PITCH restrictions during polygon
     definitions. For safety sake I added these restrictions but they are
     too restrictive. As long as your polygon vertices are on a single
     plane how you get to those vertices is your business.

   o Added for 6.3a, Fixed READCHAR to properly deal with binary
     files. readchar will return an integer when the file is opened
     in binary mode. You will likely want to use TYPE when writing
     binary files since it will not add a <CR>.


Thanks to many folks for support MSWLogo.

Special thanks to:

Brian Harvey <bh@cs.berkeley.edu>
Jim Muller <jmul@cyberramp.net>
Erich Neuwirth <neuwirth@smc.univie.ac.at>
Yehuda Katz <yehuka@beitberl.ac.il>
 
Part III)

To build a floppy or CD (for .EXE kits only [except 32B kit]):

   This procedure assumes:
   That you downloaded the kit to C:\
   That you have a formated blank disk in drive a:
   That you have a DOS Window open.

   Make a scratch directory and change directory to it:

      C:\> mkdir mykit
      C:\> cd mykit

   Unpack the kit, twice (this must be done in DOS):

      C:\MYKIT\> c:\msw16b64.exe
      C:\MYKIT\> mswlogo.exe

   Clean up the intermediate file:

      C:\MYKIT\> del mswlogo.exe

   Copy all the files to the floppy:

      C:\MYKIT\> copy *.* a:\

   Install it:

      Run a:\setup from File Manager

To build a floppy or CD (for 32B .EXE kit only):

   The easiest way is to just copy the downloaded file to the floppy.
   However, do not rename it to setup.exe (it won't install if you do,
   you can call it anything else).

   If you really want to eliminate the install shield "double unpack"
   and be allowed to call the file setup.exe. Then clean your default
   Windows temp directory (in Win9x it's usually c:\Windows\Temp). Start
   an installation but stop when it asks you what folder to install it in.
   If you look in the Temp directory you will see the standard kit that was just
   unpacked. Copy all the files in the Temp directory to a floppy (exclude the
   subdirectory that was created and exclude the *._MP files).

Part IV) Standard features:

   o Supports TCP/IP WinSock Networking.
   o Supports Win16, Win32 and Win32s.
   o Supports Text in all available fonts and sizes.
   o Supports 1024 independent Turtles.
   o Supports Bitmapped Turtles.
   o Supports Cut, Paste and stretching bitmaps.
   o Supports Clipboard Text and Bitmaps.
   o Supports MIDI devices.
   o Supports Direct I/O for Controlling External hardware.
   o Supports Serial and Parallel Port communications.
   o Supports Zooming.
   o Supports Tail recursion (optimizes most recursive functions).
   o Supports User error handling.
   o Supports "Standard" Logo parsing.
   o Supports Floodfill.
   o Supports Save and restore images in .BMP format files.
   o Supports 1, 4, 8, 16, 24 bits per pixels colors.
   o Supports standard Windows Hypertext Help.
   o Supports standard Windows Printing.
   o Supports separate library and work area.
   o Supports construction of Windows Dialog Boxes.
   o Supports Event Driven programming (Mouse, KeyBoard, Timer).
   o Supports MultiMedia Devices (.WAV sound files, CD-ROM control etc.)
   o Supports Event Timers allowing multiprocessing.
   o Supports 3D Perspective drawing (Wireframe and Solids).
   o Supports Animated GIF generation.

Part V) Recommended usage:

   o Ages 6 and up, from beginner (Forward 100, Right 90) to expert
     (develop professional looking Graphical User Interfaces). 

Part VI) Bugs / Missing features / Wish List:

   o SETCURSOR function is not supported.
   o DDE support
   o Functions to add menu's
   o INPORT/OUTPORT command (Hardware IO) is not supported on NT.
   o GOTO and TAG do not work.
   o Using a COPYDEF'd function within the same procedure that
     issued the COPYDEF does not work.

Part VII) Reporting bugs:

   Report bugs to George Mills:

   Internet: mills@softronix.com

Part VIII) Sources:
 
   Sources are available at some kit sites.

   The MSWLogo sources are written using:

      Borland C++ 5.02 for windows (for .EXE)
      Borland Turbo 32bit Assembler (for 32bit .EXE)
      Microsoft Word 97 (for online help and DOC's)
      InstallShield3 16bit (for 16bit kiting)
      InstallShield3 32bit (for 32bit kiting)
           
Part IX) Minimum System Requirements:

   16bit version

   286 with Minimum of 2meg running Windows 3.1 in Standard Mode.
   386 with Minimum of 4meg running Windows 3.1 in Enhanced Mode is strongly
   recommended.

   32bit version

   386 with Minimum of 4meg running Windows 3.1 with Win32s 1.30a.
   486 with Minimum of 8meg running Windows 95 in is strongly recommended.

Part X) Related Tools/Kits/Addons:

   Most of these should be available via anonymous ftp from ftp.microsoft.com
   And many are available on MSWLogo's www page.

   (The names of these vary)

   SPEAK.EXE   : Public domain from Microsoft (Allows PC speaker to play .WAV)
   WHATHLP.ZIP : Public domain from Microsoft (Windows Help Authoring Tools)
   WIN32S.ZIP  : Public domain from Microsoft (Allows Win32 apps on WIN 3.1)
   WFWGTCP.ZIP : Public domain from Microsoft (Allows TCP/IP networking on WFWG 3.11)

   Modem       : Allows MSWLogo to connect to other MSWLogo's over the Internet
   Voice Assist: Commercially available from Creative Labs (allows voice control)
   Sound Card  : Commercially available from many venders, depending on
                 capabilities it allows MSWLogo to do MIDI and Record /
                 Play of .WAV files
