Q&D Tools for DOS "Freeware" distribution (2007 updated 2000 package) Copyright (C) by PhG "-- Why do we have to hide from the police, Daddy ? -- Because we use TopSpeed Modula-2, son. They use Microsoft C." Although Q&D Tools programs were created in good (?) old DOS days, most of them are still useful in those (censored) Win9X days. Well, *I* still use them, although their code has been frozen for years now (except for a few functions added and glitches fixed). Maybe you'll find some of them of some interest, too, if you happen to run any flavor of DOS. 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. Yes, I know, I've seen better code, but I've also seen (much) worse code, whatever its origin (even from 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. Moreover, these small programs were never intended as academic "tours de force" : they were mainly written to solve (minor) real-world problems, or as Yet Another Complete Waste of Time illustrations. 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. Please keep in mind almost all of Q&D Tools programs "suffer" from historical implementation limits (because of hardware, DOS and compiler used) : 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 code 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". A few utilities have been fixed to include limited support for Win9X LFNs. 2006 note : while code was supposed to be 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 and DTHS. 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 big real-world problem solver. 2007 note : programming (read : adding unnecessary features) is really a never ending story... and a few bugs/features were fixed/added. But this time, this archive is really final, final, final... ;-) Mr Schlegel is to be thanked for hosting this collection of utilities on his excellent Modula-2 site. 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. (* REQUIRED CONFIGURATION *) The Q&D Tools require at least this configuration : - about 15 Mb of hard disk space (including source code) ; - an Intel 80486DX or better CPU ; - 640 Kb RAM ; - a VGA card ; - a DOS 3.3 (whether by Micro$oft, I.B.M., Digital Research, Novell, Caldera or whoever else). 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 mere help screens ! (* 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) or examples (.BAT). 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, will perform this operation automatically in current directory, provided DOS PKUNZIP is available and in PATH. Note INSTALL.BAT will unpack *everything*, which account for the 15 Mb required : in fact, the utilities alone take *much* less room. ;-) Just in case it would be useful, QDTOOLS.LOG contains MD5 values for all files in QDTOOLS.LOG. (* 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 ! ;-) 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). ::: DIR ; directory utilities c .exe ; enhanced CD command able to look for partial matches dcomp .exe ; compare filenames in source and target directories isempty .exe ; check if directory is empty makepath.exe ; create multi-part directory popdir .exe ; go back to previously saved directory pushdir .exe ; save current directory common .bat ; list filenames common to source and target directories uniques .bat ; list filenames unique in source and target directories already .bat ; list filenames from source not existing in target ff .bat ; filefind on filenames ::: DISK ; hard disk utilities fu .exe ; show file usage hdfree .exe ; show disk space reserve .exe ; create file with user-specified size total .exe ; show file usage usage .bat free .bat ; show free space used .bat ; show used space size .bat ; show file usage ::: FILE ; file utilities byteproc.exe ; apply operation to file cs .exe ; check CRC32 cs .ini delb .exe ; delete files except specified files dirbat .exe ; create batch file to process specified files dirweird.exe ; list "weird" filenames fcomp .exe ; file compare newname .exe ; enhanced rename (prefix, suffix, renumber) pending .exe ; list DR-DOS and Novell DOS pending delete files pcopy .exe ; copy preserving path procdups.exe ; list identical (CRC32) files with .exe ; process command on specified files delbut .bat ; self-explanatory dirbut .bat ; self-explanatory dironly .bat ; self-explanatory prefix .bat ; self-explanatory suffix .bat ; self-explanatory delchars.bat ; clean filenames ::: 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 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 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 stars .exe ; self-explanatory storm .exe ; very basic storm display storm0 .wav storm1 .wav textgen .exe ; rather nice random text generator textgen .tx 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 tvoff .exe ; old TV shutdown tvstatic.exe ; ugly TV static display vclock .exe ; yet another moving digits clock 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 lifedemo.bat ; QDLIFE demo tagline .bat vv .bat ; vclock display nunc .bat ; Solar System astro(il)logical display today .bat ; DayMonth display ::: HACK ; 's utilities dllfind .exe ; list Win16 DLLs peek .exe ; find text strings in files picfind .exe ; view files as graphics sigfind .exe ; search files for data xd .exe ; rather nice hexadecimal dump xtract .exe ; extract data from files ::: MISC ; various utilities cdcmd .exe ; open/close CDROM tray chrono .exe ; self-explanatory dt .exe ; show date and time dtchk .exe ; safety system clock boot checker dths .exe ; read/write hard disk sectors dtsync .exe ; copy source stamp to target(s) elapsed .exe ; compute elapsed number of days/hours/minutes ev .exe ; show environment variables 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 playwav .exe ; back to the good old SoundBlaster 1.0 days ! poweroff.exe ; turn PC off (at least on my PC) rndgen .exe ; return a 0..255 random number sound .exe ; self-explanatory stamp .exe ; save/restore current date/time vital .exe ; save/compare/restore vital hard disk data xemem .exe ; show XMS and/or EMS status cdabout .bat ; infos about available CDROM units cdeject .bat ; self-explanatory cdclose .bat ; self-explanatory mm .bat ; TopSpeed editor/compiler caller batch now .bat ; self-explanatory ::: TEXT ; ASCII text processing utilities ccount .exe ; count characters columns .exe ; process columns crlf .exe ; process CR, LF, CRLF duplines.exe ; process duplicates from a SORTED text file htm2asc .exe ; HTML to text (Wayne Software's HTMSTRIP is much better) htm2asc .ini keepuniq.exe ; (slowly) filter out lines common to two files 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 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 25 .bat ; self-explanatory 50 .bat ; self-explanatory 132 .bat ; self-explanatory 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 ::: ASTRO solarsys.exe ; solar system bodies coordinates (please check README, LISEZMOI and DEMO*.BAT for more infos about Q&D AstroTools) (* LICENSE *) The Q&D Tools programs and their source code are freeware, but they are definitely NOT public domain (only data files, sometimes heavily adapted 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 required floppy disk(s) by individuals, or the download from an authorized Internet site. In all cases, no amount of money will be charged for the Q&D Tools, and all the original files must be kept together, without any alteration nor added files. I really do not like all those 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 ). I also don't like those Web-sites who dare and require a registration before user can download freewares. And I don't like self-called "improved" source code either : use provided source code as a base for your own programs if you want, but do NOT alter it. Simtel and Garbo sites, and they alone, because of their real work, are authorized to include the Q&D Tools on the CDs they sell. 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 : DISK.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. Source code archive must include compiled executable and data files if applicable. All repackaged archives must contain this README.TXT file. For obvious reasons, QDTOOLS.ZIP archive MUST remain intact, without addition nor deletion. 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, PowerBasic and TopSpeed Modula-2, for many operating systems, especially DOS and even Windows DOS box), these programs come without any warranty, except this 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. 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. "Tout finit bien, puisque tout finit.". (* END OF README FILE *)