From: Subject: The Great Logo Atlas - The Apple II Standard Date: Wed, 21 Jan 2009 14:48:44 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C97BD7.5C0B7690" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C97BD7.5C0B7690 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://ccgi.frindsbury.force9.co.uk/greatlogoatlas/?The_Apple_II_Standard The Great Logo = Atlas - The Apple II Standard
  • The=20 Project...
  • Logo:=20 What is Logo?
  • The=20 Logo Tree
  • The Apple II Standard
    • Summary=20 of Logo Features
    • The=20 Authors
  • Live=20 implementations
  • Historic=20 implementations
  • Ana= lysis
  • Feature=20 Debate
  • Primitive=20 Glossary
  • Localisations
  • Manual=20 Repository
  • Links<= /A>
Sitemap
Print=20 Version
Mailform
Guestbook
3Des=20
Last update:
December 09. 2008 22:31:15



The Great Logo Atlas.

The=20 Project... > The Apple II Standard

The Apple II Standard


A SUMMARY OF APPLE LOGO=20 COMMANDS


Notes: The key to using Logo primitives is to = concentrate on=20 inputs and outputs as indicated in the top line of each definition. A = "#" sign=20 on the left means that the primitive can take any number of inputs if=20 parentheses are used.

These = lists need=20 to be formatted

Turtle Graphics

BACK One input (Distance). No outputs.
BK = Moves=20 turtle backward Distance steps.
Example: BACK 50

BACKGROUND No = inputs.=20 One output.
Outputs a number representing the color of the = background:
0=20 black; 1 white; 2 green; 3 violet; 4 orange; 5 blue; 6 black (for = b&w=20 TV).

CLEAN No inputs. No outputs.
Erases the graphics screen = without=20 affecting the turtle (unlike CLEARSCREEN).

CLEARSCREEN No inputs. = No=20 outputs.
CS Erases screen; centralizes turtle; initializes = heading
to 0=20 (north).

DOT One input (Position). No output.
Draws a dot of = the=20 current pen color at Position.
Example: DOT [100 0]
Places a dot = halfway=20 down the right edge of the screen.

FENCE No inputs. No = outputs.
Forces=20 turtle to remain within the bounds of the screen.
Example: FENCE FD=20 600
Gives error message "TURTLE OUT OF
BOUNDS" .

FORWARD = One input=20 (Distance). No outputs.
FD Moves turtle forward Distance = steps.
Example:=20 FORWARD 50

HEADING No inputs. One output.
Outputs turtle's = heading,=20 with north 0, east 90, south 180, and west 270.
Example: = HEADING
Outputs=20 45.

HIDETURTLE No inputs. No outputs.
HT Makes turtle=20 invisible.

HOME No inputs. No outputs.
Moves turtle to center = of=20 screen and sets heading
to O.

LEFT One input (Degrees). No=20 outputs.
LT Moves turtle to center of screen and sets heading=20 toO.
Example: LEFT 45
Turns the turtle 45 degrees left.

PEN = No=20 inputs. One output (List).
Outputs a two-word list. The first member = is=20 PEN­DOWN, PENERASE, PENUP, or PENREVERSE. The second member is the = color=20 number.
Example: PEN
Outputs [PENDOWN 2].

PENCOLOR . No = inputs. One=20 output (Number).
PC Outputs number representing current color: 0 = black; 1=20 white; 2 green; 3 violet; 4 orange; 5 blue.

PENDOWN No inputs. No = outputs.
PD Puts the turtle's pen down so it draws when=20 moved.

PENERASE No inputs. No outputs.
PE Puts the turtle's = eraser=20 down so that it erases when
moved.

PENREVERSE No inputs. No=20 outputs.
PX Interchanges pen color and background color, = draw­
ing=20 where there aren't lines and erases where there
are.

PENUP No = inputs.=20 No outputs.
PU Lifts the pen up so no lines are drawn where = the
turtle=20 moves.

POS No inputs. One output (List).
Outputs the = coordinates of=20 the current position of
the turtle in the form [x,y].

RIGHT = Qne input=20 (Degrees). No outputs.
RT turns the turtle right (clockwise)=20 Degrees.
RIGHT 30
Turns the turtle 30 degrees = right.

SCRUNCH No=20 inputs. One output.
Outputs the aspect ratio, the ratio of vertical = turtle=20 step size to the horizontal one.

SETBG One input (Colornumber). = No=20 outputs.
Sets background color corresponding to=20 Color­
number.

SETHEADING One input (Degrees). No = outputs.
SETH=20 Turns the turtle so it is heading in the = direction
Degrees.
Example:=20 SETHEADING - 45
Heads the turtle northwest.

SETPC One input=20 (Colornumber). No outputs.
Sets the color of the pen to Colornumber: = 0 black;=20 1 white; 2 green; 3 violet; 4 orange; 5 blue.

SETPEN One input = (Pair). No=20 outputs.
Sets pen state to Pair. The first word is PENDOWN, PENERASE, = PENUP,=20 or PENREVERSE. The sec­ond word is the color number.
Example: = SETPEN=20 [PENREVERSE 5]
Has the same effect as PENREVERSE SETPC = 5.

SETPOS One=20 input (Position). No outputs.
Moves the turtle to = Position.
Example:=20 SETPOS [1000]
Moves the turtle halfway down right edge of the=20 screen.

SETSCRUNCH One input (Ratio). No outputs.
Sets the = aspect=20 ratio to Ratio; changes YCOR accordingly.
Example: SETSCRUNCH = .75
Makes=20 vertical turtle step % the length of horizontal one.

SETX One = input (X).=20 No outputs.
Moves the turtle horizontally to x-coordinate X. Example: = SETX=20 100
Moves turtle horizontally to right edge of screen.

SETY = One input=20 (Y). No outputs.
Moves turtle vertically to y-coordinate Y. Example: = SETY -=20 100
Moves the turtle vertically to lower edge of = screen.

SHOWNP No=20 inputs. One output (Boolean).
Outputs TRUE ifturtle is shown; FALSE=20 otherwise.

SHOWTURTLE No inputs. No outputs.
ST Makes turtle=20 visible.

TOWARDS One input (Position). One output = (Heading).
Outputs=20 Heading to make turtle face Position.
Example: SETHEADING TOWARDS = [20 10]=20 Heads the turtle in the direction of position [20 10].

WINDOW No = inputs.=20 No outputs.
Makes the turtle field unbounded.
Example: = WINDOW
FD=20 600
PRINT POS
30.015 570.105

WRAP No inputs. No = outputs.
Makes=20 turtle field wrap around the edges of screen. Example: WRAP
FD = 700
PRINT=20 POS
30.01520.975

XCOR No inputs. One output.
Outputs the=20 x-coordinate of current position of turtle.

YCOR No inputs. One=20 output.
Outputs the y-coordinate of current position of = turtle.

Words and Lists -­

ASCII One input (character). One=20 output.
Outputs the ASCII code for character.
See Appendix B for = the full=20 ASCII character set. Example: ASCII "D
Outputs 68

BUTFIRST One = input=20 (Object). One output.
BF Outputs all but the first element of=20 Object.
Example: BUTFIRST [NOW IS THE TIME]
Outputs IS THE=20 TIME.

BUTLAST One input (Object). One output.
BL Outputs all = but the=20 last element of Object.
Example: BUTLAST [NOW IS THE TIME] Outputs = NOW IS=20 THE.

CHAR One input (N). One output.
Outputs the character = whose ASCII=20 code is N. Example: CHAR 65
Outputs A.

COUNT One input (List). = One=20 output.
Outputs the number of elements in List.
Example: COUNT = [HOW MANY=20 ARE THERE] Outputs 4.

EMPTYP One input (Object). One = output.
Outputs=20 TRUE if Object is the empty word or the empty list; FALSE = otherwise.
Example:=20 EMPTYP 7
Outputs FALSE.

EQUALP Two inputs (Object!, Object2). = One=20 output.
Outputs TRUE if Object! and Object2 are equal; FALSE=20 otherwise.
Example: EQUALP 5 2 + 3
Outputs TRUE.

FIRST One = input=20 (Object). One output.
Outputs the first element of = Object.
Example: FIRST=20 [A B C]
Outputs A.

FPUT Two inputs (Object, List). One=20 output.
Outputs a new list formed by putting Object at the beginning = of the=20 List.
Example: FPUT "RAT [BAT HAT]
Outputs [RAT BAT = HAT].

ITEM Two=20 inputs (N, List). One output.
Outputs the Nth element of = List.
Example:=20 ITEM 2 [ROME CHICAGO MOSCOW] Outputs CHICAGO.

LAST One input = (Object).=20 One output.
Outputs the last element of Object.
Example: LAST [CAT = COW HEN=20 DOG]
Outputs DOG.

LIST Two inputs (Object!, = Object2).
Outputs a=20 list whose elements are Object! and Object2.
Example: LIST "HOUSE = [BARN=20 CABIN]
Outputs [HOUSE [BARN CABIN]]
# (LIST Object! Object2 = Object3 . .=20 .)

LISTP One input (Object). One output
Outputs TRUE if Object = is a=20 list, FALSE otherwise
Example: LISTP [HERE IS A LIST]
Outputs=20 TRUE.

LPUT Two inputs (Object, List). One output.
Outputs a = new list=20 formed by putting Object at the end of the List.
Example: LPUT "123 = [BAT=20 HAT]
Outputs [BAT HAT 123].

MEMBERP Two inputs (Item, List). = One=20 output.
Outputs TRUE if Item is a member of List, False otherwise. = Item may=20 be any data object.
Example: MEMBERP [1 2] [[A B] [1 2] [HI=20 THERE]]
Outputs TRUE.

NUMBERP One input (Object). One=20 output.
Outputs TRUE if Object is a number; FALSE = otherwise.
Example:=20 NUMBERP 5
Outputs TRUE.

SENTENCE Two inputs (Object!, = Object2). One=20 output (List).
SE Outputs a list made up of the words in Object!=20 and
Object2.
Example: SENTENCE [NOW IS][THE TIME] Outputs [NOW IS = THE=20 TIME].
# (SENTENCE Object!, Object2, Object3, . . .)

WORD Two = inputs=20 (Word I, Word2). One output (Word).
Outputs a word made up of Word I = and=20 Word2. Example: WORD "BAT'MAN
Outputs BATMAN.
# (WORD Word 1, = Word2,=20 Word3,...)

WORDP One input (Object). One output.
Outputs TRUE = if=20 Object is a word; FALSE otherwise.
Example: WORDP "XXX
Outputs = TRUE.

Variables

LOCAL One input (Name). No outputs.
Makes its = inputs local=20 to the procedure where LOCAL occurs.
# (Local Name1, Name2, Name3, . = .=20 .)

MAKE Two inputs (Object, Name). No output.
Gives the = variable Name=20 the value Object.
Example: MAKE "THIS 475
PR = :THIS
475

NAME Two=20 inputs (Object, Name). No outputs.
Gives variable Name the value=20 Object.
Example: NAME "MAN "JOHN
PR :MAN
JOHN.

NAMEP One = input=20 (Name). One output.
Outputs TRUE if name has a value; FALSE = otherwise.
PR=20 NAMEP "HOUSE
Outputs FALSE if HOUSE has not been assigned a=20 value.

THING One input (Name). One output.
Outputs the value = of the=20 variable Name.
Example: MAKE "SIZE 33
THING :SIZE
Outputs = 33

Arithmetic Operations

ARCTAN One input (N). One = output.
Outputs the=20 arctangent (inverse tangent) of N.
Example: ARCTAN 1
Outputs=20 45.

COS One input (N). One output.
Outputs the cosine of N=20 degrees.
Example: COS 60
Outputs .5.
INT One input (X). One=20 output.
Outputs the integer portion of X (truncates).
Example:=20 INT6.7
Outputs 6.

PRODUCT Two inputs (Nl, N2). One = output.
Outputs=20 the product of its inputs.
Example: PRODUCT 8 4
Outputs 32.
#=20 (PRODUCTNl, N2, N3, . . .).

QUOTIENT Two inputs (Xl, X2). One=20 output.
Outputs Xl divided by X2, truncated to an integer. =
Example:=20 QUOTIENT 18 4
Outputs 4.

RANDOM One input (N). One = output.
Outputs=20 a random non-negative integer less than N.
Example: RANDOM 6=20
OutputsO,1,2,3,4,or5.

REMAINDER Two inputs (Xl, X2). One=20 output.
Outputs the remainder obtained when Xl is divided by = Xl.
Example:=20 REMAINDER 17 5
Outputs 1.

RERANDOM Makes RANDOM produce the = same=20 sequences each
time.

ROUND One input (N). One = output.
Outputs N=20 rounded to the nearest integer.
Example: ROUND 5.501
Outputs=20 6.

SIN One input (N). One output.
Outputs the sine of N=20 degrees.
Example: Sin 30
Outputs .5.

SQRT One input (N). = One=20 output.
Outputs the square root of N, or error message if N is=20 negative.
Example: SQRT 36
Outputs 6.

SUM Two inputs (Xl, = Xl). One=20 output.
Outputs the sum of Xl and Xl.
Example: SUM 6 4
Outputs = 10.
#=20 (SUM Xl, Xl, X3, . . .)

+ Two inputs (Xl, Xl). One = output.
Outputs the=20 sum of its inputs.
Example: 4+5, 4 + 5,3+3+3
All output 9

- = Two=20 inputs (Xl, Xl). One output.
Outputs the result of Xl- = Xl.
Example: 5 - 3,=20 5 - 3, 5 - 3
All output 1

- One input (Xl). One = output.
Outputs the=20 negative of Xl.
Example: - 5
Outputs - 5

* Two inputs (Xl, = Xl). One=20 output.
Outputs the product of its inputs.
Example: 5*6, 5 * = 6
Both=20 output 30

/ Two inputs (Xl, Xl). One output.
Outputs Xl = divided by=20 Xl.
Example: 8/4, 8 / 4
Both output 1

> Two inputs (Xl, = Xl). One=20 output.
Outputs "TRUE if Xl is greater than Xl, "FALSE = otherwise.
Example:=20 5>4, 5 > 4
Both output "TRUE

< Two inputs (Xl, Xl). = One=20 output.
Outputs "TRUE if Xl is less than Xl, "FALSE = otherwise.
Example:=20 4<5, 4 < 5
Both output "TRUE

=3D Two inputs (Objectl, = Objectl).=20 One output.
Outputs "TRUE if Object 1 equals Objectl, "FALSE=20 otherwise.
Example: 4=3D4, 4 =3D 4, (FIRST "OTHELLO) =3D "0
All = output "TRUE

Conditionals and Flow of Control

CO One input (Object-optional). = No=20 outputs.
Resumes running a procedure after a PAUSE or CTRL-Z. If CO = has an=20 input, it becomes the output from PAUSE.

IF Inputs: (Pred,=20 Instructionlistl, Instructionlistl (optional=BB.
Outputs-whatever = instruction=20 list outputs (if any). If Pred is TRUE, runs Instructionlistl. If Pred = is FALSE,=20 runs Instructionlistl.
Example: IF (FIRST:NAMES) =3D "MITCH [PR [HI = MITCH]] [PR=20 [NOT HERE]]
Prints HI MITCH if condition is met.

IFFALSE One = input=20 (Instructionlist). Outputs: same as
IFF Instructionlist, if = any.
Runs=20 Instructionlist if result of most recent TEST was FALSE.

IFTRUE = One input=20 (Instructionlist). Outputs: same as
IFT Instructionlist, if = any.
Runs=20 Instructionlist if result of most recent TEST was = TRUE.
Example:
TEST :X=20 > 5
IFT [PR [THE NUMBER IS GREATER THAN 5]]
IFF [PR [GIVE ME A = BIGGER=20 NUMBER]]

OUTPUT One input (Object). One output (Object).
OP = Makes=20 Object the output of current procedure, and returns control to the = caller.=20
Example: OUTPUT :SIZE
Outputs the value of SIZE, which must now = be used=20 as input.

PAUSE No inputs. One output (Message).
Suspends = current=20 procedure and outputs Message.

REPEAT Two inputs (N, = Instructionlist).=20 Same outputs as Instructionlist, if any.
Runs Instructionlist N=20 times.
Example: REPEAT 3 [ FD 30 RT 120] Draws a triangle.

RUN = One=20 input (Instructionlist). Same outputs as Instructionlist, if = any.
Runs=20 Instructionlist as if typed directly.
Example:MAKE "COMMANDS [REPEAT = 6 [FD=20 50 RT 60]
RUN :COMMANDS
Draws a hexagon.

STOP No inputs. No = outputs.
Stops the current procedure and returns con­trol to the=20 caller.

TEST One input (Pred). No outputs.
Stores value of = Fred (TRUE=20 or FALSE) for subsequent tests.
Example: See IFTRUE or = IFFALSE.

CTRL-G=20 No inputs. No output.
Stops current procedure, returns Logo to top = level, and=20 prints a ?

CTRL-W No inputs. No outputs.
Interrupts whatever = is=20 running. Typing any other character resumes what was = running.

CTRL-Z No=20 inputs. No outputs.
Interrupts whatever is running, causing a = PAUSE.

Logical Operations

AND Two inputs (Pred!, Pred2). One output = (TRUE=20 or
FALSE).
Outputs TRUE if Pred! and Pred2 are true; FALSE = otherwise.
#=20 (ANDPred!,Pred2,Pred3,.. .).
Example: AND :X>5 :X<1O
Outputs = TRUE if=20 X is between 5 and 10.

NOT One input (Pred). One output (TRUE or=20 FALSE).
Outputs TRUE if Fred is FALSE; TRUE otherwise. Example: NOT = EQUAL"=20 ABC" 123
Outputs TRUE.

OR Two inputs (Pred!, Pred2). One = output (TRUE=20 or
FALSE).
Outputs FALSE if both inputs are false. TRUE otherwise. = (OR=20 (Predl, Pred2, Pred3 . . . .)
# Example: OR :X <5 :X> = 10
Outputs=20 "TRUE if X is outside of 5-10.

The Outside World

BUTTONP One input (Paddlenumber). One output = (TRUE=20 or
FALSE).
Outputs TRUE if button on Paddlenumber is down; FALSE=20 otherwise.

KEYP No inputs. One output (TRUE or FALSE).
Outputs = TRUE if=20 there is at least one character wait­ing to be read; FALSE=20 otherwise.

PADDLE One input (Paddlenumber). One = output.
Outputs number=20 between 0 and 255 representing the rotation of the dial on the specified = paddle.

PRINT One input (Object). No outputs.
PR Prints its = input on=20 the screen, followed by a return.
# (PRINTObjectl Object2 . . = .).
Example:=20 (PR [THE NUMBER IS] :X)
Prints THE NUMBER IS 7 if the value of X is=20 7.

READCHAR No inputs. One output.
RC Outputs the first = character=20 typed. Waits for
character.
Example: MAKE" ANS RC

READLIST = No=20 inputs. One output.
RL Waits for the user to type a line, and outputs = in=20 list
form.
Example: MAKE" ANS RL

SHOW One input (Object). = No=20 output.
Prints Object on the screen, followed by a = return.

TYPE One=20 input (object). No output.
Prints its input on the screen without a=20 return.
# (TYPE 23 "HELLO [SKIDDOO]
Example: TYPE [THE PRODUCT OF = X*y=20 IS]
PRINT :X*:Y

WAIT One input (number). No outputs.
Causes = Logo to=20 pause for number/60 seconds.
WAIT 120

Text and Screen Commands

CLEARTEXT No inputs. No = outputs.
Clears text=20 screen and initializes cursor position.

CURSOR No inputs. One=20 output.
Outputs list of column and line numbers of=20 cursor
position.

FULLSCREEN Devotes the screen to graphics, = with=20 turtle field
showing.

SETCURSOR One input (Position). No=20 output.
Sets the cursor to Position (Lines 0--23, cols. 0--39). =
Example:=20 SETCURSOR [0 12]
Puts cursor halfway down the left edge of=20 the
screen.

SPLITSCREEN Devotes top 20 lines of screen to = turtle=20 field. TEXTSCREEN Devotes the entire screen to text.

CTRL-L = Devotes the=20 entire screen to graphics.
CTRL-S Devotes the top 20 lines of the = screen to=20 graphics.
CTRL- T Devotes the entire screen to text.

Workspace Management

BURY One input (Packagename). No = outputs.
Buries=20 all procedures and names in Package.

ERALL Optional input = (Package or=20 Packagelist). No output.
Erases all unburied procedures and variables = (in
Package or Packagelist) from the workspace.

ERASE One = input (Name=20 or Namelist). No outputs.
Erases the named procedure(s) from the = workspace.=20
Example: ERASE [CIRCLE PENT]
Erases the CIRCLE and PENT=20 procedures

ERN One input (Name or Namelist). No = outputs.
Erases the=20 named variable(s) from workspace. Example: ERN [VI v2]
Erases VI and = V2=20 variables.

ERNS Optional input (Package or Packagelist). No=20 outputs.
Erases all variables (in Package or Packagelist) from=20 workspace.

ERPS Optional input (Package or = Packagelist).
Erases all=20 procedures (in Package or Packagelist) from workspace.

PACKAGE = Two inputs=20 (Package, Name or Namelist). No outputs.
Puts each named procedure in = Package.
Example: PACKAGE "ANIMAL [CAT DOG]
Puts CAT and DOG in = the=20 package ANIMAL.

PKGALL One input (Package). No outputs.
Puts = into=20 Package all procedures and variables that are not already in = packages.

PO=20 One input (Name or Namelist). No outputs.
Prints the definitions of = the named=20 procedure(s).

POALL Optional input (Package or = Packagelist).
Prints=20 definition of every procedure and value of every variable (in Package or = Packagelist).

PONS Optional input (Package or Packagelist). No=20 outputs.
Prints the name and value of every variable (in Package or=20 Packagelist).

POPS Optional input (Package or Packagelist). No=20 outputs.
Prints the definition of every procedure in Package or=20 Packagelist.

POTS Optional input (Package or Packagelist). No=20 outputs.
Prints the title line of every procedure (in Package or=20 Packagelist).

UNBURY One input (Package). No outputs.
Unburies = all=20 procedures and names in Package.

Files

CATALOG No inputs. No outputs.
Outputs the names of the = N files=20 on the disk.

DISK No inputs. One output.
Outputs list of 3 = numbers:=20 the disk drive number, the slot number of the disk drive, and the volume = number=20 of the disk most recently used for

CATA­LOG or set with=20 SETDISK.

ERASEFILE One input (File). No outputs.
Erases File = named=20 "FILE.Logo from disk. Example: ?ERASEFILE "NOTES
- Erases file named=20 NOTES.LOGO.

LOAD One or two inputs (File, Package (optional=BB. = No=20 outputs.
Loads the contents of FILE.LOGO into the work­space. If = Package=20 is input, it specifies the package everything goes into.
Example: = LOAD=20 "TURTLESTUFF
Loads file called TURTLESTUFF.LOGO into = workspace.

SAVE=20 One or two inputs (File, Package (optional=BB. No outputs.
Creates a = file named=20 FILE. LOGO and saves all pro­cedures and variables in Package if = this is=20 input, and of the entire workspace otherwise.
Example: SAVE=20 "TURTLESTUFF
Saves workspace contents in file called TURTLESTUFF.=20 LOGO

SETDISK One to three inputs (Drive, Slot, Volume (last=20 2
optional) . No outputs.
Sets the disk drive to Drive, slot to = Slot, and=20 volume to Volume.
Files

CATALOG No inputs. No = outputs.
Prints the=20 names of all files on the disk.

DISK No inputs. One output. = Outputs list=20 of 3 numbers: the disk drive number, the slot number of the disk drive, = and the=20 volume number of the disk most recently used for CATA­LOG or set = with=20 SETDISK.

ERASEFILE One input (File). No outputs.
Erases File = named=20 FILE. LOGO from disk. Example: ?ERASEFILE "NOTES
Erases file named=20 NOTES.LOGO.

LOAD One or two inputs (File, Package (optional=BB. = No=20 outputs.
Loads the contents of FILE.LOGO into the work­space. If = Package=20 is input, it specifies the package everything goes into.
Example: = LOAD=20 "SQUARE
Loads the file named SQUARE. LOGO from the disk to the=20 workspace.

SAVE One or two inputs (File, Package (optional=BB. No = outputs.
Creates a file named FILE. LOGO and saves all = pro­cedures and=20 variables in Package if this is input, and of the entire workspace=20 otherwise.
Example: SAVE "SQUARE
Saves all the workspace contents = in a=20 file called SQUARE.LOGO.

SETDISK One to three inputs (Drive, = Slot, Volume=20 (last 2
optional). No outputs.
Sets the disk drive to Drive, slot = to Slot,=20 and volume to Volume.

Advanced Primitives or Rarely Used Primitives

GPROP Two inputs = (Name,=20 Prop). One output.
Outputs the value of Prop property of Name. = Example: GPROP=20 "CITY" A4
Outputs SAN FRANCISCO (see below PPROP for = reason).

PLIST=20 One input(Name). One output.
Outputs the property list associated = with=20 Name.

PPROP Three inputs (Name, Prop, Object). No = outputs.
Gives Name=20 the property Prop with value Object. Example: PPROP "CITY" A4 [SAN=20 FRAN­CISCO]
Gives the value of SAN FRANCISCO to the name A4 in = the=20 property list CITY.

PPS Optional input (Package or Packagelist).=20 Variable
outputs.
Prints the property list(s) of everything (in = Package or=20 Packagelist) in workspace.

REMPROP Two inputs (Name, Prop). No=20 outputs.
Removes property pair Prop from the property list of=20 Name.
Example: REMPROP "CITY" A4
Removes the name A4 and its value = from=20 the prop­erty list CITY.

CATCH Two inputs (Name, = Instructionlist).=20 Same outputs as
Instructionlist.
Runs Instructionlist. If a THROW = Name is=20 called while Instructionlist is run, control returns to the = CATCH.

ERROR=20 No inputs. One output.
Outputs six-element list containing = information about=20 the most recent error which has not had a message printed or output by=20 ERROR.

THROW One input (Name). No outputs.
Used to match name = with=20 CATCH name--error if none exists.

COPYDEF Two inputs (Newname, = Name). No=20 outputs.
Copies the definition of Name to that for Newname. =
Example:=20 COPYDEF "F "FORWARD
Gives the same definition as = FORWARD.

DEFINE Two=20 inputs (Name, List). No outputs.
Makes List the definition of the = procedure=20 Name. First list in List must be the inputs to Name. Example: DEFINE = "BOX=20 [[SIZE] [REPEAT 4 [FD :SIZE RT 90]]]

PRIMITIVEP One input (Name). = One=20 output.
Outputs TRUE if Name is name of primitive; FALSE=20 otherwise.
Example: PRIMITIVEP "FORWARD
Outputs TRUE

TEXT = One input=20 (Name). One output.
Outputs the definition of Name as a list of=20 lists.

GO One input (Name). No outputs.
Used to loop back to=20 instruction following LABEL.
Example: TO COUNTUP
MAKE "X = 1
LABEL=20 "LOOP
PRINT :X
MAKE "X :X + 1
GO "LOOP
END
It is better = to use=20 recursion than to use GO like this.

LABEL One input (Name). No=20 outputs.
Used to pass control to instruction using GO.

NODES = No=20 inputs. One output.
Outputs the number of free nodes.

RECYCLE = No=20 inputs. No outputs.
Frees as many nodes as possible through a=20 garbage
collection.

REPARSE Makes reparsing happen=20 immediately.

. BPT No input. No output.
Enters the Apple = monitor. Logo=20 may be resumed by typing 803G followed by RETURN.
.
CONTENTS = Outputs list=20 of currently defined objects, including
variables, procedures, Logo=20 primitives.

. DEPOSIT Two inputs (N,A). No outputs.
Writes A = into=20 machine address N.
.
EXAMINE One input (Object). One = output.
Outputs=20 the contents of machine address Object (decimal) if Object is a number.=20 Otherwise, outputs the address of the first node of Object.

. = PRINTER One=20 input (N). No outputs.
Message to Logo that any subsequent = information=20 displayed on the screen is to be printed.
Example: .PRINTER 1
If = printer=20 card is in slot # I, sends text to printer. yse .PRINTER 0 to return off = printer=20 and to return to screen.

Control Characters

CTRL-A Moves cursor to beginning of = line.
CTRL-B=20 Moves cursor back one character.
CTRL-C Exits editor, saving changes=20 made.
CTRL-D Deletes character under cursor.
CTRL-E Moves cursor = to end of=20 line.
CTRL-F Moves cursor forward one character.
CTRL-G Emergency = STOP,=20 aborts procedure or editing.
CTRL-H Same as left arrow.
CTRL-K = Kills all=20 text to right of cursor.
CTRL-L Scrolls screen so current line is at = center=20 (editor).
Same as FULLSCREEN (command level).
CTRL-M Same as=20 (RETURN).
CTRL-N Moves cursor down one line.
CTRL-O Opens a new = line at=20 position of cursor.

CTRL-P Moves cursor up one line.
CTRL-Q = Allows=20 insertion of delimiting characters.
CTRL-S Same as = SPLITSCREEN.
CTRL- T=20 Same as TEXTSCREEN.
CTRL-U Same as right arrow.
CTRL-V Scrolls = cursor down=20 text one page.
CTRL-W Temporary stop. Any other key resumes=20 program.
Helpful to stop screen scroll.
CTRL-Y Inserts previous = line=20 erased with CTRL-K.
Useful for moving a line in the editor.
CTRL-Z = Same as=20 PAUSE, except that used during a
program.

ESC > Moves = cursor to end=20 of editor buffer.
ESC < Moves cursor to beginning of editor = buffer.

Editing Primitives

EDIT One input (Name, Namelist). No = output.
ED=20 Starts up LOGO editor.
Use CTRL-C to leave editor, saving changes. = Example:=20 ED "BOX

EDNS Zero or one input (Package, Package list).=20 No
outputs.
With no input, puts all variables in editor.
With = Package=20 input, puts all variables in package in editor.
With Package list as = input,=20 puts all variables in list in editor.

TO One input = (Name-unquoted). No=20 output
Enters procedure editor.
Use END to complete procedure = definition.=20 Example: TO BOX

Error Messages

Apple Logo has 42 error messages for your = convenience.=20 Here is a complete list of the error messages. (Only in = Ref:(2))

Number=20 Message
1 (procedure) IS ALREADY DEFINED
2 NUMBER TOO BIG
3 = (symbol)=20 ISN'T A PROCEDURE
4 (symbol) ISN'T A WORD
5 (procedure) CAN'T BE = USED IN A=20 PROCEDURE
6. (symbol) IS A PRIMITIVE
7 CAN'T FIND LABEL = (symbol)
8=20 CAN'T (symbol) FROM THE EDITOR
9 (symbol) IS UNDEFINED
10 = (procedure)=20 DIDN'T OUTPUT TO (symbol)
11 I'M HAVING TROUBLE WITH THE DISK
12 = DISK=20 FULL
13 CAN'T DIVIDE BY ZERO
14 END OF DATA
15 FILE ALREADY=20 EXISTS
16 FILE LOCKED
17 FILE NOT FOUND
18 FILE IS WRONG = TYPE
19 TOO=20 FEW ITEMS IN (list)
20 NO MORE FILE BUFFERS
21 CAN'T FIND CATCH = FOR=20 (symbol)
22 (symbol) NOT FOUND
23 OUT OF SPACE
24 (procedure) = CAN'T BE=20 USED IN PROCEDURE
25 (symbol) IS NOT TRUE OR FALSE
26 PAUSING. . = .
27=20 YOU'RE AT TOPLEVEL
28 STOPPED!
29 NOT ENOUGH INPUTS TO = (procedure)
30=20 TOO MANY INPUTS TO (procedure)
31 TOO MUCH INSIDE PARENTHESIS
32 = TOO FEW=20 ITEMS IN (list)
33 CAN ONLY DO THAT IN A PROCEDURE
34 TURTLE OUT = OF=20 BOUNDS
35 I DON'T KNOW HOW TO (symbol)
36 (symbol) HAS NO = VALUE
37 )=20 WITHOUT (
38 I DON'T KNOW WHAT TO DO WITH (symbol)
39 DISK VOLUME=20 MISMATCH
40 DISK IS WRITE PROTECTED
41 (procedure) DOESN'T LIKE = (symbol)=20 AS INPUT
42 (procedure) DIDN'T OUTPUT


Alphabetical Listing of Logo Primitives


AND=20
ARCTAN
ASCII
BACK
BACKGROUND
BURY
BUTFIRST =
BUTLAST=20
BUTTONP
CATALOG
CATCH
CHAR
CLEAN
CLEARSCREEN=20
CLEARTEXT
CO
COPYDEF
COS
COUNT
CURSOR
DEFINE=20
DEFINEDP
DISK
DOT
EDIT
EDNS
EMPTYP =
EQUALP
ERALL=20
ERASE
ERASEFILE
ERN
ERNS
ERPS
ERROR
FENCE =
FIRST=20
FORWARD
FPUT
FULLSCREEN
GPROP
GO
HEADING =
HIDETURTLE=20
HOME
IF
IFFALSE =
IFTRUE
INT
ITEM
KEYP
LABEL
LAST=20
LEFT
LIST
LlSTP
LOAD
LOCAL
LPUT
MAKE
MEMBERP =
NAME=20
NAMEP
NODES
NOT
NUMBERP
OR
OUTPUT
PACKAGE =
PADDLE=20
PAUSE
PEN
PENCOLOR
PENDOWN
PENERASE
PENREVERSE =
PENUP=20
PKGALL
PLiST
PO
POALL
PONS
POPS
POS
POTS=20
PPROP
PPS
PRIMITIVEP
PRINT
PRODUCT
QUOTIENT =
RANDOM=20
READCHAR
READLIST
RECYCLE
REMAINDER
REMPROP=20
REPARSE
REPEAT
RERANDOM
RIGHT
ROUND
RUN
SAVE =
SCRUNCH=20
SENTENCE
SETBG
SETCURSOR
SETDISK
SETHEADING =
SETPC=20
SETPEN
SETPOS
SETSCRUNCH
SETX
SETY
SHOW =
SHOWNP=20
SHOWTURTLE
SIN
SPLITSCREEN =
SQRT
STOP
SUM
TEST
TEXT=20
TEXTSCREEN
THING
THROW
TO
TOWARDS =
TYPE
UNBURY
WAIT=20
WINDOW
WORD
WORDP
WRAP
XCOR=20
YCOR

Providence:
Scanned from:

(1) 88 Apple Logo = Programs:=20 Mitchell Waite, Donald Martin, Jennifer Ann Martin. SAMS. The Waite = Group 1984.=20 ISBN0-672-22343-0

And also in (2) Apple Logo Programming Primer: = Donald=20 Martin, Stephen Prata, Marijane Paulsen.SAMS. The Waite Group 1984.=20 ISBN0-672-22342-2

Submenu

  • Summary=20 of Logo Features
  • The=20 Authors
<
TOP
>
Talk to the Logo = Forum Powered by = CMSimple Installed by=20 C.Rutter
------=_NextPart_000_0000_01C97BD7.5C0B7690 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://ccgi.frindsbury.force9.co.uk/greatlogoatlas/images/flags/es.gif R0lGODlhEgAMALMAAAgAADEAADMFCDwjAM4QGM4YGN4QId4hIechIeRXFe97GP/OEP/eCP/eEP/n EP/vECH5BAEAACAALAAAAAASAAwAQARFEIhJqxXSkM17N8LgNGRpms4gaF67geIpl6mAHHiu68h0 70Bcb5AoGo/IxGDQWDifUGhjqahar1iF6lDoer/fA+ZCpgAiADs= ------=_NextPart_000_0000_01C97BD7.5C0B7690 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://creativecommons.org/images/public/somerights20.gif R0lGODlhWAAfAMQWACAgILC2r9XX1VZXVpaXlu/v77zAvLi9uLK3scDEv8nNyK2yrLW6tMXJxK60 rXx8fEBAQM3QzKyyq6uxqv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA ABYALAAAAABYAB8AAAX/oFWNZGmeaKqubJuK1STP9CTd97I4fIAgDMbhYDAkjo2kYhlpOpvLZfKY KA6Dv0CAp1vgbrUZKVz7SnQ8hxYoHBqRjehz7oxOj4bhAYvYcr04NmQTI4MyZmc7PT9Bbm9KCk4M AyUAAwxPUg14eXsMWWk6iIOFhjY4XT0+QHqPSk6UFQAQDxAkD5FQSZtVep99fg6iX6QxhmZoi2xC RXBMEZQABBTU1IQVA5l3Vp6gXKNkpYPIimqMzK7PDxUQBdXvAgAVD3UK21e/wcOB4cZkiMnMsXLj LFKDEQ3eKRSAEIo9Xlb46APEL4y4cagUrRnYLMGrCOseUChA4IEBCgIe/zwQQIHSSl0QO+Xzsw9M v2PklAVhVjCCAFsRKMgb8UAeAAACDg4Q4HAKN4l/zBQz9SWVwEZEjEBqYotCgnkUSsZQcJICu3r3 dnoTRlGQRX9hJJy6IUxnozcemSjo+lVkygonWZqFwDSCpioy80WV+hZnVY3nHHmMk8uWgALy1tmC YKsAQwjaIHpSzJZxY8c50qzaSaSngnXTDgygRaEWhAVh5xU+/JS0MHA1LsbNCJmN5K0RGMhyp7Aa 5gqYmnIaDWwxsdP/zNRVsxqdsyYCKA1oXk28T5ibnmahWVMu9uwZVUfuiLyBPMILbQFQUNjwtjxQ ceGAacHBNVx8dhE02f8zAigw1AAEGPBALBA00N9DonXTRygU2fTegajIZ1xWPYFXlAkAvIRWTPis 1d5U48yViEbdKYjcExMQAOEETPVn2EN4+LLeHx2692EZOSVI4oK5zCGAjytOp6E+A17XjwtYZqnl llhOUxsAQcVDDWfUVFDNOmZSs4CZEIxHgQEA1AZBbdV4ieac1NRSDQR2ijTmmSnN6SYFeNZGwpw6 0mmmnwO4yWYJhI7HZm6EyjmYWWFJyo5Z08xJQqaKblrBNAgUMEABno4QqVkjSCMUbYu+qdJJj35K 5qQhxamnqNPMMoKnIqU66qsi/WqWSA8UkKywhAory5jF0unlNGkSqqq3mriqFGc1ouI5FJ7KFvos oX5WmuecE6DKbbOsygKBNClhiuyT0dryqUoMVernnLt6OgsBBRiLqLDvEhCvwJSGx+ytxuoZbbB/ 1qrqrfri6qmnlhoLFrMOswqsWe4wzKawrqJ06kjjQWBABBiPOTHGfO6ZsadeMiQqxNSUHG/ExSZw ac5nmqAtNhPOY8kAKc6jkr0nFlVUio1a8u46SSs9VNIppji0trRoS7VmX3s9NJdkl202CyEAADs= ------=_NextPart_000_0000_01C97BD7.5C0B7690 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://ccgi.frindsbury.force9.co.uk/greatlogoatlas/templates/div_subsilver/stylesheet.css BODY { SCROLLBAR-FACE-COLOR: #dee3e7; FONT-SIZE: 9pt; = SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; SCROLLBAR-SHADOW-COLOR: #dee3e7; = COLOR: #000000; SCROLLBAR-3DLIGHT-COLOR: #d1d7dc; SCROLLBAR-ARROW-COLOR: = #006699; SCROLLBAR-TRACK-COLOR: #efefef; FONT-FAMILY: = Verdana,Arial,Helvetica,sans-serif; SCROLLBAR-DARKSHADOW-COLOR: #98aab1; = BACKGROUND-COLOR: #ffffff } #wrapper1 { MARGIN-LEFT: auto; WIDTH: 726px; MARGIN-RIGHT: auto; POSITION: = relative; TOP: 10px } #wrapper2 { BORDER-RIGHT: #006699 2px solid; BORDER-TOP: #006699 2px solid; = BORDER-LEFT: #006699 2px solid; WIDTH: 726px; BORDER-BOTTOM: #006699 2px = solid; POSITION: relative; BACKGROUND-COLOR: #ffffff } #logo { PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0px 0px; PADDING-LEFT: 0px; = LEFT: 0px; BACKGROUND-IMAGE: url(images/top.jpg); PADDING-BOTTOM: 0px; = WIDTH: 726px; PADDING-TOP: 0px; BACKGROUND-REPEAT: no-repeat; POSITION: = absolute; TOP: 0px; HEIGHT: 100px; BACKGROUND-COLOR: #5493b4 } #sitename { FONT-WEIGHT: normal; FONT-SIZE: 24pt; LEFT: 10px; COLOR: #ff933f; = LETTER-SPACING: 1px; POSITION: absolute; TOP: 26px } #searchbox { LEFT: 550px; POSITION: absolute; TOP: 20px } #searchbox .text { BORDER-RIGHT: #5493b4 2px solid; BORDER-TOP: #5493b4 2px solid; = BORDER-LEFT: #5493b4 2px solid; COLOR: #006699; BORDER-BOTTOM: #5493b4 = 2px solid; BACKGROUND-COLOR: #dee7e3 } #searchbox .submit { BORDER-RIGHT: #5493b4 2px solid; BORDER-TOP: #5493b4 2px solid; = BORDER-LEFT: #5493b4 2px solid; COLOR: #006699; BORDER-BOTTOM: #5493b4 = 2px solid; BACKGROUND-COLOR: #dee7e3 } #columns { MARGIN-LEFT: 2px; OVERFLOW: hidden; WIDTH: 722px; POSITION: relative; = TOP: 102px; BACKGROUND-COLOR: #dee7e3 } #left { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: = 5px; WIDTH: 190px; PADDING-TOP: 5px; TOP: 0px } #right { PADDING-LEFT: 2px; FLOAT: right; WIDTH: 520px; BACKGROUND-COLOR: = #ffffff } #locator { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: = 510px; PADDING-TOP: 5px; POSITION: static; BACKGROUND-COLOR: #dee7e3 } #content { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 20px; WIDTH: = 500px; PADDING-TOP: 20px; POSITION: static } #navigator { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: = 510px; COLOR: #dee7e3; PADDING-TOP: 5px; POSITION: relative; HEIGHT: = 15px; BACKGROUND-COLOR: #4cb1ff } #previouspage { LEFT: 10px; POSITION: absolute } #top { LEFT: 50%; POSITION: absolute } #nextpage { RIGHT: 10px; POSITION: absolute } .clear { CLEAR: both; MARGIN-TOP: 104px; OVERFLOW: hidden; WIDTH: 700px; = POSITION: relative; HEIGHT: 0px } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } A:link { COLOR: #006699 } A:active { COLOR: #006699 } A:visited { COLOR: #006699 } A:hover { COLOR: #dd6900; TEXT-DECORATION: underline } HR { BORDER-RIGHT: #d1d7dc 0px solid; BORDER-TOP: #d1d7dc 1px solid; = BORDER-LEFT: #d1d7dc 0px solid; BORDER-BOTTOM: #d1d7dc 0px solid; = HEIGHT: 0px } H1 { FONT-WEIGHT: normal; FONT-SIZE: 16pt; MARGIN-BOTTOM: 5px; COLOR: = #006699 } H2 { FONT-WEIGHT: normal; FONT-SIZE: 16pt; MARGIN-BOTTOM: 5px; COLOR: = #006699 } H3 { FONT-WEIGHT: normal; FONT-SIZE: 16pt; MARGIN-BOTTOM: 5px; COLOR: = #006699 } H4 { FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN-BOTTOM: 4px; COLOR: #006699 } H5 { FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN-BOTTOM: 3px; COLOR: #006699 } H6 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; MARGIN-BOTTOM: 2px; COLOR: #006699 } UL.menulevel1 { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.menulevel2 { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.menulevel3 { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.sitemaplevel1 { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.sitemaplevel2 { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.sitemaplevel3 { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.submenu { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } UL.search { PADDING-LEFT: 0px; MARGIN-LEFT: 0px; LIST-STYLE-TYPE: none } LI { LINE-HEIGHT: 1.5 } LI.doc { PADDING-LEFT: 15px; BACKGROUND-IMAGE: url(menu/doc.gif); = BACKGROUND-REPEAT: no-repeat } LI.docs { PADDING-LEFT: 15px; BACKGROUND-IMAGE: url(menu/docs.gif); = BACKGROUND-REPEAT: no-repeat } LI.sdoc { PADDING-LEFT: 15px; BACKGROUND-IMAGE: url(menu/sdoc.gif); = BACKGROUND-REPEAT: no-repeat } LI.sdocs { PADDING-LEFT: 15px; BACKGROUND-IMAGE: url(menu/sdocs.gif); = BACKGROUND-REPEAT: no-repeat } .menulevel1 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .menulevel2 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .menulevel3 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } #locator { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } #navigator { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .sitemaplevel1 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .sitemaplevel2 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .sitemaplevel3 { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .submenu { FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #5493b4 } .menulevel1 A:link { TEXT-DECORATION: none } .menulevel1 A:visited { TEXT-DECORATION: none } .menulevel1 A:active { TEXT-DECORATION: none } .menulevel1 A:hover { TEXT-DECORATION: none } .menulevel2 A:link { TEXT-DECORATION: none } .menulevel2 A:visited { TEXT-DECORATION: none } .menulevel2 A:active { TEXT-DECORATION: none } .menulevel2 A:hover { TEXT-DECORATION: none } .menulevel3 A:link { TEXT-DECORATION: none } .menulevel3 A:visited { TEXT-DECORATION: none } .menulevel3 A:active { TEXT-DECORATION: none } .menulevel3 A:hover { TEXT-DECORATION: none } #locator A:link { TEXT-DECORATION: none } #locator A:visited { TEXT-DECORATION: none } #locator A:active { TEXT-DECORATION: none } #locator A:hover { TEXT-DECORATION: none } #navigator A:link { TEXT-DECORATION: none } #navigator A:visited { TEXT-DECORATION: none } #navigator A:active { TEXT-DECORATION: none } #navigator A:hover { TEXT-DECORATION: none } .sitemaplevel1 A:link { TEXT-DECORATION: none } .sitemaplevel2 A:link { TEXT-DECORATION: none } .sitemaplevel3 A:link { TEXT-DECORATION: none } .sitemaplevel1 A:visited { TEXT-DECORATION: none } .sitemaplevel2 A:visited { TEXT-DECORATION: none } .sitemaplevel3 A:visited { TEXT-DECORATION: none } .sitemaplevel1 A:active { TEXT-DECORATION: none } .sitemaplevel2 A:active { TEXT-DECORATION: none } .sitemaplevel3 A:active { TEXT-DECORATION: none } .sitemaplevel1 A:hover { TEXT-DECORATION: none } .sitemaplevel2 A:hover { TEXT-DECORATION: none } .sitemaplevel3 A:hover { TEXT-DECORATION: none } .submenu A:link { TEXT-DECORATION: none } .submenu A:visited { TEXT-DECORATION: none } .submenu A:active { TEXT-DECORATION: none } .submenu A:hover { TEXT-DECORATION: none } .menu { FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; COLOR: #5493b4 } .menu A { FONT-WEIGHT: bold; TEXT-DECORATION: underline } #lastupdatea:active { FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; COLOR: #5493b4 } #navigator A:link { FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; COLOR: #dee7e3 } #previouspage A:link { FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; COLOR: #dee7e3 } #top A:link { FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; COLOR: #dee7e3 } #nextpage A:link { FONT-WEIGHT: bold; FONT-SIZE: 8pt; MARGIN-BOTTOM: 5px; COLOR: #dee7e3 } .search A { FONT-WEIGHT: normal; COLOR: black } .search A:link { COLOR: black } .search A:visited { COLOR: black } .search A:active { COLOR: black } .search A:hover { COLOR: black } .edit { FONT-SIZE: 7pt; COLOR: black; BACKGROUND-COLOR: #e5e5e5 } .edit A:link { FONT-WEIGHT: normal; COLOR: black; TEXT-DECORATION: none } .edit A:visited { FONT-WEIGHT: normal; COLOR: black; TEXT-DECORATION: none } .edit A:active { FONT-WEIGHT: normal; COLOR: black; TEXT-DECORATION: none } .edit A:hover { FONT-WEIGHT: normal; COLOR: black; TEXT-DECORATION: none } #loginlink { MARGIN-TOP: 5px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 10px; COLOR: #5493b4; TEXT-DECORATION: none } #loginlink A { MARGIN-TOP: 5px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 10px; COLOR: #5493b4; TEXT-DECORATION: none } #loginlink A:link { MARGIN-TOP: 5px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 10px; COLOR: #5493b4; TEXT-DECORATION: none } #loginlink A:visited { MARGIN-TOP: 5px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 10px; COLOR: #5493b4; TEXT-DECORATION: none } #loginlink A:active { MARGIN-TOP: 5px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 10px; COLOR: #5493b4; TEXT-DECORATION: none } #loginlink A:hover { MARGIN-TOP: 5px; FONT-WEIGHT: normal; FONT-SIZE: 8pt; MARGIN-BOTTOM: = 10px; COLOR: #5493b4; TEXT-DECORATION: none } INPUT { FONT-SIZE: 8pt; TEXT-INDENT: 2px } SELECT { FONT-SIZE: 8pt; TEXT-INDENT: 2px } TABLE { FONT-SIZE: 8pt; WIDTH: 98%; FONT-FAMILY: = Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: white } TEXTAREA { FONT-SIZE: 8pt; WIDTH: 98%; FONT-FAMILY: = Verdana,Arial,Helvetica,sans-serif; BACKGROUND-COLOR: white } .copyright { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 10px; = PADDING-BOTTOM: 10px; COLOR: #444444; PADDING-TOP: 10px; LETTER-SPACING: = -1px } .copyright A { COLOR: #444444; TEXT-DECORATION: none } .copyright A:link { COLOR: #444444; TEXT-DECORATION: none } .copyright A:visited { COLOR: #444444; TEXT-DECORATION: none } .copyright A:hover { COLOR: #000000; TEXT-DECORATION: underline } .copyright A:active { COLOR: #000000; TEXT-DECORATION: underline } ------=_NextPart_000_0000_01C97BD7.5C0B7690 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://ccgi.frindsbury.force9.co.uk/greatlogoatlas/plugins/cmrfc/css/stylesheet.css #wrapperouter { LEFT: 2px; WIDTH: 100%; POSITION: relative; TOP: 10px; = BACKGROUND-COLOR: #ffffaa } #blockform { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: = 100%; PADDING-TOP: 5px; TEXT-ALIGN: center } #blockpreview { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: = 100%; PADDING-TOP: 5px; TEXT-ALIGN: center } #blockcomments { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: = 100%; BOTTOM: 20px; PADDING-TOP: 5px; TEXT-ALIGN: center } #blockcommentslower { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: = 100%; PADDING-TOP: 5px; TEXT-ALIGN: center } .buttonbox { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; WIDTH: 98%; = PADDING-TOP: 5px; HEIGHT: 20px; TEXT-ALIGN: center } .buttonboxonform { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: 98%; = PADDING-TOP: 2px; POSITION: relative; HEIGHT: 30px; TEXT-ALIGN: center } .postheader { BORDER-RIGHT: #a89e9c 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #a89e9c 2px solid; MARGIN-TOP: 5px; PADDING-LEFT: 5px; FONT-SIZE: 12px; = FLOAT: right; PADDING-BOTTOM: 5px; BORDER-LEFT: #a89e9c 2px solid; = WIDTH: 98%; LINE-HEIGHT: 12px; PADDING-TOP: 5px; BORDER-BOTTOM: #a89e9c = 2px solid; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = BACKGROUND-COLOR: #7af } .postbody { BORDER-RIGHT: #a89e9c 2px solid; BORDER-TOP: #a89e9c 2px solid; = PADDING-LEFT: 5px; FLOAT: right; PADDING-BOTTOM: 10px; BORDER-LEFT: = #a89e9c 2px solid; WIDTH: 98%; LINE-HEIGHT: 12px; BORDER-BOTTOM: #a89e9c = 2px solid; BACKGROUND-COLOR: #ccccff; TEXT-ALIGN: left } .warningline { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; WIDTH: 98%; PADDING-TOP: 0px; POSITION: relative; HEIGHT: 30px; = TEXT-ALIGN: center } ------=_NextPart_000_0000_01C97BD7.5C0B7690--