about summary refs log blame commit diff stats
path: root/js/games/nluqo.github.io/~bh/v1ch16/versions.html
blob: 9ebbd5c6853ef0d66f557007a01f3a95ff804c6d (plain) (tree)


































































































































































































































































































                                                                                                                      
<P><HTML>
<HEAD>
<TITLE>Computer Science Logo Style vol 1 Appendix A: Running Berkeley Logo</TITLE>
</HEAD>
<BODY>
<CITE>Computer Science Logo Style</CITE> volume 1:
<CITE>Symbolic Computing</CITE> 2/e Copyright (C) 1997 MIT
<H1>Running Berkeley Logo</H1>

<TABLE width="100%"><TR><TD>
<IMG SRC="../csls1.jpg" ALT="cover photo">
<TD><TABLE>
<TR><TD align="right"><CITE><A HREF="http://www.cs.berkeley.edu/~bh/">Brian
Harvey</A><BR>University of California, Berkeley</CITE>
<TR><TD align="right"><BR>
<TR><TD align="right"><A HREF="../pdf/v1ch16.pdf">Download PDF version</A>
<TR><TD align="right"><A HREF="../v1-toc2.html">Back to Table of Contents</A>
<TR><TD align="right"><A HREF="https://people.eecs.berkeley.edu/~bh/v1ch15/v1ch15.html"><STRONG>BACK</STRONG></A>
chapter thread <A HREF="appendix-gpl.html"><STRONG>NEXT</STRONG></A>
<TR><TD align="right"><A HREF="https://mitpress.mit.edu/books/computer-science-logo-style-second-edition-volume-1">MIT
Press web page for Computer Science Logo Style</A>
</TABLE></TABLE>

<HR>

<P><EM>(This HTML version of this appendix has been updated since the
book was published, so it's a little different from the PDF, which
is identical to the paper books.  But you might also want to read
<A HREF="../announce">the announcement file</A> for the most recent
release, which will have the most up-to-date information on
downloading and installing UCBLogo.)</EM>

<P>One of my reasons for writing a second edition of these books was that all
of the Logo interpreters described in the first edition are now obsolete.
Current commercial Logo implementations are quite different in their user
interface from those traditional versions.  Those differences make newer
Logo implementations more immediately accessible to children who want to
produce animated graphics, but in many cases the changes have made the kind
of programming I do in these books harder.

<P>My solution has been to produce, along with some of my students, a Logo
interpreter that is available free of charge for most popular computers.
The design goal of Berkeley Logo has been that a program written for one
kind of computer should run entirely unchanged on any other kind.  Still,
there are slight differences in the user interface and in the installation
process, and this appendix discusses those differences.  Since Berkeley
Logo is distributed with source files, I hope that as new computers and
operating systems come along, some enthusiast will make Berkeley Logo
available for them even if I don't catch them all.

<P>Still, people who are using some other version of Logo for other purposes
might well want to use these books to help them learn more advanced Logo
ideas.  The programs in this first volume can be adapted to current
commercial Logo dialects with some effort.  In the later volumes I rely more
heavily on features that are available only in Berkeley Logo.

<P><H2>Getting Berkeley Logo</H2>

<P>Berkeley Logo is available over the Internet. Make an anonymous FTP connection to
<CODE>ftp.cs.berkeley.edu</CODE> and look in the directory <CODE>pub/ucblogo</CODE>,
or just follow the links here:

<P><TABLE>
<TR><TD><A HREF="../downloads/blogo.exe"><CODE>blogo.exe</CODE></A>
<TD>&nbsp;&nbsp;&nbsp;Self-extracting archive for DOS.
<TR><TD><A HREF="../downloads/ucbwlogosetup.exe"><CODE>ucbwlogosetup.exe</CODE></A>
<TD>&nbsp;&nbsp;&nbsp;Installer for Windows.
<TR><TD><A HREF="../downloads/ucblogo.sea.hqx"><CODE>ucblogo.sea.hqx</CODE></A>
<TD>&nbsp;&nbsp;&nbsp;BinHex self-extracting archive for classic Macintosh.
<TR><TD><A HREF="https://people.eecs.berkeley.edu/~bh/downloads/ucblogo.tar.Z"><CODE>ucblogo.tar.Z</CODE></A>
<TD>&nbsp;&nbsp;&nbsp;Compressed <CODE>tar</CODE> archive for Unix and Mac OS X.
</TABLE>

<P>If you use FTP, the files should be transferred in binary (image) mode.

<P>The DOS, Windows, and Mac versions include a <CODE>source</CODE>
subdirectory containing
the C source files used to compile Berkeley Logo.  If you don't want to play
with the code, you can delete this directory and all its contents.  You can
also delete some or all of the contents of the <CODE>docs</CODE> directory,
which has the
user manual in various formats (Postscript, PDF, HTML, INFO, TEXI).  The
HTML files are particularly huge, if you're looking for something to delete.
(In the Unix version, the source files are in the top-level directory of the
distribution.)

<P>In the source directory, the file <CODE>plm</CODE> is a Program Logic Manual that
documents some of the inner mysteries of this interpreter.  You should read
<A HREF="http://mitpress.mit.edu/sicp/"><CITE>Structure and
Interpretation of Computer Programs</CITE></A> before you read <CODE>plm</CODE>.
Also included is <CODE>evaluator.ps</CODE>, a beautiful one-page simplified flowchart
of the evaluator to admire while reading <CODE>plm</CODE>.

<P>In the Unix version, if you want to save space, you can delete the entire
ucblogo directory created by tar once you've done "make install".

<P><H2>Berkeley Logo for Unix</H2>

<P>Since there are so many different versions of Unix, Berkeley Logo is
distributed in source form, and must be compiled for your particular
machine.  A Gnu Autoconf configuration file is provided, so the
compilation process should be reasonably automatic.  The X11 library
is required for turtle graphics.

<P>The Unix version is a compressed tar file.  To install it, copy to your
machine, then say

<PRE>uncompress ucblogo.tar
tar -xf ucblogo.tar
cd ucblogo
configure
make
</PRE>

Then, from an account with root privileges, <CODE>make install</CODE> to
install the Logo files in <CODE>/usr/local</CODE>.

<P>If you have <CODE>gunzip</CODE>, you can instead get
<A HREF="../downloads/ucblogo.tar.gz"><CODE>ucblogo.tar.gz</CODE></A>
(better compression).

<P>Logo uses your system's interrupt character for stop, and your
system's quit character for pause.

<P>For the <CODE>edit</CODE> command, Logo uses whatever program is specified in
your <CODE>EDITOR</CODE> environment variable.  If your editor exits with nonzero
status (indicating an error) then Logo will not carry out the changes
indicated in the edited file.

If you have Mac OS X, and you have the
<A HREF="http://www.apple.com/downloads/macosx/apple/x11formacosx.html">X
Window System</A> installed, then you can follow these instructions to
install Unix UCBLogo.  Alternatively, you can run the Mac Classic version
described next.

<P><H2>Berkeley Logo for the Macintosh</H2>

<P>There are two ways to run Logo on the Mac.  There is a Mac-specific version
for Classic Macs (which will also run in the Classic Environment under OS X).
Alternatively, you can run the Unix version under OS X, provided that
you've installed the X Window System.  This section describes the Classic
version; the previous section describes the Unix version.

<P>Your Web browser probably knows how to expand and install the archive
by itself; if not, you need something like StuffIt to do the job.  The
result of the expansion will be a folder containing the <CODE>ucblogo</CODE>
executable along with needed library files.  You can move this folder to
anyplace convenient.

<P>Command-period means stop; command-comma means pause.

<P>On the Mac, Berkeley Logo includes a very simple-minded editor built into
Logo itself.  It works in the usual Macintosh way; when you have finished
editing, you can select &quot;accept editor changes&quot; or &quot;cancel editor
changes&quot; from the <CODE>Edit</CODE> menu.

<P>Macintosh users will find the Berkeley Logo user interface disconcerting,
because it was designed to be Logo-like rather than Macintosh-like.  For
example, you should use the Logo commands <CODE>splitscreen</CODE>, <CODE>
fullscreen</CODE>, and <CODE>textscreen</CODE> to rearrange Logo's text and graphics
windows, rather than trying to resize them with the mouse, although the latter
will work, too.

<P><H2>Berkeley Logo for Windows</H2>

<P>The Windows version of Berkeley Logo is called <CODE>ucbwlogo.exe</CODE>.
The file you download is an installer that should be self-explanatory.
Like the DOS version, it uses a separate editor of your choice.  The
default editor is <CODE>jove</CODE>, which is included in the distribution.

<P>There is an offshoot of
Berkeley Logo called
<A HREF="http://www.softronix.com/logo.html">MSWLogo</A>, written
by George Mills, specifically
for Windows.  It has a more point-and-click style interface, and doesn't
work well with those projects that make heavy use of reading from the
keyboard or controlling the position of text on the screen; the Solitaire
and Cryptographer's Helper projects in Volume 2 and the finite state
machine simulator in Volume 3 are most problematic.  But for general
use, MSWLogo is a good option for Windows users.

<P><H2>Berkeley Logo for DOS</H2>

<P>The DOS version is in the form of a self-extracting <CODE>pkzip</CODE> archive.
Run <CODE>blogo.exe</CODE> ; it will create two files, <CODE>install.bat</CODE>
and <CODE>installu.exe</CODE>.  Then
run <CODE>install</CODE> to create a <CODE>c:\ucblogo</CODE> directory with the complete
distribution.  If you want to install
Logo somewhere other than <CODE>c:\ucblogo</CODE>, you can say 

<P><PRE>installu -d d:\foo\</PRE>

<P>to put it in <CODE>d:\foo\ucblogo</CODE>.  <EM>Don't forget the <CODE>-d</CODE>
part!</EM>

<P>Berkeley Logo is provided in two executable versions:

<TABLE cellpadding="5">
<TR><TD valign="top"><CODE>ucblogo.exe</CODE>
<TD><TD> runs on 286-and-up processors, and uses extended memory
if you have it, so you can run large Logo programs.
<TR><TD valign="top"><CODE>bl.exe</CODE>
<TD><TD> runs on any PC, but is limited to 640K.  That's not big
enough for some of the larger projects in the later volumes.
</TABLE>

<P>In order to run <CODE>ucblogo.exe</CODE> you must have the file
<CODE>zpm.exe</CODE> (which is provided) in your DOS path.  <CODE>Zpm</CODE>
has to figure out what kind of extended memory interface you have, and in some
cases it needs help.  You must use the DOS command

<P><TABLE>
<TR><TD><CODE>set DOS16M=1</CODE><TD>&nbsp;&nbsp;&nbsp; for NEC 98-series
<TR><TD><CODE>set DOS16M=5</CODE><TD>&nbsp;&nbsp;&nbsp; for Fujitsu FMR-60 or 70
<TR><TD><CODE>set DOS16M=6</CODE><TD>&nbsp;&nbsp;&nbsp; for AT&amp;T 6300 Plus
<TR><TD><CODE>set DOS16M=7</CODE><TD>&nbsp;&nbsp;&nbsp; for old Phoenix BIOS versions
<TR><TD><CODE>set DOS16M=13</CODE><TD>&nbsp;&nbsp;&nbsp; for Zenith Z-24X with old BIOS
<TR><TD><CODE>set DOS16M=INBOARD</CODE><TD>&nbsp;&nbsp;&nbsp; for 386 with Intel Inboard
</TABLE>

<P>Even if UCBLOGO runs correctly for you without any of these settings (which
will be the case for most machines) you might try
<CODE>set DOS16M=10</CODE> for faster performance on some systems
but slower on others -- experiment.

<P><CODE>Ucblogo</CODE> and <CODE>bl</CODE> also usually figure out correctly what kind of
graphics board you have.  But for some obscure clones with nonstandard
graphics you might have to tell it which graphics mode to use.  This is also
done with a DOS command:

<P><PRE>set FG_DISPLAY=<EM>xxxx</EM>
</PRE>

<P>where <CODE><EM>xxxx</EM></CODE> is the board type and mode, one of
the following:

<P><PRE>CGAHIRES, CGAMEDRES, EGACOLOR, EGAECD, EGAMONO, EGALOWRES,
HERC, ORCHIDPROHIRE, PARADISEHIRES, TOSHIBA, TRIDENTHIRES,
VEGAVGAHIRES, VESA6A, VESA2, VGA11, VGA12, VGA13, 8514A
</PRE>

<P>I don't know anything about any of these except that <CODE>TOSHIBA</CODE> is for a
T3100 and doesn't work on my T1200XE.  I use <CODE>VGA12</CODE> on my generic clone.

<P>There are some graphics modes that will work with <CODE>bl</CODE> but not with
<CODE>ucblogo</CODE>, including <CODE>VESA1</CODE> for 256 colors of 640x480.

<P>Finally, note that Logo writes directly to the screen and is therefore
incompatible with &quot;screen accelerator&quot; TSRs.  (For example, my PC comes
with one called <CODE>pckscrn</CODE> and I had to turn it off before running Logo.)
The file <CODE>ucl.bat</CODE> is a sample batch file that I use to disable the screen
accelerator, run Logo, then re-enable it.  If you have a different
screen accelerator you'll need different commands, of course, but the
idea is the same.

<P>Ctrl-break or ctrl-Q means stop, ctrl-W means pause.

<P>The Logo <CODE>edit</CODE> command runs a separate editor, starting that editor with
a file containing your selected procedures.  Logo will use whatever
editor you want, if there is an <CODE>EDITOR</CODE> variable in your DOS environment.
By default, Logo uses Jove, a version of EMACS, which is provided with Logo.
This version of Jove is set up so that typing ctrl-C will save the file
and return to Logo.  You need to put

<P><PRE>SET JOVERC=C:\UCBLOGO\JOVE\JOVE.RC
SET DESCRIBE=C:\UCBLOGO\JOVE\CMDS.DOC
</PRE>

<P>in your <CODE>autoexec.bat</CODE> or something so that Jove will start up right.
<CODE>Cmds.doc</CODE> is the Jove reference manual, used for its online help.

<P>You also need

<P><PRE>SET LOGOLIB=C:\UCBLOGO\LOGOLIB\
</PRE>

<P>(yes, ending with backslash) in your autoexec.bat so that Logo can
find its library files.

<P><A HREF="../v1-toc2.html">(back to Table of Contents)</A>
<P><A HREF="https://people.eecs.berkeley.edu/~bh/v1ch15/v1ch15.html"><STRONG>BACK</STRONG></A>
chapter thread <A HREF="appendix-gpl.html"><STRONG>NEXT</STRONG></A>

<P>
<ADDRESS>
<A HREF="../index.html">Brian Harvey</A>, 
<CODE>bh@cs.berkeley.edu</CODE>
</ADDRESS>
</BODY>
</HTML>