BeCompile - Behavior Compiler
Contents of this website are freeware and/or copyrighted material, and may not be sold
under any circumstances.
BeCompile is an optimizing compiler, which generates smaller
& more efficient RCode from Master Studio Behavior Arranger
optionally comments the RCode (for readability), uses readable labels
groups, collapses conditional statements, eliminates duplicate code
possible, checks for uninitialized variables (or variable names
only by case), plus much more!
For some background, it's important to know Master
do not work directly on AIBO. Behavior Arranger uses behavior
mainly to support the graphical user interface. To run on AIBO,
files are translated (compiled) into RCode whenever the wireless LAN
or "Save to memory stick" menu commands are used.
Master Studio has a poor compiler -- its code is quite
As a result, AIBO takes much longer to startup, especially with large
RCode from BeCompile is generally about half the
faster, and operates more efficiently. DogsLife was
built using BeCompile. However, today DogsLife is written
in extended RCode
and compiled with ReCode.
The command line options are:
|-labels or -la
||Output RCode labels corresponding to all
By default, BeCompile filters unreferenced labels to reduce RCode
|-logopts or -lo
||List all optimizations performed (a verbose list of
does to your behavior files).
|-debug or -d
||Insert block debug information into generated
PRINT statements describing the current program location. Similar
to Master Studio wireless console debug statement option. You
a wireless LAN telnet connection for this to be of any use.
|-debug2 or -d2
||Insert block and variable debug information into
BeCompile adds debug PRINT statements describing current program
and outputs the value of referenced variables to aid debug. This
can be VERY verbose while Aibo is running. You need a wireless
telnet connection for this to be of any use.
|-debug3 or -d3
||Inserts line, variable, and stack tracing
Intended for use by Aibnet.
debug PRINT statements for the current program location, values of
and assigned variables, and call/return tracking. This can be
verbose while Aibo is running. You need a telnet connection
LAN) for this to be of any use
|-branchwait or -bw
||Inserts "WAIT:1" before all compiled branch
how Master Studio operates. These wait statements improve the
rate of system variables. By default, BeCompile inserts "WAIT:1"
before all system variable references instead. This option adds
more wait statements. Try using this if behavior code seems
sluggish in responding to sensor inputs.
|-novarwait or -nv
||Stops BeCompile from inserting "WAIT:1" before all
references. When using "-novarwait", also using "-branchwait"
If you eliminate all "WAIT:1" statements from the RCode, Aibo updates
variables very infrequently and your behavior will not operate as
|-noinline or -ni
||Disable inline optimization of small groups &
By default, this optimization reduces the amount of jumping performed
|-noaction or -na
||Disables splitting action blocks to permit branch
Be default, BeCompile recognizes when multiple action blocks contain
identical statements. It rewrites the code to permit optimization
of branching, and reduce RCode length.
|-noprint or -np
||Filters all PRINT statements from behavior file.
prior to distributing RCode, since PRINT statements can make Aibo's
wireless LAN card's unstable.
|-nocomment or -nc
||Disables inserting comments to improve RCode
|-novarcase or -nr
||Disable check for variables which differ only by
Trying to use variable names 'AAA', 'Aaa', 'aaa' all at once is
an error by default. RCode permits such variable names, but it is
poor coding style, and can create difficult to debug problems (when you
get them mixed up).
Legalese: These programs are provided AS IS without any warranty, expressed or implied.
This includes without limitation the fitfulness for a particular purpose or
application. People using the software bear all risk
as to its quality and performance. The user of the software
is responsible for any damages whether direct, indirect, special,
incidental or consequential arising from a failure of these programs to operate in
any manner desired. Etc, etc...
"AIBO" is a registered trademark of Sony Corporation.
"AIBO Master Studio", "R-Code", and "Memory Stick" are trademarks of Sony Corporation.