FMSLogo 8.4.0

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Portions of the editor are copyrighted by Neil Hodgson.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation.

NEIL HODGSON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NEIL HODGSON BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

This software is based in part on the work of the Independent JPEG Group.


Table of Contents

Introduction
Why Logo?
Where to Start
1. Installing
2. Command Line Options
Configuring the FMSLogo shortcut
Invoking and Exiting FMSLogo
3. Editor
Editor Menu
File Menu
Edit Menu
Search Menu
Set Menu
Test Menu
Help Menu
Editor Errors
Editing with the Clipboard
Context Sensitive Help
4. Commander
5. Main Menu
File Menu
Bitmap Menu
Set Menu
Zoom Menu
Help Menu
6. Language Mechanics
Line Reading
Tokenization
Evaluation
7. Data Structure Commands
Data Structure Constructors
WORD
LIST
SENTENCE
FPUT
LPUT
ARRAY
MDARRAY
LISTTOARRAY
ARRAYTOLIST
COMBINE
REVERSE
SORT
GENSYM
Data Structure Selectors
FIRST
FIRSTS
LAST
BUTFIRST
BUTFIRSTS
BUTLAST
ITEM
MDITEM
PICK
REMOVE
REMDUP
QUOTED
Data Structure Mutators
SETITEM
MDSETITEM
.SETFIRST
.SETBF
.SETITEM
PUSH
POP
QUEUE
DEQUEUE
Data Structure Predicates
WORDP
NUMBERP
LISTP
ARRAYP
EMPTYP
EQUALP
NOTEQUALP
BEFOREP
.EQ
MEMBERP
SUBSTRINGP
BACKSLASHEDP
Data Structure Queries
COUNT
ASCII
RAWASCII
CHAR
MEMBER
LOWERCASE
UPPERCASE
STANDOUT
PARSE
RUNPARSE
TIME
TIMEMILLI
8. Communication
Transmitters
PRINT
TYPE
SHOW
Receivers
READLIST
READWORD
READCHAR
READCHARS
READRAWLINE
File Access
OPENREAD
OPENWRITE
OPENAPPEND
OPENUPDATE
CLOSE
ALLOPEN
CLOSEALL
ERASEFILE
DRIBBLE
NODRIBBLE
SETREAD
SETWRITE
READER
WRITER
SETREADPOS
SETWRITEPOS
READPOS
WRITEPOS
EOFP
Hardware Communications
PORTOPEN
PORTCLOSE
PORTFLUSH
PORTMODE
PORTREADARRAY
PORTREADCHAR
PORTWRITEARRAY
PORTWRITECHAR
INPORT
OUTPORT
INPORTB
OUTPORTB
INGAMEPORT
DLL Communications
DLLLOAD
DLLCALL
DLLFREE
Keyboard and Mouse Access
KEYP
KEYBOARDON
KEYBOARDOFF
KEYBOARDVALUE
MOUSEON
MOUSEOFF
MOUSEPOS
CLEARTEXT
SETCURSOR
CURSOR
SETMARGINS
9. Arithmetic
Numeric Operations
SUM
DIFFERENCE
MINUS
PRODUCT
QUOTIENT
REMAINDER
MODULO
INT
ROUND
ABS
SIGN
SQRT
POWER
EXP
LOG10
LN
PI
GOLDENRATIO
TAN
RADTAN
SIN
RADSIN
COS
RADCOS
ARCTAN
RADARCTAN
ARCSIN
RADARCSIN
ARCCOS
RADARCCOS
Arithmetic Predicates
LESSP
LESSEQUALP
GREATERP
GREATEREQUALP
Random Numbers
RANDOM
RERANDOM
Print Formatting
FORM
Bitwise Operations
BITAND
BITOR
BITXOR
BITNOT
ASHIFT
LSHIFT
10. Logical Operations
AND
OR
NOT
11. Graphics
Multiple Turtles
SETTURTLE
TURTLE
HASOWNPENP
TURTLES
BITMAPTURTLE
NOBITMAPTURTLE
SETTURTLEMODE
TURTLEMODE
ASK
Turtle Motion
FORWARD
BACK
LEFT
RIGHT
LEFTROLL
RIGHTROLL
DOWNPITCH
UPPITCH
SETPOS
SETPOSXYZ
SETXY
SETXYZ
SETX
SETY
SETZ
HOME
SETHEADING
SETROLL
SETPITCH
SETORIENTATION
ELLIPSEARC
ELLIPSEARC2
ELLIPSE
ELLIPSE2
ARC
ARC2
CIRCLE
CIRCLE2
Turtle Motion Queries
POS
POSXYZ
XCOR
YCOR
ZCOR
HEADING
ROLL
PITCH
ORIENTATION
TOWARDS
TOWARDSXYZ
DISTANCE
DISTANCEXYZ
PIXEL
SCRUNCH
Turtle Control
SHOWTURTLE
HIDETURTLE
CLEAN
CLEARSCREEN
WRAP
WINDOW
FENCE
PERSPECTIVE
FILL
SLOWDRAW
LABEL
SETPIXEL
FONTFACENAMES
SETLABELFONT
LABELFONT
LABELSIZE
Window Control
TEXTSCREEN
FULLSCREEN
SPLITSCREEN
SETSCRUNCH
REFRESH
NOREFRESH
ZOOM
SCROLLX
SCROLLY
SETFOCUS
GETFOCUS
ICON
UNICON
MINIMIZE
RESTORE
MAXIMIZE
WINDOWSET
Using Color
Understand Your Orientation in 3D
Drawing 3D Solids
POLYSTART
POLYEND
POLYVIEW
SETLIGHT
LIGHT
Polygon Restrictions
Restriction #1: A polygon's first 3 vertices must form a triangle
Restriction #2: A polygon must be convex
Restriction #3: A polygon must be planar
Polygon Samples
Turtle And Window Queries
SHOWNP
Pen Control
PENDOWN
PENUP
PENPAINT
PENERASE
PENREVERSE
PENNORMAL
SETPENCOLOR
SETFLOODCOLOR
SETSCREENCOLOR
SETPENSIZE
SETPENPATTERN
SETPEN
CLEARPALETTE
Pen Queries
PENDOWNP
PENMODE
PENCOLOR
FLOODCOLOR
SCREENCOLOR
PENSIZE
PENPATTERN
PEN
12. Workspace Management
Procedure Definition
TO
END
DEFINE
TEXT
FULLTEXT
COPYDEF
ARITY
Variable Definition
MAKE
NAME
LOCAL
LOCALMAKE
THING
Property Lists
PPROP
GPROP
REMPROP
PLIST
Workspace Predicates
PROCEDUREP
PRIMITIVEP
DEFINEDP
NAMEP
MACROP
PROPLISTP
Workspace Queries
CONTENTS
PROCEDURES
NAMES
PLISTS
NAMELIST
PLLIST
BURIED
STEPPED
TRACED
Workspace Inspection
PO
POALL
POPS
PONS
POPLS
PON
POPL
POT
POTS
Workspace Control
ERASE
ERALL
ERPS
ERNS
ERPLS
ERN
ERPL
BURY
BURYALL
BURYNAME
UNBURY
UNBURYALL
UNBURYNAME
TRACE
UNTRACE
STEP
UNSTEP
EDIT
EDALL
EDALLBTN
EDPS
EDNS
EDPLS
EDN
EDPL
SAVE
SAVEL
LOAD
Debug Commands
NODES
STATUS
NOSTATUS
13. Control Structures
Control Commands
RUN
RUNRESULT
REPEAT
REPCOUNT
IF
IFELSE
TEST
IFTRUE
IFFALSE
TRUE
FALSE
STOP
OUTPUT
CATCH
THROW
ERROR
PAUSE
CONTINUE
YIELD
NOYIELD
EVENTCHECK
SETCURSORWAIT
SETCURSORNOWAIT
HALT
WAIT
SETTIMER
CLEARTIMER
BYE
.MAYBEOUTPUT
IGNORE
`
FOR
FOREVER
DO.WHILE
WHILE
DO.UNTIL
UNTIL
Template-Based Iteration
Explicit-Slot Templates
Named-Procedure Templates
Named-Slot Templates
APPLY
INVOKE
FOREACH
MAP
MAP.SE
FILTER
FIND
REDUCE
CROSSMAP
CASCADE
CASCADE.2
TRANSFER
ISEQ
RSEQ
#
?
14. Macro Commands
.MACRO
.DEFMACRO
MACROEXPAND
15. Error Processing
Error Codes
16. Special Variables
CASEIGNOREDP
ERRACT
PRINTDEPTHLIMIT
PRINTWIDTHLIMIT
REDEFP
STARTUP
17. Help Commands
HELP
WINHELP
18. Environment Commands
LOGOVERSION
MACHINE
SHELL
19. Directory Commands
DIR
FILES
DIRECTORIES
CHDIR
POPDIR
MKDIR
RMDIR
20. Windows Commands
Window Commands
WINDOWCREATE
WINDOWDELETE
WINDOWENABLE
Dialog Commands
DIALOGCREATE
DIALOGDELETE
DIALOGENABLE
Listbox Commands
LISTBOXCREATE
LISTBOXDELETE
LISTBOXENABLE
LISTBOXGETSELECT
LISTBOXADDSTRING
LISTBOXDELETESTRING
Combobox Commands
COMBOBOXCREATE
COMBOBOXDELETE
COMBOBOXENABLE
COMBOBOXGETTEXT
COMBOBOXSETTEXT
COMBOBOXADDSTRING
COMBOBOXDELETESTRING
Scrollbar Commands
SCROLLBARCREATE
SCROLLBARDELETE
SCROLLBARENABLE
SCROLLBARSET
SCROLLBARGET
Button Commands
BUTTONCREATE
BUTTONDELETE
BUTTONENABLE
BUTTONUPDATE
Static Commands
STATICCREATE
STATICDELETE
STATICUPDATE
Group Box Commands
GROUPBOXCREATE
GROUPBOXDELETE
Checkbox Commands
CHECKBOXCREATE
CHECKBOXDELETE
CHECKBOXENABLE
CHECKBOXSET
CHECKBOXGET
Radio Button Commands
RADIOBUTTONCREATE
RADIOBUTTONDELETE
RADIOBUTTONENABLE
RADIOBUTTONSET
RADIOBUTTONGET
Debug Commands
DEBUGWINDOWS
Modal vs. Modeless Windows
MESSAGEBOX
YESNOBOX
SELECTBOX
QUESTIONBOX
DIALOGFILEOPEN
DIALOGFILESAVE
WINDOWFILEEDIT
Example Code for Constructing a Window
21. Bitmap Commands
BITCUT
BITCOPY
BITPASTE
BITPASTETOINDEX
BITFIT
SETBITINDEX
BITINDEX
SETBITMODE
BITMODE
BITBLOCK
BITLOAD
BITSAVE
BITSIZE
BITLOADSIZE
GIFLOAD
GIFSAVE
GIFSIZE
SETACTIVEAREA
ACTIVEAREA
22. Networking Commands
Networking Tools (Outside of FMSLogo)
NETSTARTUP
NETSHUTDOWN
NETACCEPTON
NETACCEPTOFF
NETACCEPTRECEIVEVALUE
NETACCEPTSENDVALUE
NETCONNECTON
NETCONNECTOFF
NETCONNECTSENDVALUE
NETCONNECTRECEIVEVALUE
23. Multimedia Commands
MIDI Commands
MIDIOPEN
MIDICLOSE
MIDIMESSAGE
MIDI Table
MIDI Instrument
Sound Wave Commands
PLAYWAVE
Sound Commands
SOUNDON
SOUNDOFF
TONE
SOUND
Media Control Commands
The Media Control Interface
MCI Overview
Example: Playing a Track from a CD
Example: Playing a Waveform File
Example: Record a Waveform File
Example: Playing a Video File
Example: Playing a MIDI File
MCI
Glossary

SourceForge.net Logo