Quote:Original post by Mike2343
DOS had nothing to do with it if I remember right (been awhile since I made a 3D engine in a non-Windows environment). You used assembly to directly access the video card (which is no longer available if I remember correctly as no one releases the specs or builds them to the same ones, but I think old Mode 13/Mode X still could be used???).
Wolf3D was a mix of assembly and C code, you can download the code, or even Dooms code from idsoftware.com. If you have older hardware you can do this for sure, if you have newer video cards YMMV I'm not sure. There are still people writing software renderers for the knowledge gained so yes, it is still possible.
Best of luck.
The good part of using dos was that you got your game into memory from the fat filesystem. After this point you could just forgot dos and wrote anything that you wanted. Even elder novell oses used dos as a bootloader. Most games took direct control of every hardware they wanted to use.
Today this is not possible, since there is no common standard for the hardware. You need device drivers and most manufacturers don't give out the hardware specifications, so you can only use your computer with windows or sometimes linux and other less supported oses.
The c standard allows the writing of operating systems with very little inline assembly. If you have the full hardware specification, you can do it. Otherwise you have to use a supported os and its drivers, and that requires the use of the system specific interfaces and libraries.
Just remember, c is a language and not a predefined set of i/o functions. The language standard doesn't come with a single function predefined. Even the 'standard' libraries are optional.
Viktor