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.

Several other OS/2 programs that I've written are available on my GitHub site:

In addition, various 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; I have subsequently released 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 multilingual support for for English (included in the base package) and several other languages (available as addon packages). Earlier versions of Archive Viewer supported some additional languages besides the ones listed here, but those translations would need updating before they can be used with version 2.2. I would welcome contributions from those willing to assist in creating up-to-date translations for these or other languages. See the included nlv.txt for more information.

Screenshots

Files

arcview_225.wpi Archive Viewer version 2.25, program install package (WarpIN).
arcview_de.wpi German language support for Archive Viewer (WarpIN).
arcview_es.wpi Spanish language support for Archive Viewer (WarpIN).
arcview_it.wpi Italian language support for Archive Viewer (WarpIN).
arcview_ja.wpi Japanese language support for Archive Viewer (WarpIN), partial translation.
arcview_ru.wpi Russian language support for Archive Viewer (WarpIN).

The source code is available via NetLabs SVN under the vxapps project. Version 2.25 corresponds to SVN revision 220.

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)

Extended Character Map

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

See the README file for more information.

Extended Character Map is free software licensed under the GNU GPL (version 2). The source code is available on Github.

Screenshots

Files

dbcsmap-1_6.zip Extended Character Map, version 1.6

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

ft2v136.zip FreeType/2 installable font driver, version 1.36
ft2v136_src.zip Source code

In addition, the latest source code is available on Github.

FrontenACT

Note: This program is no longer being maintained.

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)

Icon Themes

Icon Themes is a program which allows the desktop icons used throughout the Workplace Shell to be changed, based on installable icon sets or 'themes'. A number of themes are included, and various others are available from third-party sources.

Starting with version 2.2, Icon Themes requires RXUTILEX.DLL (available from the NetLabs RexxLibs project and VROBJEX.DLL (available here).

It has a number of other prerequisites as well; see the release notes for details.

Screenshots

Files

itheme-2_23.wpi Icon Themes v2.23 (installable WarpIN package)
itheme_toolkit_22.zip Toolkit (v2.2) for creating new themes

Source code for version 2.23 is hosted at NetLabs SVN (revision 221).

IMERJ

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

IMERJ runs as a self-contained application – it does not function as a front-end processor for the desktop as a whole. As such, it is intended mainly for use on non-Japanese OS/2 systems where a full-fledged IME is not available. (Users of native Japanese versions of OS/2 will probably not find it very useful, as the built-in OS/2 IME is considerably more sophisticated.)

Starting with version 2, IMERJ has limited support for converting kana into kanji. This requires the EDICT (or EDICT_SUB) and KANJIDIC dictionaries to be installed. These are free Japanese word and character dictionaries maintained by the Electronic Dictionary Research and Development Group (EDRDG). IMERJ can still be used without these dictionaries, but kanji conversion will be disabled.

IMERJ also requires RXULS.DLL (available here) and VROBJEX.DLL (available below).

See the release notes for details.

IMERJ is released under the GNU General Public License, version 3. The source code is hosted on NetLabs SVN under the VXApps project.

Screenshots

Files

imerj-2_0_2.wpi IMERJ as an installable WarpIN package. This includes IMERJ, the EDICT_SUB and KANJIDIC dictionaries, and can also install RXULS and/or VROBJEX if necessary.
imerj-2_0_2.zip IMERJ program files, zipped. (Does not include the EDRDG dictionaries or the additional DLLs.)
edict_sub.zip Latest EDICT_SUB dictionary file (Monash FTP server)
kanjidic.zip Latest KANJIDIC dictionary file (Monash FTP server)

Note: Source code for version 2.0.2 is on NetLabs SVN as revision 216.

Links

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)

IPECHO

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

Specifically, IPECHO 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.

IPECHO 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 IPECHO.TXT for more information.

Files

ipecho_v1.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_134.zip VX-REXX Extras version 1.3.4

Note: Source code for version 1.3.4 is on NetLabs SVN as revision 223.