The memory real-mode/protected-mode is not really tied to DOS, but to the mode in which the processor is working. You can have DOS programs working in protected mode, as well as some operating systems (like CP/M?) working in real-mode.
That doesn't change the fact that when you write for DOS and want to run on every computer that runs DOS, you have to support the 8088 and 80286.
Isn't this page about maximal portability? Don't assume all the world's a Pentium.
The crime isn't assuming all the world is a pentium. It is assuming all the world is a 386 or higher.
Of course, if you are doing any real floating point in your roguelike, you may be unhappy with the performance on 386's that lack the 387 coprocessor...
I'm not assuming anything about processor. What I'm saying is that the memory problem is connected with the hardware, not the operating system. It has nothing to do with the DOS. It's just the way the hardware works. It works the same under other operating systems on the same hardware. It's not OS-specific. It's portability to hardware, not portability to OS -- The Sheep
That's true, but DOS is really the only OS that anyone ever runs on those older systems. Every other interesting OS requires at least a 386 and goes into protected mode on startup, so that application programmers never have to worry if that's available.
Windows boots even when there's no keyboard connected. Does it means that to be portable under windows you've got to make your game playable without keyboard? There are many systems that will run on 086 and 286. There's even a version of hacked linux kernel that will do it. I know, I've been using at least 4 different operating systems on my XT several years ago. Take another exmaple. Linux has it's versions for Alpha and Sparc. Does that mean that to be portable to Linux your game has to support those platforms? You're mixing hardware requirements and operating system compatibility. They are not the same.