But if you really want to be retro and have fun hacking in a truly constrained environment, try coding for the Atari 2600. Grab Stella (http://stella.sourceforge.net/index.php), read up on Atari specs (http://problemkaputt.de/2k6specs.htm) and have at it. Yep you read that right -- 8bit CPU at 1Mhz, 128 BYTES RAM, max 8K of memory.
I'm rather more of a fan of LOAD81 for things like this, although I don't know if it runs on DOS .. it certainly provides the same degree of sophistication, and includes a great built-in editor:
>> It'd be a challenge working with the limited resources
It's fairly simple until you get into things like different hardware and trying to do things with networking. VGA graphics, keyboard input, that stuff is all pretty simple.
Assuming something like a SoundBlaster, even sound programming could be done with a library.
Very cool. It's been ages since I did anything with DOS, but are you limited to 640KB of memory, or can this use real mode/etc. to get access to more memory?
There are gaps in my knowledge, but my understanding is that to address 32-bits of memory requires the use of a "DOS extender". The reason being that DOS is barely an operating system at all- It never provided any 32-bit support but support was possible by monkey patching over part of the operating system in memory. This was possible because DOS had no security measures preventing such horrifying endeavours.
Anyway, I see no reference to a dos extender here so I don't know how it could be anything other than a 16-bit program.
If the author of this framework is looking for a dos extender, I think HX seems like a good choice: http://www.japheth.de/HX.html
unlike other DOS extenders, that provide idiosyncratic apis for allocating 32-bit memory, HX imitates as much as possible standard windows apis, and is able to run some windows applications in plain DOS- including, strangely enough, DOSBox.
The compiler used is DJGPP, a port of GCC that comes with a DOS extender, a POSIX-compatible C library and pretty much everything else needed to pretend that you're using a Unix system. Basically Cygwin for DOS.
But regardless of who was first (they'll be pretty close, '89 or so) it was a huge step forward for programming on x86. The fact that it was free made it even more amazing.
My assumption is that since DosBox simulates the same hardware on different platforms/OSes - it's possible to write a DOS game once and enjoy it on Linux, Windows, Mac, Android etc. Cross-platform games with retro flavor, why not?
I remember Carmack's statement on DOS from his .plan back around the Quake 2 days
We are not going to do another dos game. No amount of flaming hate mail is going to change my mind on this (PLEASE don't!). The advantages of good TCP/IP support, dynamic linking, powerfull virtual memory, device drivers, etc, are just too much to overcome. Yes, all of those can be provided under dos in various ways, but it just isn't worth it.
But if you really want to be retro and have fun hacking in a truly constrained environment, try coding for the Atari 2600. Grab Stella (http://stella.sourceforge.net/index.php), read up on Atari specs (http://problemkaputt.de/2k6specs.htm) and have at it. Yep you read that right -- 8bit CPU at 1Mhz, 128 BYTES RAM, max 8K of memory.