ANIMAL
ANIMATION APPLICATIONS LANGUAGE
User's Guide

Welcome to ANIMAL - the Animation Application Language. The following is a
brief description on how to use ANIMAL for some of the most common types of
animate techniques which can be facilitated with computerized motion control
Typically ANIMAL is available in various disk formats to run on a variety of
desktop microcomputers which support MS DOS compatible or CP/U compatible
operating systems. Its communications command set is written specifically for
the J-K Camera MCPU Motion Control Processor Unit.
When you receive your distribution copy of ANIMAL you should immediately make
one or more back-up copies of it before you attempt to use it. As with any
piece of software you should then archive the original distribution copy for
future reference, and only use your own copies as the working files. You will
find the main program labeled 'ANIMAL.COM' plus an overlay program which it
uses called 'ANIMAL.000'

RS-232 Serial Interface
For starters, your computer must be properly interfaced to the associated
motion control unit. In the standard J-K Camera configuration, the following
hardware/software conditions apply:

Minimal RS-232 Serial Interface:
(desktop computer configured as DCE device)
TXD = pin #2
RXD = pin #3
GND = pin #7
(no hardware handshaking)
Transfer Rate:  9600 Baud

Serial Format:
8 bits/word
1 stop bit
parity ignored

Operating System mapping:
MS DOS uses COM1 device
CP/M uses AUX device

This information is provided for reference purpose only. Most users will
never have to bother with this, since all you need is á standard RS-23 cable,
and ANIMAL will take care of the rest.

Power-Up Sequence
When powering up the system, it is recommended to go by the following steps:
(1) Power up the MCPU. Wait a few minutes for the motor
drive cards to warm up.
(2) Turn on your desktop computer. (IBM PC owners will have to wait a
few minutes for this step too.)
(3) Boot up your desktop computer’s operating system. (This may be
automatic with power-on for some desktops.(c) Wait for the operating system’s
prompt, which is ’A>’ for both MS DOS and CP/M.
(4) Load an ANIMAL disk in the appropriate disk drive and type the
command ‘ANIMAL’. ANIMAL will take a few seconds to load from disk and
display its sign-on message. Then it will initialize the serial interface and come
back with an 'MCPU Ready' message.
If ANIMAL says 'MCPU NOT READY' then push the reset button on the MCPU.
and type any key to proceed. If this does not work after a few times, or if on
such 'Ready / Not Ready’ message appear, then double-check the RS-232
connections with the MCPU and verify that it is powered up properly.
Once the MCPU is ready, you may begin to use any of Animal’s program features.

ANIMAL's Main Menu
When you have successfully entered ANIMAL, you will see the main menu which
looks something like this:

ANIMAL Program Selections:
S : Stop Motion Sequences
G : Go Motion Streaking Sequences
L : Live Action Sequences
P : Point Plotting Sequences
O : Override Motion Options
M : Motor Speed Profiles
U : User Units Assignment
A : Alignment Sequence
F : Follow Focus Adjustment
Q : Quit ANIMAL Program.

From this point on you will be selecting options with single keystrokes. Make
sure that your keyboard’s caps-lock key is engaged in order to enter upper
case letters. It would also be a good idea to activate the number-lock key in
order to enter numerals for data values. On some keyboards an extra set of
number keys doubles as the CRT screen’s cursor arrow keys. You should know
that ANIMAL uses these arrow keys for motor override operations.
The basic ANIMAL selection are briefly described as follows. Moor about each
selection will be explained later.
Stop Motion Sequences‚ allow the use to specify axis positions and camera
exposures so that exposures occur inbetween successive axis positions in
conventional stop-motion fashion.
GO Motion Streaking Sequences‚ are like Stop Motion Sequence with the added
capability of specifying axis movements to occur while the camera is exposing.
Such movements may range from subtle blurs to dramatic streaks.
Live Action Sequences‚ run the camera simultaneously with a set of specified
axes. A live-speed camera may be run here for real-time animation. Or a stop-
motion camera may be used here to take advantage of the natural smearing of
live-running exposures.
Point Plotting Sequences‚ allow the animator to create custom moves not already
covered in the above programmed sequences. Moves may be plotted in virtually
any order as this programming mode operates strictly point-to-point. Moves
which are not curvilinear, or at least very complex, would be entered here.
Override Motion Options‚ allows a user to position any axis in any position with
this override mode. Camera functions may be overridden here too.
Motor Speed Profiles, allows the user to set the best operating speed characteristics
for each individual motor.
User Units Assignment allows the user to scale any axis position with the
measurements units of his choice.
Alignment Sequence is the means for homing the axis on the animation stand.
The major axis involved will each run into their limit switch positions and
then back out by a predetermined number of steps. The resulting zero
positions may optionally be changed by the user.
Follow Focus Adjustment accommodates an additional alignment with fine tuning
for ANIMAL’s follow-focus feature. Different film formats and lens focal
lengths may be selected as necessary.
Quitting Time means just that – time to quit ANIMAL programming. However, you
will find that after entering the Q key here, ANIMAL will ask you if you
really wanted to quit for sure. Only aster answering Y (for YES) would ANIMAL
actually quit. This occurs at any quit-point in ANIMAL. This question is
immensely handy to prevent someone from inadvertently leaving a program
section prematurely.
You may now wish to enter any one of these programming sections to take a look
at each one. You will find that there will be different menus which come up for
each section and even within each section. You should remember that you can
always work your way back out to the main menu by entering enough Qs to quit.

STOP MOTION PROGRAMMING SEQUENCES:
Stop motion sequences will allow the animator to specify any or all axis to
run from specified starting locations to specified ending locations over the
course of a specified frame count. When entering this mode, the current ANIMAL
status is displayed. The first menu to appear looks like this:
Animal Stop Motion Sequence Options:

P: Program and Run a sequence
M: Modify a preprogrammed sequence
R: Run a preprogrammed sequence
S: Save a sequence onto disk file
L: Load a sequence from disk file
Q: Quit--- return to main menu

While these options should be self-explanatory, some examples may clarify their
distinctions.
When first entering this stop-motion mode, one would most likely use the
PROGRAM option to initially enter the axis moves and frame counts. After
programming them, ANIMAL will begin to run the specified axis into their
respective starting positions. However ANIMAL does allow the user to leave at
that point in case, for instance, the user would rather save the program on
disk, or perhaps go back to modify the program.
After programming and running a sequence, the user may wish to modify it,
and/or subsequently run it again—hence the reason for the separate MODIFY
and RUN options. Of course , these two options would also be used after
loading a previously programmed sequence from disk. Note that the PROGRAM
command is really a combination of the MODIFY and RUN commands with no
axis initially specified.

Once a scene is programmed , modified, or loaded it may be RUN. First it aligns the
specified axis into their starting locations. Then it asks if the operator is ready to 
proceed if satisfied with the set up. Finally it sequences through the camera exposures 
and axis incrementations frame by frame , displaying all pertinent information as it 
proceeds. At any time the operator may interrupt a running sequence by pressing 
any key on the terminal. Then ANIMAL asks whether it should continue or quit that 
sequence.After a scene is programmed and/or run, the operator may save the scene
parameters onto disk file. When entering the SAVE option, ANIMAL will ask
for the name of the file to be used. One may use any legal file name (l to 8 characters) 
plus a file extension (l to 3 characters). It is recommended that the file name extension 
be left consistent from scene to scene, so that stop-motion files (SMO) may be distin
guished from live-action files (LIV), point-plotting files (XYP), etc.. Note that a disk drive 
may be specified as a prefix, such as A:, or B:,. This may be handy if the ANIMAL program 
disk resides in one drive, while a user’s ANIMAL data file disc resides in another. 
Previously save files may be called back using the LOAD option, The operator must 
supply the full file name which was used to save the file. Again a disk drive prefix may 
be optionally specified with the file name. All previously selected motor axis and camera 
functions will be loaded back in for subsequent modification and/or execution. Finally, 
one should note that existing sequences may be modified, run, saved, loaded, etc. , 
in any order and for any number of times that the operator wishes.

PROGRAM/MODIFY SCENE SELECTIONS:
When either the PROGRAM or MODIFY modes are selected, ANIMAL will
further display another menu which looks like this:

Specify Scene Selections:
X : X Axis = East/West Compound | F : Frame Count
Y : Y Axis = North/South Compound | E : Exposure Time
Z : Z Axis = Up/Down Camera Carriage | C : Camera Functions
R : R Axis = Clockwise/Counter Rotation | T : Time Delay
U : U Axis = East/West Upper Pegbars | S : Sequencing
L : L Axis = East/West Lower Pegbars | Q : Quit Selections
Frame Count selects the preset frame count for the entire scene. Any subsequently 
selected
axis will by default be set to this full frame count. Starting or stopping an axis 
elsewhere would be done separately. Thus it would be recommended to usually specify 
the scene’s full frame count first.

The AXIS Parameters X, Y, Z, R, U, L, selects which axis are to be run for this particular 
scene. Starting and ending positions, plus tapers, and optional starting and ending frame 
are entered here. More about these specifications will be mentioned later.
CAMERA FUNCTIONS cover various camera options, some of which are available only
for ANICAM. These functions include frame counts, exposure times, shutter options, etc.. 
More about these functions will be explained later.

EXPOSURE TIME selects the desired exposure time for that scene. While it is
available as a camera function, it is also included in this menu for convenience.
TIME DELAY selects a time delay to intervene between camera exposures and
axis movements. This time delay is intended to allow the mechanical movements
to physically settle down after each motion. It could also be used as a lapse time
delay. The default value is set = 1.0 second.
SEQUENCING selects how a scene will proceed from frame to frame. By default,
ANIMAL will sequence through the exposures and axis increments automatically,
with only the afore-mentioned time delay intervening in between. Optionally,
the operator may choose to step through the scene manually.
Thus allowing whatever time necessary to change animation cells, photographic
conditions, etc..
QUIT SSELECTIONS merely terminates the programming selections. If the
Program mode was entered, ANIMAL will proceed to run this sequence, but will
allow the operator to return to the Stop-Motion programming menu if desired.
In the Modify mode, it returns to the Stop-Motion programming menu directly.
For convenience, hitting the Carriage Return key here ( instead of Q) will
also QUIT.

AXIS PARAMETERS :
An Axis is selected by typing its one-letter abbreviation. (Note if ANIMAL’s
follow-focus link is active, then selecting the Z (Zoom) axis will automatically
select the AF (Follow Focus) axis. If the follow-focus link is not active,
entering Z will select the Z axis alone, and entering CTRL-F will independently select
the F axis alone.) Then the bottom half of the screen will clear, and the selected axis’
current position will appear. Yet another sub-menu will appear like this:
Axis Parameter Selections:

F : Frame Number Start/End
P : Position Axis Start/End
T : Taper Movement Type In/Out
S : Streak Size Initial/Final
Q : Quit axis parameter selections
At this point one may begin to enter information as follows:
FRAME NUMBER optionally selects alternative starting and ending frame
numbers for the selected axis to synchronize its motion with. The default
Start Frame Number = 0 and the default End Frame Number = whatever preset
frame count had bee previously selected. Enter a value between 0 and the
preset frame count. Entering no value at all (with only a Carriage Return)
will retain the default value.
POSITION AXIS selects the starting and ending positions which the axis will
increment through according to the starting and ending frame numbers. The
default Start Position and End Position both = whatever position the selected
axis is currently at. Enter a value of the presently valid measurement units.
This value may be entered in decimal, but should not cause the axis to move
any more than a total of 65536 steps (64K). Entering no value at all (Carriage
Return only) will retain the default value.
TAPER MOVEMENT specifies the type of stop-motion incrementation for that
axis. The options are Constant for evenly spaced intervals, Variable for tapered
intervals, Exponential for progressively increasing interval spacing, or
Logarithmic for progressively decreasing interval spacing. In the case of tapers,
a taper in and a taper out may be specified as a percentage of the total preset frame
count for that scene.. Note that en exponential progression would be considered
as a 100% taper in, and a logarithmic one would be a 100% taper out. In this manner,
simple curves may be constructed either within a scene, or else from scene to scene.
Entering no letter at all (Carriage Return only) will select the default mode of
constant incrementation (no tapers).
STREAK SIZE specifies the streaking parameters for the Go Motion program
selections. Constant selects the same size streak per exposure. Variable selects an
initial and final streak size which corresponds to the start and end frame numbers.
Entering no value at all (Carriage Return only) retains the default Initial Size and /or
Final Size = 0. Note this information will appear only in the Go Motion Streaking
mode, not the (Stop Motion mode.)
QUIT SELECTIONS merely quits the selections for that particular axis, and
returns to the previous sub-menu for further axis selections. For convenience,
entering a Carriage Return (instead of Q) will accomplish the same thing.

CAMERA FUNCTIONS:
Selecting Camera Functions from the Program or Modify scene selections
menu will display a sub-menu like this:

Camera Selection Menu: E : Exposure Time Interval
N : Number of Exposures per Move
S : Shutter Open/Closed
T : Total Net Frame Count
C : Camera Exposure Count
A : Advance Only Frame Count
F : Fade In/Out Frame Count
Q : Quit Camera Selections.

Exposure Time'‚ (repeated here(c) selects the shutter-open exposure time per 
frame. Note that exposure times which are specified less than the minimum time
required for a typical stop-motion motor revolution are set to that minimum
value. This option is only available for ANICAM Mitchell, and Bolex controls
in the MCPU. It does not work for the DE control, or other simple trigger-type
controls.
NUMBER OF EXPOSURES selects how many exposures are to be taken between each
axis increment. Typically this value = 1, but values of 2 or more may be used
to stretch the film mileage of a given scene.

SHUTTER OPEN/CLOSED toggles the shutter mechanism back and forth between the
open and closed positions. Selecting Shutter Open would be used for rotoscoping
applications. Selecting Shutter Closed would return to the normal film exposure
mode. This option is only available for ANICAM, Mitchell, and Bolex controls
in the MCPU.
TOTAL COUNT presets the cumulative frame count to any desired starting
value. It is by default = 0, and will continually increment throughout the course of
running ANIMAL. Note that selecting the Total Count has no effect on a scene’s
preset Frame Count.
CAMERA COUNT simply offers another opportunity to enter a scene’s preset
Frame Count. That is, selecting Camera Count from this Camera Functions sub-menu
is identical to selecting Frame Count from the previous Scene Selections menu.
ADVANCE ONLY FRAME COUNT selects the preset Frame Count for ANICAM’S
Advance-only mode, where the film advances without exposing. This option is for
ANICAM only. However, Mitchell and Bolex controls will interpret this as the regular
Frame Count.
FADE IN/OUT FRAME COUNT selects the preset Frame Count for ANICAM’s variable
shutter fade sequences. It accommodates either fade-ins or fade-outs, plus
either linear of logarithmic shutter progressions. This option if for ANICAM only.
All other camera controls will not interpret this function, whereby the camera will not run
for this option.
QUIT FUNCTIONS merely quits the Camera Functions and return to the Scene
Selections menu. For convenience, hitting the Carriage Return key (instead of the Q key)
will do the same thing.

GO MOTION STREAKING SEQUENCES
The Go Motion Streaking sequences are programmed and run much like the Stop-motion
sequences. They have the added attraction of exposure streaking parameters.
At the point of specifying the starting and ending positions of each axis, an operator would
go on to select streaking. Additionally, he has the option of specifying either constant
size streaks per exposure, or dynamically changing streaks from exposure to exposure.
In the case of constant streaks, the user needs only specify a single streak
size. This might occur in instances of adding a natural-looking blur to the
image of a moving object. Note that the (constant) streak size for each
exposure is relative to that axis’ incremental position.
Dynamically changing streaks are specified with a pair of initial and final
streak sizes, each corresponding to the size of the streak at the axis’
starting and ending positions. An example where this feature would be handy is
in exaggerating a trail of a moving image for a comet tail effect.
Once all streaking axis parameters are selected, ANIMAL proceeds to compute
the motor speeds necessary to accomplish each selected axis’ streak for the
desired exposure time. If the streak(s) is (are) too long, or if the exposure
time is too short, an error message is generated, and the user is asked if he
wants to try specifying that move again. (note that the speeds available are based on
on the optimum motor speed profiles generated by the user elsewhere in ANIMAL.)
If the streaking parameters are permissible, then the streaks can be run. The
run-time scenario for each axis is as follows. First an axis moves while the
camera shutter is open in order to produce the streak. The axis reverses
its movement after the shutter closes. Finally the axis increments to its next
position. The process repeats thusly for each exposure.
Be aware that the action of each streak is independent of each axis’ incrementation.
That is, one axis may be streaking and incrementing, a second axis may incrementing
without streaking, and a third axis may be streaking relative to the same position for each
exposure. Further note that pegbars may be selected for incrementation only, but not
for streaking, since the platen would otherwise have to be repeatedly lifted up and down.

LIVE ACTION SEQUENCES
Live Action Sequences are the simplest ones to specify. The status displays
and the command menus are similar to those used in Stop Motion and Go Motion
Streaking sequences.
In programming Live Action sequences, only a desired axis’ start position and
end position are specified. Tapers are not allowed here since the motors all
have to run synchronously. Pegbars cannot be selected here for the same reason.
Once the frame count and all the desired axis have been specified, ANIMAL
computes the corresponding motor speeds necessary to start and stop all axis
simultaneously. Similar to the case of Go Motion Streaking, if the axis
movements are too long, or the frame count is too short, an error message is
issued, and the operator is asked if he wants to reprogram the information.

OVERIDE MOTION OPTIONS
ANIMAL’s Override mode has the least amount of programming associated with it.
Therefore it is the most direct way of controlling the MCPU motor axis through
the desktop computer. In this mode, all motor axis information is conveyed
directly in terms of steps.
Upon entering the Override mode, a new menu will appear. It is fairly self-
explanatory, and will appear as many times as necessary by pressing the H
(HELP) key. Additionally there is a table available of all available MCPU
axis, using one-letter abbreviations corresponding to each axis’ function.
Invalid one-letter labels are ignored.
One function which is handy is the JOG function. With this, a person can run
any pair of motors back and forth under control of the CRT terminal’s arrow
keys. (Make sure associated numeral keys are left activated). Upon entering
the JOG mode, the user will assign the desired pair of axis to correspond to
the left/right arrow keys and the up/down arrow keys. Once in the JOG mode,
a momentary key press will increment the assigned motor one single step. A
continuous key press (longer than a half-second) will cause that motor to
accelerate to its pre-determined speed. A subsequent key release will cause
that motor to decelerate back to stop.
Two other functions which may need clarification are the Limit and Unlimit
functions. If a motor axis has an associated limit switch, then the
LIMIT function may be used to run that motor at constant speed into its
limit switch, either forward or reverse. Eventually when that motor reaches
its limit position it will stop and can only be single-stepped back out. Hence
the UNLIMIT function can be used to do this in sequences of 10 single steps
at a time.
These LIMIT and UNLIMIT functions are useful for alignment procedures.
Typically an alignment scenario would be as follows. First a motor is run into
its limit switch position. Then it is stepped back out using the UNLIMIT
function. Next it is run to a specific alignment position. Finally it is zeroed using the
Zero function for future referencing.

POINT PLOTTING SEQUENCES
Point Plotting Sequences are used to create the most elaborate motion control
sequences. No specific order or computational consistency is expected because
all moves are executed strictly from point to point. For ease of programming,
sequences may be planned directly with the MCPU, or entered manually with the
editor. Because point-to-point programming tends to be somewhat tedious, a
number of programming options are available, such as auto-incrementation and
symmetry effects.
In order to use the point-plotting facility, you would enter the command P
from ANIMAL’s main menu. Upon entry into the program, you will see some
messages regarding how the program is to be used, including the note that
points will be referred to solely on the basis of steps (regardless of
whatever units you were using previously). For the 2-axis version, you have to 

your particular A axis (formerly of the 1-letter labels X,Y,Z,F,R,U,L,P) as simply X and Y. 
Once you have reassigned your selected axis, the point-plotter’s main menu comes on like this:

Master Point Plotting and Editing Menu:
P : Plot a set of XY input points
R : Run through a set of logged XY points
D : Display currently entered XY points
E : Edit a set of XY points manually
S: Save XY points onto disk file
L : Load XY points from disk file
H : Help -- Display this menu
Q : Quit point plotting program

Each feature is briefly described as follows (although a couple of the options will be
further explained). ‘PLOT’ is the option which enters points into memory using the
MCPU, under the 2-axis arrow-key control. RUN is the option that runs the MCPU
through any plotted points already logged into memory. Points may be run through
either in their entirety or in selected sections, with of without camera exposures in
between, as desired.
DISPLAY merely displays plotted points on the terminal screen. The points
may be displayed either in their entirety, or in selected sections. (The
display may be momentarily paused using the operating system’s scroll control,
CTRL-S EDIT is the option which may be used for entering and/or manipulating
points manually, without bothering to run the MCPU.
SAVE saves all currently plotted points from memory onto disk file. You may
label the disk file with any legal file name you wish. Be aware that if you
repeatedly save a set of point with the same file name, the entire file will
be updated each time accordingly. LOAD will load a previously saved file
from disk into memory, wherein it can be run, edited, re-plotted, etc.. Note
that the file name you supply must be one which exactly matches the file name
you originally saved it with.
HELP simply re-displays the point-plotter’s main menu whenever you need to
see it. (Plot and Edit have their own sub-menus which are also available
with HELP. In case you get confused about which point-plotter mode you are in,
you can always use HELP to see where you are by which commands are available.)
QUIT of course allows you to quit the point-plotter program and return to
ANIMAL ‘s main menu. You will find a rather lengthy QUIT….for sure?
message in order to remind you to save all desired data points before you leave.
Since PLOT and EDIT are the two options which are used to actually enter points, they
each have their own additional set of commands, and associated menus. Therefore they
are discussed further as follows. In the 2-axis arrow-key version, entering PLOT will
cause the point plotter to display another menu of commands like this:

MCPU XY Point Plotting Menu:
G : Go to a specific X or Y destination
M : Move by a relative X or Y distance
J : Jog X and Y axes with arrow keys
P : Plot the current XY positions into memory
--> : Increment X axis once forward (Right Arrow)
<-- : Increment X axis once reverse (Left Arrow)
--^ : Increment Y axis once forward (Up Arrow)
--v : Increment Y axis once reverse (Down Arrow)
I : Specify X or Y Increment per arrow key
V : Specify X or Y motor Velocity
A : Specify X or Y motor Acceleration
Z : Zero X or Y position step count
H : Help -- Display this menu
Q : Quit the current plotting session

The format of the display in this PLOT mode will show point numbers and XY
point values (in steps) in the left half of the screen, and command executions
in the right half of the screen.
Note that you will be able to move the pair of MCPU axis around anywhere you
wish. Stopping locations will be displayed accordingly, but points will not
actually be plotted into memory until you explicitly use the PLOT command.
Positioning commands are explained as follows. GOTO runs a selected X or Y
axis to a particular position point (in absolute steps). MOVE runs a
selected X or Y axis by a desired number of steps relative to the axis’
current position. In order to clarify the distinction between the two commands, suppose
the X axis is at position 1000, for example. Specifying GOTO X 100’ will run the
X axis motor from position 1000 to position 100, going 900 steps in the reverse
direction. Specifying Move X 100’ will run the X axis motor from position 1000 to
position 1100, going only those 100 steps in the forward direction. Got It?
JOG will run the selected X and Y axis by an arbitrary number of steps using
the keyboard’s arrow keys. This is used in the same manner as in ANIMAL’s
Override Mode. That is, a momentary key press will step the X or Y motor by only
1 step. A continuous key press will cause the motor to run until that key is
released. You must use the RETURN key to leave the JOG mode, wherein the
current X and Y values will be displayed.
Additionally, the arrow keys are listed symbolically in the menu to increment
the ZY axis accordingly. Unlike the JOG mode, using any of the LEFT/RIGHT or
UP/DOWN arrow keys by themselves will automatically increment the corresponding
XY axis be a pre-specified number of steps. This number of steps is initially set
equal to l, but may me re-set at any time to any number of steps using the INCREMENT
command. For example, initially pressing the Left-arrow key will step the X axis 1
step in reverse, and pressing the Up-arrow Kay will step the Y axis 1 step forward.

However, after selecting Increment X = 100’ and Increment Y = 50’, pressing the
same Left-arrow key will increment the X axis 100 steps in reverse, and pressing the
Up-arrow key will increment the Y axis 50 steps forward. In this manner, the Increment
command and the arrow keys may be used as a form of auto-incrementation. Once the
XY axis are in their desired positions, the PLOT key is used to enter these points into memory.
The display will indicate the corresponding point number alongside the point

position, as well as an asterisk to aid in readability. display will indicate the
corresponding point number alongside the point position, as well as an asterisk to aid in
readability. You should remember that even if you commit a point to memory by mistake,
or neglect to use enough in between points, you can always adjust them later with
the editor. Auxiliary commands which are available are VELOCITY and ‘ACCELERATION’
for adjusting the motors’ running speeds accordingly, and ZERO for zeroing out an
X or Y position. Note that you would typically use ZERO to align an XY axis only
once in a plotting session, if at all. If you do change the ZERO location in the point-plotter
program, you will have to be responsible for re-locating that axis’ 0 position elsewhere in
ANIMAL as well.
Finally, HELP will re-display this particular sub-menu, and QUIT will return you to the
point-plotter’s main menu (but not ANIMAL’s main menu). Remember that whenever
you leave this PLOT option, you can always return to it if you want to.
Finally, the EDIT mode shall be explained. Upon entering the editing mode, the program
will display the following command menu:

Manual Plot Editing Menu:
E : Enter initial XY points
C : Change existing XY points
I : Insert in-between XY points
T : Throw away undesired XY points
D : Display current XY points
M : Move XY points around (for more)
O : Offset XY points by +/- amount
S : Scale XY points by +/- factor
H : Help -- display this editing menu
Q : Quit the current editing session

The first four commands allow for basic data entry. ‘Enter’‚ simply enters a set
of points initially, that is when is when they do not already exist. 'CHANGE’
however allows you to change points which are already logged in. Note that
'Enter’ should access a point number in memory which has not yet been used,
while 'CHANGE’ should only access a point number which has been used.
'INSET'‚ allows you to enter points in-between already existing ones. This is
useful when some points which were originally plotted on the MCPU were 'caught
short'. Conversely, 'THROW AWAY' allows you to remove undesired points from
in-between some good ones. This is useful for deleting earlier points which
were entered by mistake. Both 'INSERT’ and 'THOW AWAY’ should access valid
point numbers in memory.
Another three commands allow for some further data manipulation. 'MOVE'‚ allows
you to move a set of points already existing in memory into another location
in memory so as to produce a duplicate set of points. 'OFFSET'‚ will add to
each point value a selected sum, and 'SCALE'‚ will multiply each point value by
a selected factor. These three commands may be used to cleverly create some
symmetry effects.
For example, you can construct a circle of 10° points by entering only 25
initial XY points and using some symmetry tricks to produce the rest. If these
points reside at memory locations #1 through #25, and they adequately describe
a 90-degree circular are equidistant from a common XY center, you would do the
following. (1) 'Move points starting at #1 up to and including #25 into
destination at #26 to create two such arcs from #1 to #50. (2) 'Move’ points
from #1 to #50 into destination #51 to complete four such arcs from #1 to
#100. (3) 'Scale X = 1, and 'Scale Y = -1’ for points #26 to #50 to mirror-
image the second arc from the first. (4) 'Scale X = -1’ and 'Scale Y = -1’ for
points #50 to #75 to mirror-image the third arc from the second. (5) 'Scale X
= -1’ and 'Scale Y =1’ for points from #76 to #100 to mirror-image the fourth
arc from the third. The corresponding four arcs now complete a circle about a
common center. If you further wanted to move the circle's center, you would
use the 'Offset’ command accordingly.
Finally 'DISPLAY'‚ selectively displays the currently logged points, 'HELP'‚
displays the current editing menu, and 'QUIT'‚ returns you to the point-plotting
main menu. In order to distinguish the 'Edit’ mode from the 'PLOT’ mode,
you would usually see the 'EDIT COMMAND >’ prompt as opposed to the 'PLOT
COMMAND >’ prompt. Of course you can always hit 'Help’ to see which set of
commands are currently active.

Motor Speed Profiles
The Motor Speed Profiles mode allows the operator to specify the optimum
running speed characteristics for each motor. The menu that comes on allows
the user to modify the existing speeds, save them onto disk, or load alternate
ones from disk. When a motor speed is selected, the operator has the option of
selecting either constant speed or acceleration/deceleration operation. For
example, a low-power stepping motor would be selected to run at constant speed
only, of 400 steps per second. A high-power motor might be ramped from a low
speed of 250 steps per second to a high speed of 1000 steps per second during
a ramping count of 100 steps.
The operator will have to test out what the best motor speed operation would
be suitable for the corresponding mechanical load. This is typically done by
trial and error using a program like ANIMAL's Override mode.

User Units Assignment
A user has the option of specifying his axis movements in whatever measurement
units he feels is most appropriate. When ANIMAL is initially used, all motor
axes are simply referenced in terms of motor steps. A person may subsequently
use ANIMAL's User Units Assignment feature to position each axis in terms of
millimeters, inches, degrees, field positions, field sizes, etc. The menu
which is displayed is very similar to that of the Motor Speed Profiles and is
just as self-explanatory.
In order to re-assign a measurement unit, the user must specify a decimal
scaling factor (up to 8 significant figures) which corresponds exactly 1
single step of motor rotation. (1 motor step = 1.8 degrees.) Then the user may
enter his desired units with any label he wishes (up to 20 letters, lower-case
or upper-case).
As a simple example, a rotary movement which is fastened directly to an axis’
motor shaft would use a scaling factor of 1.8 and measurement units of
'Degrees'. As another example, consider a lead-screw with a 10-turns-per-inch
pitch which is fastened onto a motor shaft. For 1 inch of travel it would thus
turn 2000 steps (10 revolutions * 200 steps per revolution). Therefore one
would use a scaling factor of 0.0005 (1/2000) and measurement units of' Inches'.

Alignment Procedure
ANIMAL provides for an automatic alignment procedure for the major axis of the
Animation Stand. For your stand these axis are X,Y,Z,F, and R. After shipping your
particular system to your location, you will probably find that some adjustment
of these alignment positions will be necessary, due to slight mechanical shifting,
re-alignment, etc.. ANIMAL accommodates this provision as well. When you
select Alignment from ANIMAL main menu, the following sub-menu will appear.

ANIMAL Alignment Selections: A : Align axes into reference positions
M : Modify alignment reference positions
Z : Zero out axes at current positions
S : Save alignment positions onto disk
L : Load alignment positions from disk
Q : Quit Alignment selections

ALIGN AXIS runs through the alignment procedure for each of the major animation
stand axis. First it runs each axis one at a time into its least intrusive limit switch
position. Next it single steps each axis back out of that limit switch. Then it runs
each axis back to pre-selected mid-travel position. Finally it zeros all the axis at
these positions. For your Animation Stand, the alignment order is Z,F,Y,X,R..
If the previously aligned axis need some further adjustment, the operator may use the
MODIFY option. MODIFY simply calls up ANIMAL’s Override program, wherein the
user may select any of its options, like RUN or JOG. Be careful NOT to use Override
Program’s ZERO option, because the Alignment program has its own special ZERO
option explained below. When ready to quit the Override program, ANIMAL will return
to the alignment program for further selections.
In case the alignment position did have to be modified, the operator should subsequently use
the Alignment program’s Zero option. This is a special option because prior to actually
zeroing all the MCPU axis, it will compute how many steps have changed since the last
zeroing operation. For instance, if one axis was previously instructed to align back from its
limit switch by 1000 steps, and that axis now comes back 20 more steps, the Zero option
will reset the new alignment count to 1020 steps before re-zeroing that axis.
Furthermore, if modification was necessary, it will also be necessary to save these new
alignment positions onto disk. Use the SAVE option to simply save these MODIFIED
and re-ZEROED positions.
Finally, in order to make these new alignment positions available to ANIMAL
each time the program is used, the operator will have to explicitly load the
alignment positions from disk. The LOAD option would thus be used prior to
using ALIGN. Remember to supply the same disk file name you had used to
previously save with.
QUIT will of course quit the alignment procedure and return the operator to]
ANIMAL’s main menu. However, for you particular Animation Stand, you should
know that ANIMAL will automatically disable the limit-switch operation for the
R-axis, (as well as the U,L, and P axis) for convenience in running further MCPU
operations.

FOLLOW FOCUS FEATURE
For maximum flexibility, the Animation Stand is equipped with independently
operated lens plane (F Axis) and film plane (Z Axis) movements, the two of
which may be controlled by ANIMAL’s Follow Focus feature. This Follow Focus
option may accommodate a number of different film formats, and virtually any
focal length lens. If desired, you may also disable the Follow Focus link
between the F Axis and Z Axis, and run them according to you own needs, such
as for rack-focus effects, custom focusing, etc..
The Follow Focus option uses the elementary lens focus relation between object
and image dimensions, and focal length This relation is usually expressed as:

1/0 + 1/1 = 1/F
O = Object distance from object to lens
I = Image distance from lens to image
F = Focal length of lens

While this relation is approximate for real lenses, it becomes exact when
taking advantage of the so-called principal planes difference (an error-
correcting trick used by optical engineers). Accounting for this effect, and
accounting for physical constraints on the Animation Stand, a pair of F Axis
and Z Axis coordinates may be derived from a pair of Object and Image values
accordingly.
Therefore, in order to run the Follow Focus option, the program will need to
know the lens’ focal length, and the type of film format used for the reference
Image size. From then on, all the animator will need to specify is an
Object size, based in terms of Field Sizes, and ANIMAL will compute the rest
(the F Axis and Z Axis positions).
To get started, the operator would select the Follow Focus feature from
ANIMAL’s main menu, and enable the Follow Focus option to be active. Next he
should specify the desired film format with 16 (for standard l6mm), 35
(for standard 4-perf 35mm), or 70 (for 8-perf 35mm actually). Then he should
enter the desired focal length of the lens. The first time around, this would
be the nominal focal length stamped onto the lens barrel. However, this value
may have to be adjusted for your particular lens. (This in fact has been the
case with different lenses tested at J-K Camera Engineering.) For this reason
the focal length may optionally be entered as a decimal value.
Once this initial data has been fed into the computer, the operator would
proceed to actually align the F and Z axis to a starting reference position of
6-Field size. That is, the operator would use the CRT terminal’s arrow keys to
run the F and Z Axis into position so that the camera reticule’s projected
image matches up into a field chart’s 6-Field size target. Once a sharply
focused image at 6-Field is obtained, the operator would press the RETURN
key, and ANIMAL will subsequently zero the F and Z axis at these positions.
From then on, all Follow Focus computations will be referenced to this
particular point. (6-Field is used as the reference because the Z and F axis
are at approximately mid-travel for this point).
In order to test out the accuracy of the current Follow Focus information,
ANIMAL will run through a trial-and-error test loop. The loop is run by
entering sample Field Size specs, running the F and Z Axis to the computed
Follow Focus positions, allowing the axis to be re-positioned, and displaying
the adjusted error positions. For instance see that 3-Field and 12-Field sizes
are in focus and at half or double the original 6-Field size. If the values
are correct, the Follow Focus option is thus aligned, and this alignment
procedure may be exited. (wouldn’t it be that simple?…)If the values are
not correct, but they are consistently off by the same amount at each extreme,
the operator will have to run through the 6-Field reference alignment routine
again with a new zero position. If the values are not correct, and they are
proportionately more incorrect at the extremes than near the reference
position, the operator will have to go back through the whole alignment
procedure using a new effective focal length. (This is trial-and-error, you
know…)
With the Follow Focus option properly aligned, it will be active for as long
as necessary, though it may be alternately enabled and disabled without having
to go through the whole alignment procedure again. It is valid only for
ANIMAL’s Stop Motion, Go-Motion Streaking, and Live Action programming
modes. It is selected by entering either a Z Axis or F Axis spec in terms of Field
Sizes. The Follow Focus option is not available for the Override mode, or the
Point-Plotting mode, since both are based on steps.

GENERAL INFORMATION and SHORT FORM TROUBLE SHOOTING
Axis Travel Distance Between the Limit Switches:

X = 20,000 steps
Y = 9,900 steps
R = 23,350 steps
X = 21,800 steps
F = 4,600 steps
Z axis low limit is -4640 steps from the six field position.
F axis high limit is 942 steps from the six field focus
Note:
"Z-AXIS ONLY" IN STOP MOTION, GO MOTION AND LIVE ACTION
MODES USE FIELD SIZE TO SPECIFY THE START AND END POSITION.
(Camera and lens in focus at six field, the range is down to one (1) field and
up to 20 (20) field. If step values are entered the number would be too large
for program to run properly.

THINGS TO REMEMBER:
Anicam will not run (advance or exposure) it the mirror is in on
position or if the film pensioner is in safety switch position.
Use minus sign (-) for all axis when entering the number of steps
for: Down/south/east/counter clockwise/camera advance (reverse)
or camera exposure (reverse).
When unlimiting from the limit switch position, type (U) Axis (F) or ( R ).
Repeat for two or three times till axis has cleared the switch.
To deactivate a limit or home switch function go to OVERRIDE MODE and
press (N) (Return) Which Axis: ( R ) (RETURN) then reinitialize all
axis by pressing (I).
The file directory can be displayed at any time when in ANIMAL program by
pressing (Ctr) and (D) keys simultaneously