My Personal Home Page
menu connecting bars
Software Electronics Other Stuff

Welcome to Software Projects

The projects are split into DOS and Windows and PHP software.
Some of the projects have free source code available, some don't. Assume there's no source code available unless otherwise noted.
DOS Programs
Clock
Clock
CLOCK.ZIP is a collection of two programs, CLOCK.COM and DAY.COM, which are DOS command-line programs to display the time of day (clock) and the date (day). These are not TSRs, and the time or date are not continuously updated. The information is simply printed on the screen once (each time the program is run). This program probably is not very useful to anyone besides myself, but I thought I would post it here for people just in case someone might like it. I do find the DOS prompt handy, but a lot of people these days cannot do anything with "just DOS".

This program runs in DOS version 2.0 or higher, on any 80x86 processor machine.

Source code (assembly - I used Borland's Turbo Assembler) is included.

Stamp
Stamp
STAMP.ZIP contains the program STAMP.COM, a DOS utility I wrote to change the date and time of a file. You give the program the name of the file, it prompts you for some information, and then it is done. Be warned though, that entering a year earlier than 1980 could cause unpredictable results.

This program runs in DOS version 2.0 or higher, on any 80x86 processor machine.

Source code (assembly - I used Borland's Turbo Assembler) is included.

Columns
Columns
COL.ZIP contains the program COL.COM, a DOS game I wrote for fun when I was teaching myself assembly language. I figured a good way to learn it would be to write a game program. This is a clone of the game for the HP48 calculator, and the game for the HP48 calculator is a clone of the SEGA game. The game is Columns, and some people may call it yet another Tetris clone, but it is a little different. My point in writing this game was not to be original and produce a new game, but to reproduce an old one. I have the game on my HP48, but I have never even seen the Sega version.

Columns is written in 100% assembly language (using Borland's Turbo Assembler). This program runs in DOS version 2.0 or higher, on any 80x86 processor machine with a VGA or better graphics card. This game will work in a DOS box in Windows. It was written for a 66 MHz 486 though, so the keyboard response may not seem quite right on faster machines.
WordFind Print
WordFind Print
WFPRINT.ZIP contains the program WFPRINT.EXE, a program to accompany the WordFind program, also shown below. Since WordFind was written using such an old version of Visual Basic, and because some assumptions were made about fonts, sometimes WordFind has trouble printing. This DOS program will print the WordFind puzzles, either to the printer, using the standard DOS typeface, or to a file. Printing to a file allows the user to open that file in a word processor, which will allow the use of different fonts and formats.
NOTE: the puzzle itself (not the title or the header/footer comments) is designed to use a fixed-width font, meaning that all the letters have the same width. Courier is a good example of a fixed-width font. The user is free to select any font for the puzzle body, but a fixed-width font is recommended.
Windows Programs
Freedeal
Freedeal
Freedeal.exe is a Windows program for dealing Freecell games. Note that it does not let you play a Freecell game; it just shows the cards. It can save the game to a text file, which was my purpose in creating it.

I have another utility that works with Freecell games, but it requires the game to be input as a text file. Before I wrote this program, I was manually typing out Freecell games. Now that I have a Microsoft C compiler, I can have a program deal the games using the Microsoft shuffling algorithm so that the game numbers that I use match those of the actual Windows Freecell game.

This program is a 32-bit Windows program, which means it works in Windows XP/2000/98/etc, but not Windows 3.1. It has been mildly tested in XP and 98.

This Windows program requires the file CARDS32.DLL, possibly in the Windows directory or possibly in the directory from which Freedeal was run.
Freedeal source code
Freedeal source code
fd_src.zip contains the source code for Freedeal. It's free and it's very simple. It shows some basic Windows concepts, such as opening files with a dialog box, saving files with a dialog box, and interfacing with cards (more specifically cards32) DLL. But that's about it - not much error checking and not very elegant, but it gets the job done.

Source code (C - I used Microsoft's Visual Studio) is included.

Solitaire description
History

I was given the book "Card Games for One" by George F. Hervey (copyright 1977) and it inspired me to try programming some of the 120 different solitaire (AKA patience) games described in the book. After I started, I thought "Solitude" would be a good name for a solitaire collection, so I started looking for other solitaire collections. It turns out that there are a lot of solitaire collections, including one already named Solitude, so I am limiting my effort to just a few games. The difference between my collection and the other collections is that I am giving away the source code so that you can have a starting point for making your own card games.

Here are some of the other solitaire suites:

T-Sol Tobin Solitaire
T-Sol Tobin Solitaire

This file contains Windows programs for playing solitaire games. This is not the solitaire game that comes with Windows, that is Klondike. These are Agnes, Baker's Dozen, and Block Eleven. The rules are included in the Help menu.

To download an individual game, see entries below.

These programs are 32-bit Windows programs, which means they work in Windows XP/2000/98/etc, but not Windows 3.1. They have been mildly tested in XP and 98.

These Windows programs require the file CARDS32.DLL (in the source code zip file), possibly in the Windows directory or possibly in the directory from which they are run.

T-Sol source code
T-Sol source code
tsol-source.zip contains the source code for Agnes, Baker's Dozen, and Block Eleven. It's free and it's fairly simple. Not many features and not very elegant, but it gets the job done. There is only one project, as the main source for the games is the same. Only an H file is different among the three games, so it is fairly easy to build them or even change a few settings in the H file and build a new Solitaire game.

Source code (C - I used Microsoft's Visual Studio) is included.

Agnes
Agnes

tsol-ag.exe is a Windows program for playing a solitaire game. This is not the solitaire game that comes with Windows, that is Klondike. This is Agnes. The rules are included in the Help menu. I played 29 deals of Agnes before I won a game, so it is a tough game to beat (3% chance of success).

This program is a 32-bit Windows program, which means it works in Windows XP/2000/98/etc, but not Windows 3.1. It has been mildly tested in XP and 98.

This Windows program requires the file CARDS32.DLL (in the source code zip file), possibly in the Windows directory or possibly in the directory from which Baker's Dozen was run.

Baker's Dozen
Baker's Dozen

tsol-bd.exe is a Windows program for playing a solitaire game. This is not the solitaire game that comes with Windows, that is Klondike. This is Baker's Dozen. The rules are included in the Help menu. I played 10 games and won 5 of them, so it is not a hard game to win (50% change of success).

This program is a 32-bit Windows program, which means it works in Windows XP/2000/98/etc, but not Windows 3.1. It has been mildly tested in XP and 98.

This Windows program requires the file CARDS32.DLL (in the source code zip file), possibly in the Windows directory or possibly in the directory from which Baker's Dozen was run.

Block Eleven
Block Eleven

tsol-b11.exe is a Windows program for playing a solitaire game. This is not the solitaire game that comes with Windows, that is Klondike. This is Block Eleven. The rules are included in the Help menu. I played 20 games and won 4 of them, so it is not an easy game to win (20% chance of success).

This program is a 32-bit Windows program, which means it works in Windows XP/2000/98/etc, but not Windows 3.1. It has been mildly tested in XP and 98.

This Windows program requires the file CARDS32.DLL (in the source code zip file), possibly in the Windows directory or possibly in the directory from which Baker's Dozen was run.

Baker's Dozen
Baker's Dozen
bkdoz0p2.zip contains the source code for Baker's Dozen. It's free and it's fairly simple. Not many features and not very elegant, but it gets the job done. The features added since v0.1 are
  • double-click will move the card to the base
  • rules available in the Help menu

Source code (C - I used Microsoft's Visual Studio) is included.

Baker's Dozen
Baker's Dozen

bkdoz0p1.zip contains the source code for Baker's Dozen. It's free and it's fairly simple. Not many features and not very elegant, but it gets the job done.

I was trying two different concepts for how to manage the cards and layout. This first one is the more complex one that I thought I would try to see how hard it would be to manage. This uses one array for the cards, one for each card's X position, and one for each card's Y position. This provides a lot of flexibility, as each card's position can be managed, but it's about three times the work.

In contract, the concept for v0.2 (below) and going forward from there is to use one array for the layout. Each card's position is thus pre-determined by the layout array.

Source code (C - I used Microsoft's Visual Studio) is included.

WordFind
WordFind

WORDFIND.ZIP contains the program WORDFIND.EXE, a Windows program for creating word-find puzzles. You may create puzzles up to 25 letters by 20 letters, and enter words for the program to hide. Your words are placed randomly by the program, and then random letters are placed in the empty spaces in the puzzle. The puzzles may be printed for copying and/or distribution, and a key may be printed so that the solution is more visible.

This program has trouble printing in Windows95. It works in most Windows 3.1 systems, but it is hit-or-miss in Windows95. If you have problems printing, there are three options:

  • Check if the fonts Courier and MS Sans Serif are installed. If they do not exist, then try installing them and see if that fixes the problem. Note that the font must be called just plain "Courier", without any other words (such as "Courier New" etc.)
  • Use the Wf-Print program to try printing from DOS. It also has the option of producing an output file.
  • Try using a different computer. A different setup may have whatever WordFind needs that your current setup does not have.
This Windows program requires the file VBRUN200.DLL

PHP Programs
phpmap
phpmap
PHP Image Map is a web page for producing image maps that display text when the mouse is held over a link area. It also places another image over the link area if you so desire.

PHP files work on most modern web servers, but if you don't have a web server at home to test your image map, don't worry. You can download a copy of PHP that will compile the PHP code into HTML so you can view it offline first.

The inspiration for, and starting implementation of, this design was by Stu Nicholls. He created a method of CSS image maps that works well, but the maintenance of which is significant. I simply put his idea into PHP so that the scripting handles the tedious parts. It is now a PHP/CSS image map, and it is what I use for my sitemap.
  • Click here to see the sample code in action.
  • Click on the link to the left to get the whole source code with sample images.
  • Click here to see the sample source code (main file).
  • And click here to see the sample source code (sub-file).

Source code (PHP - I used HAP Edit) is included.

phpcal
phpcal
PHP Calendar Countdown is a web page for displaying a countdown for days left until birthdays and anniversaries. It highlights the days left in yellow if they are within a month and in red if they are within a week. It also highlights the days in green if they are on the actual days.

This script was partly a lesson in sorting, as I am in the initial learning phase of PHP. The page can sort the 2D table (or array or matrix) by column.

I setup this PHP script to help me with the birthdays and anniversaries of the 30-some family members (parents, siblings, nephews, nieces, etc.), but for privacy's sake, I used selected U.S. presidents for the example here.

PHP files work on most modern web servers, but if you don't have a web server at home to test your calendar, don't worry. You can download a copy of PHP that will compile the PHP code into HTML so you can view it offline first.

  • Click here to see the sample code in action.
  • Click here to see the simple sample code in action. The sorting is not as smart, and other features are missing.
  • Click on the link to the left to get the whole source code with sample images.
  • Click here to see the sample source code.
  • And click here to see the sample source code (simple version).

Source code (PHP - I used HAP Edit) is included.