Steffen's programs and sources
If you didn't found here what you've expected, just try the
not-my-stuff page.
Here is the right place where to mail bug reports, suggestions and oppinions
to: My E-Mail Address!
This is a list of what you can find here:
-
ASSIGN, a replacement of ASSIGN (GPL)
- BIN2C, a little utility to convert binary files into an unsigned char[] array of C (GPL)
-
CDP, the command line driven audio CD player for DOS
(Freeware)
-
CHGWALL, the Desktop Wallpaper Changer for Windows
(Freeware)
-
IO95, Win95 LFN API wrapper library (GLPL)
-
LIB, the archivar for Intel compatible .OBJ and .LIB
files (GLPL)
-
NRO, a restricted NROFF clone for DOS, based upon Micro-C's NRO (PD)
-
SUPPL, a supplemental library for C (GLPL)
-
SWSUBST, a replacement for SUBST and JOIN and some
more (GPL)
And a short description of the format of the changelog files.
CDP, the command line driven audio CD player for DOS (Freeware)
CDP gives you control over the audio functionality
of your CD-ROM drives attached to your computer. CDP only requires that
the CD-ROM driver is loaded, you need not install MSCDEX. Furthermore,
CDP was developed to be non-interactive at all, in order to place the thing
into batch files, Win311 PIF files a.s.o. CDP is no TSR or another driver
that will be loaded into and eats your valueable conventional memory. Note,
normally CDP is not useful in Win95.
CDP's readme file is also available
in German, as the CDP package
(63KB) contains messages in both English and German. The current version
is "A4" and it's dated from the 11th Feb 1996. It is Freeware, no Nagware.
CHGWALL, the Desktop Wallpaper Changer for Windows (Freeware)
chgWall periodically changes the desktop wallpaper
with a random bitmap. chgWall is not interactive, thus it contains neither
dialog boxes nor menus. Just put some .BMP or .RLE bitmap pictures into
one directory, update some strings in the "chgwall.ini" or "win.ini" file
and the pictures will be brought onto your monitor.
There are two versions (both are Freeware, no Nagware):
-
Version 1.01 (27KB) (from the 6. September
1993) contains only the core functionality and supports only one directory
of pictures. It was created with the I/O library shipped with Schulman's
book "Undocumented Windows". The readme
file is available in German, too.
-
The current version (38KB) is 1.2 and
it's dated from the 1. March 1995. It allows a more flexible handling which
files to display and no longer contains a window. The readme
is also available in German.
ASSIGN, a replacement of ASSIGN (GPL)
This program was written for the FreeDos project. It replaces the
DOS ASSIGN command for all DOS versions 3.3 through 6.22.
The current version is 1.4. The documentation
is available in English and German.
Target compilers: Micro-C v3.13+, Borland C v3.1+
LIB, the archivar for Intel compatible .OBJ and .LIB files (GPL)
In the FreeDos project there was missing a free librarian, an assembler,
a C compiler and a linker are already available, but no librarian has been found!
The current
version (160KB) of the librarian is 3.2. The readme
is also available in German.
Target compilers: Borland C v3.1+, Micro-C v3.14+
NRO, a restricted NROFF clone for DOS (Public Domain)
This program was take from the examples of DDS's Micro-C packages and
became one of the early standard text processors of FreeDos. This modified version
now knows about comments "..", continuous bold face ".cb", overstrike character
".ov", continuous overstrike character ".cv", combining of all fonts, concatenation
of words to allow to be differently fonted, and tabstops ".tb" and ".ts".
Two additional tools are included:
-
1ToNro: It will translate the backslash escape sequences used by
my elder "*.1" and "*.1g" files into NRO compatible commands.
-
interprete: It will interprete the control characters backspace
and carriage return, thus making a plain text file from the output
of NRO.
The current version is 1.20. The documentation
is available in English only.
Target compilers: Micro-C v3.14+
SWSUBST, a replacement for SUBST and JOIN and some more (GPL)
This utility is now a part of the FreeDos
project. It replaces the normal DOS commands SUBST and JOIN completely,
despite of that SWSUBST allows to:
-
extended features with SUBST and JOIN
-
query and modify the drive flags directly
-
swap two drives
-
check and search for drives
-
print and search in both the device driver and the MCB list
-
it can identify drives by their volume label and by their device driver
name
The current version is 3.2,
but there is version 3.1, too. This package
contains documentation in both English
and German.
Target compilers: Borland C v3.1+
SUPPL, a supplemental library for C (GLPL)
In this library many things has been packed together. The primary goal
was to create functions and macros to help to portably implement programs
using both Micro-C v3.14 and Borland
C as target compilers. Later some other functionality was added.
The library's target environment is PC-DOS,
without any DOS extender, window manager or such, but some functions might
be useful in other environments, too.
The current
version (285KB) is v2.6a. The readme
will explain some more details, a change-log
is available as well.
Pre-releases of the version 2.7 are available:
- one dated from the 17. July 2001. Please see the readme or changelog the for more details.
- one dated from the 13. June 2001. Please see the readme or changelog the for more details.
- one dated from the 01. May 2001. Please see the readme or changelog the for more details.
- one dated from the 18. February 2001. Please see the readme or changelog the for more details.
- one dated from the 26. February 2001. Please see the readme or changelog the for more details.
This release is specifically targetted to be compiled with Turbo C++ v1.01 ("antique software" from Borland).
Note: The pre-releases are currently compiled with Borland C v5.2
only.
Included within this package are some utilities, which are necessary
for the also included Makefile. These utitlies are included:
-
RM: to remove files and directory trees
-
_XSET: a SET command that accepts equal signs in the value string
-
FOREACH: to spawn a command for each item of a list of a file
-
DMAKE: the make program, a patched version
-
FREEMCB: to free a DOS memory block
These are the main topics of the library:
- environment handling
-
MCB handling
-
far memory access for Micro-C
-
additional functions for longmath, Micro-C only
-
getopt() functionality
-
filename functions
-
dynamic string functions
Version 2.7 will contain new stuff:
- configuration handling (scanning command line, INI files, session management)
- syslog
- support for: debugging, function tracing, memory logging
- application name retreival
- str*() and mem*() functions working with NULL parameters
- wrappers for <stdio.h> offering the same interface for all compilers (including Micro-C)
- Documentation ;-)
Target compilers: Borland C v2.0+, Micro-C v3.16+, Pacific HiTech C v7.51, Watcom v10.6
IO95, a Win95 LFN API wrapper library (GLPL)
This library contains functions to access the LFN API Win95 offers in the
DOSbox, it can help to make a program LFN-aware quicklier.
The current version is 1 and allocates approx. 43KB. The
README (English) explains the contents in more details.
Included are functions for:
- POSIX.1 compatible opendir() functions,
- DOS semistandard findfirst(),
- open() (from <io.h>),
- fopen() (from <stdio.h>),
- mk/rm/chdir(),
- remove() and unlink(),
- rename(),
- getcwd(), getdcwd(), getcurdir(),
- fullpath() [to return a path in all longname portions], &
- lfn2sfn() [to return a path in all shortname portions].
IO95 compiles under: Borland C v5.2 and Turbo C v2.01.
A little utility to convert binary files into an unsigned char[] array of C.
The current version is v1.00.
Format of "changelog" files
Each line starts with a word describing the type of the entry:
- "add:" newly added
- "chg:" changed
- "sub:" removed
- "fix:" fixed some bug added in the same version
- "bugfix:" fixed a bug from an earlier version
In order to narrow the place the change has been applied to, something
like file.c: or function(): may be added,.
then the description follows. "fix:" and "bugfix:" entries usually mention
the bug rather than how the bug was fixed or how the source is working
different now.
For instance: bugfix: Strcpy(): returns always NULL
means that the bug was fixed that function Strcpy() always
returns NULL.