Category : Printer + Display Graphics
Archive   : GRAPHIT2.ZIP
Filename : GRAPHIT.DOC

Output of file : GRAPHIT.DOC contained in archive : GRAPHIT2.ZIP


G G h I tttttt !!!
G h I t !!!
G GGGG r rrr aaaaa ppppp h hhh I t !!!
G G rr r a a p p hh h I t !
G G r a aa p p h h I t t
GGGG r aaa a ppppp h h IIIIIII ttt !


Version 2.00 wed 22 Aug 1990

by Keith Hertzer
Copyright (C) 1990 kSoft, Inc.

System Requirements:

IBM PC, XT, AT, PS/2 or compatible equipped with CGA, EGA, MCGA, or
VGA graphics, at least 256kb of RAM, and a 360k, 1.2M, 720k, or 1.44M
diskette drive or hard disk, running MS-DOS version 2.0 or higher.

GraphIt! also supports Microsoft and compatible mice. If your mouse
driver is installed at boot-up, GraphIt! will automatically detect and
make use of your mouse. See Section I for details on "mouse strokes."

Note: Please do not edit GRAPHIT1.HLP, GRAPHIT2.HLP, or
GRAPHIT3.HLP. They are formatted especially for use under the GraphIt!
help view function, broken up into screens of 23 lines. Altering these
files may result in abnormal page breaks and prevent effective use of
the help text. These files are a subset of the information contained
in GRAPHIT.DOC, so if you want printed documentation, you need not
make a hard copy of the .HLP files.


Section I: Using GraphIt!............................................2

Section II: Using the Graph function.................................4

Section III: Using AutoRedraw and the Redraw Queue...................8

Section IV: Viewing and Setting Formatting Options..................10

Appendix A: GraphIt!'s Command Line Arguments.......................13

Appendix B: Upgrade Notes: Changes from 1.41........................15

Appendix C: Using GraphIt! with Windows 3.0.........................16

Appendix D: Shareware / Order Form..................................17

Section ==================
III | Using GraphIt! |
I ==================
IIIo 2


GraphIt! is driven completely through pull-down menus, which
operate in a pretty standard manner. A fuller explanation of the
highlighted option appears on the bottom line of the screen. Highlight
the option you want by using the left and right cursor keys. Select
the highlighted option in the top bar by pressing enter.

The Help, Redraw, and Options items each call up a secondary pull-
down menu. Highlight the item you want using the up and down cursor
keys. Select the highlighted item by pressing enter again. To cancel
the menu and return to the top bar, press escape.

If you usually keep Num Lock on or prefer to use function keys
instead of cursoring around, the function keys will select the options
in the current menu in the order they appear on the screen. (i.e. in
the main menu, F1 selects help, F2 Graph, etc., and F7 selects Exit.
In the Options menu, F1 would select Settings, F2 Scale, and so on.)
Function key labels are not provided on the options for aesthetic
reasons, but there are not many options to learn. If you use function
keys, you do NOT need to press enter to select that item. Function
keys greater than the number of items in the menu are ignored.


Almost all data input in GraphIt! is done through pop-up "dialog
boxes" which appear roughly in the center of the screen. (The main
exception is the equation input, which takes place on the bottom line
so you can look at other graphs while you enter an equation.) The
input editor makes full use of the standard editing keys: Insert,
Delete, Backspace, Left and Right arrow keys, Home, and End. Escape
clears the entire field as in BASIC. A simulated graphics cursor
alternately flashes the character at the current position and the
underscore character (or a full block when you are inserting) so full
editing is possible.

Usually if you choose a function by mistake and it presents you a
pop-up prompt, pressing enter or ESC on the blank field will return
you to the menu as if you had never selected the option. However, to
abort using the range function to change the range of coordinates
displayed, you must press enter at all 4 prompts, and the current
range will be preserved, BUT the screen will clear.

I. Using GraphIt! 3


GraphIt! now has internal support for Microsoft (R) and compatible
mice. If a mouse driver is installed when you run GraphIt!, it will
automatically be detected and the usual mouse arrow will appear. To
use the mouse on the menus, you simply "point and click." However,
please be aware of the following idiosyncrasies of my mouse routines:
1. The left button, as usual, is always used to select an item or
emulate a keystroke. Whenever you see a prompt that says "Press
any key...", clicking the left button will have the same effect
as hitting a key.
2. The right button has the same effect as pressing the ESC key
whenever pressing ESC is a valid option. To get out of a
pulldown menu, you can click the right button.
3. When used with a mouse, the menus are technically drop-down, not
pull-down; you must release the mouse button before your choice
will be registered, so you can't push the button down, pull the
cursor around, and release the mouse button to select the item.
4. To get back to the main menu bar from a drop-down menu, you can
also click on the top bar. However, even if you click on a valid
menu item, your choice will not be registered--you will just be
returned to the top bar.
5. Whenever you are using GraphIt!'s input editor, the mouse can be
used to do two things: Pressing the right button, as usual,
causes the same effect as pressing the ESC key. You can also
position the cursor inside the edit field by clicking the left
button on the space you want to move to.
6. To use the mouse to scroll through a help file, click on the key
name (highlighted in red on the bottom line of the screen which
corresponds to the action you want to perform. In addition,
clicking the right mouse button corresponds to the escape key.
7. The mouse is not available during the actual graphing loop, to
prevent the pointer and the graph drawing routine from fighting
over the screen. To pause the graph, you must use the keyboard.
The mouse can be used to restart or cancel the graph at this
prompt though.

Important! ---> HARDWARE NOTE <--- Important!

If you have a CGA or possibly an EGA monitor, you may need to run
the DOS program GRAFTABL.COM (a small TSR that allows block graphics
characters to be printed in graphics modes) before successfully
running GraphIt!. The program seems to come only with DOS 3 and up but
it runs under any version. If you're not sure whether your adapter has
a graphics (>ASCII 127) character generator included, run GraphIt!
first. If you NEED to run GRAFTABL, there will be NO box characters
around the pulldown menus, none around the settings box, and the full
block insert cursor will not function. Otherwise, you're okay without
it. Since it's TSR, you need run it only once and then it's active
until you reboot.

Section ============================
III III | Using the Graph function |
I I ============================

GraphIt! 2.00's overhauled equation parser will automatically
isolate the variable "y" wherever it is in the equation. It will now
also graph some relations, like circles ("x^2+y^2=36") and ellipses
("x^2/3 + y^2/4 = 20"), as well as hyperbolas, sideways parabolas
("x=y^2") and many other conic sections. (Consult a good Algebra II
textbook for help on their formulas, as I'm a little rusty.) The only
limitation for functions is that there must be one and only one
occurrence of the variable "y". GraphIt! cannot graph an equation
without a "y", like "x=4". It also cannot perform the factoring needed
to isolate the variable "y" when it occurs more than once (i.e.
"x=y^2+3y"). The relation graphing module (for graphs which may have
more than one y value for a given x value) works like this: if in
isolating the "y" in an equation GraphIt! finds an even power of it
(i.e. "y^2"), it makes two equations for that graph, one with the
positive and and one with the negative root. This method by no means
covers all possible relations, but it is adequate for the most common.
In fact, I haven't thought up an equation it can't graph yet.


GraphIt! uses an operator set almost identical to BASIC's, with
several additions to make it more user-friendly. Almost all of the
math functions provided in the Microsoft C library have been made
available. The supported operators and functions are as follows:

Operator/Function Meaning
================= =============================================
+, -, *, / add, subtract, multiply, divide
^ exponentiation
{[( )]} parentheses: may be nested to any extent,
braces and brackets are provided for ease of
reading but the parser will NOT differentiate
between "{" and "(" and "[".

abs absolute value
acos, asin, atan arc cosine, arc sine, and arc tangent
cos, cosh cosine and hyperbolic cosine
exp Euler's number to the specified power
int greatest integer ([x] is not supported)
ln, log natural logarithm, logarithm base 10
sin, sinh sine, hyperbolic sine
sqr square root
tan, tanh tangent, hyperbolic tangent

NOTE that all trig functions work in RADIANS, not degrees.

Besides the variables x and y, 2 other "variables" (pi
[3.14159...] and e [Euler's number: 2.718...]) are legal identifiers
for your convenience.

II. Using the Graph function 5


The parser's ability to determine exactly what you want to pass as
an argument to a function is somewhat limited, so I suggest you make
it a habit to enclose the desired expression in parentheses. "cos x"
may work fine but "cos 2x" is interpreted as "(cos 2)*x" and "cos x^2"
turns out "(cos x)^2". Typing "cos (2x)" or "cos (x^2)" instead works

The order of operations is the standard algebraic left to right of:
Multiplication and division
Addition and subtraction

GraphIt! supports implied multiplication of variables and
constants as in "3x" or "5(2x+3)", but not of variables and other
alphabetic identifiers such as functions and built-in transcendental
numbers like "xx", "xcos(x)", or "xpi", so you must include the times
sign in those cases. (Implied multiplication of the two variables x
and y [i.e. "xy=1"] IS supported, however.) The parser may reject some
complex expressions for no apparent reason. Keep trying! I suggest
liberal use of parentheses: if you are not sure whether something will
be interpreted correctly, go back and put parentheses around it. (One
exception: do NOT enclose the entire expression on either side of the
equals sign in parentheses.)


To interrupt a graph when the computer is in the process of
drawing it, hit any key and the program will display on the bottom
line the message:
"PAUSE at x=#, y=#. Press ESC to quit, any other key to restart.. "
where # indicates the x and y coordinates you stopped it at. If you
mistyped the equation and want to fix it, just press ESC.
Be patient! GraphIt! may need a while to produce a quality graph
on a slower machine. To speed up the graphing, you may want to select
a lower Fineness value.


When the graph for your equation is complete, you will again be
given the "Graph?" prompt at the bottom of the screen. If you'd like
to start all over with a completely different equation, press ESC and
the input field will clear. If you'd rather modify the last equation,
go right ahead; it's already stored safe and sound in the redraw queue
(for more information see Section III: Using AutoRedraw and the Redraw
Queue). To exit the otherwise infinite graphing loop, press enter or
escape on a blank line (escape twice will always work).

II. Using the Graph function 6


In order to be able to print pictures of your graphs, you must
have loaded GRAPHICS.COM, a standard MS-DOS program, into memory, and
you must have an IBM, Epson, or compatible dot-matrix graphics capable
printer. Select the Print function from the menu and all graphs on the
screen will be printed on the printer, in a sideways format. Probably,
the right edge of the paper will correspond to the top of the screen.
For CGA screens, the Print function does little more than invoke the
computer's built-in print-screen function (all it does is remove the
menu and help printing on the top and bottom lines of the screen).
However, for EGA and VGA multicolor screens, pressing Shift-PrtSc
yields very confusing output as GRAPHICS tries to match on-screen
colors to the printer's gray-scale equivalents and fails. In this
case, the Print function also remaps the colors to yield bright white
graphs on a black background for better black graphs on white contrast
in the output. Once the printing is finished, the colors are reset to
normal. If you have a color printer that produces legible output from
a printscreen, you may want to just press Shift-PrtSc instead of using
the print option.


Eleven error messages may be encountered when graphing (apart from
messages ingrained in the library functions which I cannot control).
Five of them are fatal; the equation cannot be graphed and you must
edit it. They will cause the computer to beep so you know there is a
problem. The other six apply only to specific point(s) for which a y-
value cannot be generated. They will not appear unless you ask for
them using the Warnings option and then they appear silently.

"Found bad operation or mismatched parentheses. Press any key to
You either left out a paren somewhere, left out one or both of the
operands for a binary operation or the argument for a function, or
typed some other weird thing the parser and evaluator couldn't
digest, like putting parentheses around the entire expression.
Examine your equation carefully and fix whatever seems to be the

"Found unknown identifier. Press any key to retype equation."
Unfortunately, the evaluator isn't set up to return what caused
the error, so you'll have to look for it yourself. Check that your
equation contains only valid identifiers (x, y, pi, e, and the
functions listed above) and that you separated each of them with
an operator, space, or some other punctuation.

"No equals sign or more than one found. Press any key to edit
To be a valid and graphable, your equation must include exactly
one equals sign ['=']. If you get this error, you either left out
the '=' or accidentally typed two or more of them.

II. Using the Graph function 7


"No 'y' variable or more than one found. Press any key to edit
Although GraphIt! has been enhanced to isolate ONE 'y' variable
and graph some relations, it cannot graph an equation without a
'y', like "x=4". It also cannot perform the factoring needed to
isolate the variable 'y' when it occurs more than once (i.e.
"x=y^2+3y"). If you can adjust the equation so it uses only one
'y', do so; otherwise it can't be graphed.

"Can't find the inverse of this function of y. Press a key to edit
You tried to graph an equation like "int(y)=x" or "abs(y)=x" for
which y cannot be isolated by taking the inverse of the function.
The functions which cannot be isolated are "abs", "cosh", "sinh",
"tanh", and "int". If you can't adjust the equation so this error
does not occur, it is not graphable.


"Overflow at x=#.##."
Some function or operation generated a number too large to fit
into a 8-byte floating point variable. The point at x=#.## was not
graphed. This error is not fatal, so the graphing process is
continued, but if the message is repeated and no image is graphed,
you may need to abort graphing and look at your equation again.

"Division by zero at x=#.##."
At x=#.## your equation included division by zero so that point
was skipped. Unless you get this error repeatedly, there's no real

"Can't raise a negative number to a fractional power. [x=#.##]"
Due to the possibility of getting an even root of a negative
number (like -16^(1/2) which actually equals the square root of
-16), the C Library pow() function refuses to process any
arguments like these. This is not a fatal error, and the portion
of your graph (if any) where the base is not negative or the power
is not fractional should be graphed perfectly. This error also
occurs when you try to take the square root of a negative number
with the "sqr" function.

"Can't find the logarithm of a negative number. [x=#.##]"
The natural logarithm (ln) and base 10 logarithm (log) functions
are defined only on x greater than zero.

"Domain error: asin/acos functions defined only on -1<=x<=1. [x=#.##]"
The arcsine (asin) and arc cosine (acos) functions are only
defined between -1 and 1 (the range of the sin and cos functions).

Section =========================================
III III III | Using AutoRedraw and the Redraw Queue |
I I I =========================================

USING AutoRedraw

Whenever you change the scale to look at a graph in greater detail
or from farther back, or you shift the range of the axes so that the
graph you just drew will be centered, the screen must be cleared so
that a new coordinate grid can be drawn. So you're left with the
viewing angle you wanted for that graph, but the screen is blank. You
shouldn't have to solve this problem by retyping the whole equation
again...and you don't. You can redraw the equation much more easily by
selecting "Last graph" in the "Redraw" menu. But with AutoRedraw ON,
you don't even have to do that.
As its name suggests, AutoRedraw will redraw the last equation you
typed in automatically when you change the scale or range. If you
don't want a graph redrawn, you can abort it by pressing ESC twice and
you will be returned to the menu. If you want to turn off AutoRedraw
completely (say you'd rather redraw all of the equations in the redraw
queue instead of just the last one...with AutoRedraw on you'd have to
wait for the last equation to be graphed twice, once by each
function), just select "AutoToggle" under the "Redraw" menu and answer
"n" when asked if you want AutoRedraw on.
AutoRedraw is ON by default. You can change the default to OFF by
using the "/A" command line option (see Appendix A for a full
explanation of the command line arguments).


Every time you type in an equation, the character string you typed
and the program's internal representation of that equation get stored
in the redraw queue. From this queue, or list, you can call up any of
the last 20 equations you typed to graph again with fewer keystrokes
than retyping it. Or you can redraw all of them or the just the last
one you typed with even fewer keystrokes. The equations in the queue
are stored in an order that puts the most-recently-used at the
beginning and the least-recently-used at the end. Hopefully, when the
queue fills up, the equations that are bumped off the queue at the end
will be the ones you won't miss very much.

As explained in the previous sub-section, the screen clears
whenever you execute Range or a successful Scale (if you abort Scale
the screen remains as it was). If you execute either of these
functions or clear the screen accidentally with the Clear menu option,
you can redraw the last equation (if AutoRedraw hasn't already) by
selecting "Last graph" under "Redraw", or you can redraw all of the
equations in the queue using "Redraw All" under the "Redraw" menu.
Note that the redraw function does not keep track of which graphs are
on the screen at any point in time so "redrawing all" may put more (if
you plotted many equations on the screen before the last one) or fewer
(if you cleared the queue) equations on the screen than there were
before the screen was cleared.

III. Using AutoRedraw and the Redraw Queue 9

The "Pick graph" option in the Redraw menu allows you to graph any
of the equations currently in the redraw queue. Because of the
enormity of the buffer that would be required to "remember" what was
on the screen "behind" a list of all the equations in the queue so the
images there could be preserved in EGA and VGA modes, the equation-
viewing is limited to one at a time in a pop-up box. If you would like
to redraw the one shown, press enter. Or, if you have a mouse, click
the left button on the equation itself. If you want to look at more,
press any other key except Escape (or click on any point on the screen
outside of the box with the equation in it). When you have looked at
all of the equations in the queue, it recycles to the first equation
again. If the equations start looking familiar, you've probably
reached the beginning again. If you decide you don't want to redraw
any of the equations presented for your perusal, press Escape (or
click the right mouse button) and the command will be ignored. When
you pick a graph, it is re-inserted at the top of the redraw queue, as
you'll likely be working with it again in the future. So if you scale
the grid again, that graph will be Auto-Redrawn, and if you redraw the
last graph, that graph will be shown.

Section ==========================================
III VVV VVV | Viewing and Setting Formatting Options |
I V V ==========================================
III V o 10


When you run GraphIt! without any command-line arguments, the
following settings are in effect:

Start of range: (-12.0, -8.14*)
End of range: (12.0, 8.14*)
Fineness: 1.0 **
Step rate: 0.0625 (1/16)
Legends: ON
Warnings: OFF
Printer: OFF
AutoRedraw: ON

This provides a basic rectangular grid of decent size with the origin
centered, a square aspect ratio (a 1x1 square on the grid really LOOKS
square), and a good resolution graph.

* on VGA + or - 8.48 because 30 text rows allow 93% of the vertical
pixels to be used for graph while CGA/EGA 25 rows allow only 92%.


The current settings are almost always displayed whenever you
change one of them. Every item under Options (unless aborted) will
bring up the settings screen. You can also look at them manually by
selecting Settings in the Options menu.


The scale function allows you to change the scale of the graph you
have on-screen while keeping the center of the display the same (the
origin may move but if (2,2) is at the middle of the screen, it will
stay there). The scale is totally relative to the size of the grid
that is presently on the screen, so you need not make any comparison
with an absolute scale of 1. To rescale the grid, select "Scale" from
the options menu. Then respond to the prompt according to the
following guidelines:
Enter a positive number to zoom in, or a negative number to pan
out. The number of units across the screen will be divided or
multiplied by that number accordingly. Numbers between -1 and 1,
inclusive, are invalid because they produce meaningless values.
Decimals greater than 1 or less than -1 are valid though.
If you enter an invalid number, you will be asked again to enter
the scale. To abort rescaling, just press enter on a blank line.
To scale the default range, use the "/S" option on the command

IV. Viewing and Setting Formatting Options 11


The ability to adjust the grid by inputting the beginning and end
of the desired range is one of the most powerful and flexible features
GraphIt! offers. It can rescale the grid to either be a perfect fit
for the function you are graphing so that as much of it is visible as
possible or to render the most accurate image possible on even the
lowest resolution CGA screen. Both of these features can be
accomplished by selecting Range in the Options menu.
To create a grid such as the first, graph an equation on the
standard grid, and from that graph determine the top-, bottom-, left-
and rightmost extremities of the graph, and respond with the proper
values to the 4 Range prompts. The new grid may be somewhat expanded
or compressed depending on the aspect ratio, but it will show the same
amount of graph in much greater detail.
To create a more accurate representation like the second grid,
have some idea in your mind as to the left, right, and top of the
grid. Enter these 3 numbers in the first 3 range prompts, and on the
fourth one just press enter. Voila. The bottom of the grid will be
AutoScaled to the exact y to x ratio needed to get a square aspect
ratio...if it isn't, you'd better check the vertical size knob on your
monitor! To set the range from the command line, use the /X1:, /X2:,
/Y1:, /Y2:, and /Y2 options [described in Appendix A].


The fineness factor determines how high the resolution of the
graph will be, and in effect, also the amount of time it takes to
complete the graph. The fineness factor of 1 is quite adequate in most
circumstances. With the addition of SmartFineness automatic fineness
adjustment to the line-drawing feature in the graph-drawing loop, the
manual fineness adjustment has become almost obsolete, but I left it
in to accomodate the need for especially sharp graphs or for
especially quick renderings. SmartFineness automatically decreases the
fineness when the point being graphed is not on the screen to speed up
blank areas, then recovers automatically and backtracks to the spot
where the graph comes on-screen again. It also varies the fineness
with the slope of the equation being graphed--less when the slope is
near-horizontal, greater when the slope tends toward vertical, so
steep graphs are tracked more effectively. As the fineness is
increased, more of the curve will be smoothed out, but remember that
if you increase the fineness factor to 5, the computer will be slowed
down to 1/5 its normal graphing speed under the load of all the extra
calculations. A factor greater than 10 can bring even the fastest 386
computer to a snail's pace.
If you have CGA adapter, GraphIt! assumes you are using an 8088
non-turbo PC and reduces the fineness to 0.5 to speed up graphing;
the difference in resolution is usually not very noticeable on the
CGA screen, but the difference in speed is.
To change the fineness factor, select Fineness from the Options
menu. Any value greater than zero is valid; however I would recommend
not going below 0.25, as the image quality suffers.

IV. Viewing and Setting Formatting Options 12


This feature allows you to print out a table of coordinates as the
program is drawing your graph. This option is available to aid the
drawing of graphs manually (if you happen to be cheating on your
homework) and provide a reference for labeling the axes if you print
the graph (using the Print menu item described on page 4).
By default, the print tables option is OFF; most people don't
leave their printer on at all times and the process does slow graphing
a bit.
You can turn it on by selecting Printout in the Options menu and
responding "y" to the prompt. You can also use the "/P" command line
option to turn the printer ON by default.


By default, the error messages which do not require the equation
to be retyped are suppressed, because they slow down the graphing
process, cover up the equation, and are somewhat annoying when you
know the graph shouldn't produce any values in some area. (Also, it
was easier than trying to add some method of specifying the domain for
each equation.) If something goes wrong (i.e. the graph doesn't show
up on screen when it should and the reason isn't readily apparent),
you can turn on the warning messages (using the "Warnings" function of
the "Options" menu) and redraw it to see what the problem is. You can
use the same menu option to turn the messages off later. The "/W"
command-line argument can be used to turn the messages ON by default.


GraphIt! 2.00 has been equipped with a routine that labels the
hatch marks across the graph so you can more easily locate points or
find the coordinates of a graphed point. In some cases, though,
especially when doing graphs near the axes in monochrome CGA mode, the
numbers can be confusing and you may want to turn them off. To do
this, select the "Legends" option in the "Options" menu and answer "n"
to the prompt "Do you want to label the grid axes?". The numbers
cannot be erased without clearing the screen, so if you want them gone
right away, you should clear the screen using the "Clear" option and
then redraw your graph. When turning the numbers back on, you also
must clear the screen before the command takes effect. The "/L"
command-line argument can be used to turn the legends OFF upon

Appendix =====================================
AAAA | GraphIt!'s Command Line Arguments |
A A =====================================
A Ao 13

Nearly all of GraphIt!s options---covering almost every feature---
can be set upon startup of the program by the use of command line
arguments. All arguments are NOT case sensitive (i.e. "/P" is the same
as "/p"). Arguments must be separated by one or more spaces on the
command line. All arguments begin with the standard MS-DOS "switch"
character ("/"). UNIX-style switches (starting with "-") are NOT
supported. Unidentifiable command line arguments may cause the message
'Unknown argument "XXXXX" ignored. Press any key...' to be shown on
the bottom line of the screen.

-------------------------------- NOTE --------------------------------
Some command line options require a both a switch and a numeric
value. All of these options should be entered in the following format:
A>graphit /X:##.##
where X is the option switch, and ##.## denotes an integer or real
number. A decimal point is not required for integers. Note that there
must be NO space anywhere in the argument, as a space is assumed to
delimit separate arguments from each other. If you do not include the
number after the colon, 0 will be the result (This is usually not
-------------------------------- NOTE --------------------------------

/P Turn printer ON
The point table printing function of GraphIt! is OFF by default.
Use the /P option to turn the printer ON immediately upon loading
the program.

/A Autoredraw OFF
The AutoRedraw function is ON by default. If you do not wish to
utilize this feature, use the /A option to turn AutoRedraw OFF.

/L Turn Legends OFF
The axes legends are ON by default. If you do not wish to utilize
this feature, use the /L option to turn the legends OFF.

/W Warning messages ON
The occasionally annoying warning messages are OFF by default. If
you want to be alerted when a point cannot be generated, use the
/W option to turn the messages ON.

/S:### Scale grid
If you would like to retain the original centered-around-the-
origin grid but would like to rescale it from the original 24 x 17
range, you can use the /S: option. The /S: option and the range
options should not be used at the same time, as this may cause
erratic results.

Appendix A: GraphIt!'s Command Line Arguments 14

/F:### Set Fineness
The default fineness factor is 1.0---one value per pixel. If you
want to change the default to less than 1.0 for faster graphing or
to greater than 1.0 for higher-resolution curves, use the /F:
option. See the NOTE above for the required format.


The 5 options below allow you to set the range from the command
line. If four of them (/X1:, /X2:, /Y1:, /Y2: _or_ /Y2) are not all
present, the defaults (+ or -12.0 on the x-scale, + or - 8.14 or 8.48
on the y-scale) will be assumed for the values left out. Note the
difference between the /Y2:### (set the bottom of the grid to ###) and
/Y2 (AutoScale bottom of grid for square aspect ration) options.

/X1:### Set LEFT of grid
The left side of the grid will be set to the value of ###.

/Y1:### Set TOP of grid
The top of the grid will become the point ### on the y-axis.

/X2:### Set RIGHT of grid
The right side of the grid will be set to the value of ###.

/Y2:### Set BOTTOM of grid
The top of the grid will become the point ### on the y-axis.

/Y2 AutoScale bottom of grid
The bottom y-value will be scaled to fit the given x and y top
values for a square aspect ratio.
*** NOTE: This option must be AFTER any other range options on the
command-line or the grid will not be scaled properly.

/G:xxxxxx Graph Equation
If you want to start up GraphIt! by automatically graphing one or
more equations, use the /G: option. The only limits on the number
of equations you can include on the command line are the capacity
of the redraw queue (20 equations) and, of course, the maximum
length of the command line (I think it's around 255 characters).
The equation(s) will be parsed and graphed in exactly the same way
as the regular prompted input, with one exception: You MAY NOT
include any spaces in the equation as they will be interpreted as
delimiters between arguments. Any other options on the command
line (range, scale, fineness, etc.) will be executed BEFORE the
equation is graphed. As the GraphIt! editor is far superior to the
DOS command line editor, this option has limited usefulness, but
it is a good interface for execution from a batch file.

Appendix ====================================
BBBB | Upgrade Notes: Changes from 1.41 |
B B ====================================
BBBB o 15

GraphIt! 2.00 offers significantly more power and functionality
than its predecessor in an easier to use package. This is due to the
following major enhancements:

1. The parser has been revised to accept any equation with one equals
sign and one "y" variable and to isolate the "y" variable on one
side of the equation so the other side can be evaluated like a
regular expression in terms of "x". It also checks for even powers
of "y" and will set up to graph a "top" half and a "bottom" half
by taking both the positive and negative root when isolating "y".
This opens up a whole new class of functionality, but the only
change evident to the user is that the graphing prompt does not
provide the "y=" half of the equation.

2. The program now supports Microsoft mice. The mouse is active all
of the time except during the actual graphing to provide a quicker
way of selecting menu items and a feeling of better responsiveness
to the user.

3. The x- and y-axes are now labeled with the coordinates each cross-
hatch line represents, so you don't have to count to approximate
where a point is. The numbers are unobtrusive but you also have
the option of turning them off if they get in the way.

4. The expression evaluator contains 2 more error traps and
associated messages to prevent floating-point errors from leaking
through and being detected by Quick C's clumsy math run-time error
processor. The non-fatal messages are also suppressed by default,
with the option to turn them on if desired.

5. The graph-drawing loop benefits from the addition of the Smart-
Fineness automatic fineness adjustment, which working in
conjunction with the line-drawing feature makes manual fineness
adjustment almost obsolete. It automatically decreases the
fineness when the point being graphed is not on the screen to
speed up blank areas, then recovers automatically and backtracks
to the spot where it comes on-screen again. It also varies the
fineness with the slope of the equation being graphed--less when
the slope is near-horizontal, greater when the slope tends toward
vertical, so steep graphs are tracked more effectively.

6. The Print tables function, which performed disappointingly at best
in the last release, has been completely rewritten to work

All of these major enhancements have been made at the cost of less
than 6000 extra bytes in the executable file, due to kSoft's
commitment to quality and excellence in all of its products. If you'd
like to support future versions with your comments and suggestions,
see Appendix D for the mail-in survey form.

Appendix ===================================
CCCC | Using GraphIt! with Windows 3.0 |
C ===================================
CCCC o 16

NOTE: GraphIt! 2.00 does NOT run in Win 3's windowed environment, but
it should run perfectly as a full-screen DOS application.

This ZIP file contains 2 files to make it easier to use GraphIt!
from Microsoft Windows 3.0. They are GRAPHIT.PIF, its program
information file, and GRAPHIT.ICO, its very own icon. To use these
files, follow the instructions below.

1. Create a directory on your hard drive -- C:\GRAPHIT
[you can use a different directory if you want but in that case
you must change the two fields in GRAPHIT.PIF which have the
directory name in them.]
2. Copy all of the files in this ZIP file into that directory (see
READ.ME for a complete list).
3. Start up Windows if you weren't already using its File Manager to
do the steps above.
4. Open the group in Program Manager you want to put GraphIt! in.
Select "New..." from the "File" menu in Program Manager.
5. Select "Program Item" in the dialog box.
6. For Description, type "GraphIt!". For Command line, type
7. Select the "Change Icon" button. At "Filename" in the dialog box,
8. Select "OK". You should now have a Windows-startable GraphIt!

Appendix ==========================
DDDD | Shareware / Order Form |
D D ==========================
DDDD o 17

Shareware: Feel free to distribute copies of GraphIt! to your friends
AS LONG AS 1) you charge no fees for its use or distribution and 2)
you do not modify the program or documentation files in any way.

This program is to be taken AS IS with no warranties, express
or implied. There are several bugs I know of, most of which have to do
with error messages I cannot keep the library functions from printing,
but no serious bugs that could cause loss of data or even a system
crash. Please tell me about any bugs you find to be especially
bothersome that I should correct for the next release.

If, after using GraphIt!, you find that it is easy, helpful,
and convenient to use, please support the release of future versions
by filling out the registration form on the next page and sending your
contribution (payable to Keith Hertzer) to the address below:

kSoft, Inc.
345 Montecillo Dr.
Walnut Creek, CA 94595-2613

If you send $20 or more, you will be registered to receive a diskette
with the next version of GraphIt! when it becomes available, along
with promotional copies of other kSoft programs. For releases after
that, you will be informed that a new version is available and where
you can download it.

Even if you cannot send any money, please help me out by filling out
the response form below so I can get an idea of what I should add to
the next upgrade.

If you would like a copy of the source code for GraphIt! (compiled
under Microsoft QuickC version 2.0), please send me $20 and a short
note telling why you would like it.

------------------------kSoft REGISTRATION FORM-----------------------

Name__________________________ Phone # ________________________

Address ______________________________________________________________

City ____________________________ State _______ ZIP ____________

|_| Enclosed is my $20 or more contribution. Please register me to
receive the next upgrade to GraphIt!.
|_| Please send me the C source code to GraphIt! 2.00. I have
enclosed a short note on why I'd like it and a check for $20.

What size diskettes do you use? 5 1/4" 3 1/2"

The following questions are asked on a purely informational basis:

What hardware platform are you using to run GraphIt!? (circle one)

PC XT AT PS/2 (Model ____)

8088 clone '286 clone '386/486

What DOS version do you usually run with it?

PC-DOS / MS-DOS ____ . ____

What type of video card do you have? other (___________)

Monographics CGA EGA VGA

What features do you like best about GraphIt!?



What problems have you experienced with GraphIt!?



Any other comments or suggestions for improvement in the next upgrade?
(Your comments are vital so I will know what to change or add.)


  3 Responses to “Category : Printer + Display Graphics
Archive   : GRAPHIT2.ZIP
Filename : GRAPHIT.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: