Djgpp

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • 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

  • These days there is also a 16-bit GCC port to DOS (https://github.com/tkchia/gcc-ia16). I never encountered one of those back in the day? I think the compiler itself does not run in 16-bit DOS though.

    Anyone interested in compiling for DOS (32-bit or 16-bit) should also check out Free Pascal.

  • open-watcom-v2

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

  • https://github.com/open-watcom/open-watcom-v2

    In terms of ISO-complianceness, perhaps don't expect much. It basically C89 (the C99 support is still incomplete), and for C++... most likely not even C++98 - compliant.

  • 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
  • DOjS

    A MS-DOS Creative Coding IDE/platform based on JavaScript

  • I did not know of a Java port, but this reminds me there is some kind of JavaScript-based environment for DOS that I see linked now and then (think it is bundled with FreeDOS?). Probably this one:

    https://github.com/SuperIlu/DOjS

    "DOjS is a JavaScript programming environment for systems running MS-DOS, FreeDOS or any DOS based Windows (like 95, 98, ME). It features an integrated editor, graphics & sound output, mouse/keyboard/joystick input and more"

    Never tried it.

  • rust_dos

    Rust DOS : Creating a DOS executable with Rust

  • You do not need segment registers much if you stick to the tiny model. Here is someone compiling Rust to a 16-bit DOS COM executable:

    https://github.com/o8vm/rust_dos

    Not sure what the approach would be for them to expand that to support segments.

    In DJGPP there are macros to allow your protected mode application access physical real-mode addresses (like when you want to write to video RAM). I don't know if IA-16 also does something like that, or if they added far/near keywords to the language like old 16-bit C compilers did (at least the ones I used).

    Free Pascal has helper-functions to work with segment+offset pointer pairs, also without having to modify the language itself. I think that would work well enough in C, but I guess the old method of adding non-standard keywords was seen as slightly more convenient.

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