home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
500-599
/
ff502.lzh
/
CELLS
/
Cells.Help
< prev
next >
Wrap
Text File
|
1991-06-27
|
92KB
|
3,614 lines
!
! On-Line Help file for CELLS program.
!
! Copyright (c) 1990 by Davide P. Cervone, all rights reserved.
!
! Update history:
!
! When Who What
! -------- ---- -------------------
! 4/19/90 DPVC Added modifications for version 1.2
! 2/20/90 DPVC Wrote it.
!
!-------------------------------------------------------------------------
!
*Title: CELLS Overview: (v1.2)
CELLS version 1.2
Copyright 1990 by Davide P. Cervone
CELLS is a program that allows you
to create Cellular Automata using
the set of states and rules
described in the January 1990
Computer Recreations column of the
Scientific American magazine.
Press MORE to choose from a list of
Help Topics.
!
*1 About CELLS
CELLS is based on the 2-dimensional
cell-space called "WireWorld"
introduced by A. K. Dewdney in his
Computer Recreations column of the
Scientific American magazine
(Sci Amer, Jan 1990, pp 146-149).
In it, he describes a simple diode
circuit, an OR gate, and a 13-cycle
memory device.
CELLS lets you create your own
circuits in WireWorld and gives
you the ability to see them in
action, with electrons flowing
through their cellular wires.
You can use the sample circuits and
libraries provided with CELLS or
create devices of your own design.
!
*2 Author
Davide P. Cervone
50 Armstrong Avenue
Providence, Rhode Island 02903
BITNET: ST402523@BROWNVM
!
*2 Copyright
CELLS is Copyright (c) 1990
by Davide P. Cervone, all rights
reserved.
!
*2 Distribution Notice
You may distribute CELLS freely, or
for a nominal copying charge,
provided this copyright notice, the
documentation, the Moonstone font,
the cells color files, the example
circuit files and libraries, and
the source code are included.
!
*2 Source Code
The source code to CELLS should be
included with its distribution.
CELLS was created basically as an
exercise in Amiga programming, and
includes prototypes for a number of
independent sub-systems (for
example the HELP system you are
using now). For this reason, some
of the code is not in a completely
polished form. You may need to
clean it up a bit if you intend to
include it in your own programs.
!
*2 Moonstone Font (Link)
*Link: Installing CELLS Moonstone Font
!
*2 3D Gadgets (Link)
*Link: Installing CELLS 3D Gadgets
!
*2 Other Programs by this Author
*3 sWindows
SWINDOWS allows you to open windows
on any screen just by including the
name of the screen in the window
title. For instance, you can open
CLI windows on any screen with
ease. Just think, you could have a
CLI open on the same screen as
EMACS or any other program!
!
*3 NL-Daemon
NL-DAEMON changes the standard
Intuition depth, close, and sizing
gadgets to have neat-looking 3D
imagery. It really makes your
programs stand out!
!
*3 Zoom-Deamon
ZOOM-DEAMON adds a ZOOM gadget to
every Intuition window that can be
resized. Clicking the ZOOM gadget
makes the window either as large or
as small as it can get, or changes
it back to its original size.
!
*3 Calculator
This is a replacement for the
calculator program provided on the
WorkBench disk. CALC uses the same
3D effects as NL-DAEMON and CELLS,
so it looks really cool. But best
of all, it will open on any screen
(not just the WorkBench) at the
touch of a button.
!
*3 wKeys
WKEYS lets you depth-arrange,
activate, and close windows and
screens via hot-keys. WKEYS is
completely configurable, so you can
make virtually any key do any of
these operations.
!
*3 wIconify
WICONIFY allows you to convert any
window in the WorkBench screen to a
small icon on the WorkBench. These
can be moved and opened just like
disk and drawer icons.
wIconify works in conjunction with
wKeys to make it possible to
iconify windows from the keyboard.
!
*3 vScreen
VSCREEN allows you to have screens
that are larger than the visible
monitor area (i.e., a virtual
screen). You scroll this screen
simply by moving the mouse past the
visible edge of the screen. Works
with any screen, even those created
by other programs.
!
*3 Signal and WaitFor
These two programs make writing
concurrent EXECUTE scripts easier:
one script can wait for a specific
signal from another script before
it goes on. This sure beats
Commmodore's recommended WAIT and
BREAK method!
!
*3 Journal and Playback
JOURNAL records mouse and keyboard
events that can be replayed later
by PLAYBACK. This lets you produce
automated command sequences, self-
running demos, and more.
!
*3 MonIDCMP
MONIDCMP lets you monitor all the
IntuiMessages that pass through the
IDCMP port of any window on any
screen. This is a great debugging
tool for all you programmers out
there!
!
*3 MonPROC
MONPROC lets you monitor all the
DOS calls for any process on the
system. A neat debugging tool.
For instance, you can use it to
track down what files a program
is openning, and when.
!
*3 Hardcopy
HARDCOPY lets you create a copy of
any CLI session. All text written
or entered in the CLI window will
be saved to a file. You can print
the file or include it as part of a
document that you are writing.
!
*3 PatchSetFunction
PATCHSF is a small patch to the
SetFunction() routine in ROM. It
allows programs that use the
SetFunction() call to add and
remove their patches in any order.
If you use a lot of small utility
programs (like the ones described
here), you may find PatchSF useful.
If you don't know what I'm talking
about, don't worry about it.
!
*3 HeliosMouse
HELIOSMOUSE guarantees that the
active window is the one that the
mouse is hovering over. This is
the way that Sun workstations work.
!
*3 ClickUpFront
CLICKUPFRONT lets you depth-arrange
windows and screens just by
clicking the mouse buttons.
Double-click with the left button
to bring a window or screen to the
front (no need to uncover those
depth gadgets)
Double-click the right button to
send windows and screens to the
back.
!
*1 Rules of the Game
A Cellular Automata is made up of
cells in a grid. Each cell is in
one of a finite number of states
and there are rules for when cells
change from one state to the next.
There is a master clock that ticks
off intervals of time. During each
interval, the new state of each of
the cells is computed, and then
the states of the cells change (all
at once).
In our cellular world called
"WireWorld" there are four states:
Background, Wire, Electron-Head and
Electron-Tail.
The state change rules are simple:
A Background cell always stays a
Background cell. An Electron-Head
cell always changes to an Electron-
Tail cell at the next clock tick,
and an Electron-Tail cell always
changes to a Wire cell.
The only tricky rule involves the
Wire cells. If a Wire cell is next
to an Electron-Head cell or to 2
Electron-Head cells, the Wire cell
will change to the Electron-Head
state at the next clock tick. If
there are 3 or more Electron-Head
cells next to a Wire cell (or none
at all), then the Wire cell will
remain a Wire cell.
These simple rules are set up so
that an electron will flow along a
wire, and so that electrons can be
stopped from flowing under certain
conditions (too many electrons in
one place at one time).
Circuits that compute any logic
function can be created using this
set of rules.
!
*1 CELLS Screen Layout
The screen is divided into two
areas: the cell grid and the
control panel. The grid is marked
off with grid lines, and has
slider and arrow gadgets on the
side. The control panel has the
buttons that allow you to make,
save, and manipulate circuits on
the grid.
!
*2 The Grid
The Grid is the place where you
draw circuits. CELLS has a grid
that is 85 x 60 cells big, but you
may only see part of it at a time
depending on what magnification you
are using.
The size and position of the
sliders tell you what part of the
grid you are currently viewing.
The small gadget at the lower
right-hand corner of the gird (it
has 4 arrows pointing toward its
center) is the ZOOM gadget.
!
*3 The Sliders
You can drag the knob of a slider
to change the part of the grid that
you currently are viewing. Note
that the grid is updated as you
slide the knob, so you can always
see where you are moving. You can
even drag the sliders when the
circuit is in opperation!
If you click in the area to one or
the other side of the knob, you
will scroll the grid to that side
by one full screen's width. This
is a fast way to move the viewing
position around.
!
*3 The Arrows
Use the arrows to scroll the grid
by one cell in the indicated
direction. The grid will continue
to scroll as long as you continue
to hold down the arrow.
Note that if the circuit is
running, it will be suspended as
you scroll until you let go of the
arrow gadget.
!
*3 The Zoom Gadget
The zoom gadget controls the amount
of the grid that you can see on the
screen at one time.
Pressing the zoom gadget enlarges
the size of the individual cells
(magnifying the view, hence showing
fewer, larger cells).
If you hold down one of the SHIFT
keys, the zoom gadget will change
the direction of its arrows (they
will point out). Pressing the zoom
gadget while the shift key is held
down will cause the size of the
cells to decrease, so you will see
more of the grid with smaller
cells.
You can zoom out to show the full
extent of the grid (85 x 60 cells),
and can zoom in until the cells are
15 pixels wide.
!
*3 The Colors (Link)
*Link: Creating Circuits The Colors for the States
*2 The Control Panel (Link)
*Link: The Control Panel
!
*1 Creating Circuits
You create a circuit by drawing it
in the grid area. To do this,
simply choose one of the four cell
states from the top of the control
panel (see SELECTING A STATE below)
and click in the grid area. The
cell you click on will be changed
to the selected state.
If you hold down the button and
drag the mouse across more cells,
they also will change to the
selected state.
!
*2 The Colors for the States
The colors for the different states
are shown at the top of the control
panel. The currently selected
color is highlighted, and color 2
of the mouse pointer is changed to
the current color.
The states are divided into two
groups: Background and Wire are in
one group (the two colors on the
left) and Electron-Tail and Head
in the other (on the right).
The default colors for the state
are as follow:
Background Black
Wire Green
Tail Pale Yellow
Head Golden
You can set these colors to your
own prefernces via the CELLS color
file.
!
*3 Changing the Default Colors (Link)
*Link: Installing CELLS Changing the Screen Colors
!
*2 Selecting a State
One way to select a new cell state
is to click on the color of the
desired state at the top of the
control panel.
A faster way, however, is to use
the right mouse button: if you
click the right mouse button once,
the current state will change to
the other state in its group. For
example, if the current state is
Wire, a click of the right button
will change to state to Background,
and vice versa.
Double-clicking the right button
will select the corresponding state
in the opposite group; i.e., if the
current state is Wire, then a
double click will change the state
to Electron-Head.
Finally, triple-clicking the right
mouse button will change the state
to the remaining cell state.
The effect of this is that slow
clicks change the state within a
color group, and fast clicks cycle
through all the states.
If you have the left button held
down when you click the right
button, however, the change of
state is only temporary; when you
let go of the right mouse button
the state goes back to whatever you
were using before you pressed the
right button.
In this way, it is easy to change
temporarily to Background (to make
corrections) while you are drawing
Wire, for example.
See DRAWING ELECTRONS for more
information about the right mouse
button in the electron states.
!
*2 Drawing Electrons
Usually when you are drawing in one
of the electron states, you want to
draw a complete electron (both a
head and a tail).
For this reason, whenever you draw
a cell in the Electron-Head or Tail
state, the second cell you draw
will be in the other state. Thus
you can draw electrons without
having to keep changing the
selected state color.
For example, if you are drawing
in the Electron-Tail state and
you draw two cells in a row, the
second will be an Electron-Head.
Since it is so easy to get the
other electron state color, the
effect of the right mouse button
(while the left button is held
down) is slightly different for the
electron states: instead of
switching electron states, pressing
and holding the right button while
the left button is pressed will
switch to the Wire state. When you
let go of the right mouse button
you will go back to drawing with
the electron color. This makes it
easy to erase a misplaced electron,
for example.
!
*2 Making Corrections
If you have put a cell into the
wrong state, simply choose the
proper state color and draw over
the incorrect cell (or press UNDO
if you have not made any other
changes).
The right mouse button is a
convenient tool for changing the
selected state. If you hold the
left button down over the incorrect
cell, a click of the right button
usually will put it the way you
want:
If you are drawing Wire, it will
change to Background;
If you are drawing Background, it
will change to Wire;
If you are drawing an Electron,
it will change to Wire.
!
*2 Using the Right Button
You can use the right mouse button
to change the current drawing
color. See the topics SELECTING A
STATE and MAKING CORRECTIONS.
!
*1 Saving Circuits
When your circuit is ready to be
saved, press the SAVE button. If
CELLS already knows the name of the
circuit (i.e., it was loaded from a
file or a previous SAVE or RENAME
has been performed), then CELLS
will save the circuit to that file
automatically.
If the circuit has not been named
already, then CELLS will put up the
Save File Requester. You can use
this requester to choose the disk,
drawer, and filename where the
circuit will be saved.
When you save a circuit, all the
parts in the Parts List and the
names of libraries in the Library
List are saved to the file as well.
!
*2 Renaming a File
If you want to save the current
circuit without deleting a
previously saved version of the
circuit, you need to save the
circuit under a new file name.
To do this, press the RENAME button
(when you hold down the SHIFT key,
the SAVE button becomes the RENAME
button). This forces CELLS to
bring up the Save File Requester
even if the circuit already has a
name.
Once you save the circuit under a
new name, that name will become the
circuit's current name, so that
future SAVE commands will save to
the new file. To work on the old
circuit again, you will need to
LOAD the old file again.
!
*2 Saving a Selection
If cells are selected when you
press SAVE, only the selected cells
are saved to the file (no parts or
libraries) and the current file
name is not changed.
!
*2 Saving a Circuit Without Parts
Normally the Parts List is saved
along with the circuit. If you
want to save a circuit without
saving its associated parts list,
either remove all the parts from
the Parts List (see CREATING AND
USING PARTS), or select the entire
circuit and save it as a selected
circuit. Since parts are not saved
with a selection, this allows you
to save just the circuit without
having to remove all its parts.
!
*2 Clearing the Circuit's Name
The NEW button will clear the
grid, the Parts List, the Library
List, and the current circuit name.
After NEW has been pressed, SAVE
will activate the Save File
Requester.
!
*2 Saving a Library (Link)
*Link: Parts Libraries Creating a Parts Library
!
*2 Using the File Requester (Link)
*Link: The File Requester
!
*2 The File Format (Link)
*Link: CELLS File Format
!
*1 Loading Circuits
Press the LOAD button to load a
circuit. This will call up the
Load File Requester in which you
can specify the disk, drawer, and
file name of the circuit to load.
If you load a circuit, the contents
of the grid, the Parts List, and
the Library List will be erased
(you will be given the chance to
save them if you have not already
done so), and then the new circuit,
its parts, and its associated
libraries will be loaded.
Once a circuit is loaded, the SAVE
button will cause the circuit to be
saved to the same file that you
loaded it from, without going
through the Save File Requester.
If you want to save the file under
a new name, use the RENAME button.
!
*2 Loading Errors
If there are any errors in the
circuit file, CELLS will put up a
requester telling you about the
error. Every eight errors or so
you will be asked to confirm that
CELLS should continue to load the
file. This is so that in case you
have a badly corrupted file, you
don't have to keep seeing error
messages forever.
!
*2 Loading Libraries (Link)
*Link: Parts Libraries Loading a Parts Library
!
*2 Using the File Requester (Link)
*Link: The File Requester
!
*2 The File Format (Link)
*Link: CELLS File Format
!
*1 Editing Circuits
You modify circuits by changing the
states of the cells in the grid.
This can be accomplished by:
Drawing the cells cirectly;
Adding parts from the Parts List
or from a library;
Selecting and moving or copying
cells that already exist within
the circuit.
!
*2 Drawing Cells (Link)
*Link: Creating Circuits
!
*2 Using Parts (Link)
*Link: Making and Using Parts
!
*2 Selecting Cells
If you wish to manipulate (e.g.,
move, copy, delete, wipe, undo)
a specific set of cells, you must
first select them.
To begin a selection, press the
SELECT button. The button will
remain inverted and the pointer
will return to its normal colors
indicating that you are in Select
Mode.
You may now select cells either
individually using the right mouse
button, or in groups using the left
mouse button.
Selected cells are indicated by a
highlighted boundary.
!
*3 Selecting Single Cells
To select a single cell, click on
it using the right mouse button.
If the cell is not selected, it
will become selected; if the cell
already is selected, it will become
unselected.
Continue to select individual cells
in this way until all the desired
cells are selected.
You can select background-colored
cells as well as Wire and Electron
cells in this way.
If you hold down the right button
and drag the mouse around (just as
though you were drawing with the
right button), you will select or
unselect all the cells you cross.
!
*3 Selecting Groups of Cells
To select a whole group of cells at
once, press the left button and
drag the mouse to the lower right;
a selection rectangle will appear.
When you let go of the left button,
all non-background cells within the
rectangle will become selected.
Continue to select groups of cells
in this way until all the desired
cells are selected.
!
*4 Changing the Select Rectangle
You change the size of the select
rectangle by dragging the mouse to
the lower right-hand corner of what
you want to select.
You can change the POSITION of the
rectangle (instead of its SIZE) by
holding down the right mouse button
as you drag. As long as the right
button is down, the box will change
its location as you move the mouse.
Let go of the right mouse button to
go back to changing the box's size.
!
*4 Unselecting Groups of Cells
Normally, when you drag out a
select box, the cells within it are
added to the set of selected cells.
If you hold down the SHIFT key as
you let go of the left button, all
the non-background cells in the
select box will be REMOVED from the
set of selected cells instead.
!
*4 Selecting Groups with Backgrounds
Normally, only the non-background
cells within the select rectangle
are selected and background cells
are left unaffected.
If you hold down the ALT key as you
let go of the left button, however,
then ALL the cells in the box will
be selected.
Note that you can use both ALT and
SHIFT together to unselect an
entire select rectangle.
!
*3 Unselecting Everything
To unselect all the selected cells
and go back to Drawing Mode without
changing any of the selected cells,
press the SELECT button. It will
go back to its normal color and
the pointer will change to indicate
the current drawing color again.
To unselect all selected cells but
still remain in Select Mode, press
the RESET button.
!
*2 Moving and Copying Cells
Once you have selected all the
cells you want to move or copy,
press the MOVE or COPY button. The
selected cells will change to a
solid highlight color and the MOVE
or COPY button will be inverted
(indicating that Move/Copy Mode is
in effect).
To move or copy the cells to their
new position, click on and drag any
of the selected cells. All the
selected cells will move on screen
as you drag the mouse around. You
can pick up and let go of the cells
as many time as you need until they
are properly placed. Use the
scroll and zoom gadgets if you need
to get to a different area of the
grid.
Once the cells are positioned
correctly, click the right mouse
button to fix them in their current
positions. This will end Move/Copy
Mode, unselect the cells, and put
you back in Drawing Mode.
!
*3 Making More than One Copy
If you click the right mouse button
while the left mouse button is
pressed (i.e., when you are moving
the selected cells), then a copy of
the selected cells will be placed
at their current positions but you
will remain in Move/Copy Mode.
You can then move the selected
cells to a new location and place
another copy there. Provided you
keep the left button pressed, you
can make as many copies of the
selected cells as you want.
When you are ready to make the last
copy, let go of the left button and
press the right button to place the
cells in their final positions.
Note that UNDO will remove ALL the
copies you placed, not just the
last one.
!
*3 Cancelling a Move or Copy
To cancel a move or copy, press the
MOVE or COPY button a second time.
If you were moving cells, they will
be put back where they started.
If you want to cancel a move or
copy and begin selecting again,
press SELECT instead of MOVE or
COPY. This will cancel the move or
copy and will re-enter Select Mode.
!
*2 Other Operations on Selected Cells
Most of the editing functions work
on selections as well as the entire
grid:
CLEAR Clears the selected cells
to the background state
CLIP Clears all the cells
except the selected ones
WIPE Wipes only the electrons
in the selected cells
UNDO Un-does only changes in
the selected cells
SAVE Saves only the selected
cells as a circuit
PART Saves the selected cells
as a part in the circuit's
Parts List
!
*2 Clearing Cells (Link)
*Link: The Control Panel Alphabetical CLEAR
*2 Clipping Cells (Link)
*Link: The Control Panel Alphabetical CLIP
*2 Wiping Cells (Link)
*Link: The Control Panel Alphabetical WIPE
*2 Undoing Changes (Link)
*Link: The Control Panel Alphabetical UNDO
!
*1 Running Circuits
Once you have drawn a circuit, you
can place electrons on it and then
press the START button. CELLS will
begin to perform the state-
transition calculations which will
cause the electrons to flow through
the circuit.
When you press the START button, it
turns into a STOP button, and most
of the other buttons are disabled.
Pressing the STOP button will cause
CELLS to stop calculating new
generations. If all the electrons
in the circuit are eliminated,
CELLS will stop automatically.
!
*2 Stepping The Clock
If you press the STEP button, CELLS
will calculate only the next
generation of cells and then will
stop. This way, you can see the
effects of your circuit one clock
interval at a time.
STEP does not update the copy of
the circuit used by the RESET
button, so if you press RESET after
using the STEP button, you still go
back to whatever states were in
effect before the last START
command.
The ENTER key on the keypad is
bound to the STEP function.
!
*2 Changing the Clock Speed
The speed of the state-transitions
depends on the number of electrons
in the circuit and the size of the
circuit within the grid area. The
larger the circuit and the more
electrons there are, the longer it
will take to update the grid each
generation.
Usually, CELLS can caluclate new
generations so fast that it is hard
to really see what is going on.
For this reason, CELLS pauses for a
short period in between cell
generations so you can see what is
happening within the circuit.
You can change this delay time by
using the up and down arrows on the
keyboard. The UP ARROW makes the
delay longer, and the DOWN ARROW
makes the delay shorter (up to
CELLS' fastest speed).
The default delay works well for
most moderately complex circuits.
Changing the buffering mode also
can have an effect on the
generation calculation speed.
!
*2 Changing the Buffering Mode (Link)
*Link: Keyboard Commands The "B" Key
!
*2 Resetting the Circuit
When you press the START button,
CELLS saves a copy of the current
cells states and then begins
running the circuit.
If you press the RESET button,
CELLS will restore the states of
the cells to what they were before
you pressed START.
You can press RESET even while the
circuit is running.
!
*2 Changing the View
While the circuit is running, you
can still use the sliders and zoom
gadget to move the visible area of
the grid. If you hold down the
arrow gadgets, CELLS will suspend
its calculations until you let go,
then it will continue running the
circuit.
!
*2 The State-Transition Rules (Link)
*Link: Rules of the Game
!
*1 Making and Using Parts
Often you will need to use the same
conficuration of cells more than
once within a circuit. Such a
configuration is called a "part".
CELLS maintains a list of parts
that you define. When you add a
part to the parts list, it is
available to be added into the
circuit at any time.
The Parts List is stored along with
the circuit when you SAVE the
circuit, and is loaded when you
LOAD the circuit. Thus the Parts
List is a permanent part of the
information contained in a circuit.
!
*2 Creating Parts
To create a new part, simply select
the cells to be included in the
part (see SELECTING CELLS below for
information about how to select
cells) and press the PART button.
You will be requested to name the
part. A part name can be used only
once within a parts list, and
should be descriptive enough to
allow you to identify the part when
you want to include it into the
circuit.
Parts can include cells in the
Electron and Background states as
well as wire states. For instance,
you can include electrons to
indicate the proper starting
positions of electrons on the input
wires to logic gates.
!
*3 Selecting Cells (Link)
*Link: Editing Circuits Selecting Cells
!
*2 Selecting Parts
When you want to include a part
into the circuit, press the PART
button (when no cells are selected).
CELLS will open the Parts
Requester, which allows you to
choose a part name from the Parts
List, or from a parts library that
you have loaded.
To select the part you want to use,
type its name into the part name
gadget or click on the part's name
in the list of names, and then
press the USE button. The part
will be copied into the circuit,
its cells will be selected, and you
will be placed in Move/Copy Mode
(you do not need to press MOVE or
COPY; the mode is entered
automatically).
Move the part to where you want it
to go by dragging one of its cells
(see MOVING A PART below). Once
you have it in place, click the
right mouse button.
!
*3 Moving a Part (Link)
*Link: Editing Circuits Moving and Copying Cells
!
*3 Cancelling an Added Part
If the part is still selected and
you want to remove it from the
grid, press the MOVE (or COPY)
button. This will remove the
selected cells from the grid and
will place you in Drawing Mode.
If you have already placed the part
on the grid, but have not made any
other changes to the circuit, press
the UNDO button.
If you have already made other
changes, you will have to select
the cells of the part by hand and
press the CLEAR button.
!
*2 Removing Parts
If you wish to remove a part from
the Parts List, press the PART
button to open the Parts Requester.
Then select the part name in the
list of parts (or type its name in
the part name gadget) and press
the REMOVE button. The part will
be erased from the Parts List,
but this will not effect any
occurances of the part within the
circuit.
You can not remove parts from a
library (see the topic PARTS
LIBRARIES for information on how
to edit parts libraries).
If no part is selected and no part
name is in the name gadget when you
press REMOVE, the currently
selected library will be removed
from the circuit.
!
*2 Saving Parts
The Parts List is saved auto-
matically whenever you save the
circuit to a file. The parts will
be loaded when you LOAD the circuit
again.
You may save the Parts List as a
parts library by clicking the SAVE
AS LIBRARY (PARTS ONLY) checkbox in
the Save File Requester. The
circuit itself will not be saved,
but the Parts List will be saved
as a library so that you can load
it into other circuits.
See PARTS LIBRARIES for more
information on parts libraries.
!
*2 Editing Parts
There is no way currently to edit a
part that appears in the parts
list. If you need to edit a part,
you will have to perform the
following steps:
1. Copy the part to the grid as
described above in SELECTING
A PART. It is best to place
it in some un-used area of
the grid, if possible.
2. Edit the part while it is on
the grid.
3. Once the part is correct,
press the PART button, select
the name of the incorrect
part in the name list and
press REMOVE to delete it
from the Parts List.
4. Press CANCEL to close the
Part Requester.
5. Select the corrected part
and save it to the Parts List
as described in CEATING PARTS
above.
!
*2 Viewing Parts
Sometimes it is hard to remember
what a part looks like when you are
selecting a part from the Parts
List. For this reason, CELLS
provides a View Mode where the list
of parts names is replaced by a
picture of the selected part.
To enter View Mode, press the VIEW
button on the Parts Requester. You
can use the slider and arrows to
move from part to part.
To exit from View Mode (and return
to choosing from a list of part
names) click on the VIEW button
again.
CELLS remembers what mode you were
using when you finish with the
Parts Requester, so the next time
you call up the Parts Requester, it
will be in whatever mode you were
using last.
!
*2 The Parts Requester (Link)
*Link: The Parts Requester
*2 Parts Libraries (Link)
*Link: Parts Libraries
!
*1 Parts Libraries
You may find that there are parts
that you use over and over in all
your circuits (e.g., OR and NOT
gates). You can store commonly
used parts in a special file
called a Parts Library.
A Parts Library is simply a
collection of parts that can be
loaded into any circuit file.
Parts in a parts library are not
actually stored as part of the
circuit file itself, but the name
of the library is stored in the
circuit file. When the circuit is
loaded, any libraries it used are
automatically loaded as well. A
circuit can include as many
libraries as memory allows.
Since the library is not actually
stored in the circuit file,
libraries can help you save disk
space by placing common parts in a
common file rather than separate
copies in each circuit file. Also,
if a library is changed or
corrected, any circuit file that
uses it will get the updated
version automatically.
!
*2 Creating a Parts Library
To create a parts library, clear
the working area by pressing NEW.
This will clear the Parts List as
well as the grid.
Then create the parts that you want
to place into the library as
described in CREATING PARTS below.
The parts will appear in the Parts
List, so you can use the Parts
Requester to check the parts that
you have created, or to remove
incorrect parts.
Once all the parts are in the Parts
List, press the SAVE button. Click
on the SAVE AS LIBRARY (PARTS ONLY)
check box, and type the name of
your new library. Press OK.
The Parts List will be saved as the
library that you named. It is
probably a good idea to end library
names with ".lib" so that you can
tell what files are circuits and
what files are libraries.
!
*3 Creating Parts (Link)
*Link: Making and Using Parts Selecting Parts
*3 Editing Parts (Link)
*Link: Making and Using Parts Editing Parts
*3 Removing Parts (Link)
*Link: Making and Using Parts Removing Parts
*3 Viewing Parts (Link)
*Link: Making and Using Parts Viewing Parts
!
*2 Loading a Parts Library
You can load a parts library any
time you are editing a circuit. To
do so, press LOAD and select a
library file. CELLS will load the
library and add it to the library
list.
CELLS can distinguish between a
library and a circuit file as it
reads it. If you accidently
select a circuit file when you
meant to select a library file,
CELLS will attempt to load the
circuit. If the current circuit
has not been saved, you will be
asked if you want to discard the
changes. Press NO to cancel
loading the circuit.
!
*2 Selecting a Part from a Library
Selecting a part from a library is
almost exactly the same as
selecting a part from the Parts
List. The only difference is that
you have to select the correct
library in the library name list of
the Parts Requester.
Use the arrows and slider to
position the list so that you can
see the name of the library
containing the part you want, and
then click on the library name.
!
*3 Selecting a Part (Link)
*Link: Making and Using Parts Selecting Parts
!
*2 Editing a Parts Library
Since the parts in a parts library
may be shared by many different
circuits, you can not edit parts
libraries directly.
In order to edit a library, you
must first load it into the Parts
List, then edit the Parts List,
then save the Parts List as a
Library.
To load a library as the Parts
List, press LOAD, and click the
LOAD LIBRARY AS PARTS check box.
Select the library to load and
press OK.
When the file is loaded, the Parts
List and library list will be
cleared, then the library will be
loaded into the Parts List. Now
add new parts, remove old parts and
modify existing parts as normal.
When you are all done editing, press
the SAVE button. Click on the
SAVE AS LIBRARY (PARTS ONLY) check
box, and type the name of your new
library. Press OK.
!
*3 Editing Parts (Link)
*Link: Making and Using Parts Editing Parts
*3 Removing Parts (Link)
*Link: Making and Using Parts Removing Parts
!
*2 Merging Parts Libraries
There is no easy way to merge
libraries from within CELLS
itself. The easiest way to merge
libraries is to use a text editor
(like ED, EDIT, or MEMACS) to
combine the two library files.
You must be sure to remove the
duplicate LIBRARY command from
the combined file.
!
*2 Removing a Library from the List
To remove a library from the
library list, press the PARTS
button to call up the Parts
Requester and select the name of
the library to be removed. Make
sure that View Mode is OFF and that
no part name appears in the part
name gadget. Press REMOVE to
remove the library from the list.
Once a library is removed from the
list, its name will not be stored
with the circuit, so it will not be
loaded the next time you load the
circuit.
The library is still on disk,
however, so it can be loaded again
if you decide you need to use it
again.
!
*2 Libraries in Other Directories
There is no special search path for
CELLS libraries, so it is best if
libraries are stored in the same
directories as the files that use
them.
If you want to have libraries in a
different directory, however, it is
possible to do so. When you LOAD
the library, rather than changing
the current directory to the
directory containing the library,
you should be set to the directory
containing the circuit file, and
should type the name of the library
including whatever path information
is needed to locate the library
from that directory.
The complete name that you type
will be included in the circuit
file. This way, when CELLS
attempts to include the library, it
should be able to find it.
!
*3 Examples
Suppose a circuit is stored in a
directory called CIRCUITS and this
directory has a sub-directory
called LIBRARIES which contains a
library called MYPARTS.LIB. Then
when you load the MYPARTS library,
you should be sure that the current
directory is CIRCUITS and type in
the name:
LIBRARIES/MYPARTS.LIB
Another approach is to use an
ASSIGNed name for the directory
where the libraries are stored. In
the example above, you could use
the CLI command
1> ASSIGN LIB: CIRCUITS/LIBRARIES
to create a logical name LIB: that
refers to the directory containing
MYPARTS.LIB. When you go to load
the library, you could type the
name LIB:MYPARTS.LIB in the name
gadget, no matter what directory
was the current directory.
!
*3 Altering the Name in the Circuit
If all else fails, you can use a
text editor (such as ED, EDIT, or
MEMACS) to edit the circuit file
itself to include the paths.
At the bottom of the circuit file
there are INCLUDE commands for all
the libraries that are included in
the circuit. You can edit the
library names to include any path
information that you need in order
for CELLS to find the libraries.
!
*2 Sample Libraries
CELLS comes with three sample
libraries: 5-Cycle.Lib,
4-Cycle.Lib, and 3-Cycle.Lib.
Each of these contain some sample
gates and memory circuits that
operate in the specified number of
cycles. The 5-cycle library is the
most extensive and includes cross-
overs, repeaters, clocks, and other
assorted devices.
!
*2 Library File Format (Link)
*Link: CELLS File Format
!
*1 The Control Panel
The Control Panel is where the
buttons are located (on the right
of the CELLS screen). The buttons
are grouped into functional
catagories (Control, File, Edit,
and Misc).
Most buttons have two functions.
The default function is named on
each button. To get the secondary
function, press one of the SHIFT
keys; the button legends will
change to show the alternate
function of each button.
In the descriptions below, the
buttons are referred to by their
function names, whether or not they
require SHIFT to be pressed. If
the function you want is not shown
on any of the buttons, press SHIFT
to see the alternate functions.
Some buttons cause CELLS to enter a
special mode (e.g., Select Mode or
Move Mode), and others cause
requesters to open. These buttons
will remain inverted as long as the
special mode or requester is in
effect.
!
*2 Circuit Control Buttons
*3 START
*Link: The Control Panel Alphabetical START
*3 STOP
*Link: The Control Panel Alphabetical STOP
*3 STEP
*Link: The Control Panel Alphabetical STEP
*3 RESET
*Link: The Control Panel Alphabetical RESET
*3 WIPE
*Link: The Control Panel Alphabetical WIPE
!
*2 File Access Buttons
*3 SAVE
*Link: The Control Panel Alphabetical SAVE
*3 RENAME
*Link: The Control Panel Alphabetical RENAME
*3 LOAD
*Link: The Control Panel Alphabetical LOAD
*3 NEW
*Link: The Control Panel Alphabetical NEW
!
*2 Circuit Editing Buttons
*3 SELECT
*Link: The Control Panel Alphabetical SELECT
*3 MOVE
*Link: The Control Panel Alphabetical MOVE
*3 COPY
*Link: The Control Panel Alphabetical COPY
*3 PART
*Link: The Control Panel Alphabetical PART
*3 CLEAR
*Link: The Control Panel Alphabetical CLEAR
*3 CLIP
*Link: The Control Panel Alphabetical CLIP
*3 UNDO
*Link: The Control Panel Alphabetical UNDO
*3 CENTER
*Link: The Control Panel Alphabetical CENTER
*3 RESET
*Link: The Control Panel Alphabetical RESET
*3 WIPE
*Link: The Control Panel Alphabetical WIPE
!
*2 Miscellaneous Buttons
*3 HELP
*Link: The Control Panel Alphabetical HELP
*3 ABOUT
*Link: The Control Panel Alphabetical ABOUT
*3 QUIT
*Link: The Control Panel Alphabetical QUIT
!
*2 Alphabetical Listing
*3 ABOUT
*Title: ABOUT (Miscellaneous Command)
The ABOUT button calls up the About
Requester, which displays
information about the version of
CELLS you are running, and the
amount of free memory that is
available.
The About Requester also shows a
picture of the author, and gives an
address where he can be contacted.
ABOUT is available as SHIFT HELP.
!
*3 CENTER
*Title: CENTER (Editing Command)
If you press the CENTER button,
CELLS will shift the contents of
the grid so that it is centered
within the grid (its full 85x60
cells, not just the viewing area).
For example, if your circuit is
near the right-hand edge of the
grid and there are blank cells to
the left of the circuit, you can
press CENTER to get a little more
room at the right.
CENTER is available as SHIFT UNDO.
!
*3 CLEAR
*Title: CLEAR (Editing Command)
If any cells are selected, CLEAR
will set their states to the
Background state.
If no cells are selected, CLEAR
will clear the entire grid area to
the Background state.
!
*3 CLIP
*Title: CLIP (Editing Command)
CLIP clears any cells in the entire
grid that are not selected. That
is, any cells that are not selected
will be changed to the Background
state.
If no cells are selected, then CLIP
retains the cells that are in the
visible area of the grid, and
clears the remainder of the grid.
CLIP is available as SHIFT CLEAR.
!
*3 COPY
*Title: COPY (Editing Command)
Once you have selected a group of
cells, COPY lets you make a copy of
these cells and move them to
another part of the circuit.
See the main topic EDITING CIRCUITS
for a complete description of how
to copy cells.
COPY is available as SHIFT MOVE.
!
*3 HELP
*Title: HELP (Miscellaneous Command)
HELP calls up the Help System so
that you can browse through the on-
line Help Database.
Press the HELP button on the Help
Requester for complete details
concerning the HELP system.
!
*3 LOAD
*Title: LOAD (File Access Command)
LOAD lets you:
Load a new circuit.
Load new libraries into an
existing circuit, or
Load a library for editing
as the Parts List.
!
*4 Loading a Circuit (Link)
*Link: Loading Circuits
*4 Loading a Library (Link)
*LInk: Parts Libraries Loading a Parts Library
*4 Loading a Library as Parts (Link)
*Link: Parts Libraries Editing a Parts Library
*4 Using the File Requester (Link)
*Link: The File Requester
!
*3 MOVE
*Title: MOVE (Editing Command)
Once you have selected a group of
cells, MOVE lets you move the
selected cells to another part of
the grid.
See the main topic EDITING CIRCUITS
for a complete description of how
to move cells.
!
*3 NEW
*Title: NEW (File Access Command)
Use NEW when you want to start
working on a completely new
circuit.
NEW Clears the entire grid to the
Backgound state, clears the current
circuit name, selects the Wire
color, and enters Drawing Mode.
UNDO does not cancel the effect of
the NEW button.
NEW is available as SHIFT LOAD.
!
*3 PART
*Title: PART (Editing Command)
If cells are selected, PART adds
the selected cells to the Parts
List as a part.
If no cells are selected, PART
calls up the Part Requester to let
you select a part to add to the
circuit. Once a part is chosen,
you can move it to any area of the
grid.
See the topic CREATING AND USING
PARTS for more information on parts
and the Pars List.
!
*3 QUIT
*Title: QUIT (Miscellaneous Command)
Use the QUIT button when you want
to exit from CELLS.
If changes have been made to the
circuit and you have not saved
them, CELLS will give you the
option of saving them before you
quit.
!
*3 RENAME
*Title: RENAME (File Access Command)
If you want to save the current
circuit under a new file name, use
the RENAME button. This will bring
up the Save File Requester.
If you want to save the Parts List
as a library and the circuit has a
name (i.e., it has already been
saved or loaded), you will need to
use RENAME instead of SAVE to get
the Save File Requester.
See the topic SAVING CIRCUITS for
more information on saving
circuits.
See the topic THE FILE REQUESTER
for details of using the file
requester.
RENAME is available as SHIFT SAVE.
!
*3 RESET
*Title: RESET (Circuit Control Command)
RESET restores a circuit to the
state it was in before the last
START command (or to the state it
was in when the circuit was loaded,
if START has not been pressed).
In Select Mode, RESET unselects all
the selected cells, but leaves you
in Select Mode so you can select a
different collection of cells.
!
*3 SAVE
*Title: SAVE (File Access Command)
If cells are selected, CELLS will
save the selected cells as a
circuit (with no Parts List or
library list). It will bring up
the Save File requester to ask you
what name to use.
If no cells are selected, then if
CELLS knows the name of the circuit
already (i.e., you already saved
the circuit at least once or you
used LOAD to load the circuit),
then pressing the SAVE button will
save the current state of the
circuit, its Parts List, and its
library list without your having to
specify the name of the file again.
CELLS will use the same name as
before.
If CELLS does not know the name of
the circuit (i.e., you have just
drawn it for the first time), then
CELLS will open the Save File
Requester to get the name of the
circuit, and the disk and folder
where you want to store the
circuit.
If you want to save a named circuit
using a different name, you will
need to use the RENAME button
instead.
!
*4 Saving Selections (Link)
*Link: Saving Circuits Saving a Selection
*4 Saving Circuits (Link)
*Link: Saving Circuits
*4 Saving Parts Libraries (Link)
*Link: Parts Libraries Creating a Parts Library
*4 Using the File Requester (Link)
*Link: The File Requester
!
*3 SELECT
*Title: SELECT (Editing Command)
Use SELECT to begin selecting cells
that you will move, copy, clear,
clip, wipe, turn into a part,
undo, or save as a circuit.
You select cells by dragging out a
selection box, or by clicking on
them with the right mouse button.
To unselect the selected cells
without altering them, press SELECT
again. This will return you to
Drawing Mode. If you want to
unselect the cells without leaving
Select Mode, press RESET.
See EDITING CIRCUITS for a detailed
description of how to select and
manipulate cells.
!
*3 START
*Title: START (Circuit Control Command)
When your circuit is ready to go
and you have added electrons to it,
press START. CELLS will begin
caluclating new generations of
cells (i.e., the electrons will
flow).
Press the STOP button to go back to
editing the circuit. CELLS will
stop the circuit automatically if
all the electrons are eliminated.
When you press START, a copy of the
current circuit is saved so that
if you press the RESET button, the
original state of the circuit is
restored. This is a convenient way
to undo the effects of running a
circuit.
You can control the generation
update speed using the up and down
arrows on the keyboard. Use the
STEP button to update by one
generation at a time.
You can use the sliders and zoom
gadgets to change the visible part
of the grid even while the circuit
is running.
See the topic RUNNING CIRCUITS for
more information.
!
*3 STEP
*Title: STEP (Circuit Control Command)
When you press START, CELLS
caluclates new generations
continuously until you press STOP,
or until all the electrons are
eliminated.
If you want to be able to see
exactly what happens from one
generation to the next, you should
use the STEP button instead. This
updates the grid by one generation
only. You can view the results for
as long as you want before you
press STEP again. You can even
edit the circuit or alter electron
positions in between STEPs.
STEP is available as SHIFT START.
!
*3 STOP
*Title: STOP (Circuit Control Command)
STOP is available only when the
circuit is running. Pressing STOP
will stop the circuit from running
and return you to Drawing Mode.
!
*3 UNDO
*Title: UNDO (Editing Command)
UNDO un-does whatever editing you
last did. Pressing UNDO a second
time re-does the changes.
In Select Mode, only the selected
cells are changed.
UNDO will undo the effects of the
following commands: RESET, WIPE,
SELECT, MOVE, COPY, CLEAR, CLIP,
CENTER, UNDO, drawing new cell
states, and adding a part.
If multiple copies where made
during a MOVE or COPY command, UNDO
will remove all of them.
Only the most recent change to the
cell states can be undone (up to
the last time the left mouse button
was pressed down).
UNDO does not undo:
The NEW command,
Changes due to loading a new
circuit from a file,
Changes in the selection (e.g.,
UNDO will not reselect cells
that have been unselected),
Changes to the magnification
level or slider positions,
Changes in the parts or library
lists,
Changes due to saving a circuit
or library to disk.
!
*3 WIPE
*Title: WIPE (Editing Command)
Wipe converts any cells in one of
the electron states into the Wire
state (i.e., it erases all the
electrons).
If cells are selected, only the
selected cells are changed,
otherwise the entire grid is wiped.
!
*1 Keyboard Commands
A number of the functions of the
control panel are also available
from the keyboard. In addition,
there are also a few keyboard
functions that are not available
on the control panel.
!
*2 The Arrow Keys
The Up and Down arrow keys control
the delay time that CELLS uses to
pause between generations when a
circuit is running. The Up Arrow
increases the delay time while the
Down Arrow decreases the delay
time.
The default speed is appropriate
for most moderately complex
circuits.
The delay time can only be altered
from the keyboard.
!
*2 The ENTER Key
The ENTER key is bound to the STEP
function of the Control Panel.
Pressing ENTER causes CELLS to
calculate the next generation of
the cells in the circuit.
STEP does NOT update the copy of
the circuit used by the RESET
command to undo the effects of
running a circuit.
!
*2 The "B" Key
The "B" Key on the keyboard toggles
the buffering mode.
CELLS initially starts in double-
buffer mode (all changes to the
grid are done off-screen then the
screen is updated all at once).
Pressing "B" once switches to
single-buffer mode (updates are
made directly to the screen).
Pressing "B" again switches back to
double-buffer mode.
Single-buffer mode is slightly
faster than double-buffer mode,
but the difference is negligable
if there are more than a few
electrons in the circuit.
Note that in single-buffer mode,
ALL screen updates are done
directly to the screen, including
updates due to scrolling and
zooming.
!
*2 The HELP Key
The HELP key calls up the Help
system.
!
*2 The BACKSPACE and DELETE Keys
The BACKSPACE and DELETE keys are
both bound to the CLEAR function
available on the control panel.
Pressing one of these keys will
remove any selected cells (i.e.,
will change their states to
Background). If no cells are
selected, the entire grid is
cleared.
!
*1 The File Requester
The File Requester is used whenever
you want to SAVE, LOAD, or RENAME a
file. The File Requester allows
you to specify the disk, directory,
and file name of the file you want
to use.
It also lets you: create new
directories; delete files and
directories; get information about
files, directories and disks; and
choose file names from a list of
names or by typing them in.
!
*2 The File Requester Layout
The File Requester is separated
into four main areas: the file
name gadget, the directory listing
area, the button area, and the
message area.
!
*2 Enabling the Directory List
Since looking up file names can be
quite slow, particularly for large
directories on floppy disks, the
directory listing gadgets are
usually disabled.
To look up the file names in the
current directory and enable the
list gadgets, click on the gadget
that displays the name of the
directory.
Names that begin with a slash (/)
are sub-directories of the current
directory. If you select one of
these, it will become the current
directory, and the list area will
show the files it contains.
Click on the directory name at any
time to get an updated list of
names (in case some other program
has changed the contents of the
current directory).
!
*2 Disabling the Directory List
If the directory list is enabled,
you can disable it by clicking on
the directory name with the SHIFT
key held down.
The name list gadgets will become
inactive, and you will have to type
the file name to select it.
!
*2 Selecting a File
You can select a file in a number
of ways:
By typing its name in the file
name gadget and pressing SAVE or
LOAD, or pressing RETURN;
By clicking on its name in the
directory listing and pressing
SAVE or LOAD; or
By double-clicking on its name
in the directory listing.
If you type the name of the file,
you can include path information as
well. This lets you select files
without changing the current
directory.
!
*2 Deleting a File
You can erase a file from disk by
typing its name or selecting its
name in the directory listing, and
pressing the DELETE button.
You can delete either files or
directories in this way.
You will not be prompted to confirm
the delete, so be careful!
!
*2 Changing Directories
There are a number of ways to
select a new current directory:
Type the new directory (or a
relative path to the new
directory) in the file name
gadget and press RETURN;
Select a sub-directory name in
the name list (sub-directories
are indicated by a slash (/)
preceeding their names);
Press the Left Arrow gadget
to move to the parent of the
current directory;
Press the DRIVE button to
select the next drive with a
mounted disk; or
Insert a floppy disk into
a drive.
!
*3 Special Characters for Directories
The colon (:) is used to separate a
device name from a file or
directory name on that device.
The slash character (/) is used to
separate directory names from one
another, and from the name of a
file within a directory.
A slash by itself indicates the
parent directory.
A colon by itself indicates the
root of the filing system.
A slash preceeding a file or
directory name means look for the
file in the parent directory.
A colon preceeding a file or
directory name means look in the
root directory for the file.
!
*2 Creating Directories
To create a new sub-directory of
the current directory, type the
name of the new directory in the
file name gadget and press MAKEDIR.
The new directory will become the
current directory automatically.
!
*2 Getting File Information
You can use the INFO button to find
out information about a file
directory or disk.
You can get the file size,
protection, and creation date, or
its comment field; or you can get
the amount of free space on the
disk.
!
*2 The Message Area
The message area is the boxed-in
space at the bottom of the
requester. This is where CELLS
shows error and informational
messages when you are using the
File Requester.
A message will remain on the screen
only until you press the next
button, or do some other action;
then it will be erased. If you
click in the message box, you will
get back the last message that
appeared there.
!
*2 The Left Arrow Gadget
The left arrow gadget that appears
next to the directory name is for
moving to the parent directory of
the current directory.
If you press a SHIFT key when you
click on the left arrow gadget, the
current directory will become the
root directory of the current
filing system (i.e., you will go to
the top-most directory or the
device itself).
If you click the left arrow when
you are already at the top-most
level (and the directory list
gadgets are active), or if you hold
down the ALT key when you click the
left arrow, you will get a listing
of all the volumes and mounted
devices known to the system. You
can choose from among these as you
would from any other directory.
!
*2 The SAVE Button
Once you have typed a file name in
the name gadget, or have clicked
on a name in the directory list
area, press the SAVE button to save
the file to disk.
If a file with that name already
exists, you will be prompted to
confirm that you want to over-write
the existing file. The SAVE button
will be replaced by a REWRITE
button; press this button to
confirm the SAVE command, or click
on any other gadget to select
another name.
!
*2 The LOAD Button
Once you have typed a file name
into the name gadget, or have
selected a name in the directory
listing, click the LOAD button.
The circuit or library will be
loaded from disk.
!
*2 The DRIVE Button
If the file or directory you want
to use is on a different disk from
the one whose name is displayed in
the directory name gadget, you can
press the DRIVE button to change to
another drive.
The DRIVE button switches between
all active drives that have disks
mounted. The drives are searched
in a loop, so if you keep pressing
DRIVE, you'll come back to were you
started.
If you insert a disk into a flopy
disk drive, that disk will become
the current disk automatically.
!
*2 The INFO Button
Use the INFO button to get
information about files,
directories or disks.
If a file is selected or a name is
in the file name gadget when you
press INFO, you will get
information about that file,
otherwise, INFO will give
information on the current
directory.
INFO gives the file size,
protection and creation date.
If you hold down SHIFT when you
press INFO, you will get the file's
comment (set by the FILENOTE
command from a CLI; see the
AmigaDos documentation for more
information on the FILENOTE
command).
If you hold down the ALT key when
you press INFO, you will get
information about the disk
containing the current directory,
such as the number of free blocks,
whether it is locked, etc.
!
*2 The DELETE Button
Use the DELETE button to erase the
selected file or directory. DELETE
does not ask you to confirm the
delete command, so be careful.
The delete command is convenient
when you want to save a circuit to
a disk that does not have very much
room left, and you need to free up
some space.
!
*2 The MAKEDIR Button
The MAKEDIR button lets you create
a new sub-directory in the current
directory. Simply type the name
for the new directory in the file
name gadget, and press MAKEDIR.
The current directory will change
to the new directory automatically.
!
*2 The CANCEL Button
Use the CANCEL button to cancel the
File Requester without loading or
saving any files.
If a QUIT is in progress, pressing
CANCEL will also cancel the QUIT.
!
*2 SAVE AS LIBRARY Check Box
Click on this gadget to save the
current Parts List as a Parts
Library. Note that the circuit
itself will not be saved when you
save the Parts List.
!
*3 Saving as a Library (Link)
*Link: Parts Libraries Creating a Parts Library
!
*2 LOAD LIBRARY AS PARTS Check Box
Click on this gadget to load a
library into the Parts List instead
of the library list. This allows
you to add to or edit the parts in
a library.
Note that the current contents of
the Parts List and library list
will be removed before the library
is loaded.
!
*3 Loading Libraries as Parts (Link)
*Link: Parts Libraries Editing a Parts Library
!
*1 The Parts Requester
The Parts Requester appears when
you press the PART button when
there are no cells selected.
You use the Parts Requester to
select a part from the Parts List
or from a library that you have
loaded into the current circuit.
Parts can be viewed either by name,
or graphically.
The parts requester also lets you
remove parts from the Parts List,
or libraries from the libraries
list.
!
*2 The Parts Requester Layout
The Parts Requester is divided into
three main areas: the part name
list, the library name list, and
the button area.
The part name list is on the left
and contains the list itself, the
part name gadget, and a slider for
the name list.
The library name list is at the
upper right and contains the
list of libraries and a slider for
the list. A library must always be
selected.
The button area is at the lower
right.
!
*2 Selecting a Part
There are a number of ways to
select a part from the list.
First, make sure the proper library
is selected (the selected library
is highlighted).
To select a part do one of the
following:
Type the name of the part into
the part name gadget and press
RETURN or push the OK button;
Click on the part name in the
part name list and press OK;
Double-click on the part name in
the part name list;
In VIEW Mode, scroll the part
list so that the desired part
is being displayed and press OK.
You can use the slider to position
the list so that you can click on
the name you want. Use the arrows
to scroll by one part at a time, or
drag the slider to move to a
specific position. Note that the
list is updated as you drag so you
can always see where you are going,
even in VIEW Mode. Hold down the
arrow gadgets to scroll the list
continuously.
!
*2 Selecting a Library
Select a library by clicking on its
name in the library name list.
Note that the Parts List is listed
as one of the libraries so select
its name if you want to use a part
from the circuit's Parts List.
Use the slider to scroll the list
so that you can see the library you
want. Use the arrows to scroll one
name at a time, or drag the slider
knob to the desired position in the
list. Note that the list is
updated as you drag so you can
always tell where you are. Hold
down the arrow gadgets to scroll
the list continuously.
!
*2 The OK Button
When you have selected the part you
want (and its name is in the name
gadget), press the OK button.
CELLS will place a copy of the part
into the grid, and will enter Copy
Mode automatically.
!
*2 The CANCEL Button
Press the CANCEL button to cancel
the Parts Requester without
loading a part.
!
*2 The REMOVE Button
Press the REMOVE button to remove
the selected part from the Parts
list, or the selected library from
the library list (if no name is in
the name gadget).
Note that you can not remove parts
from libraries other than the Parts
List, nor can you delete the Parts
List from the library list.
Once a part is removed from the
parts list, it can not be
recovered. Removing a part does
not affect any occurences of the
part within the circuit itself,
however.
If you remove a library from the
list and decide later that you want
it back, you can always re-LOAD it
from disk.
!
*2 The VIEW Button
Use the VIEW button to change
between viewing names of parts and
images of parts.
The VIEW button will be highlighted
when you are viewing images of
parts. In this case, the picture
of the selected part replaces the
part name list, and the sliders
will scroll through the pictures
of the parts. A part's name
appears in the name gadget when its
picture is shown.
Press VIEW again to go back to
viewing names of parts instead of
images.
CELLS remembers what mode you were
last using and will open the Parts
Requester in that mode the next
time you want to select a part.
!
*1 The HELP System
Press the HELP button on the Help
Requester for complete details
concerning the HELP system.
For details about the help file
format and customizing Help, see
the topic HELP FILE FORMAT.
!
*1 The CELLS command
You run CELLS from a CLI simply by
typing the command:
1> CELLS
provided CELLS in in the current
directory, or in the command path.
CELLS needs access to some special
files, like the Moonstone Font,
which are described in the main-
level topic INSTALLING CELLS.
You can have CELLS open a Ciruit as
soon as it is up and running by
supplying the circuit file name on
the command line; for example:
1> CELLS MyCircuit
will cause CELLS to open the file
called "MyCircuit" as soon as it
is loaded.
!
*1 Installing CELLS
CELLS needs access to three files:
Diskfont.library, Moonstone.font,
and Cells.Help. These should be in
the DEVS:, FONTS:, and HELP:
directories, respectively.
In addition, CELLS looks for a file
called Cells.Colors, if it exists
in the current directory, to get
information about the colors to use
for the CELLS screen.
You may want to install the program
called NL-DAEMON in your startup
sequence to take full advantage of
the 3D look of the CELLS imagery.
!
*2 Changing the Screen Colors
You can use the file Cells.Colors
to modify the colors that CELLS
uses for its custom screen. The
CELLS screen is 3 bit-planes deep,
so there are 8 colors available.
Each line of the Cells.Colors file
specifies one of these 8 colors:
the first 3 characters on each line
represent hexadecimal digits (0-F)
that determine the red, green, and
blue gun values for the color.
For example, the number F90 means
the red gun is set at 15 (F), the
green gun at 9, and the blue gun
at 0. You can use the Palette tool
provided on the WorkBench disk to
experiment with different colors
and to determine the color values.
The Cells.Colors file should be in
the current directory.
!
*3 Color Number Assignments
Color Assignment
0 3D Background Color
1 3D Highlight Color
2 3D Foreground Color
3 3D Shadow Color and
Background state Color
4 Electron Tail Color
5 Electron Head Color
6 3D Hightlight Reversed
7 Wire Color
!
*3 Specifying a WorkBench Color
If the first character on a line is
an equal sign (=), this indicates
that the corresponding workbench
color should be used.
!
*3 Specifiying a Default Color
If the first character on a line is
an asterisk (*), this indicates
that the default CELLS color should
be used.
!
*3 Comments
Blank lines, lines beginning with a
space, and lines begining with an
exclamaition point (!) are treated
as comment lines and are ignored.
Any characters past the RGB gun
values are ignored, so you can put
comments following any color value.
!
*3 Default Color Values
The CELLS default colors are:
465 Dark Grey
EFC White
8A8 Light Grey
032 Black (Blank)
FC9 Light Gold (Tail)
F90 Gold (Head)
961 Dark Gold
0A0 Green (Wire)
!
*2 Moonstone Font
CELLS uses a 320 x 200 screen but
none of the fonts provided with the
Amiga are designed for use with
this screen resolution (a serious
over-sight on Commodore's part).
In order to make CELLS look good,
the author designed a special font
specifically for low-res screens.
This font is called MOONSTONE and
should be provided with CELLS.
Place it in your FONTS: directory
with your other fonts.
If the Moonstone font is not
available to CELLS it will still
run, but things will look pretty
bad (none of the words will fit in
the space they are supposed to be
in).
!
*2 The Help File
The Cells.Help file contains the
complete on-line help system for
CELLS. If you want to use the HELP
button, you will need to be sure
CELLS can find the Cells.Help file.
Cells.Help should be in the current
directory or on the volume named
HELP:. You can ASSIGN HELP: to be
any directory you wish by adding an
ASSIGN command to your startup
sequence. See the AmigaDOS
documentation for information on
the ASSIGN command.
!
*2 3D Gadgets
CELLS is designed using a color
scheme and gadget layout that makes
its buttons look 3-dimensional.
This is part of the author's so-
called "New Look" for Amiga
programs.
To make this even more effective,
you should have a copy of the
program called NL-DAEMON, by the
same author, available for free.
It will make the standard Intuition
window and screen gadgets for ALL
windows and screens appear in the
3D New Look.
!
*2 NL-DAEMON (Link)
*Link: About CELLS Other Programs NL-DAEMON
!
*1 CELLS File Format
The CELLS file is a standard text
file which can be edited by any
text editor (such as ED, EDIT, or
MEMACS).
The first line in CELLS file must
be either a CIRCUIT or LIBRARY
command. CELLS will not load a
file that does not start with one
of these commands.
Following a CIRCUIT command can be
CELLSIZE, ORIGIN, and VIEW
commands, although these are
optional. Following these commands
is the definition of the circuit
itself, as described in the CELL
STATE SYMBOLS topic below.
Any parts that belong to the
circuit's Parts List are listed
next. Each part must have a PART
command, followed by the definition
of the cells in the part itself,
which has the same form as a
circuit.
Finally, any libraries that should
be loaded with the circuit must be
listed in an INCLUDE statement at
the end of the file.
!
*2 The CIRCUIT Command
Format: CIRCUIT <name>
The <name> is the name of the
circuit. This is not actually used
by CELLS, but may be used to
identify the file in the future.
The CIRCUIT command identifies the
file as a circuit (as opposed to a
library). When CELLS is asked to
open a file containing a CIRCUIT
command, the file will be loaded
as a circuit. Any currently open
circuit will be cleared before the
new one is loaded.
The CIRCUIT command must be the
first command within the file. A
file that includes a CIRCUIT
command cannot also include a
LIBRARY command.
!
*2 The LIBRARY Command
Format: LIBRARY <name>
The <name> is the name of the
library. This is not actually used
by CELLS, but may be used to
identify the file in the future.
The LIBRARY command identifies the
file as a library (as opposed to a
circuit). When CELLS is asked to
open a file containing a LIBRARY
command, the file will be loaded
as a library, and added to the
current circuit's library list.
The LIBRARY command must be the
first command within the file. A
file that includes a LIBRARY
command cannot also include a
CIRCUIT command.
!
*2 The CELLSIZE Command
Format: CELLSIZE <size>
The <size> is the size, in pixels,
of grid cells visible on the
screen.
The CELLSIZE command is optional,
and if omitted, the cell size will
remain unchanged when the file is
loaded.
CELLSIZE is not valid in a LIBRARY.
!
*2 The ORIGIN Command
Format: ORIGIN <x> <y>
The ORIGIN command specifies the
grid position of the upper left-
hand cell given in the circuit
definiton that follows (note that
this cell may in fact be blank).
The <x> and <y> values must be
within the grid. Any cells that
fall outside the grid bounds will
be ignored.
ORIGIN is not valid in a LIBRARY.
!
*2 The VIEW Command
Format: VIEW <x> <y>
The VIEW command specifies the cell
position of the cell that will be
visibile in the upper left-hand
corner of the screen. This,
together with the CELLSIZE command,
determines the visible portion of
the grid.
The <x> and <y> values must be
such that the visibile area is
entirely contained within the grid.
VIEW is not valid in a LIBRARY.
!
*2 The PART Command
Format: PART <name>
The PART command ends the previous
part (or the circuit itself) and
begins the definition of a new
part. <Name> is the name of the
part as it appears in the Parts
List.
Following the PART command should
be the definition of the part. Its
format is the same as that of a
circuit, and is described below in
CELLS STATE SYSMBOLS.
You can have as many parts in the
file as memory allows.
!
*2 The INCLUDE command
Format: INCLUDE <library>
The INCLUDE command loads a library
automatically into the library list
as the circuit is loaded.
<Library> is the file name of the
library to load. You can include a
path name so that CELLS can locate
the library file, if it is not in
the current directory. This also
is the name as it will appear in
the library list.
!
*2 The Cell State Symbols
When a circuit is being defined,
each line represents a line in the
grid, and every two characters
represent a cell.
There are four cell states:
[] Wire
## Electron Head
== Electron Tail
. Background
You need only specify background
state cells when you specifically
want them included, otherwise use
spaces. Trailing spaces may be
omitted.
!
*2 Comments
CELLS uses the exclamaition
point (!) and the asterisk (*) as
comment characters. If either of
these characters appears in a file,
the remainder of the line is
ignored.
The comment character can appear
anywhere on an input line.
!
*2 Loading Errors
If there are any errors in the
circuit or library file, CELLS will
put up a requester telling you
about the error. Every eight
errors or so you will be asked to
confirm that CELLS should continue
to load the file. This is so that
in case you have a badly corrupted
file, you don't have to keep seeing
error messages forever.
!
*1 HELP File Format
The HELP file is a standard text
file which you can create using any
text editor (ED, EDIT, or MEMACS,
for example).
The file is broken up into topics
by embedding Help commands in the
file. Any line that begins with an
asterisk (*) is a Help command.
(If you want a line to start with
an asterisk, use two asterisks).
Any lines that do not begin with a
Help command (or the comment
character) are considered to be
part of a help topic's text.
The lines following a new topic's
name belong to that topic.
Text lines that come before the
first topic specification are used
as the introductory text when you
first press HELP. If there are no
such text lines, then HELP begins
with the topic list.
!
*2 Specifiying a Topic
Each topic is at a specific level
of the Help tree. The top-most
level of topics is level 1, their
sub-topics are level 2, etc.
To specify a topic, you must
specify its level and its name.
Give the level as a numeric value
directly following the asterisk.
Separate the number from the name
by a space; the remainder of the
line is the topic name.
For example:
**2 This is a Level 2 Topic
specifies a level 2 sub-topic, with
name "This is a Level 2 Topic".
Level 1 topics appear in the main
topic list. Higher topic numbers
appear as sub-topics of the lower-
number topics that preceed them.
For example, the topic specified
above will be a sub-topic of the
level 1 topic that it follows.
Levels can be nested to any depth.
Use this Help file as an example of
how to construct a Help Database.
!
*2 The TITLE Command
Format: *Title: <title>
When you are reading the text of a
topic, the topic's name usually
appears as the title of the Help
Requester. You can specify another
title by using the TITLE command.
The remainder of the line is used
as the title.
The TITLE command can appear
anywhere within the text of the
topic whose title is being defined.
!
*2 The LINK Command
Format: *Link: <topics>
Often you want to have the same
text appear in more than one place
in the file. Rather than duplicate
the text, you can create a link
from one topic to another.
To do this, use the LINK command.
The remainder of the line becomes
the specification of the topic that
is the target of the link. You
must specify the complete path
through the Help tree (from the
very top). Separate topics from
sub-topics by spaces.
For example:
**Link: FOOD CHOCOLATE
specifies the sub-topic called
CHOCOLATE of the main topic FOOD.
Note that LINK allows you to do
prefix matching (so you could have
used *Link: F CH in the example
above). This may make it difficult
to link to names that include
spaces, so be careful when you
pick the names of topics that will
be linked.
Since linking from one topic to
another changes the parent topic,
which might confuse the user, it is
a good idea to indicate when a
topic is a linked topic. For
example, in this file, linked
topics include the work "(Link)" in
their names.
Note that linked topics can not
contain text of their own.
!
*2 The HELP Command
Format: *HELP:
The HELP system includes its own
default help, for when you press
the HELP button on the Help
Requester. This help is brief,
however, and you may wish to
replace it by your own, more
detailed help information.
To do this, use the HELP command
within your Help file. This
indicates that the topics that
follow are not part of the main
Help tree, but rather are to be
used for the HELP button. Begin
with level 1; you may include
sub-topics as usual.
Use the ENDHELP command to end the
definition of the HELP topics.
Use this file as an example of the
use of the HELP command.
The HELP command can appear only
once in a Help file.
!
*2 The ENDHELP command
Format: *ENDHELP:
When you use the HELP command, you
need to be able to say when you are
done defining the HELP topics, and
go back to defining the normal Help
tree.
The ENDHELP command is used to do
this. If you use the ENDHELP
command, it must be preceeded by a
HELP command. ENDHELP can appear
only once in a Help file.
!
*2 Comments
The comment character for Help
files is the exclamation point (!).
If the first character in the line
is the comment character, the
remainder of the line is ignored,
and will not appear as text or
topics when the file is read.
If the exclamation point is not the
first character of the line,
however, it is NOT treated as a
comment character, but rather is
included as part of the text.
You can use this, for instance, to
comment out whole topics, without
actually erasing them from the
file.
!
*2 Loading Errors
If there are any errors in the
Help file, CELLS will put up a
requester telling you about the
error. Every eight errors or so
you will be asked to confirm that
CELLS should continue to load the
file. This is so that in case you
have a badly corrupted file, you
don't have to keep seeing error
messages forever.
!
*2 HELP Memory Usage (Link)
*Link: Memory Management in CELLS Memory Used by the HELP System
!
*1 Memory Management in CELLS
CELLS tries very hard to make sure
that you do not run out of memory,
and CELLS should not crash due to
memory shortages.
As CELLS allocates memory, it
checks to see how much RAM is
free and warns you when you are
getting low on memory. This
warning is not repeated unless on a
subsequent memory allocation CELLS
finds that you have regained a
significant amount of memory. In
this case, the next time you fall
below the low-memory threshold,
CELLS will warn you again.
If you continue to use more memory,
CELLS will give you an additional
warning when you go below a second,
lower threshold. When this message
appears, CELLS may not be able to
perform all commands (e.g., some
requesters may not be able to
open). When you get this message,
you should try to free up memory
in use by other tasks.
If there is not enough memory to
open a requester to display an
error message, CELLS will place the
message in the screen title bar.
The message will be removed the
next time you click the mouse or
perform some other action.
!
*2 When is Memory Allocated?
CELLS allocates most of the memory
it needs when you first run CELLS.
For example, The double-buffer
memory and the UNDO and RESET
storage areas are allocated at
this time.
CELLS allocates additional memory
whenever you load a library or
add a part to the Parts List.
Memory is allocated when a circuit
is running (to store information
about the position of electrons).
This memory is freed when the
circuit is stopped.
Finally, memory is required in
order to be able to open any
requester. The display area
obscured by the requester needs to
be saved by the system so that it
can be restored when the requester
is removed. Some of the reqesters
used by CELLS are quite large, and
require sizable chunks of CHIP RAM.
See the "ROM Kernel Manual" for
a description of the difference
between CHIP and other types of
RAM, and "Intuition: The Amiga User
Interface" for a desription of
memory used by Intuition.
!
*2 Memory Used by the HELP System
The first time you press HELP, the
HELP system reads the help file and
records information about the
topics that are in the help file.
This information is retained in
memory so that it is fast and easy
to go from topic to topic.
The actual text of any topic is
loaded only when that topic is
read. The text is retained in
memory so that if the topic is
viewed agin, it will not have to
be read from disk a second time.
If CELLS begins to run low on
memory, CELLS will attempt to
recover memory by freeing any Help
text that is not in use. If there
is still a shortage of available
memory (and if the Help system is
not in use), CELLS will attempt to
free the list of Help topics as
well. If this happens, then the
next time HELP is pressed, CELLS
will load the Help library again.
!
*1 Update History
*2 Version 1.2 Changes
*3 Faster Circuits
The algorithm used to update the
cell states from generation to
generation when a circuit is
running has been updated.
CELLS now takes better advantage of
its linked lists of electron
information to perform the updates,
rather than scanning through the
grid cell-by-cell.
The speed increase is marginal,
except when there are very few
electrons in the circuit, or when
the circuit takes up large portions
of the grid area.
!
*3 Better String Matching in HELP
The algorithm HELP uses to
determine whether a spcified topic
matches a topic in the current
topic list has been improved.
In the past, when a topic matched
the prefix of a topic in the list,
and there were additional subtopics
to be matched, Help would record a
match on the FIRST topic whose
prefix was matched.
Now, however, Help will match the
topic with the LONGEST prefix
match.
For example, if there are topics
called "The First" and "The Second"
and the user enters a topic called
"The Sec And Sub", Help will
correctly match this against the
second topic, and will look for a
sub-topic "And Sub" of the topic
"The Second".
Previous versions of Help would
incorrectly have matched "The" with
the topic "The First" and would
have looked for the sub-topic
"Sec And Sub" in the topic
"The First".
This also effects the matching of
linked topics.
!
*3 Only Mounted Devices Listed
In the File Requester, if you press
the parent-directory arrow gadget
when you are at the top level of
the directory tree (or if you press
ALT and the parent-directory
arrow), you get a list of available
devices and ASSIGNed volumes.
In the past, ALL the devices would
be shown, even if they are not
mounted; i.e., if you have not
mounted a RAM: disk or the PIPE:
devices, they would still appear in
the list.
In order to make this list more
usefull, only those devices that
are actually mounted (i.e., that
have an active Task in their device
list structure) are displayed.
This has the side-effect of causes
devices that create new tasks on
each invocation (like CON:) not to
appear on the device list. To gain
access to such a device, you need
to type its name into the file name
gadget by hand.
!
*2 Version 1.1 Changes
*3 WorkBench Colors in Color File
You can now specify that CELLS use
specific WorkBench screen colors
instead of its own default screen
colors. Use an equal sign (=)
instead of a color RGB value in the
Cells.Colors file to use the
corresponding WorkBench color
instead.
!
*4 About Cells.Colors (Link)
*Link: Installing Cells Changing the Screen Colors
!
*3 HELP System Implemented
The HELP system is now fully
implemented (as you know, since
you are using it now).
!
*4 Using HELP (Link)
*Link: The HELP System
*3 HELP File Format (Link)
*Link: HELP File Format
!
*3 Bug in SAVE fixed
When saving a selection as a
circuit, the name of the current
circuit file was inadvertantly
changed to the name of the
selection. This bug has been
fixed.
!
*3 SAVE Command is Now Safer
In the past, if you clicked the
QUIT button by accident, there was
no way to cancel the quit (although
you were given the option of saving
the file).
Now, if you answer "NO" to saving
the changes before you quit, CELLS
will prompt you to make sure that
you really want to quit.
If you answer "YES", and you get
the Save File requester, then
pressing "CANCEL" will cancel the
pending QUIT as well as the file
requester.
!
*3 Moonstone Font Updated
A few of the glyphs in the
Moonstone font have been updated to
make blocks of text (e.g., help
displays) look better on the
screen.
!
*4 About Moonstone.Font (Link)
*Link: Installing CELLS Moonstone Font
!
*1 Known Bugs
*2 String Gadgets Not Really Selected
There seems to be a bug in Intution
that causes string gadgets to
appear selected even when they are
not (i.e., the cursor shows up in
the gadget but when you type,
nothing happens).
This usually occurs when you press
RETURN to enter the text in the
gadget. For example, in the File
Requester, if you type the name
of a directory in the gadget and
press RETURN, the cursor will still
appear within the gadget even
though it is no longer selected.
The author was unable to find a way
around this bug in Intuition. He
hopes that it will be solved in
version 1.4 of the operating
system.
!
*2 Extra Cursors in String Gadgets
There seems to be a bug in the way
Intuition handles string gadgets
whose text changes under program
control. Intuition seems to
remeber the old cursor location
sometimes and the new location
other times.
For this reason, if you are using
the File Requester (or other
requester with a text input box)
you may sometimes see two cursors
in the text area.
This occurs mostly when the text
area has just been cleared and
you select some other gadget (like
the arrow or slider gadgets)
causing the text gadget to become
unselected.
!
*Help:
*Title: Brief Description of HELP:
MORE Shows more text or topics,
or the parent's sub-topics
TOPICS Shows the sub-topic list
TEXT Shows the topic's text
PARENT Moves to the parent topic
HELP Shows this text
DONE Exits from the Help System
The sliders and arrows scroll the
text or topic list.
Press MORE for additional topics.
!
*1 Overview
The Help System is intended to be
easy to use and easy to add to.
The topics are set up in the shape
of a "tree": some topics have sub-
topics, and these in turn might
have additional sub-topics.
The idea is to make it possible to
find the specific information you
want without having to read through
large amounts of text to find it.
Each topic by itself is fairly
short. You find the text you want
to read by choosing a path among
the topics and sub-topics.
The more general topics are at the
main level; more detail topics are
found deeper in the Help tree.
!
*1 Scrolling Through Text
The easiest way to move through
text is to use the MORE button.
This will scroll the text down one
page.
You can use the slider at the right
to move through the text. The
arrows scroll one line at a time,
and dragging the slider knob moves
to a specific portion of the text.
Note that the text updates as you
slide, so you can tell where you
are going.
If you click in the slider gadget
above or below the knob, you will
scroll by one page in the indicated
direction.
!
*1 Selecting a Topic
Topics are displayed in the screen
background color (whereas regular
text is shown in the shadow color).
This should help you distinguish
between topic lists and text.
To choose a topic, either type its
name in the topic name gadget at
the bottom of the requester, or
simply double click on the topic in
the topic list.
If a topic's text is showing and
you want skip the rest of the text
and view the topic list instead,
click the TOPICS button.
If there are no sub-topics, then
the parent's sub-topic list will be
shown, with the topic you were just
reading highlighted.
!
*2 Typing Topic Names
If you type in a topic name, you
don't need to type the complete
name. All you need is enough of
the name to identify it from the
other topics.
In fact, you can traverse more than
one level of sub-topics at a time
by typing more than one topic name
(separate them by spaces).
For example, if the current topic
has a sub-topic called "FOODS" and
that sub-topic has a sub-topic
called "CHOCOLATE" you could type
"FOODS CHOCOLATE" in the topic
gadget to go directly to the
CHOCOLATE sub-topic, skipping the
FOODS topic altogether.
Topic names that include spaces can
cause some difficulties, but if the
titles are chosen carefully, you
should be able to navigate in this
way without trouble.
!
*2 Linked Topics
A topic name that is followed by
the word "(Link)" is a link to a
topic in another part of the Help
tree. If you choose such a topic,
the PARENT topic may be different
from what you would expect.
!
*1 Navigating the Help Tree
You should be able to navigate the
entire help tree by choosing topics
and pressing the MORE button.
To select a topic from a topic
list, simply double-click on its
name in the list. If the slider
indicates that there are more
topics to see, press MORE to see
them. If there are no more topics
and you press MORE, you will go to
the topic list of the parent of the
current topic, with the current
topic highlighted in the list.
When you select a topic, you will
see its text (if it has any).
Press MORE to see more pages of
text. When you reach the end of
the text, pressing MORE will bring
up the sub-topic list for the
current topic. If there are no
sub-topics, MORE takes you to the
topic list of the parent topic with
the current topic highlighted.
In this way, MORE always takes you
to the appropriate next peice of
information.
Provided you just keep pressing
MORE and selecting topics, you
should never have to use the other
help buttons.
!
*1 The MORE Button
If you are reading text, MORE moves
on to the next page of text. If
there is less than a full page of
text unread, MORE will briefly
highlight the last line of the
previoius page so that you can see
where the new information begins.
If there are no more lines of text
to view, MORE will display the
current topic's sub-topic list. If
there are no sub-topics to the
current topic, MORE will display
the sub-topic list of the parent
topic, with the current topic
highlighted.
If you are viewing a list of
topics, MORE will scroll to the
next page of topics. If you are
already at the end of the topic
list, MORE will display the topic
list of the parent topic, with the
current topic highlighted.
!
*1 The TOPICS Button
If you are reading the text of a
topic, the TOPICS button will be
available. Pressing it takes you
to the sub-topic list of the
current topic, skipping any unread
text.
If there are no sub-topics for the
current topic, TOPICS will display
the topic list of the parent topic,
with the current topic highlighted.
!
*1 The TEXT Button
If you are viewing a topic list,
TEXT will change to displaying the
text of the current topic instead.
This is useful if you want to re-
read part of the text after reading
some of its sub-topics, for
instance.
!
*1 The PARENT Button
Press the PARENT button to go back
to the parent topic when you are
done with the current topic. You
remain in whatever mode you are
currently in (text or topics) when
you move to the parent.
If you are holding down a SHIFT key
when you press the PARENT button,
you will go to the very top level
of the help tree (the main text
and the main topic list).
!
*1 The HELP Button
Press the HELP button to get help
about using the Help System. The
HELP button will remain highlighted
to indicate that you are viewing a
special help tree.
When you are ready to go back to
the main help tree, press HELP
again. You will be placed in TEXT
mode at whatever topic you were
viewing before you pressed HELP.
The text and topics for the HELP
button can be part of the Help
Database file, and can be modified
as described in MODIFYING THE HELP
DATABASE.
!
*1 The DONE Button
When you are done using HELP and
want to go back to using CELLS,
press the DONE button.
You can press DONE from any point
within the Help tree.
!
*1 Modifying the Help Database
The Help file is a standard Text
file, with embeded commands that
tell the Help System how to
break up the file into topics and
sub-topics.
You can use any text editor (like
ED, EDIT, or MEMACS) to modify the
help file to include your own help
topics or customize existing
topics.
See the topic HELP FILE FORMAT of
the main Help tree for information
on the format of the Help file.
*EndHelp: