The VicTree Programming
Module For VIC
Eric Brandon, Programming Assistant
The VicTree, a cartridge for
the VIC-20 or the Commodore 64, makes programming more efficient.
Available for $89.95 from Skyles Electric Works (the
originators of the PET "Toolkit"), the VicTree adds 42 commands to BASIC.
All the commands of PET BASIC 4.0 are supported,
which make disk use much easier, especially when trying to program
relative files. The BASIC 4.0 commands are not tokenized (converted
from what you type into a more memory-efficient form) in the same way
as in a "true" BASIC 4.0 machine. Fortunately, the manual contains a
program that converts "true" BASIC 4.0 to VicTree format.
One requirement for using BASIC programs with the VicTree is that you must use a
colon between a "THEN" (as in an IF ... THEN statement) and a BASIC
4.0 disk command. The VicTree
does not speed up "garbage collection" (the process of removing
unwanted or discarded strings from memory) as BASIC 4.0 does, nor will
machine language programs written for BASIC 4.0 now run on your VIC or
Several disk commands not present in BASIC 4.0 have
been added, including EXECUTE, which LOADs and RUNs a program all in
one step, and CHAIN# which allows an "executive" program to have
several BASIC subroutines on disk and load them in only as needed to
preserve memory. With this utility, programs can essentially be of
Another set of commands has been added to assist in
program editing. As well as all the standard commands we would expect
from any BASIC enhancement package, such as renumbering program lines,
finding and changing text, and deleting line ranges, VicTree adds many new and useful
commands never before seen in this type of product.
Among these are the very useful LCOPY and LMOVE
commands which let you rearrange the order of the lines in your
program. VicTree does not
"scroll" through your program like other aids, but supplies a PAGE
command that LISTs your program one screen at a time.
There are also several commands designed to aid in
debugging. These are DUMP, which displays the value of all non-array
variables; HELP, which shows where an error has occurred; and TRACE,
which LISTS out your program lines as they run.
There are also commands intended for use with any
"Centronics" type printer (with no extra hardware needed besides a
cable to connect the printer to the parallel user port of your
computer). Skyles will supply you with this cable for $29.95, or the VicTree and a cable as a package
Skyles is planning to come out with a device called the Cee-Net which
will allow up to 64 VICs or Commodore 64s to communicate with each
other and to share disk drives and printers. The VicTree is designed to
work with Cee-Net when it arrives and has a command to ATTACH itself to
On the 64, the VicTree
"covers up" memory from 32768 to 40959. This means you have about
30,000 bytes left for your BASIC program. The VicTree also uses up memory from
49152 to 53247, so it cannot be used in conjunction with other software
which uses these locations such as the Wedge or Micromon. When used
with software that does not require that area of memory, however, it
seems to work fine. I have had no trouble using the VicTree with Supermon, and with the
On the VIC-20, the VicTree
uses locations 24576 to 32767 and 45056 to 49151, leaving 21,000 bytes
free if you have enough expansion RAM. If you have an unexpanded VIC,
the VicTree will not use up
any of your memory.
The VicTree also
allows the machine language programmer to add his own commands to
BASIC, with descriptions in the manual of how to do it.
The manual contains over 100 pages of clearly
written in formation about the 42 commands. Each command is given its
own page (or more) with examples, explanations, and special notes. Also
included is a very complete technical description about the machine
language applications of the VicTree.
This is one of the most convenient and useful manuals I have ever seen.
Skyles Electric Works
Mountain View, CA 94041