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 ! # / ARROWs Move the cursor to the next element in the selected direction. If sheet limits are reached, the tone will sound. -- Moves cursor to leftmost element on the screen. If already there, it moves the cursor 4 elements or one screen to the left. -- Moves cursor to column "A". -- Moves cursor to rightmost element on the screen. If already there, it moves the cursor 4 elements or one screen to the right. -- Moves cursor to rightmost column of current model. -- Moves cursor to the top of the screen. If already there, it moves the cursor up 6 rows or one screen. -- Moves cursor to row 0. -- Moves cursor to the bottom of the screen. If already there, it moves the cursor down 6 rows or one screen. -- 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 Type Source end element Type Target begin element Type Target end element (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 ] 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= _ Y will cause return to Menu. Any other key will abort. C Clear: Confirm=Y Abort= _ 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(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