Just an idea, I don't know how feasible this is technically but... Couldn't you just render in OpenGL, and use the z-value of each pixel and the texture coordinate to pick the corresponding color from Doom's original palette? That way you'd have the correct 3d-view while preserving the look of the software renderer. Plus you could use that as a base for other OpenGL effects (colored lighting, fog, etc.).