Open-source Development for 16-bit machines

From docs
Jump to navigation Jump to search

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

  1. Download the FreeDOS FullUSB version
  2. Download the installer from dosbox-staging.github.io
  3. Once downloaded move it to some directory.
  4. Run the program and pin it to your start menu or task bar.
  5. This will also create some config files in your system. Now you can close it.
  6. 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
  7. 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
  8. 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
  1. save and exit.
  2. Start FreeDOS and it will show that both drive c and d are mapped to your directories you specified
  3. 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 or Open Watcom C++ compilers and NASM. For instructions on how to setup I16GNU click here

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.