FreeDOS logo

How to Contribute

FreeDOS has always been about developers coming together to write code. In that spirit, I'd like to suggest a few things I think would be great for the next release of FreeDOS.

If you’re a beginner

  • Test FreeDOS programs and report any bugs.
  • Test games on FreeDOS and report any problems. For example, some people have problem with HIMEMX and some DOS games.
  • Test other DOS programs and report a bug if they don't work properly on FreeDOS (usually if the program relies on some MS-DOS feature or compatibility that might not exist in FreeDOS).

If you’ve got some programming experience

If you’re a highly skilled DOS developer

  • Fix bugs in the free XMS drivers. Here are a few suggestions:
    • JEMMEX: Only uses first free int 15.e820 memory block. Could use largest block, or multiple blocks instead.
    • HIMEMX 3.34: Uses int 15.ea even where not supported. Should have support-check and some /noint15ea option.
    • HIMEM 3.32: Has incomplete int 15.e820 / e801 support: At least the int 15.e820 part has issues fixed in 3.34.
    • FDXMS: Does not insert STI windows in longer XMS copy loops, which causes hiccups in time critical drivers.
    • XMGR: Older versions do not use magic XMSXXXX0 name and fail to detect and work around 386SX errata. Has good memory detection. Newer XMGR are closed source.
  • Create a DOS package of the GNU C Compiler (GCC) that is capable of creating 16-bit DOS applications (no extender).
  • Add new features to FreeDOS, such as a good GPL-licensed CDROM driver.
  • Add CJK support, probably as a driver that uses graphics mode to display double-byte glyphs.
  • Write a guest tool like VMSMOUNT for VirtualBox.
  • Write a driver for modern sound cards.
  • Add some kind of UEFI bootstrap BIOS emulator, perhaps implemented as an IPL.