When I have a 32-bit image on a 16-bit PC, simply calling SDL_CreateRGBSurfaceFrom (with 32 in its arguments) and then blitting it to my 16-bit screen seems to do the job just fine. Is there a similar way to do this with 256 colors? Or do I have to grab every pixel and asign a palette index to it manually?