How FreeDOS Grew Up and Became a Modern DOS

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • open-watcom-v2

    Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download.

  • The most recent commit for OpenWatcom, which is what I originally asked about, was 4 hours ago[1] at time of writing.

    [1]: https://github.com/open-watcom/open-watcom-v2/commit/ac10ed3...

    (FWIW: I'm in agreement with you that DMC++ is likely superior, I'm more curious about what OpenWatcom's deficiencies in relation to it are, and I reckon there are probably only a few people as familiar and qualified than yourself to comment)

  • 86Box

    Emulator of x86-based machines based on PCem.

  • DOSBox-X can run anything up to 98, I think; not sure about ME. It also runs across multiple operating systems (it's even in NetBSD's pkgsrc).

    For number 2, "it depends"; qemu, vmware, etc all have different features. An alternative is to use something like 86Box (https://github.com/86Box/86Box/) which can present the OS with a complete DOS-era computer with video and other peripherals.

    For number 3; I think there's a networking set in the freedos distribution. I have no idea how robust it is, though.

    Number four -why? Unless I'm very wrong, the aim of freedos isn't to preserve the dos software landscape but to ensure that there's an ms-dos compatible operating system out there if people want to use it. Also, winworldpc has a fair amount of dos software as does archive.org as I remember.

    >As stated, DOSBox handles most DOS software. But one of the biggest emulation/preservation blind spots right now is the Windows 3.1 --> Windows 98 non-NT kernel software that was semi-DOS and semi-not.

    The software is largely still out there, and 86box covers the emulation. The real blind spot is the early 00's hole where computers were too complex to emulate well but things are just slightly incompatible with modern operating systems.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • emularity

    easily embed emulators

  • em-dosbox

    An Emscripten port of DOSBox

  • MS-DOS

    Discontinued The original sources of MS-DOS 1.25 and 2.0, for reference purposes

  • Yes, pure assembler for the early versions of MS-DOS (and its precursors).

    Microsoft has open-sourced them:

    https://github.com/microsoft/MS-DOS

  • emu2

    Simple x86 and DOS emulator for the Linux terminal.

  • I've used emu2 to run ancient MASM and the like successfully. https://github.com/dmsc/emu2

  • gcc-ia16

    Fork of Lambertsen & Jenner (& al.)'s IA-16 (Intel 16-bit x86) port of GNU compilers ― added far pointers & more • use https://github.com/tkchia/build-ia16 to build • Ubuntu binaries at https://launchpad.net/%7Etkchia/+archive/ubuntu/build-ia16/ • DJGPP/MS-DOS binaries at https://gitlab.com/tkchia/build-ia16/-/releases • mirror of https://gitlab.com/tkchia/gcc-ia16

  • TK Chia and others have been working on adding DOS C/C++ compiler-isms to GCC as well as improving the the codegen to make it more hospitable for DOS apps. So far, the FreeDOS kernel compilable by gcc-ia16.

    https://github.com/tkchia/gcc-ia16

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • DOOM

    DOOM Open Source Release

  • Doom was written mainly in C but the important bits like the span rasterization for the DOS version were written in assembly. The released code was for the Linux version that didn't use assembly so the DOS was only as part of a README file[0]. The sound code was licensed (and thus never released to the public) and most likely also used assembly as that was common at the time.

    Quake also used assembly for several of its routines.

    [0] https://github.com/id-Software/DOOM/blob/master/linuxdoom-1....

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts