/os2api

Primary LanguageCMIT LicenseMIT

OS/2 API

This repo is a package of tools for writing 16 bit OS/2 programs with Visual C++ 1.5.

Why OS/2? Why 16 bit?

  • OS/2 because I didn't have access to tools and documentation to learn it when it was current, but now I can :)
  • Because the real target is DOS (ba-dum tss!) DOS native API is assembly, and it's convenient to have a C based function API. The OS/2 API is as good as any. There is already an implementation of the OS/2 API on DOS, called the Family API or FAPI.

What's included?

  • inc - A completely new OS/2 header file, inc/os2.h which is a recreation of the API based on documentation, internet research, and assembly includes to be new and unencombered.
  • lib - A new import library, lib/os2.lib, generated here, also new and unencombered.
  • crt - A trivial C runtime library, heavily patterned on minicrt, so that it's possible to do common C operations. This isn't as nice as a "real" one, but...well, it's unencombered.
  • dosbind - A library to extend the Family API on DOS.
  • dosfapi - An alternative implementation to the Family API on DOS. This is just enough to support dir below, and isn't a serious replacement.
  • dir - A demonstration program putting it all together.

Building

This is intended to be compiled with Visual C++ 1.5. The assembly parts were written with MASM 6.0, and should work with higher versions.

Contributing

I'm accepting changes, particularly if accompanied by a note indicating some interesting learning of the environment.

License

This code is available under the MIT license.