Title: Format plus a user's guide and technical notes
Series Title: Bradenton GCREC research report
Physical Description: 13 p. : ; 28 cm.
Creator: Gilreath, J. P ( James Preston ), 1947-
Gulf Coast Research and Education Center (Bradenton, Fla.)
Publisher: Gulf Coast Research and Education Center, IFAS, University of Florida
Place of Publication: Bradenton Fla
Publication Date: 1985
Subject: Agriculture -- Data processing (
Genre: government publication (state, provincial, terriorial, dependent) (
marcgt ) non-fiction ( marcgt )
Statement of Responsibility: J.P. Gilreath.
General Note: Caption title.
General Note: "March, 1985"
Bibliographic ID: UF00065207
Volume ID: VID00001
University of Florida
Rights Management: All rights reserved by the source institution and holding location.
oclc - 62558562
Table of Contents
The publications in this collection do
not reflect current scientific knowledge
or recommendations. These texts
represent the historic publishing
record of the Institute for Food and
Agricultural Sciences and should be
used only to trace the historic work of
the Institute and its staff. Current IFAS
research may be found on the
Electronic Data Information Source
site maintained by the Florida
Cooperative Extension Service.
Copyright 2005, Board of Trustees, University
Gulf Coast Research and Education Center
IFAS, University of Florida
5007 60th Street East
i.[) Bradenton, Florida 33508-9324
Bradenton GCREC Research Report 1985-7 harh 1935
FORMAT PLUS: A USER'S GUIDE AND TECHNICAL NOTES
J. P. GILREATH
"Format Plus" consists of two computer programs for data collection p.nd
processing: "GATHER" and "FORMAT PLUS". GATHER is filed as "FORMATRI.PRG"
on diskette for a Rainbow 100 microcomputer and "GATHER.BA" for a TRS-C8
Model 100 portable microcomputer. FORMAT PLUS is stored as "FORMAT.BAS'
on diskette for a Rainbow 100. GATHER is used.for collecting data with
a TRS-80 Model 100 portable computer, while "FORMATPLUS" is designed to
execute on a Rainbow 100 microcomputer and converts the data file structure
of files created with GATHER to one capable of analysis by SAS (Statistical.
The following is a list of conventions with respect to the notation
incorporated within this manual:
1. A sequence of keys is indicated by their enclosure within
single quotes: 'sequence'.
2. A single,key is denoted by'the enclosure of its label within
greater-than, less-than symbols: .
3. Optional entries will be enclosed within square brackets:
4. Two letters separated by a slash indicate the choice of
either one or the other letter. Most commonly they will
refer to either a 'yes' or a 'no' response, of the form:
5. Generally, such single character entries, i.e. 'Y' or 'N',
require the entry of only the character with no .
6. and are to be considered synonymous.
7. During program execution certain prompts will appear of
'TREATMENT,REPLICATION,DATASET,DATA'. They indicate the
precise format for that
particular entry, and the commas are an
integral part of the required input.
8. Filename identifiers or suffixes are conventions employed
by both the Radio Shack and CPM/86 to identify files. For
the Radio Shack they consist of '.BA' designating Basic
program files and '.DO' designating text or data files.
Forithe Rainbow, with regards to the data collection program,
they consist of '.RDA' designating a 'Raw DAta' or
unformatted file, and ',DAT', a formatted SAS 'DATa' file.
The data collection program, GATHER, is intended for use with a Radio
Shack Model 100 portable computer. It's primary purpose is to provide
a simple and effective means for data collection in the field, laboratory
or greenhouse. As with most microcomputer programs, the user will find
the program more useful and easier to use with time and experience. The
main benefit derived rests not in the greater ease of use that the micro-
computer may provide, but rather in the time and busy work savings that
will be realizediby the data formatting program.
GATHER offers the user the choice of several slightly different modes
of operation. The primary differ-
ence between these modes rests in the amount of prompting and related
information displayed on the screen during data entry. A considerable
amount of thought has gone into the 'error-checking' routines. Despite
these precautions, the program cannot entirely guard against operator
error and still remain useful. For that reason, when selecting a mode
that requires a minimal amount of operator input, steps'should be taken
to render the data collection process as orderly and free from confusion
1. Digital Equipment Corporation Rainbow 100.
2. Digital Research CPM/86 operating system.
3. Microsoft MBASIC programming language.
4. Radioshack Model 100 computer with at least 16 kilobytes of read/write
5. Format Plus program package.
6. A Null Modem, a device which crosses the transmit and receive lines.
7. An RS232 cable to connect the Radio Shack to the Rainbow, such as
a BCC04 with male connectors on each side, or a standard BCC04 with
a gender changer on one end.
8. A communications program for the Rainbow 100. Polygon Associates'
"POLY-TRM" is suggested, since GATHER was developed using it.
9. 4 AA batteries for the model 100.
The following is a brief list of certain items which are intended
for the 'person-who-has-everything'.
1. An RS232 switching unit with three connectors, one to the modem, one
to the model 100, and one to the RS232 port on the Rainbow. This
will save having to disconnect the modem in order to access the Model
2. Another RS232 cable to work in conjunction with the switching unit.
3. A cassette recorder for the Model 100 for saving files in the field.
4. A plug in power source for the Model 100.
5. A parallel centronics printer for the Model 100. Given a modicum
of skill, the model 100 can work with a serial printer using the RS232
GATHER: PROGRAM INSTALLATION
1. Connect a null modem to one end of the RS232 cable.
2. Connect the RS232 cable to the RS232 port on the Model 100 and the
other end to the COMM port on the DEC Rainbow.
3. Power up both computers.
4. Insert the communications program diskette in drive A on the Rainbow,
and the FORMAT PLUS diskette in drive B.
5. On the Model 100 enter 'Basic Mode', and type 'LOAD"COM:57EIE"'.
The following is POLY-TRM specific.
6. On the Rainbow type 'A'.
7. When the CPM/86 prompt appears, enter 'TRM' .
8. If after the disk drive stops the screen is blank, press
9. Set the communications parameters as follows:
Baud rate send 1200
Duplex receive Enabled
No EDF marker
No EDT marker
ANSI character set
10. Save these settings by using the 'Save Special' option
on the 'Defaults Menu'. The suggested title is 'DC100'
for Direct Connect model 100.
11. Press .
12. Press 'S'. This instructs the Rainbow to send
or transfer the file which is specified next.
13. Enter 'B:FORMATR5.PRG'.
14. Press on the Model 100.
15. Press on the Rainbow.
16.. When the program finishes listing itself on the screen,
press the reset button located next to the RS232 port
on the Model 100. Immediately press , then :
enter 'SAVE'!RAM:GATHER.BA"' .. You should see..
an 'OK' message appear on the screen. If none appears,
and there is no file labelled 'GATHER.BA', then something
went askew, and the procedure should be repeated from
17. Press 'S' on the Rainbow.
18. Enter 'B:TRANSMIT.PRG'
19. Enter 'LOAD"COM:57E1E"' on the Model 100, press .
20. Press on the Rainbow.
21. Goto step 16 and replace 'SAVE"RAM:GATHER.BA"' with
GATHER: DATA COLLECTION PROGRAM NOTES
"Gather.ba", as it is now entitled on your model 100,
is the program that provides an interface .or interpreter
of sorts between you, the operator, and the computer's
memory. The options and functions inherent within the
program exist only to facilitate this interaction.
Certain terms are used throughout. Most notably are
'Treatment, Replication, Dataset, and Data'. Assume you
are conducting an experiment in the field with 2 treatments
(fertilizer types X and Y) and 4 replications. Further
assume some crop is being grown which is to be harvested,
and that you wish to record the weight, number of fruit
and number of insect infested fruit. Number harvested
is termed a dataset and will comprise the first Dataset.
Weight is also a dataset, and would comprise your second
Dataset. In other words, for this experiment you would
have two treatments, fertilizer types; four replications;
and three datasets, number, weight, and insect infested.
Data would.refer to the actual weight or number, etc.
The program is largely menu driven with various modes
of-operation to accommodate different needs.
There are certain options available, which are invoked
'by pressing the or control keyand an associated
letter simultaneously, i.e. ' ' which permits
the user to look at a menu of applicable options. '
' permit the user to enter data. ' ' save
data as a RAM based file. ' ' review entries.
' ' locate missing entries, ' ' temporary
halt, a condition which permits the user to turn off the
computer for an indefinite period of time (until such time
as there is no more power boing fed to the memory), and
return, turn the computer on, and resume with what he had
been doing.- ' ' allow the user to load an existing
data file into memory for additional entries. '
' is a time function which allows use of a built-in
clock as an alarm clock to signal the user for scheduled
Data entry has two primary modes, Master
and Novice. Novice, though a bit longer, provides the
user with a wealth of information and options on each screen.
Master permits the user to enter data with a minimum of
keystrokes and informational messages. Master also,makes
available certain 'priorities', or patterns, which the
user may select in order to further eliminate keystrokes.
These priorities consist of 'treatment priority', 'replica-
tion priority', and 'dataset priority'.
Treatment priority allows the user to enter data in
any combination or order, affording the operator maximum
control. Any combination implies something such as enter-
ing the datapoint for treatment 1, replication 3, dataset
2; and immediately follow that entry with one for treatment
2, replication 1, dataset 3. Replication priority allows
the user to designate which replication, dataset they would
like to enter data in, but does not permit moving to a
different treatment until all the replication and dataset
entries have been filled with data. Finally, dataset prior
-ity offers the least control, permitting one flexibility
only with respect to the dataset number. All datasets
must contain data in order to permit the selection of another
replication or treatment. Entering an 'E' for the first
entry, i.e. E, or E,,, , permits one to exit the
data entry mode. Dataset priority offers the least control,
and is not suggested unless the flow of information to
the operator is to be very orderly. Dataset priority permits
the operator to enter data with the least number of keystrokes.
All entries are checked for validity whenever feasible.
It is virtually impossible to enter an alphabetical character
for data, or a treatment or replication number for a treatment
or replication which does not exist.
All entries are checked to see if they are about to
write over some previously entered data, and if they are,
the extant data is shown on the screen as well as a request
for operator approval to execute the overwriting.
There is a built-in limit of 17 datasets which can
be included in any one data collection session. This does
not mean that you cannot have more than one datafile with
17 datasets each. The number of datafiles in memory is
limited only by the amount of available memory.
The program requires approximately 14 K bytes free
in order to safely execute with a fairly large dataset
consisting of approximately 11,4,12 items, or 528 data
The '@' key, a' 2' combination, denotes a missing
value. This will be considered a valid entry when the
review-for-missing-entries function is invoked, but will
be formatted as blank spaces in the formatted SAS dataset.
In this sense, it is quite distinct from '0' which does
constitute a value.
ADDITION & SUBTRACTION
GATHER offers 3 mathematical functions: 1) addition,
2) subtraction, and 3) averaging of up to four quantities
for the purpose of creating one entry. This would be
especially useful if in weighing something, the weight
had to be split into more than one quantity in order to
be weighed, yet the datapoint was to consist of only one
number, all four combined. To illustrate, suppose you
had 12 kilograms of plant matter, one bucket contained
2 Kg, another 3, and another 7. To enter this for
treatment one, replication two, dataset four, when
operating in treatment priority, you would enter the
following sequence '1,2,4,2/3/7+' . The slashes
'/' are considered delimiters, and the last key would be
a '+' or a '-' to indicate addition or subtraction,
respectively. In subtraction, the first element is taken,
the second is subtracted from the previous difference,
and that result becomes the minuend with respect to the
fourth element, if any. The eventual result is checked
to ensure that it is not less than zero. If it is less
than zero, the operator is so informed by means of a screen
prompt. The operator can then approve the negative quantity,
or request to redo that entry. To denote that you wish
to average an entry, you follow the entry with a percent
sign (%). The proper entry (under treatment priority mode)
when entering an average value for plant height for treatment
2, rep 1, data set 3, where 4 plants were measured with
heights of 45, 59, 37, and 48 cm, would be '2,1,3,45/59/37/48%'.
The average value (47.25) would be entered into the data
file. These mathematical functions are available in both
the master and novice modes.
The minimum number of elements required are two, as
is the case in any addition or subtraction. The;maximum
permitted number of entries are four. The inclusion of
a fifth or greater number of elements will result in an
The program strives to protect against all things,
as permitted by the implementation of BASIC, as well as
familiarity with the machine on a lower level.
Most errors can probably be categorized as follows:
A logic error within the context of the program,
i.e., an error within the coding of an arithmetic
formula that delivers a nonfatal, but nonetheless
Operator error, i.e., an error that creates a
response combination such that the equipment
is not prepared to deal with it.
System error, i.e., a bug within the operating
system or at a more intimate level.
Fatal error, i.e., an error which terminates
the program with none of the desired amenities.
As to the first type of error, it has been largely
eliminated through extensive testing, with numerous types
of data and numerous combinations of parameters. If a
problem arises, please contact the distributors of the
program with a sample of the data which caused the problem
and any error message which was displayed.
Operator error is something which is difficult to anti-
cipate and prevent. Certain safeguards have been taken
in the form of extensive input testing. All entries are
checked before being accepted to ensure that there are
no double entries. Entries are checked to ensure that
they are within acceptable bounds, and that there are no
alphabetic characters within numeric fields. Further,
the file is checked while it is being assimilated for trans-
formation. During that time, all entries are checked to
ensure that there are no blank entries. That file is then
abandoned, and the next file is analyzed, if there is another
one, or else the end of file menu is displayed.
If blank entries exist within the file, the new information
can be inserted in one of two ways. The file can be reloaded
into the GATHER.BA program on the Radio Shack Model 100,
and modified as with any other entry. The other alternative
is to open the file with a text editor and enter the data
within the blank area. Either RED (CP/M editor) or a word-
processor such as Word Star may be used. An explanation
of how data is encoded and in what sequence is included
in the section entitled technical notes.
Other errors are handled by a blanket error handling
routine. This routine will inform you as to formal title
of the error, as the machine sees it, and what line the
error occurred in. You will then be returned to the command
prompt section of the program where you will be able to
continue with what you were doing, your data will be intact,
save for perhaps your last entry, if you were interrupted
in the middle of making an entry.
At the heart of GATHER.BA is a 3 dimensional array,
and the data files created by the program reflect this
A typical datafile will look like:
The first number indicates the number of datasets,
the second reflects the number of treatments, the third
the number of replications. The subsequent alphabetical
entries are the dataset titles. The next entry is the
datapoint for treatment one, replication one, dataset one,
then treatment one, replication one, dataset two, followed
by dataset three. It then goes on to treatment one,
replication two, dataset one, two, three.
Another way of thinking of it is:
Treatment Replication Dataset
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 3 1
1 3 2
1 3 3
2 2 1
2 2 2
2 2 3
In creating the SAS dataset, the program, FORMAT PLUS,
can also supply the necessary JCL statements. If desired,
the following changes can be made to the working copy of
1. Remove the 'REM's at the beginning of lines 210, 220
2. Change the four to a one in line 1460.
3. Change 'MAX-1' to 'MAX' in line 1530.
Given a rudimentary knowledge of programming in Basic,
it should be possible to extensively modify the source
code that is included with your data. The sections of
the program that should be scrutinized for making such
changes are lines 210-290 and 1430-1530.
FORMAT PLUS: DATA FILE
PROCESSING PROGRAM NOTES
As indicated, the purpose of "FORMAT PLUS" (or "FORMAT.BAS
as it exists on disk) is to convert the data file created
with "GATHER" into a file which can be analyzed with SAS
(Statistical Analysis System) on a computer. SAS requires
a certain file structure and program command statements.
"FORMATPLUS" takes data files of an .RDA type structure
and changes them to .DAT files with all of the procedural
statements for analysis of the data as a randomized complete
block design. Analysis provided for is analysis of variance
using the general linear models procedure, and treatment
means ranked by Duncan's multiple range test, 5% level
of significance. If a different procedure or other changes
are required, the data file constructed by "FORMAT PLUS"
can be modified by using an editor, such as "RED" under
The procedure for transferring a data file from the
model 100 to the Rainbow is as follows:
1. Insert your communications diskette in drive A of the
Rainbow and your data diskette in drive B. Boot up
the communications program and select the appropriate
communication parameters (outlined in "program instal-
lation" section of this document) to open a channel
through the modem or RS232C interface, depending on
whether you will be transferring data by telephone
line or by a direct cable connection.
NOTE... IF THE PRINTER IS ECHOING ALL CHARACTERS PRESS
TO TOGGLE THE PRINTER OFF. IT ALSO WORKS
TO TURN IT ON.
2. Press to tell the Rainbow that you wish
to receive a file on it. This will result in the screen
going inverse. Enter a [drive] (in this example it
would be B:) filename (of your choosing) [extension]
(the extension must be '.RDA' to be used with any in
house programs) for the file you wish to receive.
The items in square brackets are optional.
3. On the RADIO SHACK get into TRANS.BA and enter the
name of the file you wish to transfer and press .
The contents of the file should then scroll onto the
screen of the Rainbow. If they do not, check the LQPX2-SW
switch and make sure it is on 'A' (if you are using
4. Once the file stops scrolling on the Rainbow, press
to close the file. Repeat steps 4 through
6 until all files are transferred. Press to
return to the operating system prompt.
AT THE END OF THE SESSION TURN THE SWITCH BACK TO THE B
SETTING (if you are using such a switch).
5. Remove the communications diskette from drive A and
insert the MBASIC program diskette which contains
"FORMATPLUS" ("FORMAT.BAS" as it is called on the
diskette). Boot up MBASIC by entering 'MBASIC' .
6.- After the MBASIC prompt appearS, type 'RUN "FORMAT.BAS"'
. You must use capitals in BASIC as the interpreter
interprets a:file.fyl as being different from A:FILE.FYL.
The menu page will appear asking if you wish to use
single file or batch modes. ALWAYS use batch mode,
even for a single file. Follow the prompts on the
7. After all data files are processed, exit the program
as instructed, then enter 'SYSTEM4 to return
to the CP/M operating system. Remove the MBASIC program
diskette from drive A and reinsert the communications
diskette. You are now ready to transmit your SAS data
file to a computer (on which SAS executes) for processing.
In addition to the two primary programs, GATHER and
FORMAT PLUS, there are a number of utility programs, the
purpose of which is to facilitate your work. At present,
these utilities consist of TRANS.BA, CKRDAFYL.BAS, and
CKRDAL51I.BAS, with more under development.
TRANS.BA is a program which aids in the transfer of
data files to the RAINBOW. The simplest way to start the
program is to bring the cursor over the title 'TRANS.BA'
on the menu screen of the MODEL 100 and press .
You will then be prompted for the name of the data file
you wish to transfer. This information should be entered
in the form of 'DATA.DO' , where DATA is the filename
as it appears on the menu screen on the MODEL 100, DO is
the suffix, also from the menu screen, and ENTER is the
As the file is being transferred, it will list itself
on the screen of the RAINBOW. When the data stops printing
on the screen, the transmission is terminated and another
file can be shipped by entering 'RUN' on the MODEL
100 and entering another filename.
This description does not take into account what should
be done on the RAINBOW end in order to accommodate the transfer.
Ordinarily, this would entail running a communication program
on the rainbow end and adjusting the parameters as required.
These parameters are listed on page 1-3 under the section
entitled "PROGRAM INSTALLATION". When the program is used
in its current form in conjunction with POLY-TRM, it is
necessary to close the file by entering 'C' on
the RAINBOW. You would then see the message "closing all
files" on the screen.
Optionally, files can be transferred by means of the
built-in modem on the RADIO SHACK and a modem connected
to the RAINBOW. The strategy is basically the same, except
that you would use the 100's built in communication program
rather than TRANS.BA, as TRANS.BA addresses the RS-232
port rather than the modem. Using the modem would also
eliminate the need for the RS-232 cables, and the null
modem, but at a certain price of convenience.
This program is a utility designed to be run on the
RAINBOW 100 hooked up to an LA 100 printer. The paper
should be 132 column paper. Otherwise, the listing will
not fit. If only 80 column paper is available, or your
equipment is hooked up to an LA 50 printer, then use
This utility will list a data file to the printer with
all the appropriate labels, i.e. treatment, replication,
dataset, and finally the data. The program is designed
to work only with ".RDA" (Raw Data Files) as generated
by GATHER, and which are resident on a disk in the RAINBOW.
It will reproduce and interpret the data in exactly the
same manner that FORMAT.BAS would interpret it. The only
exception is that deliberate null-entries, '@', will be
printed as '@' rather than a blank. Unintentional null-
entries will be printed as a blank. Entries which by some
chance exist beyond the bounds of the parameters as explicitly
stated in the beginning of GATHER, i.e. which would correspond
sequentially to a treatment or replication which is greater
than the largest declared, will be printed at the end of
the output without labels. The program was written this
way so that you would be better able to under-
stand what had happened to your file.
In the event of blanks embedded within the file and
trailing values, the problem can generally be corrected
by erasing the blank entries by means of some text editor.
This should bring the outside elements back within range
of the parameters. If an error exists, the user is notified
of any such error during the file transformation with
FORMAT PLUS by means of a message on the printer.