|
Revision History (Archives, 2002)
11 December 2002
Version 1.7.6.1
Corrected a Windows registry entry problem that has existed for quite a while. The problem prevented opening DPlot
files from Explorer if dplot.exe resides in a folder whose name contains spaces, e.g. "c:\program files\dplot".
7 December 2002
Version 1.7.6
- Legend character strings may now be up to 80 characters long. Previous limit was 40.
- Bug fix: For XY plots, the frame surrounding the legend was improperly sized too wide if the legend used any
of the hidden formatting symbols.
- Bug fix: Symbol/Line Styles dialog for XY plots used the wrong color palette to draw example lines and
symbols. This was a side-effect of a recent change giving each document a separate color palette rather than
using a global palette.
- Text notations may now be included on 3D plots.
- The Select Columns to Plot feature for multi-column ASCII files now allows you to interpret the file
as alternating X,Y values rather than the default interpretation of a single X column with one or more Y
columns.
- Added Stacked Bars menu command. This feature controls whether bars in bar charts for multiple data
sets are drawn side-by-side or stacked from bottom to top.
- The behavior of Text>Date has been changed so that the date is updated only when this feature is
turned on and/or when the plot is saved as a DPlot file.
- Added Day of the Week (1=Sun, 2=Mon, etc.) and Month (1=Jan, 2=Feb, etc.) formatting to
Options>Number Formats.
- Bug fix: File>Append with a DPlot file containing manual extent specification may in
some circumstances have caused a crash.
24 November 2002
DPLOTLIB.DLL
Distribution now includes source examples for Borland C++, LCC-WIN32, GNU FORTRAN, and
Microsoft FORTRAN PowerStation 4.0.
13 November 2002
Version 1.7.5
- Added waterfall plots of gridded 3D data. The color options for these plots are currently non-existent.
- Added List Peaks within Range menu command. This is identical to List Peak Values, but
first allows you to specify a range in X with the mouse.
- Added Clear all button to Specify Columns to Plot dialog, which is handy for files with a large
number of data columns.
- Bug fix: Attempting to add 2 or more notes at once (Text>Add/Edit Note) caused DPlot to crash.
- Bug fix: For XY plots, in some circumstances DPlot's custom line-drawing routine would enter an endless loop.
The custom line-drawing routine is used for line styles other than solid, all metafile output, and if
the "UseDPlotClipping" flag in the [Debugging] section of dplot.ini is set to 1.
- Bug fix: DPlot balked at opening the 32nd document, claiming that too many documents were already open
(32 is the limit).
- Bug fix: DPlot did not previously save "Use thousand separator" selection to a DPlot file. This
behavior was actually by design, but was confusing.
4 November 2002
DPLOTLIB.DLL
Corrected a problem in the interface for Compaq Visual FORTRAN.
26 October 2002
Version 1.7.4.1
Previous update introduced a bug related to saving color information in DPlot files. Under some
circumstances reading a newly-saved DPlot file would cause DPlot to crash.
25 October 2002
Version 1.7.4
- Added two new functions to DPLOTLIB.DLL: DPlot_Command
allows you to send one or more command strings to DPlot. DPlot_Request provides a facility for retrieving
information from DPlot.
- Color selections for XY plots are now saved to DPlot files. Also, the global color palette is no longer used,
other than to initialize colors for new documents. So you may now have a different color palette for every open
document.
- Streamlined color selection process for XY plots. DPlot now uses a single color palette for all output devices.
(Previous versions used one palette for printers, another palette for all other devices). A single menu item
has been added to force printed output to be rendered in black and white. If this menu item isn't selected,
B&W printers will simulate the selected color palette with gray shades.
- A recent addition that removed duplicate X,Y values from random 3D points was horribly inefficient on large
data sets. Performance with more than 10000 or so points is quite a bit better in this version.
- FileType macro command will now accept a file import plugin description in place of a file type code.
So if you want, for example, to open all of the WAV audio files in c:\windows (and you have the WAV Audio
plugin distributed with the licensed version), you can:
Directory("c:\windows")
FileType("WAV Audio")
ForFilesIn("*.wav")
NextFile
- Similarly, FileSaveAs macro command will now accept a file export plugin description in place of a file
type code. So if you want, for example, to save JPEG images of all of the DPlot files in a folder (and you've
installed the JPEG export plugin), you could use this macro:
ForFilesIn("*.grf")
DocMaximize()
FileSaveAs("JPEG Picture",".jpg")
FileClose()
NextFile
- For programmers, added optional parameters to the ManualScale command that allow you to specify the
extents of a second, independent Y axis.
- All dialog boxes that allow you to pick a curve from a list composed of curve legends now display those
legends complete with the various text formatting options (subscripts, superscripts, symbols, etc.). Previous
versions removed those formatting codes from the lists, with the result that the legends might have been a
bit more difficult to read.
- 3D plots of random points have been improved a bit. Previous versions included roundoff errors with drawing
grid lines.
- Added an option to draw solid white polygons for the sides of 3D contour plots, extending from the edges of
the surface to the XY plane. These polygons obscure the underside of the surface, and in many cases add
clarity to the plot.
- Bug fix: Version 1.7.3 came close to solving problems with using patterned line styles with a large
number of points, but didn't quite get there.
- Bug fix: Multiple X axes settings (set with Options>Multiple Axes) were not saved to DPlot files properly.
Also related to multiple X axes: secondary X axis label was not placed correctly in metafile output.
16 October 2002
DPLOTLIB.DLL
Made several changes to the VB demo so that it will run either as
a compiled program (worked before) or uncompiled within the VB environment (didn't work).
10 October 2002
DPLOTLIB.DLL
Removed compiler-specific features from FORTRAN examples to the extent possible. Distribution now includes
demo examples for Absoft FORTRAN, Compaq Visual FORTRAN, and WATCOM FORTRAN.
21 September 2002
Version 1.7.3
- You may now have 32 open documents (plots). Previous limit was 8.
- Label Points menu command now allows you to automatically jump to a point with a specified X value,
rather than using the horizontal scrollbar to scan through the points. This is particularly useful with
large data sets. Similarly, added options for placing the label at the point with the maximum or minimum
Y value.
- For programmers, added an options parameter to the TextPointLabel command that allows you to
specify points as described above. Options also allows you to specify the X and Y coordinates for the
label text as relative offsets from the labelled point, rather than absolute position.
- If you previously used PI fractions or PI multiples number formatting on either the X or Y axes, then the
display of X, Y coordinates on both the Scan Points and Point Labels dialogs was a bit ugly
(PI symbol was displayed as {\sp}). This has been corrected.
- Fill Between Curves feature did not work with polar plots. This was intentional and due to a limitation
in older versions that no longer exists. It now works as expected.
- A bit of fine-tuning on axes adjustments with logarithmic scales and multiple independent Y axes. Previous
release was correct, but tended to either clip one or more curves or have axis extents larger than necessary.
- Corrected a couple of problems associated with plotting a very large number of points. If the plot contained
enough points such that consecutive data points were scaled to the same location, the line drawing routine
used for metafiles would skip over that point. This problem did not effect output to the display, printers,
or bitmaps. For all output devices, line styles other than solid would be rendered as solid under
the same circumstances (multiple data points scaled to the same physical location).
- Changed the definition of "dotted" lines to 25% filled-in from the previous 50%. Using the old
definition with line widths greater than 1 dot resulted in solid lines. If this change presents a problem
for anybody, of course let us know and we'll likely add a new
line style.
- Bug fix: Equal Intervals command caused DPlot to crash if the selected curve consisted of only 1
data point or if the X values for the first and last point were equal. Both of these situations now display
an error message rather than bombing.
- The equation parsing menu commands (Y=f(X), X=f(T),Y=g(T), and Z=f(X,Y)) now allow you
to specify angles in degrees or radians. Previously you were required to use radians. So you can now plot,
for example, Y=sin(X) from X=0 to 360 degrees rather than Y=sin(PI*X) from X=0 to 2.
- File type D (multiple columns) used an arbitrary line length of 224 characters to read multi-column files.
Depending on the number of significant figures used in the file and/or the width of each column, this
might have resulted in DPlot reading fewer columns than the file contained. The maximum line length has
been increased to 1024 characters. This will most likely be changed to an unlimited length in a future
version.
- Bug fix: If an additional curve was generated/created/read from a file while zoomed in, and you then
used the Multiple axes command to associate the new curve with a second Y axis, DPlot crashed.
This release solves the problem by zooming out when the Multiple axes command is used in this
way.
30 August 2002
Version 1.7.2
- Fractions number formatting now draws fractions using smaller, shifted characters and generally has a
much better appearance.
- Added an option to control print orientation (landscape or portrait) to the FilePageSetup DDE command.
- Added CurveLabel and Stat_LimitsAsCL DDE commands.
- Curve labels (see Legend/Labels command on the Text menu) may now be up to 40 characters in length.
- Dense Grid Lines selection is now properly saved to preference files.
Bug Fixes
- Corrected a few problems with Dense Grid Lines. If you had previously specified a tick mark interval to
use before selecting Dense Grid Lines, this feature did not work properly. Also, if the tick
mark interval was small enough that DPlot would skip drawing numbers at one or more intervals (to prevent
numbers from overlapping), the dense grid lines associated with the skipped intervals were not drawn. Both of
these problems are fixed.
- Creating a new 3D plot while an XY plot window was open fouled up the data structures for the XY plot and made
it unusable.
25 August 2002
Version 1.7.1
- Added /nonag commandline switch to eliminate the startup nag dialog for the evaluation version.
The primary reason for adding this switch is to allow the C and Visual Basic demo programs to work
properly with the evaluation version. It is not recommended for general use as it will hide
the remaining evaluation period from the end user.
- Added Triangle plot option. See example file ex14.grf in the distribution.
- Fixed a precision problem with the Add a Constant to Y and Multiply Y menu commands that
resulted in the operation not being performed on the first and/or last points in a curve.
- Fill Between Curves now allows you to select a single curve. In this case the area formed by
connecting the first and last points in the curve is filled with the selected pattern. In this way you
can create arbitrarily complex shaded areas on your XY plots.
- Added menu commands (see View menu) to hide/show curves, which might be useful on crowded plots.
These features are also available via drop-down menu when right-clicking on the legend.
- Added Move/Copy Curves command (see Edit menu), which allows you to easily move or copy
multiple curves from one document to an existing or new document. If all curves are moved (rather than
copied) from a document, the document window is automatically closed.
- Added HideCurve, ShowCurve, and MoveCurves DDE/macro commands, which correspond to
the new menu commands mentioned above.
- Added FileNewEx DDE/macro command, which allows you to set the caption of the new document and
control whether this document becomes active or not. This is a handy addition if your application uses
multiple MoveCurves commands to copy curves from several documents to a single new document.
- Fixed a bug with commandline options. Previously if you specified a preferences file using the /s
switch, and that switch was the last parameter specified, then the changes
dictated by the preference file did not take effect until you performed some action that caused the
plot to be redrawn.
- User-specified tick mark intervals were not saved to preference files. If you specified user-defined tick mark
intervals before saving a preferences file, DPlot might have crashed when later re-opening that file due to
the tick intervals being set to 0.
- Plot extents (specified with Extents/Tick Marks/Size command) were not saved to preference files.
This omission was by design, but a friendly user talked us into it.
- Several minor formatting changes to new box-and-whisker plots and dot graphs, plus one bug fix: the lower
limit of the box on median-based box-and-whisker plots was drawn in the incorrect location for all but
the first data group.
- Corrected a problem with contour plots built from random 3D points. In previous versions, the triangulation
routine ungracefully exited if all input points were collinear. This was particularly a problem with
the DDE interface, since the calling application might send data values one row or column at a time. In
this version DPlot checks for all points being collinear and skips the triangulation (and doesn't
attempt to produce a plot).
- Added XYZEx and XYZRegen DDE/macro commands. XYZEx is identical to XYZ with an
additional parameter that specifies whether DPlot should triangulate and replot the data. This is especially
useful if plotting from a Microsoft Excel VBA routine, which limits the maximum command string length to 256
characters. Previously if you used XYZ to plot data from a rectangular grid from Excel, you would
most likely encounter errors due to all points sent being collinear. XYZEx is quite a bit more
efficient than XYZ with large data sets, because you can instruct DPlot not to attempt to triangulate
the data until you are ready to do so. XYZRegen forces DPlot to triangulate and plot the existing
data. This command will most commonly be used after a series of XYZEx commands.
- Added a method for retrieving the caption of the last document created in DPlot from another program. This
feature is useful if your application moves data from one plot to another. Although you can specify the
caption of a document when it is created, DPlot will append a numeric suffix to that caption if a document
with the same caption already exists, so it is fairly easy for your application to become confused about which
document is which. The following lines of Visual Basic code retrieve the last new caption and place it in the
text of "<control>" (a text box or label):
<control>.LinkTopic="DPLOT|System"
<control>.LinkMode=2
<control>.LinkItem="LastNewCaption"
<control>.LinkRequest
<control>.LinkMode=0
- Corrected a scaling problem on XY plots that used multiple independent axes on a logarithmic scale. If the
extents of either axis were not integer powers of 10, the second axis was often drawn incorrectly.
15 July 2002
Version 1.7
- New data type and corresponding plot types: this version includes box-and-whisker
plots and dot graphs for one or more groups of 1D data.
- File>New menu entry now opens a submenu allowing you to specify the plot
type: XY plot, 1D statistics plot, or 3D plot with random points. Previously it
was not possible to start a 3D plot with random points from scratch in DPlot.
Several changes to 3D plots:
- Corrected a problem with random 3D points. In previous versions, DPlot happily
accepted two or more points with identical X and Y components. This did not
cause any problems with the triangulation, which ignored the 2nd and all
subsequent coincident points. However, this situation caused DPlot to
crash when Generate mesh was selected. In this version DPlot removes points
with identical X and Y components, and tells you it has done so.
- Generate mesh now allows you to forego extrapolating values outside the
triangular mesh.
- Generate mesh allows you to specify the number of additional data points
used to estimate partial derivatives at the input points. In most cases the
default value of 4 works nicely. However in some cases more points are needed to
smooth the resulting plot.
- Improved several inefficiencies in the Generate mesh command, making this
feature run considerably faster, particularly with a large number of input points
and/or a large generated grid.
- The same options for specifying axis extents, tick mark interval, and plot size
that are available for XY plots are now also available for both 2D and 3D contour
plots.
- Added a Paste command for random 3D points. The Paste command assumes that
the clipboard contains ASCII text representations of X,Y,Z triplets. These triplets
will be added to an existing plot, and the plot will be re-triangulated.
- Added XYZ macro/DDE command, which allows you to add one or more X,Y,Z
triplets to an existing contour plot consisting of random 3D points.
- Bug fix: Depending on the order that DPlot found Generate plugin dll's on your hard disk,
the corresponding menu commands may have pointed to the incorrect plugin.
- Bug fix: Corrected a minor problem with the custom color picker control that caused it to
use the incorrect font the second time the control was created.
24 June 2002
Version 1.6.9.12
- DPlot will now accept a "curve" consisting of a single data point, and allow
you to create such a curve using Edit>Edit Data.
- Added a text formatting option for enlarging one or more characters in a
text string. This might be useful for equations, particularly those
involving integrals or summations.
- Text formatting options used in the title lines, axis labels, and legend are
now also available for notations.
- Added NumTicks and TickInterval macro/DDE commands.
- For Visual Basic users, a new XYXY DDE command is considerably faster than
all other VB methods of sending data to DPlot. Like the other methods, this
command sends data values as character strings and so isn't as fast as
sending binary data (as in the C demo), but for reasonable size data sets I
believe you'll be pleased with the results. Thanks to Bill Bracco for the
suggestion.
16 June 2002
Version 1.6.9.9
- Several changes to the C and VB demo programs: The VB example contained a bit of outdated information that
prevented the code from launching DPlot correctly. The VB example has also now been compiled so that users
w/o VB can see what's possible. The C example now allows you to retrieve a bitmap of the plot last produced
by the demo and displays that bitmap. This of course isn't particularly useful for the demo but may give
you ideas for your own applications.
- Eliminated a source of confusion in the Point Labels dialog box. In previous versions the
label descriptions in the Select Label dialog were set to initial values and never updated, leading
many users to believe that the curve number and point number selections were malfunctioning.
- Corrected a bug in the rendering code for random 3D points drawn with shaded bands. In previous versions,
triangles that were scaled to a height of 1 pixel caused a divide by zero error and crash.
- Corrected two problems with text notations. Deleting the first notation caused DPlot to crash. Deleting
a note that was "Button-activated" left the non-functioning button on the plot.
New macro/DDE commands:
- AverageAndReplace is identical to AverageAllCurves, but deletes all pre-existing
curves after finding the average.
- InfoInterpolate displays the Interpolate dialog.
- InfoScan displays the Scanning Points dialog for the selected curve.
- MenuHide and MenuShow do exactly what you'd expect. If using MenuHide you should also
hide the toolbar with ViewToolbar.
- SetWindowPos allows you to set the size and position of either the main application window or
of a child document. It also allows you to make the main application window "stay on top".
1 June 2002
Version 1.6.9.7
- Bug fix. If Dense grid lines was selected on a log scale, and the upper extent of the scale was
not an integer power of 10 (5, for example), then the intermediate grid lines were drawn outside the
limits of the plot.
23 May 2002
Version 1.6.9.6
- Minor fix to a bug introduced in 1.695: When presenting a list of curves in a list box, older versions
displayed the entire legend text for a curve, including formatting codes for subscripts, superscripts, etc.
Version 1.695 cleaned up those list entries by eliminating those formatting codes, but did a poor job of
it. Under some circumstances this "fix" resulted in nonsense entries in the curve list.
21 May 2002
Version 1.6.9.5
- Added a Z axis label input for contour plots. The label is only drawn for plots viewed in 3D with
Draw Axes checked.
- Added an option to always use the displayed colors for printed output (rather than using a separate
printer color palette). See Options>General.
- Text labels may now include bold, italic, and underline attributes as well as subscripts, superscripts,
and symbols.
- Added Microsoft Excel macro examples to the distribution.
Macros/DDE:
- ForFilesIn may now be used to append files to the same document, rather than opening each
file in a separate document window.
- FileOpen, FileAppend, and the ForFilesIn macros handle long filenames a bit
better than previous versions.
- The Directory macro command now works correctly in conjunction with FileOpen and
FileAppend.
- Fixed macro editor so that opening too many document windows with a ForFilesIn loop will abort
the macro, rather than pounding you with a continuous stream of error messages for all remaining files
in the loop.
- Added several new DDE/macro commands: Contour3D, ContourAxes, ContourGrid,
ContourLevels, ContourView, GetPreferences and UseNameAsLegend. See the Help
topic Executing DPlot commands from another application for more information.
- Programmers may now add a series of DDE execute commands to the end of the data for your XTYP_POKE
transactions when operating DPlot via DDE from another application. The main result of this change is
that you may now completely control the appearance of a new plot generated by another program in a
single step, without causing DPlot to generate needless document window updates. Programmers should
see the demo.c demonstration program for an example.
Bug fixes:
- In previous versions the "Use Name as Legend" feature did not work particularly well with
the File>Append menu command, and resulted in a faulty legend.
- Fixed a program-crashing bug that sometimes occurred when closing an XY plot window then opening a
contour plot.
- A roundoff error in the 3D routines caused an inconsistency in appearance between 3D and 2D views.
- Tabstops in notations are handled a bit differently and should now be drawn correctly for all tabstop
values. In previous versions the code was prone to clipping tabbed text if the tabstop value was not
a multiple of 8.
- Added imagehlp.dll to the distribution for Windows 95 users who do not already have this file. This
change will not affect users of other operating systems.
27 March 2002
Version 1.6.9
- For grain size distribution plots, you may specify which sieve size labels are drawn rather than
allowing DPlot to make the decision for you. You can also elect to draw heavy dashed vertical lines
at the material type boundaries. See Options>Linear/Log Scaling>Grain Size Options. Thanks to Jim
Robertson for the suggestions.
- Zoom is now enabled for 2D contour plots generated from random 3D points.
- 3D data on a rectangular grid (as opposed to random 3D points) may now be saved as a CSV
(comma-separated values) file.
- The Specify Columns to Plot dialog for multi-column input files now shows the actual column
headings (if present in the file) in addition to the less useful "Column 1",
"Column 2", etc.
- Unlimited number of text notations.
- A new triangulation algorithm for random 3D points has been implemented and is insanely faster than the
previous method for a large number of points. By way of example, triangulation of 100,000 points now takes
about 1.6 seconds on a 1.4Ghz PC while the previous version took about 17 minutes for the same data. The
comparisons are even more dramatic for larger data sets.
- All contour plots now use the limits specified on the Contour Options dialog. Previously, shaded band
plots divided the Z extents of the data evenly and ignored user input for limits.
- You may now edit up to 16384 X,Y pairs using the Edit Data command. The previous version was limited to
1024 points.
- The code now does a much better job of using the extents you specify with Extents/Tick Marks/Size.
17 February 2002
Version 1.6.7
- Error bars. Errors may be expressed as absolute values or as a percentage of the amplitude.
- Fixed a couple of bugs introduced in last interim release: Options>General options were not properly preserved,
and unchecking "Use thousands separator" on the Number Formats dialog caused the program to crash.
6 February 2002
Version 1.6.4
- Added interface for file export plugins. See the Help file for more information.
- Licensed version is now distributed separately, and includes 5 new plugin modules that extend DPlot's
functionality. See the Features page for more information.
- 3D Plot changes:
- Added a global option to automatically adjust the X, Y and Z scale factors of contour plots such that the plot
is square in the XY plane and the Z extents appear to be roughly 1/2 that of X and Y. See the General
command on the Options menu. This might be useful if you frequently plot data sets that have X and Y
in different units or if the extents are quite a bit different. Previously, DPlot made the adjustment to X and
Y scale factors automatically only if the X and Y extents differed by a factor of 10 or more. All scale
factors may be changed on the Contour Options dialog, regardless of whether this option is set or not.
- Added an Apply button to the Contour Options dialog that allows you to see the results of your
changes without closing the dialog.
- File type K (random 3D points) may now contain 3 title lines and X and Y axis labels.
- DPlot now checks file type K (random 3D points) to see whether all data values lie on a rectangular grid. If
so, it uses that information to triangulate the surface rather than the much more compute-intensive general
purpose triangulation code that it previously used. For large data sets this change makes a huge difference in
processing time.
- Contour plot settings are saved to preference files. Thanks to Nolan Davis for all of these suggestions on
3D plots.
- Commandline interface has been improved in that you are no longer limited to a single commandline parameter. You
may now specify a preferences file in addition to multiple files to open. NOTE: The nag screen of the
evaluation version prevents the commandline parameters from working correctly if DPlot is not already running.
The licensed version (which does not display the nag screen) does not have this limitation.
- Fixed a bug introduced in version 1.6 with the new Undo feature. "Data processing mode" did not work
properly in that version. Thanks to Angela Eubanks for pointing out the problem.
- And another Undo-related bug... inches/mm selection in the "Extents" dialog did not function
correctly.
27 January 2002
Version 1.6.2
A couple of bug fixes to the plugin interface:
- If a fileimport plugin failed because the X and Y arrays were too small, DPlot botched up the attempt to resize
those arrays and try again.
- Line and symbol styles for an existing plot were wiped out when calling a plugin under some circumstances.
14 January 2002
Version 1.6
- Undo feature allows you to undo the last 8 operations. Since individual macro commands cannot be undone, a
Saveundo macro command was added to preserve the plot state before running macros.
- You may specify the frequency of symbols, rather than automatically drawing symbols at every point.
- Added an option to each of the function commands (Y=f(X), etc.) to prevent divide by zero errors. DPlot has always
gracefully trapped a divide by 0. The difference is that you may now automatically shift the independent variable
by a small value so that the error doesn't occur. This might be useful for plotting functions that would
otherwise result in an error at a specific value, e.g. sin(x)/x at x=0.
- Added "Pi Multiples" and "Pi Fractions" number formatting. Thanks
to Brian Smither for the suggestion.
- DPlot accepts "PI", "pi", or "Pi" as the constant 3.1415926... in each of the 3 function generation menu commands.
- Relaxed the test for constant spacing a bit. Some operations (FFT in particular) require that a data record
have a constant spacing, so DPlot checks for this quality when you use one of those commands. For a very large
number of points (1 million or so), there is an inherent precision problem with determining whether the entire
record has a constant spacing. (This is not a problem with digital recorder files or other file formats which
by definition have a constant spacing.) In this case DPlot would report "This feature requires the data
values to have a constant spacing. Note: This error message may be the result of inadequate numerical
precision." The error message is correct, but of course doesn't solve the problem. This version will
successfully test at least 2 million points for a constant interval.
- Added X and Y scale factors to the contour plot options. Previously, DPlot drew 3D contour plots with the same
scale for X and Y, regardless of the extents in those directions. This might have resulted in an exceptionally
narrow plot. Thanks to Nolan Davis for the suggestion.
2001 2003
|
RUNS ON
Windows 10,
Windows 8,
Windows 7, 2008,
Vista, XP, NT,
ME, 2003, 2000,
Windows 98, 95
|
|