Here you will find an assortment of programs which I've written for the OS/2 operating system. These are largely in the way of system tools or utilities for rather specialized tasks.

The following programs may be found on this page.

Other programs of mine are available on separate pages of this site:

Other OS/2-related programs not written by me may be found under the OS/2 Utilities section of this site.

Archive Viewer

Archive Viewer is a very simple GUI tool for viewing and extracting archive files of various types. It originated as a system utility included in eComStation (and it remains so to this day). However, I have also decided to release it as open source software under the GNU GPL.

Archive Viewer cannot create archives, nor is this ever planned as a feature. (It is not my intention to compete with commercial archive managers for marketshare.)

Version 2.2 adds a few new features which significantly enhance the program's usefulness. These include:

See the README file or the release history for more information.

The binary package provided here requires WarpIN to install.

Watcom VX-REXX (version 2.1D) is required in order to build the source code. The IBM OS/2 Toolkit is required to compile the language support files.

The current binary release includes only English language support. The source code for the language support files are provided in a separate package (below). Earlier versions of Archive Viewer had support for several other languages; the support files for these languages need updating before they can be used with version 2.2. (These files are included in the translator's package.) I would welcome contributions from those willing to assist in creating up-to-date translations for these or other languages.

Screenshots

Files

arcview_22.wpi Archive Viewer version 2.2, program install package (WarpIN).
arcview_22_nlv.zip Translator's source for the language support files, required for translating Archive Viewer into other languages. (For the benefit of translators, outdated/incomplete source files for several non-English languages, taken from earlier versions of Archive Viewer, are included.)
arcview_src_22.zip Full program source code (VX-REXX); also includes the translator's source files from the package above.

The source code is also available via NetLabs SVN under the vxapps project. Version 2.2 corresponds to SVN revision 63.

ATSHELL

ATSHELL is a small program designed to replace PMSHELL.EXE as the OS/2 RUNWORKPLACE program. It allows an arbitrary program to be used as the 'desktop', including (but not limited to) the Workplace Shell (PMSHELL), a web browser, a file manager, or some custom application. It also allows this desktop program to be stopped and restarted, or even changed to something else entirely, without rebooting the system. In addition, ATSHELL allows you to open command prompts or shut down the system, even when the desktop program is not running.

A simple 'secure' mode is also provided, which allows the system administrator to prevent users from opening command prompts or changing the desktop program.

ATSHELL was originally conceived as a shell replacement for 'web kiosk' type systems, but it is useful for other situations as well. For instance, you can set ATSHELL as your desktop shell, then use it to start the Workplace Shell (transparently, if you wish). Then, if the WPS ever has to be terminated, you will automatically be returned to the ATSHELL window, whence you can shut down, use the OS/2 command line, or restart the WPS, as you prefer.

See the README file for more information.

ATSHELL is free software licensed under the GNU GPL.

Screenshots

Files

atshell_05_en.zip English version
atshell_05_de.zip German version
atshell_05_src.zip Source code (C)

ConText

ConText is a utility for converting text from one encoding (codepage) to another.

It does two useful things. First of all, it lets you convert text from one arbitrary codepage to another. That is, all character byte values are changed as needed to preserve the original meaning of each character under the target codepage. (Note, however, that all text is displayed using the current Presentation Manager codepage.)

Second, ConText also supports the copy and paste of Unicode text (such as may be copied using one of the Mozilla products) to and from the clipboard.

See the README for more information.

ConText is licensed under a BSD-style license. Since the program is at least partly intended as an illustration of the OS/2 Unicode APIs, the source code is included in the main distribution.

Screenshots

Files

context_04.zip Program files and source code (C)

DBCSMAP

DBCSMAP is an OS/2 character map program for Unicode and double-byte characters. It supports the Unicode Basic Multilingual Plane, as well as the common OS/2 codepages for Chinese (Traditional and Simplified), Japanese, and Korean.

Besides entering Unicode characters, DBCSMAP can also be potentially useful if you need to enter Asian characters (in one of the aforementioned languages), but have neither an Asian keyboard nor access to any DBCS input tools.

See the README file for more information.

DBCSMAP is free software licensed under the GNU GPL.

Screenshots

Files

dbcsmap-1_51.zip Executable program
dbcsmap-1_51-src.zip Source code (C)

FreeType/2 IFI

FreeType/2 is an OS/2 Presentation Manager font driver for TrueType fonts. It is designed to replace OS/2's built-in TRUETYPE.DLL driver, and is based on the open source FreeType library.

Some explanatory notes are in order.

What this is:
FreeType/2 is a system-wide font driver (more technically called an Intelligent Font Interface driver) for Presentation Manager. This means that all graphical programs which rely on OS/2 for rendering text will benefit from the improved font support.
What this is not:
FreeType/2 is not the same as the FreeType library, which is for use by individual applications that want to avoid using OS/2's default text rendering functions. Consequently, using FreeType/2 will have no effect on applications or GUI environments which use FreeType internally for rendering, such as the Mozilla products, QT4, or anything which uses the Innotek Font Engine.

Furthermore, FreeType/2 only replaces the TrueType support module within Presentation Manager. It cannot circumvent any of the limitations inherent in Presentation Manager's graphics layer (GRE/GPI). In particular, there is no support for antialiased fonts, or for font names longer than 31 characters (both of which are restrictions imposed by GRE/GPI, and not by the font driver).

This is version 1.3 of FreeType/2. The driver was originally (v1.0 and 1.1) written by Michal Necasek. More recent versions (v1.2) were maintained by KO Myung-hun.

Some highlights of version 1.3 compared to previous releases include:

See the README file for more information.

Note: FreeType/2 v1.3 is linked against version 1.3.1 of the FreeType library (the similar version numbers are coincidental). As such, it only supports TrueType fonts; this includes OpenType/TT fonts (although OpenType-specific features such as layout tables will be ignored). It does not currently support OpenType PostScript fonts or any other non-TrueType font format.

The source code is distributed (see the link below) under the FreeType license.

Screenshots

Files

ft2v134.zip FreeType/2 installable font driver, version 1.34
ft2v134_src.zip Source code

FrontenACT

FrontenACT is a graphical front-end for the "Enhanced CTorrent" BitTorrent client for OS/2. Refer to the README for details.

FrontenACT is a complete rewrite of my older, experimental, program known as PM CTorrent Manager. It fixes some major design flaws, consumes fewer system resources, and should be much more reliable in general.

Screenshots

Files

frontact05.zip FrontenACT version 0.50 binaries
frontact05_src.zip Source code (VX-REXX)

IMERJ

IMERJ is a "poor man's" input method editor (IME) for Japanese. It allows you to enter Japanese kana by typing romanized text in the edit window. You should then be able to copy and paste the Japanese text to wherever it's wanted.

The program does need to be run under codepage 932 if the Japanese characters are to display correctly.

As of version 0.7, IMERJ requires RXULS.DLL (available here).

See the README file for details.

Screenshots

Files

imerj_09.zip Executable program
imerj_src_09.zip Source code (VX-REXX)

InstFont

InstFont is a simple command-line tool for installing a font under OS/2 Presentation Manager.

This program was designed to facilitate automated font install packages. While it is possible to install a font manually (e.g. using REXX) by setting the appropriate entries in OS2.INI, using this technique requires the user to reboot in order to make the new fonts available. With InstFont, you can install a font on demand and have it available to the system immediately.

Files

instfont10.zip Executable and source code (C)

MYIP

MYIP is a simple TCP/IP utility for querying the current system's IP address as seen from the Internet.

Specifically, MYIP contacts a special website that reports the IP address of your computer as the remote server sees it. This allows you to determine your public IP address even if you are connecting through a firewall or router that uses network address translation.

MYIP requires a 32-bit TCP/IP stack (i.e. MPTS 5.3/WR_8600 or higher).

Source code (released under the GPL) is included.

See MYIP.TXT for more information.

Files

myip_02.zip Program files and source code (C)

TCP/IP Profile Manager

TCP/IP Profile Manager lets you define and switch between multiple different TCP/IP configurations.

This is mainly useful if you have a notebook or portable computer which you have to move between various different locations requiring diffent IP configurations.

Note: TCP/IP Profile Manager requires both the VX-REXX Extras library (see below), and the PR1UTIL.DLL library by Paul Ratcliffe.

See the program README for more information.

Screenshots

Files

ipprf_11.zip TCP/IP Profile Manager version 1.0
ipprf_11_src.zip Source code for version 1.0 (VX-REXX)

VX-REXX Extras Library

VX-REXX Extras is an API & class library designed to extend the functionality of Watcom VX-REXX (version 2.1). Its objective is to provide various new object classes and useful functions.

The included file (VROBJEX.DLL) functions as both the object library for developers, and the runtime library for end users. Users who need to install this library can simply copy VROBJEX.DLL to anywhere in their LIBPATH. For VX-REXX developers, installation instructions are provided in the release notes.

Currently (version 1.3), the VX-REXX Extras library provides the following:

VX-REXX Extras is released under the modified (three-clause) BSD license. The source code is hosted on NetLabs SVN under the VXApps project.

Screenshots

Files

vrobjex_130.zip VX-REXX Extras version 1.3.0

Note: Source code for version 1.3.0 is on NetLabs SVN as revision 76.