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

MSWLogo is a programming language which is interpreted, based on the language Logo, with a graphical user interface (GUI) front end. It was developed by George Mills at the Massachusetts Institute of Technology (MIT). Its core is the same as UCBLogo by Brian Harvey. It is free and open-source software, with source code available, in Borland C++.

MSWLogo supports multiple turtle graphics, 3D computer graphics, and allows input from ports COM and LPT. It also supports a windows interface, so input/output (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 command gifsave. The program is also used as educational software. 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 language Logo for Microsoft Windows. It is released under the GNU General Public License (GPL) and is mainly developed and maintained by David Costanzo.


MSWLogo, as of version 6.5b, supports many functions, including:[1]

  • TCP/IP Winsock networking
  • Win16, Win32, Win32s
  • Text in all available fonts and sizes.
  • 1024 independent turtles.
  • Bitmapped turtles
  • Bitmap cut, paste, stretch
  • Clipboard text and bitmaps
  • MIDI devices
  • Direct I/O to control external hardware
  • Serial and parallel port communications
  • Zooming
  • Tail recursion: optimizes most recursive functions
  • User error handli
  • Standard Logo parsing
  • Save and restore images in .BMP format files
  • Color bits per pixel: 1, 4, 8, 16, 24
  • Standard Windows hypertext help
  • Standard Windows printing
  • Separate library and work area
  • Construction of Windows dialog boxes
  • Event driven programming: mouse, keyboard, timer
  • Multimedia devices: WAV sound files, CD-ROM control, etc.
  • Event timers allowing multiprocessing
  • 3D perspective drawing: wire-frame and solid
  • Animated GIF generation
Command Abbreviations Syntax Output Example
FORWARD fd FORWARD(space)<number of steps to move forward> Moves turtle forward for number of times specified "forward 100" or "fd 100"
BACK bk BACK(space) <number of steps to move backward> Moves turtle back for number of times specified "back 100" or "bk 100"
RIGHT rt RIGHT(space) <degrees to rotate toward right Turns turtle right for number of degrees specified "right 228" or "rt 228"
LEFT lt LEFT(space) <degrees to rotate toward left > Turns turtle left for number of degrees specified "left 228" or "lt 228"
HOME home Home Comes to screen center but does not clear the screen "home"
CLEAN ct cs Clean Clears the screen of trails but the turtle remains where it is without moving "clean"
CLEARSCREEN CS Clearscreen Clears the screen of trails and comes to screen center "cs"
HIDETURTLE HT Hide turtle Hides the turtle and aids viewing a clear drawing on the screen "ht"
SHOWTURTLE ST Show turtle Shows the turtle after it is hidden from the screen "st"
PENUP PU (set) Pen up 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 Clears all text in the command screen "ct"
CIRCLE repeat 360 [FD (desired length in number of pixels divided by 360) RT or LT 1] Circle Makes a circle "circle"
Pattern pay Pattern Makes a pattern "pattern"


  1. ^ "MSWLogo Version 6.5b for Micro-Soft Windows 95/98/NT/2000/XP". Softronix. Retrieved 2019-07-21.

External links[edit]