From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

MSWLogo is an interpreted language based on Logo, with a GUI front end. It was developed by George Mills at MIT. Its core is the same as UCBLogo by Brian Harvey. It is free software, with source available, in Borland C++.

MSWLogo supports multiple turtles, and 3D Graphics. MSWLogo allows input from COM ports and LPT ports. MSWLogo also supports a windows interface thus I/O is available through this GUI- and keyboard and mouse events can trigger interrupts. Simple GIF animations may also be produced on MSWLogo version 6.5 with the gifsave command. The program is also used for educational purposes. Jim Muller wrote The Great Logo Adventure, a complete Logo manual using MSWLogo as the demonstration language.

MSWLogo has evolved into FMSLogo: An Educational Programming Environment, a free, open source implementation of the Logo programming language for Microsoft Windows. It is released under the GPL and is mainly developed and maintained by David Costanzo.


MSWLogo, as of v6.5b, has following support of various functionality:[1]

  • Supports TCP/IP WinSock Networking.
  • Supports Win16, Win32 and Win32s.
  • Supports Text in all available fonts and sizes.
  • Supports 1024 independent Turtles.
  • Supports Bitmapped Turtles.
  • Supports Cut, Paste and stretching bitmaps.
  • Supports Clipboard Text and Bitmaps.
  • Supports MIDI devices.
  • Supports Direct I/O for Controlling External hardware.
  • Supports Serial and Parallel Port communications.
  • Supports Zooming.
  • Supports Tail recursion (optimizes most recursive functions).
  • Supports User error handling.
  • Supports "Standard" Logo parsing.
  • Supports Save and restore images in .BMP format files.
  • Supports 1, 4, 8, 16, 24 bits per pixels colors.
  • Supports standard Windows Hypertext Help.
  • Supports standard Windows Printing.
  • Supports separate library and work area.
  • Supports construction of Windows Dialog Boxes.
  • Supports Event Driven programming (Mouse, KeyBoard, Timer).
  • Supports MultiMedia Devices (.WAV sound files, CD-ROM control etc.)
  • Supports Event Timers allowing multiprocessing.
  • Supports 3D Perspective drawing (Wireframe and Solids).
  • Supports Animated GIF generation.
Command Abbreviations Syntax Output Example
FORWARD fd FORWARD(space)<no. of steps to move forward> Used to move the turtle front for no. of times specified "forward 100" or "fd 100"
BACK bk BACK(space) <no.of steps to move backwards> Used to move the turtle back for no. of times specified "back 100" or "bk 100"
RIGHT rt RIGHT(space) <degrees to rotate towards right Used to turn the turtle right for no. of degrees specified "right 228" or "rt 228"
LEFT lt LEFT(space) <degrees to rotate towards left > Used to turn the turtle right for no. of degrees specified "left 228" or "lt 228"
HOME home home It just comes to the center of the screen but does not cleans the screen "home"
CLEAN ct cs clean It cleans the screen of trails but the turtle does not come to the center of the screen "clean"
CLEARSCREEN CS CLEARSCREEN It cleans the screen of trails and comes to the center of the screen "cs"
HIDETURTLE HT Hide Turtle It hides the turtle and helps to view a clear drawing on the screen. "ht"
SHOWTURTLE ST show turtle It shows the turtle after it is hidden from the screen. "st"
PENUP PU (set) pen up It sets the turtle to move without drawing. "pu"
PENDOWN PD (resets) pen Resets to a drawing pen when ordered to move. "pd"
CLEARTEXT CT clear text It clears all the text in the command screen. "ct"
CIRCLE repeat 360 [FD (desired length in number of pixels divided by 360) RT or LT 1] Circle It makes a circle. "circle"
pattern pay pattern it makes a pattern. "pattern"


External links[edit]