OS/2 Releases

It has been a while now since I wrote my last native OS/2 program - I had been experimenting mainly with various types of online documentation (remember, that was pre-HTML) and with a few system features and then stopped it for lack of time and user feedback...

Anyway, as some of these programs may still be of use to someone, I have included them here in the form as I have last archived them, which means that they are not tested for compatibility with later versions of compilers or the operating system. Hopefully at least some of them will be revised or updated at some future point in time, but don't rely on it - as usual, everything comes "as is".


Tools and documentation for the INF/HLP file format

Before HTML hit the world big time, the Information Presentation Facility (IPF) included with OS/2 presented itself as a very useful way for distributing "e-text" documents (like help files, manuals, newsletters) as it offered features for hyperlinking, compression, fast full-text search etc.

IPF documents, which usually come to the end user in the form of files with the extensions INF or HLP (not to be confused with Windows help files and numerous other, proprietary help formats), are created by first marking up ASCII text with a markup-language. After that, they are fed through IBM's IPFC compiler, which converts them to a compressed and indexed binary representation. As far as I know, IBM has still not made this compiler available outside the complete OS/2 developer's toolkit.

Converting INF/HLP files to ASCII text

[current version: 1.02] This is a relatively simple program to retrieve all the text from an OS/2 INF style help file and convert it into a somewhat structed and more printable form. The package includes both executable and source code, so it can also be used as a starting point for people who want to create their own INF/HLP applications.

File structure documentation for OS/2 INF/HLP files

[current version: 2B] This document describes most of the internals of OS/2's INF or HLP files. It is intended for programmers who want to create applications accessing those files directly, for example to convert them to other formats.

There are still some "white spots" in the description, but it should be complete enough to retrieve all the text together with most of the layout and structural information from the file.

Converting texinfo files to INF source code

[current version: 1.1] This program converts texinfo-style hypertext manuals used in many GNU projects into source code for OS/2's IPFC help file compiler (which in turn compiles them to INF resp. HLP files).

As this tool is mostly intended for porters of Unix software anyway, it does not include executables, only source code. In addition, you will need the IPFC program from IBM's OS/2 toolkit to compile the resulting help files into a "browsable" form.

A simple "diff" file generator for the PATCH command

MakePatch can be use to create patch files for use with OS/2's standard patch facility: The PATCH command can be used to change byte values in a file, either interactively (which is documented in the online help), or using a patchfile (which isn't):

To use an automatic patch file, PATCH must be called using

  PATCH /a patchfile
The patchfile must contain the name of the file to be patched and a list of the patches to apply to that file. Optionally, a file may also contain verification info to make sure that the right version is patched.

MakePatch creates such patch files, given an original and a patched version of a file. Basically it is not much more than a binary file compare, with the only difference that the output can be redirected into a while which is directly compatible to the PATCH command.

It is not possible to create patches changing the length of a file using this method (i.e. you cannot insert or delete bytes from a file), but this ability is not required at least for assembly-language based patches in most cases.

Source included.

MAKELOGO clone to compile new boot logos

MAKELOGO clone to change Warp boot logo based on files created by Dave Akerman's BMP2LOGO program.

Running OS/2 commands from a DOS prompt

[current version: 1.0] This program (called "Seamless OS/2") allows starting OS/2 applications from the commandline of a DOS box. The standard output and standard error device are both redirected to the standard output of the DOS session. Thus, you can use command line applications of OS/2 just as if they were native DOS apps. For example, I wrote this program to allow compiling with the OS/2 hosted version of Microsoft C 7.0 from a DOS session where I could start the compiled programs right away without having to switch windows.