Win32s was designed to bring some of the benefits of 32-bit computing to Windows 3.x. The 's' is for 'subset', and only the Win32 APIs that corresponded to Win16 APIs available in Windows 3.1 were available. But this was enough to support Freecell on Windows 3.1.
And not just Freecell. Here is a list of compatible programs; it includes Photoshop 4, Nero Burning ROM 4.0, Space Cadet Pinball, ICQ: http://stephan.win31.de/w32slist.htm#list
There are only few things that stop compilers producing Win32s-compatible code. Linking with CRTDLL.LIB will make even Visual Studio 2010 (and perhaps newer versions) produce a valid Win32s program.
Win32s was designed to bring some of the benefits of 32-bit computing to Windows 3.x. The 's' is for 'subset', and only the Win32 APIs that corresponded to Win16 APIs available in Windows 3.1 were available. But this was enough to support Freecell on Windows 3.1.