QDTOOLS.ZIP distribution policy *IS* restrictive : respect license infra !



                     Q&D Tools for DOS

               "Freeware" final distribution

                (2012 updated 2000 package)

            Copyright (C) by Philippe Guiochon



                  "Command line for ever !"



"-- Why do we have to hide from the Code Police, Daddy ?
 -- Because we use TopSpeed Modula-2, son. They use Micro$oft C."



Although Q&D Tools programs were created in good (?) old DOS
days, most of them are still useful in those (censored) Win9X days
(this was written before the WinXP/Vista Coming Age of Darkness).
Well, *I* still use them, although their main code has been almost
frozen for years now (except for a few functions added
and glitches fixed). Maybe you'll find a few of them of some interest,
too, if you still happen to run any flavor of DOS or
command line console.

Tiny UCLONE and VITAL cloning utilities really CAN save
your hard disk data... thanks to Modula-2 ! Note a boot floppy
and/or XOSL multiboot on a DOS partition will help too. ;-)

Back to Q&D Tools : documentation is minimal, but this should not
be a problem for command line users. And the package is freeware,
after all.

Besides, for most of the programs, Modula-2 and PowerBASIC
source code is provided, even though this courtesy is neither
useful nor educational (please note freeware status and sources
providing do NOT mean "public domain" nor "GPLed" code :
I value my time and (limited) skills as highly as anyone,
and I don't think "collective authorship" is a good thing anyway).
Yes, I know, "me too", as every programmer, I've seen better
<Modula/Basic/Assembler/Forth/C/Perl/InterCal/French/English/YouNameIt...>
code, but I've also seen (much) worse code, whatever its origin
(even from commercial software editors). So what ?

Should you read the source files and should you not like what
you'll see, just remember that once a program is compiled and
works as intended, its source code quality (or lack of) does not
really matter ; its source language does not either, even if it's
not assembly language. Design matters first, implementation comes second.

Incidentally, nobody should remain an "assembly rules everywhere"
young snob for too long a time ! In my good old Apple ][ days,
I was one of them. Now, thanks to the "no comment" school I was
an advocate of, I no longer fully understand my own brilliant
(at the time) 6502 source codes from that far time, whether
it's my word processor, my graphics editors, my graphics libraries,
my operating system (yep, I wrote one and it even featured defragmentation)
and my Apple compatible ROM (no small feat in my not so humble opinion <g>).

Moreover, the Q&D Tools were never intended as academic "tours
de force" : they were mainly written to solve (minor) real-world
problems, as Yet Another Complete Waste of Time illustrations,
or even merely for the fun of playing the (almost) ultimate game
of (il)logic called "programming".

Famous moralist S‚bastien-Roch Nicolas was right when he wrote :
"On court les risques du d‚go–t en voyant comment
l'administration, la justice et la cuisine se pr‚parent.".
This applies to source code too. ;-) At least, you may use the .MOD
files as an inspiration : in this industry, we all like to
reinvent the wheel, because it will be *our* own hand-crafted
wheel... -- which sometimes accounts for its (lack of) roundness.
Provided it's useful, after all... There are worse ways to waste
one's time.

Note next paragraph has been left for text history, although
most of its warnings and statements are no longer applicable
to current state of the programs, now LFN support has been added
to the most important tools : however, none of the Q&D Tools
will correctly process any file whose size is 2 Gb or beyond.
2.147.483.647 bytes should be enough for everybody, anyway. ;-)

    (*
    Please keep in mind many Q&D Tools programs "suffer"
    from historical implementation limits (because of hardware, DOS,
    libraries and compiler used) : 2 Gb maximum individual file size,
    8+3 filenames, limited maximum number of files or directories,
    hard disk size, etc. These limits should not be too
    cumbersome anyway, as they were not with the PC mainly used to
    develop these programs : a 486 DX 33 with 8 Mb RAM and 250 Mb
    hard disk, later replaced with a Pentium II 233 with 64 Mb RAM
    and 2 Gb hard disk. Note any fast PC is likely to force some
    weird (harmless) effects with sounds generated
    by TopSpeed libraries and with graphics (which may be too fast).
    *)

As a last minute bonus (and a way to gafiate -- Science-Fiction
fans will understand), a few useless programs for Windows 3.1
("classic" Vindoze, a.k.a. Win92) have been included : they will
run with the games-oriented operating system often refered to as
"Vindoze 98".

(*
2000 note : at a few users' request, most utilities have been revised
to include minimal support for Win9X LFNs : this support may not be
rock-solid (it makes a few assumptions about character sets
and other minor things), but it's effective enough to enable me
and others to use my Q&D Tools from Win98SE DOS sessions
for system maintenance.

2006 note : while code was supposed to be almost frozen in 2000,
a new computer bought in 2005 (a Pentium 4 running at 2.6 GHz
with 512 Mb RAM and 80 Gb hard disk) required a full rewrite
for those really useful programs : VITAL, DTHS and CS,
which were not adapted to huge hard disks handling. Moreover,
a few friends and acquaintances did require a few updates for
their Win9X and WinXP boxes. Therefore, a few utilities
have been checked (read : better bugfixed), enhanced
and/or rewritten. Besides, Q&D AstroTools freeware package
has been included in QDTOOLS archive. Although its purpose
may seem frivolous (or even nonsensical to many),
it should do as a good demonstration of the excellence of Modula-2
for writing a non-trivial real-world problem solver.

2007 note : programming (read : adding unnecessary features)
is really a never ending story... and therefore a few bugs/features
were fixed/added, last for the FreeDOS project.
But this time, this archive is really final. Well... it should be.
"Promesse de Gascon", as one says in France ?

2008 note : "Never say 'never' again..." :-( Yet another occasion
for a few enhancements, new features and minor fixes. Even better :
I finally took the time to write UCLONE, thus adding the very last
step to my backup paranoia. Both VITAL and UCLONE utilities,
kept on a boot disk (they can be copied to a boot CD or a boot
USB drive) saved and retrieved my hard disk partitions many times
when rogue programs (both DOS and Windows ones !) completely trashed
my data (sometimes to the point of making boot impossible).
Thanks to them, I've avoided many hours of frustration reinstallating
OS and programs, then resetting finely-tuned parameters. IMNSHO,
anyone who values his data should have these backup and restore utilities.

2009 note : "Game Over" ?

2010 note : Yes, "Game Over" for real, this time. Getting too old
for all that. A definite farewell to computing and to computers.
The QDTOOLS.ZIP freeware archive will no longer be publicly updated.

2011 note : "In every programmer a liar" (a variation upon
a famous statement by Number Six). The YACWOT syndrome
did strike again : quirkfixes and minor enhancements were coded
and released to a few friends using a method more modern than
good old floppies : USB keys.

2012 note : Will I really get away from it all any day soon ? ;-)
Moreover, I discovered yet another bad side-effect of the Internet
(in addition to defamation and source theft by some liar Apple pirate) :
a few Web-sites dare and offer QDTOOLS.ZIP programs
WITHOUT being allowed to do so. On a brighter (?) side, I may port
within next months a few tools to Stony Brook freeware compiler.
*)


(* SPECIAL THANKS *)

First, Mr Schlegel is to be thanked for hosting this collection of
(f)utilities on his excellent Modula-2 site
("http://freepages.modula2.org"), which is likely to be
the very last line of defence for us Modula-2 lovers.

When I faked youth, I would only swear by 6502 assembler
(ah, the AIM 65 and Apple ][+ days...) and Forth,
to the point of being almost fanatic. I now have a debt
to Niklaus Wirth for Modula-2 and Oberon languages, whose design
and crystal-clear syntax are among the most elegant I've seen.
I'm still wondering how the very same great man could also be
responsible for the earlier (ugly) Pascal syntax quirks... :-)

The Q&D Tools would lack a few features without Fabrice Bellard
(for his freeware LZEXE DOS packer, used to pack all DOS executables),
Matt Pritchard (for his public domain Mode X library) and of course
Ralf Brown (for the always informative and even sometimes fascinating
DOS Interrupt(s) List).

Jim Hall and the FreeDOS project are to be thanked, too,
for their work keeping good old DOS alive and well,
up to modern hardware, even though they seem to think C, ASM and GPL
are 42 (er... the Ultimate Answer to Every Question). Though I'm
"semper fidelis" (and please, please, do NOT shorten
this already concise Latin formula to the ugly and silly
"semper fi" !) to Novell DOS 7, I would probably use FreeDOS
if I were to install a new PC (read : on newer hardware).
Anyway, I won't be one of those weirdoes running a DOS emulation
from their *nix boxes : what's the use ?

"Woz and Wirth for ever !" anyway !



(* REQUIRED CONFIGURATION *)

CHKEM utility (run from command line in directory where archives
and CHKEM.LOG are to be found) may be used to detect any tampering
(deliberate or accidental) of archives : INSTALL.BAT will always
run this program as a safety measure.

The full Q&D Tools archive require at least this configuration :

    - about 24 Mb of hard disk space (including sub-archives
      and source code : executables alone take of course much,
      much less space) ;
    - an Intel 80486DX or better CPU ;
    - 640 Kb RAM ;
    - a VGA card ;
    - a DOS 3.3 or "better" (whether by Micro$oft, I.B.M.,
      Digital Research, Novell, Caldera or whoever else).

Once again, please note that some basic knowledge of DOS
command line is really required.

Should paranoia strike, .BAS source code recompilation requires
PowerBASIC 3.1 compiler, while .MOD source code recompilation
requires TopSpeed Modula-2 v3.1 DOS compiler with ALL fixes
applied to system libraries, with PathStr type being defined as
ARRAY[0..128] OF CHAR in FIO.DEF. By the way, even though I did
not use too much assembler nor DOS API calls, I strongly doubt
XDS Modula-2 compiler will recompile these programs, even with
the TopSpeed Compatibility Kit gag : this is left as a (useless)
exercice to the reader -- it would be better to fully rewrite
the programs from their help screens !

There's some fun comparing the sizes of many of these humble
DOS programs to the sizes of similar programs (when they exist)
running with other operating systems... and that means :
excluding interface code and data, of course.



(* INSTALLATION *)

QDTOOLS.ZIP archive contains specific ZIP sub-archives whose
name tells their application domain. Each EXE executable file
has a matching .DOC file created with /? option : this should do
for help. A few utilities have companion files, either data
(.INI, .DAT, .PCX, .GLO, .TXT, .TX, .DM, .WAV, .BIN).

BATDOS, BAT98SE and BATXP directories contain real-world .BAT examples
which may be of some interest : note many of them will require
editing by user before use, for they make assumptions
about PC setup. Use them as a base for you own PC and
do NOT run them without FIRST checking them ! Remember
they're mere text files after all.

For ease of use, you'll probably want to unpack sub-archives in
their specific directory before you move your favorite utilities
to a directory located in your PATH environment variable.

INSTALL.BAT batch file (mainly generated by DIRBAT utility
then edited by hand) will perform this operation automatically
in current directory, provided a .ZIP DOS unpacker such as UNZIP
(by Info-Zip group) or PKUNZIP (by PKware) is available and in PATH
or in current directory. Note you may edit INSTALL.BAT
in order to change _xarc_ environment variable value,
should you want to use another .ZIP unpacker.

Note INSTALL.BAT will unpack *everything*, which account for the 24 Mb
required : remember the utilities alone take *much* less room. ;-)

Just in case it would be useful, QDTOOLS.<MD5|SHA> contains
MD5|SHA digests for all files in QDTOOLS.ZIP archive.
Paranoids should note one underestimated point :
yes, MD5 collisions (and possibly SHA-1) can be forged
(on small trivial examples, as far as I know).
Anyway, forging data able to fool several checksum or digest
methods would require god-like abilities. That's why
it's wise to validate data with several algorithms
(CRC32 and MD5, MD5 and SHA-1, etc.). Common sense...

A note about syntax in help screens : almost always,
# means a number either decimal or hexadecimal (with "$" prefix),
while $ means a string. In case of a doubt, just check source code !

Again, a last note about an important implementation limit :
any file whose size is 2 Gb or more will NOT be correctly processed.



(* ARCHIVE CONTENTS *)

Note directories ending with "_S" contain programs source code,
while M2LIB_S contains Modula-2 libraries, and PBLIB_S
PowerBASIC libraries. FUN directory contains a few icons and PIF
files for Windows 3.1 -- yes, I *do* still run it now and then
even in 2012, on my good old Pentium 233 ! ;-)

For each EXE or SCR executable found in WIN31 directory, there
is a matching archive containing its full source code in WIN31_S
directory. These programs were written in Visual Basic 3.0 (yerk!) :
I don't know (and I don't want to know) if later revisions
of Visual Basic are able to recompile provided source code.

For Win92 programs, no installation program was thought
necessary : freely available runtime files VBRUN300.DLL,
PICCLIP.VBX and THREED.VBX should be copied in \WINDOWS\SYSTEM
directory, while *.SCR screensavers should be copied in \WINDOWS
or in \WINDOWS\SYSTEM. Data files should be copied in their
executable directory (in case of doubt, check source code : it
is as readable as VB 3.0 allowed it... which says a lot).

Programs version scheme is fairly classic with its v#.#? form,
where # is a digit and ? a letter. First digit indicates a major rewrite,
second digit indicates a substantial change in design (such as
the addition of many features), while letter indicates a minor change
(such as the addition of a small feature, or a minor quirk/bug fix).

A companion text file in French and English may be included,
kept here for (personal) historical reasons.

*.PBP sources are included to remind me how good
I *WAS* at good old Apple ][ times. Eh, Phil's Operating System
was certainly the leanest and probably the fastest...
and it even had a Krunch function in order to defrag Apple ][ floppies !
Phil's Perfect Printer was able to cut words according to
complex French rules, to process footnotes and to dump text
in Greek (with accents !) on the nice Taxan KP810 printer.
And Phil's Grafwiz was much, much better than the so-called
Graphics Magician. Those were the days... ;-)



::: FILE        ; directory and file utilities

byteproc.exe    ; apply operation to file
c       .exe    ; enhanced CD command able to look for partial matches
cs      .exe    ; check CRC32 / MD5 / SHA [/ Adler 32 / Fletcher 16]
cs      .ini
dcomp   .exe    ; compare filenames in source and target directories
delb    .exe    ; delete files except specified files
dd      .exe    ; xdir/xdel/deltree : 3 in 1 !
dd      .ini
dirbat  .exe    ; create batch file to process specified files
dirweird.exe    ; list "weird" filenames
fcomp   .exe    ; file compare
fu      .exe    ; show file usage
hdfree  .exe    ; show disk space
isempty .exe    ; check if directory is empty
makepath.exe    ; create multi-part directory
newname .exe    ; enhanced rename (prefix, suffix, renumber)
pcopy   .exe    ; copy/move/xcopy + copy preserving path
pcopy   .ini
pending .exe    ; list DR-DOS and Novell DOS pending delete files
popdir  .exe    ; go back to previously saved directory
pushdir .exe    ; save current directory
procdups.exe    ; list identical (CRC32 or MD5) files
total   .exe    ; show file usage
whatlfn .exe    ; show DOS and LFN
with    .exe    ; process command on specified files

::: FUN         ; fun (un)utilities and old 2D demos

aclock  .exe    ; animated clock
curves  .exe    ; splines
daymonth.exe    ; on this day (-e option required)
daym_ego.dat    ; private data file for daymonth.exe
dclock  .exe    ; yet another clock, of the polar kind
explode .exe    ; explosion simulator
fire    .exe    ; particles fire
firebees.exe    ; fire bees
fortune .exe    ; self-explanatory
fortune .txt
taglines.txt
fountain.exe    ; interactive fountain
gematria.exe    ; warning : utter nonsense !
gematria.dat
gridrun .exe    ; a bad idea
iago    .exe    ; pretty bad othello
lavalamp.exe    ; Lava Lamp projector
matrix  .exe    ; over-rated Z-movie but cool text-based effect
oclock  .exe    ; analog clock
pfire   .exe    ; plasma fire
plasma  .exe    ; self-explanatory
pulsar  .exe    ; pretty ugly display
qdlife  .exe    ; yet another Life program
qdlife  .dat
quiz    .exe    ; world's smallest political quiz implementation
quiz    .dat
quiz    .pcx
quizfr  .dat    ; an older French version of quiz.dat
quizfr  .pcx
quizyn  .exe    ; Yes/No quiz implementation
quizyn  .dat
shuttle .exe    ; primitive 3D animation
spiro   .exe    ; spirolatŠres
splines .exe    ; test for splines formulae
stars   .exe    ; self-explanatory
storm   .exe    ; very basic storm display
storm0  .wav
storm1  .wav
textgen .exe    ; rather nice random text generator
textgen .tx     ; *.tx data converted from many, many sources
user    .tx
thought .tx
subbrag .tx
startrek.tx
spout   .tx
slogan  .tx
psychic .tx
noise   .tx
manifest.tx
logotron.tx
logotro2.tx
headline.tx
haiku   .tx
fog     .tx
crackpot.tx
belief  .tx
babble  .tx
iufm    .tx
patron  .tx
rapport .tx
evangile.tx
vin     .tx
tvoff   .exe    ; old TV shutdown
tvstatic.exe    ; ugly TV static display
vclock  .exe    ; yet another moving digits clock
voxel   .exe    ; voxel demo (a cleaner and more readable port than original)
warp    .exe    ; ugly starfield
wobbler .exe    ; fast processor really required
xclock  .exe    ; moving digits clock
yiking  .exe    ; wisdom of the Far East... and/or utter nonsense
yiking  .dat
zigzag  .exe    ; lines and splines

::: HACK        ; <hacker|programmer|power user>'s utilities

dllfind .exe    ; list Win16 and Win32 DLLs used by an executable
dllfind .ini
dths    .exe    ; read/write hard disk sectors
peek    .exe    ; find text strings in files
paspeek .exe    ; extract Pascal strings at specified addresses
picfind .exe    ; view files as graphics
sigfind .exe    ; search files for data
uclone  .exe    ; poor man's IDE/SATA hard disk cloning utility
vital   .exe    ; save/compare/restore vital CMOS and partitions hard disk data
xd      .exe    ; rather nice hexadecimal dump
xosldump.exe    ; dump XOSL multiboot data
xtract  .exe    ; extract data from files

::: MISC        ; various utilities

baseconv.exe    ; yet another decimal/hexadecimal/binary LONGCARD converter
cal     .exe    ; a classic calendar
cdcmd   .exe    ; open/close CDROM tray
chkio   .exe    ; i/o ports diagnostic tool : use with CAUTION !
chkiomap.exe    ; chkio useless companion
chkports.exe    ; i/o ports diagnostic tool : use with CAUTION !
chkstamp.exe    ; compare date/time stamps
chrono  .exe    ; self-explanatory
dt      .exe    ; show date and time
dtchk   .exe    ; safety system clock boot checker
dtsync  .exe    ; copy source stamp to target(s)
elapsed .exe    ; compute elapsed number of days/hours/minutes
ev      .exe    ; show environment variables
factoriz.exe    ; try and find factors for specified number
fmtmdlog.exe    ; convert MD5 digest CS MD5 logs to and from MD5SUM and MD5SUMMER
joystick.exe    ; test joystick
hilite  .exe    ; color highlighting for PowerBASIC 3.1 editor (EMS required)
hilite  .def    ; keywords
hilitem2.exe    ; color highlighting for TopSpeed M2 v3.1 editor (EMS required)
hilitem2.def    ; keywords
l1      .exe    ; enable/disable Pentium II cache (at least on my PC)
makedef .exe    ; .MOD to .DEF (TopSpeed Modula-2 specific)
md5demo .exe    ; self-explanatory
morse   .exe    ; self-explanatory
morse   .dat
mpause  .exe    ; enhanced mouse-enabled pause
picdims .exe    ; list JPG/GIF/PNG dimensions (width and height)
playwav .exe    ; back to the good old SoundBlaster 1.0 days !
poweroff.exe    ; turn PC off (at least on my PC)
reserve .exe    ; create file with user-specified size
restamp .exe    ; change time stamp
rndgen  .exe    ; return a 0..255 random number
shademo .exe    ; self-explanatory
sound   .exe    ; self-explanatory
stamp   .exe    ; save/restore current date/time
xchoice .exe    ; slightly enhanced CHOICE command
xemem   .exe    ; show XMS and/or EMS status

::: TEXT        ; ASCII text processing utilities

ccount  .exe    ; count characters
columns .exe    ; process columns
concat  .exe    ; concatenate binary or text files
crlf    .exe    ; process CR, LF, CRLF
duplines.exe    ; process duplicates from a SORTED text file
filter  .exe    ; process text files
htm2asc .exe    ; HTML to text (Wayne Software's HTMSTRIP is much better)
htm2asc .ini
keepuniq.exe    ; (slowly) filter out lines common to two files
kgroup  .exe    ; filter group of lines
lcount  .exe    ; count lines
mac2pc  .exe    ; macintoy ASCII to PC ASCII (XLAT is better)
newline .exe    ; process text lines
oldnew  .exe    ; process identifiers/words/sequences
pc2mac  .exe    ; PC ASCII to macintrash ASCII (XLAT is better)
trim    .exe    ; trim lines
txtfmt  .exe    ; reformat text files
unpath  .exe    ; reformat path in text line
xlat    .exe    ; convert characters from one set to another
xlat    .glo
wcount  .exe    ; count words

::: VIDEO       ; screen text-mode utilities

chargen .exe    ; set video mode
chkcols .exe    ; check video columns
chkcr   .exe    ; check video columns and rows
chkrows .exe    ; check video rows
ddc     .exe    ; display DDC monitor parameters
fonttool.exe    ; q&d text font editor using text definition
newfont .exe    ; change text font
setvmode.exe    ; set video VESA mode
viewpcx .exe    ; view PCX files (2 or 256 colors only)
a2      .fon
a2      .dat

::: WIN31       ; Windows 3.1 programs

vbrun300.dll    ; runtime (\windows\system)
picclip .vbx    ; runtime (\windows\system)
threed  .vbx    ; runtime (\windows\system)
curves  .scr    ; screensaver
darkness.scr    ; real screensaver
counter .scr    ; nice screensaver... better than John Walker's one in C ! ;-)
eternity.bmp
bam     .wav
bambam  .wav
bees    .exe    ; swarm of bees
savernow.exe    ; immediately run default screensaver
end     .exe    ; don't smile
end     .bmp
end1    .wav
end2    .wav
pusher  .exe    ; time-waster game
sscmdr  .exe    ; small ScreenSaver CoMmanDeR
2000    .exe    ; a contribution to Y2K madness (remember it ?)
2000    .bmp
2000a   .bmp
2000a   .wav
2000b   .wav

::: BATDOS

Batches useful for Novell DOS 7.

::: BAT98SE

Batches useful for Windows 98SE.

::: BATXP

Batches useful for Windows XP.

::: ASTRO

solarsys.exe    ; solar system bodies coordinates

(please check README, LISEZMOI and DEMO*.BAT for more infos
about Q&D AstroTools found in QDASTRO.ZIP subarchive)



(* LICENSE *)

The whole QDTOOLS.ZIP archive content (Q&D Tools programs
and their source code, documentations and texts) are freeware,
but they are definitely NOT public domain (only companion data files,
sometimes adapted (heavily or not) from data found on the Internet,
are to be considered public domain).

Therefore, there are some restrictions about their (unlikely)
distribution. In a nutshell : no one is allowed to include the
Q&D Tools in a shareware or freeware compilation, whether
commercial or not, whatever the medium, unless there exists a
prior written negotiated consent by, and agreement with, the
author to do so. Only two distribution methods are allowed :
the copy of the original archive on any suitable medium
(floppy disks, CDR, etc.) by individuals,
or the download from an authorized Internet site.

In all cases, no amount of money (beyond a very reasonable fee
to cover media price -- such as floppy disks or CDR -- and possibly
the price of a coffee or of a soda) will be charged for the Q&D Tools,
and all the original files must be kept together, without any alteration.
I really do not like all those commercial shareware/freeware resellers
who are the only ones to make money from programs whose authors,
almost always, don't get any cent for their work
(a fact which is almost always not entirely undeserved <g>).
I also don't like those Web-sites who dare and require
a registration before user can download freewares or drivers.
And I really don't like so-called "improved" source code either
(unless it's a complete rewrite such as VOXEL.MOD) :
source code is provided here just in case the user would need
to fix a bug and/or enhance a feature, or just be sure
the program does not contain anything malicious. Use provided
source code as a base for your own programs if you want,
but do NOT release altered versions, and do NOT misrepresent it
as "yours" either ! (That's why the author has removed
the Who When What history headers.) As said supra, I value
my time and (limited) skills as highly as anyone : "freeware"
does not mean (entirely) worthless.

Modula-2 Web-sites, Simtel, Garbo and FreeDOS sites,
and they alone, because of their real work, are authorized
(should they care to do so) to include the Q&D Tools online or
on the CDs they sell or distribute, whatever the (absence of) price.
Any other Web-site willing to offer my programs, whether online or not,
MUST ask for permission FIRST.

As a convenience for users, any authorized Internet site may
offer for download either the individual sub-archives found in
QDTOOLS.ZIP, or zipped individual Q&D Tools components (i.e. an
executable, its documentation, its data files and its source
code if applicable), provided it is clearly stated the archive
comes from Q&D Tools and provided the original QDTOOLS.ZIP
package is available from the same source too. Here are two
examples : TEXT.ZIP archive may be offered alone for download if
its original source archive (QDTOOLS.ZIP) is clearly mentionned
as available for download too. A newly created TEXTGEN.ZIP
archive containing TEXTGEN.EXE, TEXTGEN.DOC and *.TX data files
may be offered for download if its original source archive
(QDTOOLS.ZIP) is clearly mentionned as available for download
too. If source code is included, all relevant modules and
libraries (QD_*.*, MODEX.OBJ if applicable, etc.) must be
included so that recompilation is feasible. Any repackaged archive
including source code must include compiled executable
and data files if applicable (this is the proof the programs do work !).
All repackaged archives must contain this README.TXT file.
For obvious reasons, QDTOOLS.ZIP archive MUST remain intact,
with all files recensed in QDTOOLS.LOG : it must pass CHKEM test
without any problem.

If you feel this policy is too restrictive, this just means
you've never seen your work (ab)used by unscrupulous individuals...
(that means : programs, sources and papers in computer magazines).
Among other oddities, I've even seen a bozo dare and write
he's the author of one of my older Apple ][ utility (ignoring
it was a subpart of my Apple ][ operating system). And many other
bozos copied my astrology program published in Micro-Systemes
instead of using bibliography to write their own.

Using these binaries and sources is very unlikely nowadays
(and the computing world does not really needs them),
but it should be done the Right Way. Freeware means free (costless)
distribution, free (costless) use, but nothing more :
it's definitely NOT "public domain" nor "GPLed" code.


(*
2012 note : a few Web-sites offer portions of QDTOOLS.ZIP archive
without being allowed to do so. Of course, adding insult to injury,
they don't even answer when asked to stop their ILLEGAL distribution
of my work : shame on them ! I guess this is yet another side-effect
of GPL-like licensing scheme, leading too many dishonest people
to dare and believe everything is public domain even when it is NOT !
Do you hear me, "findthatfile.com", among others ?
Once again, QDTOOLS.ZIP is NOT public domain, and its distribution
policy is clear : only ALLOWED Web-sites can offer them,
and source alteration is not to be made public nor "reattributed"
to anyone else pretending to "improve" my code (as one used to say
in the 1980s, "write your own instead !".
As of 2012, only Modula-2 Web-sites, Simtel, Garbo and FreeDOS
Web-sites are authorized, provided they use the latest revision :
others are NOT.
*)

Although their author has created and has been using various
Q&D Tools implementations for years now (back from 1980, in many
languages such as 6502 assembler, Applesoft BASIC, Forth,
Turbo Pascal, C (yuck !), PowerBasic and TopSpeed Modula-2,
for many operating systems, mainly DOS and even Windows 92
DOS box), these programs come without any warranty, except
this one and only statement : Q&D Tools components will take
some space on your hard disk, and, when run, they will use
some of your CPU computing power. In other words, the author
does as everyone does today : he accepts no responsability
at all. ;-)

The author will not be available for
praises/flames/comments/reports : he no longer has an Internet
account, considering the current signal/noise ratio... And he
doesn't believe in job-finding through the Internet. ;-)

Use these tools and source code if you find them useful,
do NOT use them if you don't find them useful. Period.



                  "Command line for ever !"



            "Tout finit bien, puisque tout finit."



                        "Game Over"



                  (* END OF README FILE *)
