October 31, 2001

DISCLAIMERS:

    I should say that I'm not a professional programmer; my real job is
    designing chips.  Also, although I've developed a small number of
    Win32 apps, they've all been hacked together affairs.  Solace is no
    different.  There has been no master plan and no well thought-out
    framework.  If you dare look through the code, you'll see ample
    evidence.  Still, I've tried to add some structure after the fact,
    but it could use a lot more of it.

    The code was developed by a long series of slight improvements and one
    or two large undertakings (the debugger interface is one of the
    latter).  I've learned a lot so far about Win32 programming,
    frustrating as it is.  Often times I'd implement a feature knowing
    nothing about the "correct" way to do it.  Typically I'd peruse one of
    the half dozen Win32 books I have, do some web searches, and sometimes
    look at source code from other windows apps.  Often it was enough to
    see the existance of a key function or message and it would be enough
    for me to get on with the solution; othertimes I'd take it as black
    magic and just rip a snippet of code from elsewhere and trust that the
    voodoo would work for me.  I think a lot of windows programmers work
    this way too.

BUILDING SOLACE:

    Solace was built using MSVS C++ 6.0, SP4, Standard Edition, and was
    developed under MS Windows 95, OSR2.  It has been lightly tested on
    Windows 98 and Windows NT 4.0 SP3 and seems to work on those platforms
    as well.

    If you want to build Solace yourself and you have MSVS C++, you
    should just be able to load up the solace.dsw file via the File/Load
    Workspace menu item.  Pick your build target (debug or release) and
    then build.

    Note that a few files are loaded from Solace assuming a certain
    directory hierarchy (namely, the HTML help files, the .INI file,
    and the SOLOS ROM image).  If you execute Solace from MSVS, the
    notion of "current directory" at program startup is from the build
    directory, and those files won't be found.  Either copy the
    resulting binary up a level, use the .INI file to point at the
    proper ROM directory, or edit the source to access whatever
    directory you desire.

CODE OWNERSHIP:

    If you want to take pieces of code out of Solace, feel free.  If you
    take large parts of code, I'd like to be given a bit of credit for my
    work; including it in a comment in the code itself would be nice.
    Please drop me a line if you make use of my code; I'd get a kick out
    of knowing that somebody found it useful.

    Should you feel motivated to improve Solace in a major way, or even a
    minor way, that you think would be of interest to the three other
    Solace users in the world, please let me know and I'll integrate your
    change (if I also think it is useful to a larger audience) to the
    "official" Solace.

