keenmaster486 wrote on 2020-02-20, 18:11:
Can't remember if this has already been posted, but has anyone tried this: https://github.com/tkchia/gcc-ia16
I have played with gcc-ia16. It works quite well, and since it's a GCC toolchain, it integrates well with CLion, my current cross-platform C/C++ IDE of choice, as long as I use CMake as the build system.
I prefer a fully-featured modern IDE for things like code completion, error highlighting, refactoring tools and SCM integration. What can I say? I'm spoiled. 😅
CLion is from JetBrains, the same company that also develops other well-known language-specific IDEs such as IntelliJ IDEA and WebStorm.
Note that unlike IntelliJ IDEA, there is no "Community Edition" of CLion, so you have to pay for a license to use it.
There is a NASM Assembly Language plugin for JetBrains IDEs (not just CLion), which works fairly well for assembly language programming as well, although it currently lacks things like refactoring support and code completion.
If you don't like the JetBrains IDEs, or prefer not to pay for CLion, you might want to take a look at Visual Studio Code, which is free, cross-platform and open source. (Not to be confused with regular Visual Studio or Visual Studio Express. Visual Studio Code is a separate software product.)
I noticed quite a few assembly language extensions for Visual Studio Code at the Visual Studio Code Marketplace, including some dialect-specific ones (MASM, TASM, NASM). The last time I checked, Visual Studio Code was the single most active open source project on GitHub, so it's been undergoing very rapid development and improvements these last few years. Definitely worth checking out for cross-platform DOS programming.
Yeah, I know there are some hard-core folks who insist on programming on the same platform that they are targeting, but good luck finding a good fully-featured DOS IDE that is as powerful, fully featured and convenient as the modern choices we have on Linux, Windows and macOS, let alone any that have integrated support for SCMs such as Git. Also, in DOS you won't have access to modern high resolution display modes. I guess 80 columns might be acceptable to some coders, but it's not for everyone. 😬
The one thing I've yet to explore in further detail is remote debugging of DOS code while it's running in a DOSBox or PCEmu instance (or perhaps even on actual retro hardware through a serial cable?). But I believe that is possible as well. Perhaps others here can shed some more light on the debugging side of things?