Open-source Development for 16-bit machines

From docs
Revision as of 18:24, 2 April 2022 by Numberformat (talk | contribs)
Jump to navigation Jump to search

Opensource Development Environment for 16-bit machines

This page shows how to setup a fully functioning 16-bit development environment using free open-source tools on a Windows 10 machine. This will allow you to write software that will run natively on machines with a 8088/8086 or better CPU.

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
REM OR C:\FDAUTO.BAT if using FD 1.3
  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.
  4. *IMPORANT*: 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. Be sure to specify the correct startup command for freedos. AUTOEXEC.BAT vs FDAUTO.BAT

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 to target the 16 bit platform you only have 2 options

  1. Open Watcom (Preferred)
  2. I16GNU ( Doesn't support C++ )

Editors

If you plan on editing your source code within DOSBox then select your preferred editor. Many options are available including a vi clone called ELVIS. Pico, emacs and FED. I personally use vscode and use DOSBox just to compile the 16 bit 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 an EXE file that you can run on your 16-bit machine for example the Xi8088_Version_2.0.