Welcome to Dr. Bill's Software!

Follow software updates on Twitter

All of the programs that will appear on this page are written by me (copyright © William T. Verts), but are free for unlimited distribution. In other words: don't send me any money, use the programs on as many machines as you like, make as many copies as you want, and give them to anybody who asks for them or who you think might enjoy them. Of course, I would like to know what you think of them, so I would really appreciate it if you could send me mail at verts@cs.umass.edu to tell me how you are using the programs. Please, if you make copies of the software for distribution, I ask that you keep all related files together in the same archive. Thanks.

I have scanned the files for viruses before posting them, and believe them to be clean. As with anything you pull off of the 'Net, please scan them before you run them.


Links to Individual Program Sections
DATE2000 A utility for showing the days
remaining until January 1, 2000
WINDOWS 3.1, OBSOLETE
DATE_DIF Computes the number of days between two dates,
from January 1, 1900 to December 31, 2099
WINDOWS 3.1
BIG_HEX Converts very large decimal integers
into very large hexadecimal integers
WINDOWS 3.1
HTML_RGB Generates HTML color numbers
from Red-Green-Blue scroll bars
WINDOWS 3.1, OBSOLETE (see below)
QUIZWRITER A way to create very simple
quizzes in HTML (not forms based)
BIGNOTEPAD A replacement for Windows Notepad
with many enhancements.
IF_WRITER A utility for helping students of
Excel create IF formulas
QUICK_HTML A program to quickly generate a
basic web page from fill-in slots
YEARS Generates graphical bitmaps of
whole year calendars
COLORBLEND Generates a 256x256 bitmap image
that blends four selected corner colors
IMAGEMAP Helps generate HTML client-side image
maps, converts between .BMP and .JPG
BROWSER_SAFE_COLORS Helps pick browser-safe HTML colors
for entering into a web page
TRANSPARENTGIF Helps convert .GIF images into Transparent .GIF,
and allows users to modify the color maps.
TWIN_COLOR Helps design HTML colors, both true RGB
and Browser Safe, simultaneously.
PUSH_BUTTONS Helps generate sculptured push-buttons for
HTML web pages, in .BMP and .JPG format
VIEW Simple interface to view lists of .BMP, .JPG,
and .ICO files, save as .BMP or .JPG files.
COLOR_CUBE Generates a color cube at any resolution
from primary colors to 24 bit RGB
LF_AFTER Filters text files to make line-breaks
compatible with PC, Mac, UNIX systems
Von Koch Snowflake Generates Von Koch snowflake images
at levels 0-15
QUICKCAM MS-DOS driver for Connectix QuickCam,
gray-scale parallel port version
Bezier Curve Design Tool Tool to explore Bezier Curves
and design bitmaps using them
Maze Generator Tool Mazes Generator, up to 100x75
Save to .BMP file, trace solution
Text as Spots of Color View text files as color spots,
for folks with synesthesia.
CPU Speed in MHz Display speed of CPU in MHz,
Pentium or better.
Programmers Spreadsheet A Programmer's Spreadsheet,
16 bit integers and bit operations.
Single-Precision Floating-Point Number Converter Single-Precision Floating-
Point Number Converter
Search and Sort Demo Educator's Demo for showing differences
between linear and binary searches
Web File Fetcher Program to fetch files from the Web
without a traditional Web browser
Binary Clock Simple Stay-on-Top
Binary Clock
CamWatcher Program to watch multiple webcams
simultaneously
Graph Polynomials Grapher of Polynomials
up to Cubics
Edit Icons Package of Icon Editors
for Windows and Web pages
Make Buttons Button designer
for Web pages
LED Driver Compute dropping resistor
for LED (with optional driver)
Z99 Spreadsheet for Windows Z99 Spreadsheet for Windows Sierpinski Gasket Sierpinski Gasket
Generator




DATE2000 (Obsolete) and DATE_DIF

Made Public April 10, 1997

These two programs were written in Borland Delphi 1.0 and will run under Windows 3.1 or Windows 95. DATE2000 continuously displays the number of days remaining until January 1, 2000, checking the system clock once per minute (and changing the color of the window between cyan and yellow).

DATE_DIF allows people to compute the difference in days between two dates (ranging between January 1, 1900 and December 31, 2099 -- the same range of dates as used by Lotus 1-2-3 v2.3).

, DATES.ZIP (180K .ZIP archive, expands to two .EXE programs of about 200K apiece).


BIG_HEX

Made Public May 3, 1997

This program was written in Borland Delphi 1.0 and will run under Windows 3.1 or Windows 95. It uses an extended precision technique to convert hexadecimal (base 16) numbers into decimal, where the numbers may contain up to 255 characters. Either the input number (hexadecimal) or the output number (decimal) may be copied to the clipboard, and the decimal number may be shown with or without commas every three places.

BIG_HEX.ZIP (103K .ZIP archive, expands to one .EXE program of about 254K).


HTML_RGB (Obsolete)

Made Public September 14, 1997

This program was written in Borland Delphi 1.0 and will run under Windows 3.1 or Windows 95. It contains three scroll bars, one for each primary color (Red, Green, Blue), which you can use to create any desired color by mixing three color values between 0 and 255.

It also contains 8 speed buttons to quickly set the scroll bars to any combination of the primary colors. Whichever mix is selected, you view the composite color in a small window (clicking on this window brings up the "about box").

As you blend colors, you see a text representation of the current color in the form required by the <BODY> section of an HTML web page. Clicking on the "Copy to Clipboard" button copies the text representation into the clipboard, which can then be copied into a text editor where an HTML web page is being written.

HTML_RGB.ZIP (100K .ZIP archive, expands to an .EXE program of about 250K).


Quiz Writer

Made Public February 19, 1998

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It allows a user to create the HTML page for a quiz, the answers to be emailed to a central site for grading. The person running the Quiz Writer program can set the number of questions, the recipient email address, the quiz number, the number of points, and a header and trailer region for text. Once the number of questions has been established, the equivalent number of editing pages are provided, wherein the text of the questions are composed. The equivalent HTML code may be viewed or saved at any time through the menu.

Since I wrote this program I have gone on to working with HTML forms and CGI scripts for automating the process of a student answering a quiz. This program DOES NOT DO THAT. It is a simple tool for creating HTML web page quizzes. The students must then manually compose and email their replies to the central site.

QuizWriter.zip (186K .ZIP archive, expands to an .EXE program of about 417K).


Big Notepad

Version 1.0 Made Public March 17, 1998

Version 1.5 Made Public July 31, 1998

Version 1.75 Made Public February 7, 1999

Version 1.9 Made Public July 5, 1999

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is a variation on the Microsoft Windows Notepad accessory, except that this version allows the text size, text color, and background colors to be changed, includes a tool bar and status line (both of which may be turned on or off), and includes a simple "Replace" function along with the normal "Find" function.

Version 1.5 improves the string search and replace facility (internal clean-up, as well as adding the option to control case sensitivity in searching), and adds a "Go To Bottom" function (in addition to the already existing "Go To Top").

Version 1.75 contains a number of additions and corrections. UNDO is implemented, a Save As HTML function and a foreign language character entry key pad are now available, and a bunch of text tools dealing with case, tabs, blanks, diacritical marks, line breaks, etc. have been added.

Version 1.9 adds several more tools (including sorting selected lines and removing blank lines), and fixes a couple of nagging bugs (including removing some odd behavior involving the clipboard and empty text selections), and finally implements printing in some coherent (working) form.

BigNotepad.zip (218K .ZIP archive, expands to an .EXE program of about 427K).


IF_Writer (version 1.0)

Made Public July 31, 1998

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is a small program to help students (who are learning Microsoft Excel) figure out the IF(_,_,_) function. It is intended that students will use the program for a little while, then will quickly outgrow it as they become more comfortable with writing conditionals in Excel.

IF_Writer.zip (141K .ZIP archive, expands to an .EXE program of about 331K).


Quick_HTML (version 1.0)

Made Public July 31, 1998

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to guide beginning students through the process of creating a working web page. It is not intended that this program compete with any of the very fine web page editing programs from Claris, Microsoft, or Adobe (or others). Instead, this is a way to quickly boilerplate an "acceptable" web page with colors, links, comments, titles, and a picture. Once people have filled in the forms, they can view or save the resulting HTML code, which is automatically generated.

Quick_HTML.zip (180K .ZIP archive, expands to an .EXE program of about 409K).


Years (version 1.0)

Made Public July 5, 1999

NewYears (version 1.0)

Made Public September 18, 2001

The original program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allow people to create graphics images of yearly calendars. Users may select the year, colors, and font sizes (the image adjusts its size and repaints itself appropriately), and the resulting image may be copied to the clipboard for further processing or saving (with ImageMap, for example, linked below).

The updated program NewYears is a complete rewrite of the program from the ground up, and is not simply a revision of the earlier code. This version was written in Delphi 4.0, and contains many features and enhancements over the original program. The original program could not save the image to a bitmap; this version can. Also, the user has detailed control over the fonts (typeface, size, color, etc., used in the Year label, Month names, Sunday numbers, and Day-Of-Week numbers), the color of the background, and the spacing of the bits of geometry on the screen. The resulting image, which may be either 24-bit color (for odd colored backgrounds) or 4-bit color (to reduce image size) may be copied to the clipboard or saved to a .BMP file.

Years.zip (150K .ZIP archive, expands to an .EXE program of about 337K). Still functional, but incomplete and somewhat out-of-date.

NewYears.zip (215K .ZIP archive, expands to an .EXE program of about 427K).


ColorBlend (version 1.0)

Made Public July 5, 1999

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allow people to create graphics images by blending colors from color-pickers established at the four corners of the 256x256 pixel image. Results may be saved as 24 bit bitmaps, 256-color, 16-color, or 2-color bitmaps, and copied to the clipboard for use in other graphics programs. This program works best on systems with more than 256 colors (32K colors will work OK, with some losses in quality, but 24-bit color systems work the best).

ColorBlend.zip (150K .ZIP archive, expands to an .EXE program of about 281K).


ImageMap (version 1.0)

Made Public July 5, 1999

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allow people without other means to convert images between .BMP and .JPG formats, perform some basic image processing tasks (such as flipping or rotating the image, changing number of colors, etc.), but also to create client side image maps in HTML. After an image is loaded, you may create a map of links on the image as either circles, rectangles, or points (polygons not yet supported), and you may save the figures along with your image or not as you choose, and the generated HTML may be either a complete working web page or just the section where the links are defined, as you choose. Image results may be saved as 24 bit bitmaps, 256-color, 16-color, or 2-color bitmaps, and copied to the clipboard for use in other graphics programs. This program works best on systems with more than 256 colors (32K colors will work OK, with some losses in quality, but 24-bit color systems work the best).

ImageMap.zip (275K .ZIP archive, expands to an .EXE program of about 495K).


Browser_Safe_Colors (version 1.0)

Made Public November 5, 1999

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to help select colors for HTML web page documents that are "browser safe", or able to be displayed perfectly on computer systems with a limited color palette (no more than 256 colors). The user selects the amount of Red, Green, or Blue from a set of radio buttons, each of which has only six entries (with values: 0, 51, 102, 153, 204, and 255). They may also select one of six gray levels (which sets the equivalent RGB values simultaneously), or may pick one of eight primary colors by clicking on the appropriate color button. Whichever method is used, the browser safe color appears in a color panel, with the HTML hexadecimal color text in the center of the panel. Clicking the COPY button copies that text to the clipboard, ready to be pasted into an HTML web page document.

BrowserSafe.zip (142K .ZIP archive, expands to an .EXE program of about 288K).


TransparentGIF (version 1.0)

Made Public November 8, 1999

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allows users to read in a standard .GIF image and select the color from the color map to be treated as transparent (which is used by web browsers). Transparency may also be disabled in an image where it is already established. The user may also modify any of the colors in the existing color map to correct problems with hues (or to create really weird color effects). The image is never actually decoded and shown on screen, but the color maps are.

TransparentGIF.zip (156K .ZIP archive, expands to an .EXE program of about 304K).


Twin_Color (version 1.0)

Made Public January 25, 2000

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allows users to design colors for HTML web pages. Not only does the program present the true RGB color that is being designed, it also shows the closest browser safe color. It is expected that this program be run on a computer capable of displaying more than 256 colors (I haven't figured out how to force Windows to use my palette yet!).

Twin_Color.zip (139K .ZIP archive, expands to an .EXE program of about 279K).


Push_Buttons (version 0.9 - BETA)

Made Public March 3, 2000

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allows users to design push buttons for HTML web pages. It save the created push button in both .BMP and .JPG format (but not .GIF, due to the Unisys patent rules on use of .GIF). It also creates a sample web page, using Javascript, that tests the push buttons. This program is NOT COMPLETE; it cannot yet save the definition file for your button design (even though it will save all of the individual graphics and .html files), and it only supports the Arial typeface on the buttons themselves. This program was made public early to be used as a demonstration in a classroom setting, and will be updated over the course of the next few weeks/months.

Push_Buttons.zip (219K .ZIP archive, expands to an .EXE program of about 438K).


View

Version 1.0 made Public March 8, 2000

Version 2.0 made public June 26, 2000

Version 2.1 made public June 29, 2000

Version 2.2 made public December 30, 2000

Version 2.32 made public January 28, 2002 (versions 2.3 and 2.31 omitted)

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allows users to view .BMP, .JPG, and .ICO files, and save images as either .JPG or .BMP files. Upon loading, .JPG files may be scaled to 1:1, 1:2, 1:4, or 1:8 size, and may be loaded with colors turned on or turned off. All .BMP, .JPG, and .ICO files in a folder will appear in a drop-down list, which may be used to select an image directly, or arrow buttons may be used to scroll through the list one image at a time.

Version 2.0 contains the ability to arbitrarily scale the image from the entries in a drop-down list, and has had some bugs fixed and the interface tuned up a bit. The Page Setup dialog (for printing) now computes an estimate of the printed image size at 300, 600, and 1200 dpi.

Version 2.1 now has an option to rename and delete image files. This option must be turned on from the menu, so by default it is impossible to delete files by accident.

Version 2.2 adds more drive letters and a status bar showing the currently selected path to the Open Folder dialog, adds 360 dpi and a custom dpi display to the Page Setup dialog, and tunes up some of the behavior for selecting the current image when saving and renaming files.

Version 2.3 added "Print to Fit", and version 2.31 made the drop down list box of file names track the width of the window. Neither of these versions was made public, as a bug in the Print to Fit section was found before they could be released. That bug has now been fixed, and the corresponding executable is now version 2.32.

View.zip (version 1.0) (245K .ZIP archive, expands to an .EXE program of about 478K).

View_V2_0.zip (version 2.0) (248K .ZIP archive, expands to an .EXE program of about 483K).

View_V2_1.zip (version 2.1) (250K .ZIP archive, expands to an .EXE program of about 492K).

View_V2_2.zip (version 2.2) (252K .ZIP archive, expands to an .EXE program of about 497K).

View_V2_32.zip (version 2.32) (252K .ZIP archive, expands to an .EXE program of about 499K).


ColorCube (version 1.0)

Version 1.0 Made Public June 26, 2000

Version 1.5 Made Public September 28, 2000

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allows users to view the outside faces of a color cube, where the primary colors are at the corners of the cube. The cube may be rotated, and the number of color divisions along each edge can be set between 2 and 256. The cube appears in an orthographic display model (no perspective).

Version 1.5 adds the ability to switch the cube between "left-handed" and "right-handed" views. (I.e., this changes the parity of the cube from R-G-B to R-B-G, for example.)

ColorCube.zip (version 1.0) (160K .ZIP archive, expands to an .EXE program of about 313K).

ColorCube.zip (version 1.5) (161K .ZIP archive, expands to an .EXE program of about 315K).


LF_After (version 1.0)

Made Public June 26, 2000

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allow users to preconfigure text files for transmittal to various types of computer systems that use different styles for line-breaks. (PC's use CR-LF, Macs use CR only, and UNIX uses LF only). This program can also be used to repair a file sent to a PC with the incorrect line-break style, or to make files use line breaks consistently (the output of some programs incorrectly use a mixture of styles). The actions of this program are similar to those of FTP clients on text files, and this program could be used to fix a text file accidentally brought to a PC in FTP in binary mode.

LF_After.zip (143K .ZIP archive, expands to an .EXE program of about 276K).


Snowflake (version 1.0)

Made Public December 1, 2000

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It is designed to allow users to generate a particular type of fractal curve called a von Koch snowflake. Level 0 is a triangle, level 1 is a Start of David, and as the levels increase the snowflake gets more and more "wiggly". At the same time, however, the area inside the curve remains bounded by a circle; hence, we have a figure where the perimeter approaches infinity as the level increases, but the area remains finite! Generated images may be copied to the clipboad or saved as bitmaps.

Snowflake.zip (154K .ZIP archive, expands to an .EXE program of about 299K).


QuickCam (version 1.0)

Made Public January 1, 2001

These programs demonstrate the operation of a parallel-port B&W (gray-scale) Connectix QuickCam under MS-DOS. Most QuickCam drivers run under Windows or other platforms; I wrote this stand-alone driver to run exclusively under MS-DOS. Required hardware: a B&W parallel port version of the Connectix QuickCam (now mostly obsolete), a simple unidirectional printer port and a VGA or MCGA video card capable of displaying 320x200 pixels at 256 colors. Package includes Borland Pascal 7.0 source code for two programs (RESET_QC and DEMO_QC) along with the corresponding compiled .EXE files (both for computers under 200 MHZ and patched to run on faster machines).

NOTE: If you still own any of the old B&W Connectix QuickCams that you don't know what to do with, I am interested in acquiring them for a reasonable fee or trade.

QuickCam.zip (64K .ZIP archive, containing three sub-archives that expand to four .EXE programs, two .PAS files, and documentation in .DOC and .RTF format, totalling about 112K).


Bezier (version 1.0)

Made Public March 8, 2001

Version 1.1 Made Public August 11, 2001

This program was written in Borland Delphi 3.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It was written to allow users to explore Bezier curves, and design pretty shapes (to be saved as .BMP files) using them. Curves may be entered, edited, or deleted, and the resulting configuration saved to a file for later modification.

Version 1.1 actually adds the save-to-.BMP option and cleans up some program behaviour. Program now allows 1000 curves, instead of previous limit of 100.

Version 2.0 is a major update which includes the ability to draw and manage Quadratic Splines (two endpoints and ONE control point), simple Line Segments (two endpoints), and Points (one endpoint), as well as normal Bezier Curves (two endpoints and two control points). For each curve, program saves corresponding number of points (one, two, three, or four) to the .BEZ file.

Bezier.zip (168K .ZIP archive, expands to an .EXE program of about 333K).

Bezier_V1_1.zip (version 1.1) (171K .ZIP archive, expands to an .EXE program of about 341K).

Bezier_V2_0.zip (version 2.0) (172K .ZIP archive, expands to an .EXE program of about 348K).


Mazes (version 1.0)

Version 1.0 Made Public October 14, 2001

Version 1.1 Made Public October 30, 2001

This program was written in Borland Delphi 4.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It allows users to generate mazes as small as 3x3 and as large as 100x75, or any size in between. The mazes are generated as graphics on screen, which may be printed, copied to the clipboard, or saved to .BMP files. The mazes may be scaled to any size, with any desired margin, and with selectable line and background colors. Solutions for each maze may also be shown; the solutions are erased when colors or scales are changed, but may be redrawn at any time. Mazes are continuous (no islands) so that the left-hand rule or right-hand rules may be applied to always find the solutions.

Version 1.1 includes the default behavior of printing a maze automatically scaled up to fit the printer paper. This may be turned off and the maze printed at a user selected scale, as in the earlier version.

Mazes_Distribution_V1_0.zip (208K .ZIP archive, expands to an .EXE program of about 407K).

Mazes_Distribution_V1_1.zip (210K .ZIP archive, expands to an .EXE program of about 412K).


SpotText (version 1.0)

Made Public October 30, 2001

This program was written in Borland Delphi 4.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It allows users to view text files (*.TXT) as distinct spots of color. This is a file viewer only, not a text editor. Source files must be prepared ahead of time in a program such as Windows Notepad.

This program was requested by a former student of mine studying synesthesia, or a condition where individual characters appear to people as distinct colors. In this program, the user may configure all of the uppercase and lowercase letters individually to be any valid 24-bit color (16,777,216 possibilities), and these settings are automatically saved upon exiting the program to the file SPOTTEXT.INI, in the same directory as the program. Starting the program again will reload these color settings from the .INI file.

The user may choose to view the text as normal characters (black Courier text on a white background), or as colored rectangles, with or without a 1-pixel black border. The user can select the point size of the text, which controls the size of the colored rectangles. Non-letter characters always appear on screen normally, as characters, so any arbitrary text file will appear as a mixture of colored blocks and special characters. The user may choose to see uppercase letters as large blocks and lowercase letters as small blocks, or as all large blocks (all uppercase). These settings are also saved to the .INI file.

The visible graphic image on screen may be copied to the clipboard or saved to a .BMP file for later editing in Paint, or the entire file may be printed (preferably to a color printer).

SpotText_Distribution_V1_0.zip (215K .ZIP archive, expands to an .EXE program of about 420K and a 2K .INI file).


MHz (version 1.0)

Made Public March 12, 2002

This program was written in Borland Delphi 4.0, and runs under Windows 95. It does NOT run under Windows 3.1 at all. It displays the operating speed of the computer's CPU in MHz (integer only). Clicking on the result label recomputes the speed, which takes one full second to perform. It may be necessary to compute the speed several times to get the correct speed, as other running programs may influence the sampling here. This process depends on a Pentium-specific instruction, which records the number of clock-ticks since power-on. If this program is run on a 486 (or earlier!) processor, the display will show "ERROR". Clicking anywhere else on the form besides the label will bring up the About box.

MHz_Distribution.zip (176K .ZIP archive, expands to an .EXE program of about 333K).


Z99 (version 0.1)

Made Public February 21, 2003

This program was written entirely in 80x88 assembly language, and runs under DOS. It also runs as a DOS process in every version of Windows from Windows 3.1 up through and including Windows XP. It was developed in Turbo Assembler version 2.0 on a Windows XP laptop, and has been tested on 286, 386, 486, Pentium, Pentium II, Pentium III, Pentium IV, Pentium Pro, and Athlon processors. It should also work OK on old 8088 processors, but I haven't had a chance to test it yet. The minimum hardware requirement is an MCGA or VGA video card, capable of "Mode-13" (320x200, 256 color) graphics. The .EXE file is 139K, but most of that space consists of strings, data structures, and video buffer space; there is only about 14K of executable code.

The program is a "Programmer's Spreadsheet" with 26 columns (A through Z) and 99 rows (1 through 99). Each cell is a 16-bit integer, and supports normal arithmetic operations for signed integers (-32768..+32767) or for unsigned integers (0..65535). It also supports bitwise operations, including AND, OR, XOR, SHL (shift-left), SHR (shift-right), ROL (rotate-left) and ROR (rotate-right). Extended operators include both signed and unsigned division, and the result of a 16-bit by 16-bit multiplication can be the upper, lower, or middle 16-bits of the 32-bit product. Formulae are created and entered in a manner similar to that of Microsoft Excel. A small library of predefined functions is also part of this package, including functions such as SUM, AVERAGE, RANDOM, GCD, TIME, DATE, etc.

This program was designed to be used in an introductory computer science class on assembly language or data representation, but can also be used by people to test algorithms destined for microcontrollers (or modules such as the BASIC Stamp from Parallax).

The current version is a pre-release alpha version, which does not yet support printing functions (although you can capture the screen to a .BMP file) or proper handling of relative vs. absolute addressing in copy-paste operations.

Z99_Distribution_V0_1.zip (17K .ZIP archive, expands to an .EXE program of about 139K). Full documentation in .PDF format to follow shortly.


SinglePrecision (version 1.0)

Made Public February 28, 2003

This program was written in Borland Delphi 3.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. The program allows users to enter arbitrary decimal numbers with fractions, such as 17.1875, then converts that number to the closest possible Single-Precision (32-bit) Floating-Point approximation. The result is shown in hexadecimal, as a binary floating point number (sign bit / biased exponent / mantissa), and in decimal. The decimal value displayed may not be the same as the desired number entered by the user, illustrating the inherent problems of representing arbitrary real numbers in a fixed number of bits.

SinglePrecision_Distribution_V1_0.zip (133K .ZIP archive, expands to an .EXE program of about 255K).


SearchAndSort (version 1.0)

Made Public April 16, 2003

This program was written in Borland Delphi 4.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. The program is a visual demonstration of the differences between an O(N) Linear Search, an O(Log2(N)) Binary Search, and a Binary Search with an Index. Sample text files are included with the distribution package. Educators will find this program useful for driving home the qualitative as well as the quantitative differences between the three searching techniques.

SearchAndSort_Distribution_V1_0.zip (203K .ZIP archive, expands to an .EXE program of about 392K, plus two tiny data files).


WebFileFetcher (version 1.0)

Made Public February 22, 2006

Bug Fix February 26, 2006

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. This program allows users to fetch files from the World Wide Web without needing a traditional Web browser. The user types in a complete address from the http:// up to the name of the file (usually an .htm, .html, .jpg, or .gif file), and the program will fetch it from the Web, placing the file into a folder called C:\CLIPBOARDS\WEB (created if not already present; this folder is used by some of my other software). The status of the retrieval is shown in a memo box on the main screen. All that is needed for the program to run is a live connection to the Internet, and for the TCP/IP protocol to be installed on the user's computer.

WebFileFetcher_Distribution_V1_0.zip (201K .ZIP archive, expands to an .EXE program of about 388K).


BinaryClock (version 1.0)

Made Public November 6, 2006

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a simple, non-resizeable window that represents a 12-hour clock in binary-coded-decimal (BCD). The window always stays on top of other windows. Clicking on any on the binary digits brings up the About dialog box.

BinaryClock_Distribution_V1_0.zip (208K .ZIP archive, expands to an .EXE program of about 353K).


CamWatcher (version 2.0)

Version 1.0 Made Public January 10, 2008

Version 1.1 Made Public January 26, 2008

Version 2.0 Made Public September 28, 2008

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a program that allows a user to watch multiple Web Cams (or other regularly updated .GIF, .JPG, or .BMP files on the Web) simultaneously. Install package contains a list of my favorite cams in Oregon, Wyoming, and Massachusetts, as well as a couple of on-line weather maps.

Version 1.1 adds a couple of functions, and fixes some minor timing bugs, but has not been tested on a wide variety of platforms.

Version 2.0 contains a rewrite of the core web-fetch code, and cleans up several behaviors, but no changes have been made to the interface. Now (as of version 1.2, never released) the program can be configured to run from a flash drive by editing the CamWatcher.PreINI file.

CamWatcher_Distribution_V1_0.zip (387K .ZIP archive, expands to an .EXE program of about 821K).

CamWatcher_Distribution_V1_1.zip (388K .ZIP archive, expands to an .EXE program of about 822K).

CamWatcher_Distribution_V2_0.zip (396K .ZIP archive, expands to an .EXE program of about 839K).


Graph Polynomials (version 1.0)

Version 1.0 Made Public April 2, 2008

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a program that allows a user to explore the creation and graphing of any polynomial up to cubics. The graphs may be scaled up or down in size, saved to .BMP or .GIF files, printed, or configured to show major or minor grid lines, component curves, the equation itself drawn on screen, etc. The precision of the coefficients may range between 0 and 10 decimal places.

GraphPolynomials_Distribution_V1_0.zip (336K .ZIP archive, expands to an .EXE program of about 715K).


Edit Icons (version 1.0)

Version 1.0 Made Public January 3, 2010

These programs were written in Borland Delphi 5.0, and run under Windows 95 or later. They do NOT run under Windows 3.1 at all. The .ZIP archive contains a suite of programs that allow a user to create and edit standard Windows icons. The distribution package contains 12 related programs, each one tuned to a specific icon size and color depth (16x16, 32x32, 48x48, and 64x64 icons, with 1, 4, or 8 bits per color). Use whichever program edits icons of the appropriate size. For example, standard Windows XP icons are 32x32 with 4 bits per pixel (16 color). Also the "favicon.ico" used in Web pages is 16x16 with 4 bits per pixel. Icon transparency is fully supported. Both icons and the larger gridded editing area may be saved as .GIF or .BMP files.

EditIcon_Distribution_V1_0.zip (4009K .ZIP archive, expands to 12 related .EXE programs of about 8Meg total).


Make Buttons (version 2.0, version 1.0 never released)

Version 2.0 Made Public February 10, 2010

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a program that allows a user to create rectangular buttons for use in Web pages. The buttons may have bevels, captions, URL links, may be adjacent or separated by a gap, and may be surrounded by a border and margins. Buttons define regions in client-side image maps. When saving a design, the button definitions are saved to a .INI file for later editing, the graphic image of the buttons is saved to a .GIF file, and the HTML of the client-side image map (either a fragment or a complete Web page) is saved to a .HTML file. Users have complete control over button widths, heights, fonts, bevels, colors, etc. As each change is made, the graphic of the button panel is updated on screen.

MakeButtons_Distribution_V2_0.zip (389K .ZIP archive, expands to an .EXE program of about 834K).


LED Driver (version 2.0, version 1.0 never released)

Version 2.0 Made Public March 3, 2010

Version 2.1 Made Public March 17, 2010

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a program that allows a user to compute the resistance value of a dropping resistor for an LED (Light Emitting Diode), with an optional NPN driver transistor. The user specifies the source voltage, the voltage drop across the LED (varies with LED type and color, but is usually between 1.6 and 3.2 volts), the voltage drop across the driver transistor (set to zero to eliminate the transistor), and the desired current through the LED (usually 20ma). The program shows a diagram of the circuit, along with the required resistance, the voltage drop across the resistor, and the power dissipated by the resistor. The text of the solution can be copied to the clipboard, and the annotated graphic of the circuit with the component values may be either copied to the clipboard or printed directly. Illegal values (e.g., voltage drop across the LED greater than the source voltage) are shown as an error. The various input values may be entered on-screen through floating-point spin-edits, or through the menus with typical preset values. Here is a typical example of the output.

Version 2.1 contains new code to save the text of the solution to a .TXT file, as well as print the text of the solution. It also contains the code to save the annotated image of the solution directly to either a .BMP or a .GIF file. Shortcut ^P now prints the text of the solution by default, instead of the image. At this point both the text of the solution and the annotated graphic can be directly copied to the clipboard, printed, and saved to file.

LED_Driver_Distribution_V2_0.zip (278K .ZIP archive, expands to an .EXE program of about 738K).

LED_Driver_Distribution_V2_1.zip (339K .ZIP archive, expands to an .EXE program of about 850K).


Z99 for Windows (version 1.5.4)

Compiled August 2013, Made Public March 25, 2014

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a simple spreadsheet with 26 columns (A-Z) and 999 rows. The archive contains two .EXE files, which are functionally identical, but one uses 64-bit double-precision floating-point numbers internally, and the other uses 64-bit fixed-point numbers (32 bits of integer, 32 bits of fraction). The fixed-point version is primarily to instruct students in issues involving round-off errors, which are more readily exposed here than in the floating-point version. For most "real" problems users would want to use the floating-point version. Numbers may be displayed in different bases and formats (base 2, base 16, as dates or times, etc.). Z99 has infinite UNDO capability. The menus contain links to the common Windows Accessories (Notepad, Paint, etc.), plus a number of useful pop-ups are built in to the program under the Help menu entry.

Z99 Z99_Windows_Distribution_V1_5_4.zip (1751K .ZIP archive, expands to two .EXE programs of about 1.1M each, plus help and example files).


Sierpinski Gasket (version 1.0)

Made Public March 31, 2013

This program was written in Borland Delphi 5.0, and runs under Windows 95 or later. It does NOT run under Windows 3.1 at all. It is a simple program to generate the Sierpinski Gasket using an iterative technique called the "Chaos Game". Drag the three corner points around screen, choose black-and-white or color for the points, a background color of black, white, or gray, and whether or not to show the corners. When the RUN button is clicked, the gasket starts being generated. The corners may be dragged around while running. Once the image has been generated, it may be copied to the clipboard or saved to a .BMP file.

Sierpinski Sierpinski_Distribution_V1_0.zip (199K .ZIP archive, expands to one .EXE program of about 383K).


See Also:
Dr. Bill's Favorite Space Filling Curves