Our great sponsors
-
open-watcom-v2
Open Watcom V2.0 - Source code repository, Wiki, Latest Binary build, Archived builds including all installers for download.
-
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.
-
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.
Absolutely check out PCem for a closer to hardware emulation than dosbox, https://pcem-emulator.co.uk/
> You will also want to start with a 16-bit C compiler like Borland Turbo C or Microsoft C
The parent post mentioned they're going to use OpenWatcom which is an actively developed[0] C and C++ compiler that targets 16bit DOS (among others).
[0] https://github.com/open-watcom/open-watcom-v2
It did not use protected mode
https://github.com/keendreams/keen
https://fabiensanglard.net/ega/
Zortech actually went through several iterations and is still available in the form of the Digital Mars C and C++ developement system.
Unfortunately it looks like the X32 DOS extender link on the page below is dead.
https://www.digitalmars.com/
Read up to page 20 of http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/bor... - it'll apply to 16-bit Watcom as well.
I know you said you're using openwatcom, but if you're not familiar with DOS, I'd suggest running through https://fabiensanglard.net/Compile_Like_Its_1992/index.php to build Wolfenstein with Borland C 3.1. The public Keen Dreams repo is very similarly structured and will build with BC3.1 as well.
Others have mentioned the Abrash black book. The example code is available in OCR'd form (and compiled!) at https://github.com/othieno/GPBB/tree/master/codebase/source . Some scrolling examples (but not in color mode!) are in https://github.com/othieno/GPBB/tree/master/codebase/source/... - you can use them to see the difference between Virtualbox (which doesn't emulate the finer details of a VGA) and emulators like 86box/PCem/DosBox.
Getting data into and out of the more accurate emulators can be a pain. Personally I use VirtualBox with a 32-bit Windows image to do builds. It has network access and VirtualBox shared folders connect it to my desktop. It also mounts floppy images which I can also mount in PCem. I can also plug in a Sabrent USB floppy drive, hook it up to Virtualbox, then write a real floppy for my real 386sx.