If anyone here is interested, a DOS game jam was announced recently for a streaming event called DOSember. https://itch.io/jam/dosember-game-jam Starts in a couple of weeks and lasts for three months.
DOS is an interesting platform because it can run on old hardware, and then basically anything else by way of emulation (such as in browsers) or via DOSBox.
If networking can be plumbed up, it's probably a legitimate and fun application platform for some uses that's worthy of investing time building on either for fun or for something real.
> If networking can be plumbed up, it's probably a legitimate and fun application platform for some uses that's worthy of investing time building on either for fun or for something real.
It's probably well suited to being a game console platform, too.
With some emulators (at least DOSBox-X) you can enable modern graphics modes that show up in SVGA in the emulated DOS and can be supported by DOS software just like any other modes. Anyone making DOS software today that isn't going explicitly for a retro look can try to detect and support a few modes like 1920x1080 and only fall back to more common old modes when necessary.
For anything written from scratch, I would recommend fasm or nasm.
I prefer the latter, because the documentation is better and there's a way to specify target cpu (e.g. 8086) and get errors when instructions aren't compliant.
For development it is convenient that PC-BASIC exists, that is a pure Python implementation of GW-BASIC that has its own partial 1999s PC emulator built in.
Not mentioned is the https://pcjs.org/ site which purports to let you emulate various machines in your browser, select from different disk images, and overall seems full-featured, though it is confusing and presents some difficulty when trying getting it to work on some configuration besides the pre-baked ones that you can come across.
If anyone here is interested, a DOS game jam was announced recently for a streaming event called DOSember. https://itch.io/jam/dosember-game-jam Starts in a couple of weeks and lasts for three months.
DOS is an interesting platform because it can run on old hardware, and then basically anything else by way of emulation (such as in browsers) or via DOSBox.
If networking can be plumbed up, it's probably a legitimate and fun application platform for some uses that's worthy of investing time building on either for fun or for something real.
> If networking can be plumbed up, it's probably a legitimate and fun application platform for some uses that's worthy of investing time building on either for fun or for something real.
It's probably well suited to being a game console platform, too.
With some emulators (at least DOSBox-X) you can enable modern graphics modes that show up in SVGA in the emulated DOS and can be supported by DOS software just like any other modes. Anyone making DOS software today that isn't going explicitly for a retro look can try to detect and support a few modes like 1920x1080 and only fall back to more common old modes when necessary.
16-bit Borland C++ is also available: https://winworldpc.com/product/borland-c/20
For those looking for modern MASM-compatible assembler, try JWasm: https://github.com/JWasm/JWasm
It's a fork of OpenWatcom assembler.
For anything written from scratch, I would recommend fasm or nasm.
I prefer the latter, because the documentation is better and there's a way to specify target cpu (e.g. 8086) and get errors when instructions aren't compliant.
I agree - nasm is excellent. I've used it for pretty much all my MS-DOS projects (games and demos).
DJGPP was the primary development platform for MAME when it was limited to MS-DOS. It certainly got the job done.
GW-BASIC is fun. Microsoft released it with a MIT license and then someone forked it to make it compile and actually work:
https://codeberg.org/tkchia/GW-BASIC
For development it is convenient that PC-BASIC exists, that is a pure Python implementation of GW-BASIC that has its own partial 1999s PC emulator built in.
http://robhagemans.github.io/pcbasic/
Microsoft included almost a full 1988 toolchain (masm, C, make, etc) in their MIT licensed MSDOS repo last year: https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/TOOLS
There is no source code, but at least the license makes it free to use and redistribute. The C compiler seems very close to supporting ANSI C89.
The Free Pascal compiler can produce DOS executables as well.
I really enjoyed seeing the tools that provide an MS-DOS ecosystem.
I didn’t know there was an open source version of the Watcom compilers and a 16-bit library to support them.
Not mentioned is the https://pcjs.org/ site which purports to let you emulate various machines in your browser, select from different disk images, and overall seems full-featured, though it is confusing and presents some difficulty when trying getting it to work on some configuration besides the pre-baked ones that you can come across.
I would like to see 16-bit Rust