home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
bus
/
mvcwm3.do
< prev
next >
Wrap
Text File
|
2006-10-19
|
14KB
|
476 lines
CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE
Documentation for MiniVC.WM3
Version 3 01/15/84
A Modular Approach
by Woods Martin[70235,232]
- Original by Terry Dettman[70076,260]
- Enhanced by Don Hergert[72235,32]
Gary Bender[70375,1070]
Chris Young[70136,62]
Joel Hassel[73126,1104]
The complete MiniVC.WM3 (.BA) program
less remarks 0-9 is 8550 bytes long.
Optional modules EXTF(466b), XFER(164b),
REPL(1021b), INDE(649b), SIZE(173b) and
EDIT(344b) can be deleted if not needed,
reducing size to as little as 5733 bytes
(see remarks in lines 1-6 for lines to
be deleted).
The most obvious change in MiniVC.WM
is that function keys are not used in
order to gain the benefits of command
and entry type-ahead and a properly
blinking cursor with no zapped memory
caused by nested interupts. Instead,
command keys are defined that are
subsets of those used by the big sheets
to avoid confusion.
NEW FEATURES
Column max (CM), Row max (RM), single
or double precision can be selected
under program control (Option: SIZE).
Replication is both absolute and
relative, selectable by reference,
through both source and target ranges.
(Option: REPL)
Insert or Delete (Option: INDE w/REPL)
Data Transfer (Option: XFER)
Element Editing (Option: EDIT)
Immediate commands:
> GOTO
! Recalc
# Convert formula to numeral
The core program provides arithmetical
operators and these functions: @ABS,
@INT, @SQRT, @ROUND, @SUM(A0,I0) and
@AVG(D1,D14) using column letters.
Option: EXTF adds @MIN, @MAX, @MOD,
@FIX, @PI, plus trigonometric and
relational functions.
Column width is increased to nine.
Both global and local value element
formatting can be controlled, from
integer through seven decimal places
plus scientific. Large numbers will
not corrupt the display because shift
to scientific notation is automatic.
Full error trapping is provided with
the offending expression marked in
calculation errors.
Entry of labels or values is
terminated by any of the ARROW keys
followed by subsequent cursor movement
in addition to termination by ENTER.
Model size, Global format and recalc
order are stored with each model.
Model file size is held to a minimum
by deleting unnecessary spaces. The
file structure is NOT compatible with
Terry, DON or Gary type files.
RUNNING MiniVC.WM
Normally the caps lock key should be
released to allow lower case entry of
labels. Conversion to upper case is
automatic when required.
1. Line 10 clears string space for
3000 bytes net and assigns column max
(CM) to T and row max (RM) to 20 for
420 elements and precision to single.
EDIT 10 to change these defaults.
Option: SIZE will display:
wm2 CM=T RM= 20 P=S <OK=ENT or NEW CM?
Pressing ENTER accepts these defaults
or a new CM column max can be entered.
RM is recalculated and a choice of
single or double precision requested.
The new parameters are displayed for
acceptance or additional changes.
The program notes the highest Column
and Row accessed and stores this data
with each model file. If the CM or
RM values are reduced below model
size, that fact will be reported on
the next attempt to load the model and
a restart will be done.
2. Startup - The blank model will
appear with the Memory message:
wm2 CM=T RM= 20 P=S G0 col nnnnnM 3000S
This will remain on the screen briefly
and can be invoked at any time by the
/M command. In addition to Col max,
Row max and precision, "G0" indicates
Global integer format (0 dec places),
"col" means recalculate by columns has
been selected, "nnnnnM" shows nnnnn
bytes of memory unused and "3000S" is
the available string space (it will be
more if optional features are deleted).
3. When ready for data entry, the
Command Line at the top of the screen
displays the contents of the current
element whose coordinates are displayed
in the box on the second line. ENTER
causes the current element to be
recalculated. Pressing one of the
ARROW keys causes movement in the
desired direction within sheet size.
Any other key starts element data
entry which is terminated with ENTER
or one of the ARROW keys. BKSP or ESC
will restore original element contents
prior to termination.
The Command Line is also used for
queries and messages from the program.
4. Data entry: Before starting on a
new model, you can set a Global value
format using the [/GF] command. If
all entries are dollars, for example,
you will not have to define element
formats after each entry.
Value
If the first character is a
numeral or . + - ( or @
the element will be marked as a
value. Any letters in a value
entry will be converted to upper
case.
Label
Any other first character (which
includes space) will mark the
element as a label. Spaces and
all displayable characters are
valid in labels but be careful
with graphics because your
printer may not handle them
properly. (An element can be
forced to be label regardless of
first character by preceding the
entry with a double quote ["].)
Corrections
Before terminating, the ESC key
will delete the entire entry and
the BKSP key will delete the
last character typed.
After terminating, the cursor
will blink over the first
character in the element on the
Command Line. ARROWs, ENTER or
other Immediate Commands will
leave the element intact. Any
other key will start a new entry.
Terminating entry
ENTER terminates and leaves the
cursor over the current element.
Any ARROW key terminates and
then moves the cursor as desired.
5. Immediate Commands:
ARROWs ENTER > ! # /
ARROWs
Move the cursor to the next
element in the selected
direction. If sheet limits are
reached, the tone will sound.
<shift left ARROW> -- Moves cursor
to leftmost element on the
screen. If already there, it
moves the cursor 4 elements
or one screen to the left.
<control left ARROW> -- Moves
cursor to column "A".
<shift right ARROW> -- Moves cursor
to rightmost element on the
screen. If already there, it
moves the cursor 4 elements
or one screen to the right.
<control right ARROW> -- Moves
cursor to rightmost column of
current model.
<shift up ARROW> -- Moves cursor to
the top of the screen. If
already there, it moves the
cursor up 6 rows or one screen.
<control up ARROW> -- Moves cursor
to row 0.
<shift down ARROW> -- Moves cursor
to the bottom of the screen. If
already there, it moves the
cursor down 6 rows or one screen.
<control down ARROW> -- Moves
cursor to bottom row of current
model.
ENTER
If current element is a value, it
will be recalculated.
> GOTO:_
Type column and row, ENTER.
! Recalc by Cols [Rows]
Reevaluation will take place by
rows or columns (see [/GO]) with
progress displayed. The
equation evaluator is skipped
for numerical entries and only
the portion of the sheet that
has been accessed is scanned.
#
Convert formula in current
element to numeric value.
/ (slash command - see 6.)
6. Slash Commands: Pressing the
slash [ / ] key causes the
Command Line to display:
cmd: Ed In De Re Bl Fm Gl Pr St Cl Me
(Ed In De Re with OPTIONAL modules)
Pressing the corresponding first
letter causes the same action as
with other spreadsheets. Any
other key will abort.
E Editing elements (Option: EDIT)
"edt" appears in the line 2 box.
The element displayed on the
Command Line can be edited as
in TEXT with ARROW, BKSP, CTRL,
SHIFT, and DEL keys. ESC aborts
and ENTER accepts the changes.
I Insert: Col Row _ (Option: INDE)
C or R inserts column or row at
current element.
D Delete: Col Row _ (Option: INDE)
C or R deletes column or row at
current element.
INSERT-DELETE limitations: Only
col references to the right of or
row references below the current
element are adjusted by commands.
R Source: CR _ (Option: REPL)
Replicate command.
Type Source begin element <ENTER>
Type Source end element <ENTER>
Type Target begin element <ENTER>
Type Target end element <ENTER>
(End elements must not be less
than beginning. Diagonal
replication is illegal.)
Source begin defaults to current
element; end defaults to begin.
Any references in an element
being replicated to another
element such as +C5 will result
in this display:
+C5<rep R N _
Entering N will replicate the
reference "as is" in the new
element. Entering R will cause
a relative offset to be added
to the row or column reference.
B Blank _
ENTER or ARROWs will blank and
zero element. Pressing any other
key leaves element unchanged.
F Format: Decimal 0-7 or S _
Sets value format of current
element to integer or up to 7
decimal places or scientific
notation. Any value which will
not fit in current format will
automatically shift to scientific
notation. (See Global format.)
G Global: O F _
O Recalc Order: R C _
Selects recalculation order by
Rows or by Columns (default).
F Format: Decimal 0-7 or S _
Sets default format for all
value elements - override with
[/F].
Global commands are stored with
the model for later use.
P Print: Printer, Device _
(First use [ > ] to position
cursor at upper left of section
to be printed. If printer ignores
bit 8, setup control characters
can be entered in an element by
typing graphic of value 128 plus
value of control character.)
If [ P ] is pressed the parallel
port LPT: will be used, if [ D ]
then
Spec: _
will appear. Type standard
COM:, MDM:, CAS: or ???:file
spec. If RAM: or no device is
entered, the action will abort
to avoid the RAM print using
bug.
Lower right _
Type the desired column(letter)
and row(number) for printing to
end.
S Store: # L S Q _
(# is OPTIONAL with XFER)
# Data: L S _ (Option: XFER)
First position current element at
upper left of model section to be
loaded or saved. Enter lower
right of section when requested.
L Load File:_
The menu of RAM files is
displayed. Type the model name
desired (Files from other
devices are OK). The model is
loaded and then calculated.
S Save File:_
Type filespec (default is RAM
but other devices can be used).
Q Quit: Confirm=Y Abort= <ENT>_
Y will cause return to Menu.
Any other key will abort.
C Clear: Confirm=Y Abort= <ENT>_
Y clears memory and starts a new
sheet. Any other key aborts.
M
Refreshes screen and causes
Memory line to print showing
free memory and parameter
values - see Paragraph 2.
7. Math operators: + - * / ^
8. Math @Functions (standard):
@ABS(n), @INT(n), @SQRT(n)
@SUM(Cx,Cy) - summation. Note that
columns are letters and rows are
numerals. A comma is used to
separate starting and ending
arguments.
Limitation - Only the single
pair of coordinates is legal and
@SUM functions cannot be nested.
Diagonal summing is illegal.
@AVG(Cx,Cy) - average. Returns
the average of the value elements
within the range specified. The
same limitations apply.
@ROUND(n) - rounding
if A6 = 4646.4646
+A6*@ROUND(3) returns 4646.465
+A6*@ROUND(2) returns 4646.460
+A6*@ROUND(1) returns 4646.500
+A6*@ROUND(-1) returns 4650.000
+A6*@ROUND(-2) returns 4600.000
OPTIONAL @functions (Option: EXTF)
@MIN(x,y) @MAX(x,y) - returns
minimum or maximum of x or y.
@MOD(x,y) - returns remainder of x
divided by y.
@PI(0) - returns 3.1415926536
(if double precision used)
Dummy argument (0) is required.
@FIX(x) - truncates decimal.
@EXP(x) @LN(x) @SIN(x) @COS(x)
@TAN(x) @ATAN(x)
Trig functions require angles to
be in radians.
OPTIONAL Relational @functions
(Option: EXTF)
@<(x,y) if x<y = 1 else = 0
@<=(x,y) if x<=y = 1 else = 0
@>(x,y) if x>y = 1 else = 0
@>=(x,y) if x>=y = 1 else = 0
@=(x,y) if x=y = 1 else = 0
@<>(x,y) if x<>y = 1 else = 0
9. Errors - complete error reporting
and recover