Software Odds and Ends
(Permanently Under Construction)



General Comments

    Anything you find here, unless specifically labeled otherwise, is FREEWARE and is provide as is, with ABSOLUTELY NO GUARANTEE. Use it or distribute as you like, provided that no fee is charged. Note: I'm usually willing supply the source code for anything I've written; just drop me an email if your're interested. Also, comments and suggestions are always welcome.



    Here is the "home page" for Sudoku Puzzle Tool 0.1, my new textmode program for Linux and DOS that is also is known to work under Windows XP. Read the description and have a look at the screen shots!

Windows9x

    Cryptogram Puzzle Tool 3.0 (cptsetup.exe, 270KB) is a Windows version of CPT (see below), a program to help solve the cryptograms that appear in the daily newspapers. This version adds extensive mouse-based functionality to the DOS version, allowing such things as character substitution via drag and drop.
    The conversion of CPT from earlier DOS and Linux versions to Windows was undertaken mainly as a learning experience and represents my first significant foray into Visual C++ and Windows API programming. Although the Windows version retains much of the original DOS-based appearance, the new graphical interface elements such as special cursors, drag and drop capability, and scroll bars give it a feel that I think will be comfortable to most Windows users.
    NOTE: This program does NOT work under Windows XP, but the DOS version (see below) works fine in a DOS window under XP if you'd just like to try something.

    CacheViewAssistant 1.0 BETA2  (cva1-beta2-setup.exe, 153KB), specifically for Internet Explorer 4.0 and above, scans the internet cache directory tree for graphic files and launches the Internet Explorer to produce of slideshow of them. See Readme.txt for details.
    NOTE: This program most likely does NOT work under Windows XP.

    This SOUND (psst4.wav, 34KB) is a replacement for Windows' default "asterisk" sound; I find that it's much better at getting my attention in situations where I'm about the break something, and besides, it amuses me.
    To just listen to it, tell your browser to open it in its current location. To use it in Windows9x, tell your browser to download it to a file such as "C:\WINDOWS\MEDIA\pssst.wav" and then use Settings, Control Panel, Sounds, Browse, etc. to install it.


Gizmos for DOS under Windows98

    Here are some gizmos I use to simplify things when working in a DOS box under Windows98. You will probably only be interested in these if you routinely work in DOS and understand about paths, etc.

    IE (ie00.zip, 42KB) is a little program that launches the Internet Explorer to view a given local file directly from the DOS prompt. In the current directory you just supply the file name, as in "ie foo.htm"; elsewhere you can specify the path using DJGPP style wildcards, as in "ie /*/*/*/bar.htm" (which would pick up 'bar.htm' if it was in any of the Internet Explorer cache directories).

    MKFAV (mkfav.zip, 1.1KB) is a little batch file that condenses the URLS in the Internet Explorer "favorites" directory into a single HTML file, suitable for use as a local startup file (among other things). MKFAV uses several of the DJGPP utilities (gawk, tr, echo, rm, touch), however, so don't bother if you don't have DJGPP installed.

    MKPVIEW (mkpview.zip, 1.6KB) is a little batch file that creates an HTML file with links to all the stuff in the current Internet Explorer cache. Needs ASK1.EXE (see below) as well as several of the DJGPP utilities.

    CP-PICS (cp-pics.zip, 1.5KB) is a little batch file that creates second batch file containing commands to copy all the .GIF, .JPG. .JPE. and .JPEG files in the current Internet Explorer cache to the current working directory; edit the resulting file to capture only the stuff you're interested in. Needs ASK1.EXE as well as several of the DJGPP utilities.



DOS

    BIGTXT (btxt40.zip, 23KB) is a DOS program that displays ASCII text as very large characters scrolling across the display screen, something like the Windows screen saver but with much larger characters and SMOOTH scrolling over a large range of speeds. BIGTXT started life as an advertising message generator for the Commodore64 in about 1983, was recoded in PowerC for DOS during the early '90's, and has recently had a command line option for setting scroll speed added to facilitate operation under Windows.
    You should know that BIGTXT manipulates the VGA hardware registers and so will only work with a VGA compatible video card; but I think that almost all PC compatible video cards manufactured in the last ten years meet this requirement. You should also know that BIGTXT is a resource hog: it detects the start of vertical retrace by polling and so it works well only if it's the only thing running. That being said, BIGTXT has worked fine on all my DOS machines over the years and now works fine as a full-screen application on both my Windows95 and my Windows98 machines.

    GD is a little supplement for DOS's CD command that I wrote in 1991 and been using routinely ever since. Under Window9x, it's use of the old fashioned DOS 8:3 filename format has actually turned out to be a boon, making short work (as it were) of long directory names.
    You use GD by giving it the beginning few characters of a directory name. If an unambiguous match is found, the program changes to the new directory; otherwise it gives you a list of possible matches to chose from. On my Windows98 system, for example, "gd tempo" immediately changes to the "\WINDOWS\Temporary Internet Files\" directory, but "gd temp" presents you with a list of five possiblities, and "gd t" presents you with a list of thirty eight.
    If you have a really big system, try THIS (gd10.zip, 38KB), a recent port to DJGPP. This version handles 5000 directories, as compared to 1000 in the original 16-bit version, and has improved error handling, and includes the 'C' source in the archive. See below for notes on using DJGPP executables.

    CRC (crc14.zip, 12KB) is a DOS version of program that I've used for years to do quick cross-platform and remote file version checking; it displays a file's CRC-32, size in bytes, number of lines (LF's), and filename all on a single output line, making it suitable for use in scripts.
    The zip file also contains the 'C' source; it should compile and run without changes on DJGPP, Linux, and many other systems.

    ASK1 (ask1.zip, 8KB) is a little program used in batch files to display a prompt string and then return the first character keyed in by the operator. The operator input is returned via the completion code, or if a specified number of seconds time elapses an operator keystroke zero is returned. Both the .EXE and 'C' source are included.

DOS / DJGPP

    The programs in this section were built using DJGPP V2.01, which means that they'll only run on a 386 or better, and that they need a DPMI (DOS Protect Mode Interface) server in order to run. You get a DPMI automatically under Windows9x, but if you're running straight DOS and get a message like "Load error: no DPMI ...", then download THIS (cwsdpmi3.zip, 16KB), unzip it, and put CWSDPMI.EXE in your execution path.
    Some of the programs built under DJGPP V2.01 may need a floating point emulator to running on a 386 or 486. If you get a message like "... Coprocessor not available ..." download THIS (emu387.zip, 12KB), unzip it, and put EMU387.DXE in your execution path.

    CPUCHECK (cpuchk20.zip, 27KB) attempts to determine if the processor it's running on is a 386, a 486, or a 586, and if it's a 586, measures its clock speed. The zipfile contains the DOS executable as well as the 'C' source and the makefile for DJGPP; it will compile and run under Linux as well.
    The processor type and speed are things you probably already know, of course, but you might be surprised: the generic Windows95 machine I bought a few years ago turned out to have a 486-class processor, even though all the sales stuff lead me to believe it was a Pentium.
    If you're a programmer, you might find CPUCHECK interesting as an example of 1) GCC format inline assembly language, and 2) using the Pentium's timestamp register. The timestamp register, which free runs at the processor's clock speed, can be used to create extremely short, accurate delays in device handlers and other critical applications.

    CPT (cpt20022.zip, 71KB) is a program that aids in solving the simple cryptogram puzzles that appear in the daily newspapers, mainly by 1) updating all occurances whenever you enter a character substitution, and 2) providing on-the-fly character frequency and used/not-used character lists. A built in encrypting function also lets you create new puzzles, either from text you enter manually or from small ASCII files.
    This version of CPT incorporates an ingenious algorithm by George W. Hart that can often come very close to solving a puzzle automatically. The algorithm doesn't always work, however, as evidenced by one of the sample puzzles included in the zipfile; in such difficult cases CPT's global updating might still make manual solution considerably easier.
    Finally, if you'd like to try playing around with CPT but don't have a 386 or better processor, send me an email and I'll post the original 1993 version (without the Hart algorithm), which will run on almost anything.

    SLSC is a nifty character mode spreadsheet program that John E. Davis (of JED editor fame) adapted from SC (an older public domain Unix program) and that I've recently ported to DJGPP. These archives represent my second cut, and although the basic program seems to work nicely, there are definitely a few rough edges. Added in this second edition: an ILLUSTRATIVE ONLY spreadsheet for figuring 1998 taxes and comparing joint and separate filing situations.
    THIS (slscdj1s.zip, 90KB) contains the C sources and docs, and THIS  (slscdj1b.zip, 155KB) contains the DOS executable and docs.



For LOTS more freeware and shareware, try . You can even find a copy of CPT 3.0 there!



This site is intended to be Arachne and everything else friendly. If it isn't, please let me know!