mov [pfd.nSize],sizeof.PIXELFORMATDESCRIPTOR
mov [pfd.nVersion],1
mov [pfd.dwFlags],PFD_SUPPORT_OPENGL+PFD_DOUBLEBUFFER+PFD_DRAW_TO_WINDOW
mov [pfd.dwLayerMask],PFD_MAIN_PLANE
mov [pfd.iPixelType],PFD_TYPE_RGBA
mov [pfd.cColorBits],32
mov [pfd.cDepthBits],32
mov [pfd.cAccumBits],0
mov [pfd.cStencilBits],0
It's this kind of stuff that's bloating it. Why not just store those values in the data segment instead of writing code to fill them in? That would be less than half the size.
Jim