|
Welcome to my tiny corner of the Web. This site contains all the Freeware
software I have developed over the past 30 or so years. Most of the apps are
for 32-bit Windows and would probably only be of interest to Windows developers,
however there are also a few apps for more general consumption.
Some of the stuff here, such as that for 16-bit Windows and DOS, is ancient and
probably of no interest to anyone, but you never know what people find useful,
hence the reason why I have included some trivial DOS programs and even my
unfinished projects. It is my attempt to give something back to the development
community, even if that "something" is how not to do it nowadays.
|
|
|
|
Most of the 32-bit applications were developed and tested under Windows 9x, 2000
and XP and the underlying framework started out on Windows 3.x. My aim has
always been to try and keep as much compatibility with the various 32-bit OS's
as possible. (I've had questions about using my DDE tools on Windows 95 as
recently as 2017!)
The applications tend to use the older technique of storing their settings and
data in the application's folder, a model which has not worked well since
Windows XP, although Vista introduced a virtualization based workaround.
Consequently if you are not running as an Administrator (and you should really
try not to), you will need to install it to a folder other than
Program Files . I will be updating the applications when I can to
use the %APPDATA% folder instead for data, and allow the choice of
Registry or .ini files for program settings.
|
|
Binaries are available for virtually everything with the more recent releases
packaged as an MSI installer. I'm also returning to providing a classic .zip file
once again for those who prefer manual installations. Prior to the use of MSIs
you will just find the binaries packaged in a .zip file sometimes with my own
simple, custom installer.
The native applications are all linked statically and use my own framework so
there are no additional dependencies like the VB, MFC or .NET runtimes. The only
dependency is on the common controls DLL (COMCTL32.DLL ) of which
you need at least v4.71 which shipped with IE 4 :o).
All the Win32 applications are available as both a Release build and a
Debug build. You should always follow the Download (or ZIP)
link and install the Release build; the Debug build is only of use if you
experience a problem and you'd like to help me try and fix it.
The Java applets are all JDK 1.1 based and should run on any JVM.
|
|
The source code is available for everything I've written, so if you want to
tinker or fix a bug then you can. Alternatively, if you want to use some of this
code in your own then feel free to do so, but you should be aware that I do not
consider this "production grade" code.
The C++ framework is my own creation and has a long heritage which pre-dates
templates (as far as Visual C++ support goes). Hence you will find non-STL style
containers in the older code and other reinventions of the wheel rather than
use of, say, the Boost libraries. This is because of a number of reasons -
compiler support, licensing issues, paradigm shifts and the simple fact that a
good way to learn is to do-it-yourself. That said, I intend to refactor
as much as possible with STL equivalents as and when I can.
To build binaries usable on Windows 95+ effectively means using Visual C++
7.1 -- aka VS2003 -- which in turn means sticking to C++ 98.
Project/Solution Format
From January 2016 all C++ source archives come as Visual C++ 9.0 (VS2008)
projects and solutions with Unicode set as the default build type. The code
should however still build as ANSI and is also regularly built against the
latest version of Visual C++ too. (My Scripts repo contains a script called
DowngradeTo71 which makes VC++ 9.0 project and solution files
compatible with VC++ 7.1.)
The non-COM libraries and some non-COM applications are also built as ANSI with
GCC (via the
Code::Blocks IDE). You will find a
Code::Blocks .workspace file and various .cbp files
alongside the Visual C++ .sln and .vcproj equivalents.
The Code::Blocks files are not always perfectly in sync though.
Prior to January 2016 you will find Visual C++ 7.1 solutions back to about
August 2004 and before that the Win32 solutions are Visual C++ 6.0 based. The
Java solutions come with a Visual J++ workspace, the Win16 code comes with a
Visual C++ 1.52c solution and the DOS tools come with an NMAKE makefile.
Latest Code vs. Stable Snapshot
The latest version of the source code for any projects I actively maintain can
be found on GitHub here: https://github.com/chrisoldwood.
Most projects contain a file in the root called DevNotes.txt that
provides details on the source folder structure, dependent git library repos to
clone, build scripts, testing notes, release checklist, etc.
If you're looking for the last stable source code for any application you
will find a snapshot of everything you need (app + libs + tests + scripts) in the
application's "Source" .zip file on this web site. Whilst there are tags in the
GitHub application repos, there is no equivalent tag in the dependent
library repos and so you'd have to find the nearest relevant commit by date to
find the matching library code.
|
|
While I'd like to think that Wheaton's Law
should be enough of a "legal framework" under which users of my code should
abide I realise that it's just not formal enough for everyone to be confident
about where they stand. Consequently if you're looking for something more formal
then you should consider everything I publish as being covered by the more
common MIT License. (All repos should have a
LICENSE.txt by now.)
Of course if you do find something of interest, either by using one of the apps
or some of the source code in your own projects I would be grateful if you could
drop me a line. It's always nice to hear that I've done something of use to
others, no matter how small. Also, if you upload a binary or code to another
site please let me know as I can then notify you and them of new releases.
|
|
I hope you're not looking for one of these either, because it also doesn't exist.
All the code on this site is supplied without any guarantees whatsoever. If I've
done a decent job you shouldn't experience any problems, but I have to cover my
back and warn you that only get what you pay for...
|
|
Some of this software could not have been written without the time and resources
of others, and so here is a big thank you to the various people who have
contributed to my efforts over the years.
|
|
I have a blog which provides some more background information on the applications
and source code on this website and for other general ramblings. It can be found
at http://chrisoldwood.blogspot.com.
|
|
I am happy to receive any feedback you have, whether it be bug reports, bug
fixes, or suggestions for new features. You can contact me on email via
gort@cix.co.uk, Twitter via
@chrisoldwood, and Mastodon via
@chrisoldwood@mastodon.social.
Chris Oldwood
|
|