Open-source Development for 16-bit machines
Opensource Development Environment for 16-bit machines
This page describes the process of setting up a fully functioning development environment for 16-bit binaries targeting the Intel 8086 or 8088 and later processors using free open-source tools on a Windows 10 machine.
Software
Downloading and Installing FreeDOS & DOSBox in Windows 10
- Download the FreeDOS FullUSB version
- Download the installer from dosbox-staging.github.io
- Once downloaded move it to some directory.
- Run the program and pin it to your start menu or task bar.
- This will also create some config files in your system. Now you can close it.
- Open up the freedos zip and open the image file using 7-zip and copy all the files into a new location for example d:\devstudio\runtimes\FreeDOS\install
- Open dosbox-staging.conf that’s located in this dir: C:\Users\username\AppData\Local\DOSBox Change windowresolution to lower case L and output to openglnb scaler to normal3x
- Update the Autoexec section located at the bottom.
@mount c "c:\devstudio\freeDOS\C" -freesize 2048 @mount d: "c:\devstudio\FreeDOS\install\" -freesize 2048 C: C:\autoexec.bat
- save and exit.
- Start FreeDOS and it will show that both drive c and d are mapped to your directories you specified
- Go to drive D: and run setup.bat It will run the FreeDOS installation. Once the install finishes you can exit to DOS and close the machine. If your dosbox-staging.conf is setup correctly next time you start it should start up in FreeDOS.
Next we install software packages using a package manager called fdimples you can type that on the command line select the software using tab and arrow keys.
Development
If you will be doing C/C++ development select the DJGPP with I16GNU Setup or Open Watcom C++ compilers and NASM.
Editors
If you plan on editing your source code within DOSBox then select some editors. Many options are available including a vi clone called ELVIS. Pico, emacs and FED. But if you are like me, I will be using visual studio code to edit source and just use DOSBox to compile the binaries.
Example Program
Create hello.c
#include <stdio.h> int main() { printf("Hello World"); return 0; }
Create a makefile in the same directory
hello.exe: hello.c i16gcc hello.c -o hello.exe
It will create a binary which you can test on your 16-bit machine for exampe the Xi8088_Version_2.0.