Let's also not forget that back in the days of MS-DOS there wasn't a consistent audio API and if the game developer didn't support your card, integrated or otherwise, you were SOL. The only (buggy) standard was SoundBlaster Emulation
There wasn't any "SoundBlaster Emulation" standard or anything even reminiscing an API. The games fully provided the sound drivers which always communicated directly to the hardware.
However there were third party hardware abstraction layers such as the Miles Sound System, which provided the developers bunch of sound drivers and an API to program against.
You're not still running 1024x768, are you?
Interestingly enough, 1024x768, while not luxurious, is still enough to do all the basic tasks. All web pages fit it fine, programming is possible, e-mail ok, word processing ok, 3D games can be played (and are fast as there are not that many pixels to render). On the other hand, tasks like photo editing and multitrack audio will be too painful. Playing HD video in its native resolution is also not possible and it will be downscaled.
Link to Original Source
Can you really not figure out that the solution to such a problem is to add more detail to your question, indicating what you've already researched?
Let's say you want to develop a 3D game that has to work in all the absolutely most crusty computers that can be found. Then you want go with OpenGL 1.x and the fixed function pipeline. Just observe all the whining that appears. How you should use shaders, and how even shader-based OpenGL 2.x is not sufficient but for some academic reasons you want at least 3.x because it has the core profiles, so that even accidentally you won't be using any legacy functionality. Even despite the fact that games like Angry Birds and Minecraft actually still support OpenGL 1 for the best compatibility.