pts / owtarget16

targeting ELKS and other 8086 operating systems with the OpenWatcom C compiler
5 stars 1 forks source link

owtarget16: targeting ELKS and other 8086 operating systems with the OpenWatcom C compiler ^^^^^^^^^^^^^^^^^^^^^ owtarget16 is a set of tools and libraries for writing C programs with the OpenWatcom C compiler, targeting ELKS and other operating systems for the Intel 8086 (16-bit x86). owtarget16 contains a cross-compiler: code for the 16-bit 8086 target can be compiled on Linux or other (typically 32-bit or 64-bit) operating systems for which the OpenWatcom C compiler is available.

OpenWatcom itself supports the following 16-bit x86 targets: DOS 16-bit (.com progrms, .exe programs with various memory models), OS/2 1.x 16-bit and Microsoft Windows 3.x 16-bit. However, there were and are a few other 16-bit x86 operating systems (e.g. ELKS, Minix, Coherent, Xenix, CP/M-86) for which OpenWatcom lacks libc and file format support. This project, owtarget16 adds these missing pieces, making it possible to target some of those operating systems as well by writing C code and compiling it with the OpenWatcom C compiler.

The missing pieces added by owtarget16 are:

Currently owtarget16 is in an experimental, proof-of-concept state. This means that targeting ELKS works end-to-end (compilation of the example programs and running them on ELKS withing QEMU) on Linux x86 (i386 and amd64) hosts, and the libc contains less than 10 functions.

How to target ELKS using owtarget16:

What is already implemented:

What can be implemented in the future using this design:

END