ChicagoCRT is a fork of MiniCRT designed to run on systems Windows 95 and higher, on x86.
Warning
This library is for Windows 95, and as such, security features like Spectre mitigation and RTC are disabled.
Proceed with extreme caution!
MattKC has recently published a video on porting .NET Framework to Windows 95, which made me think about doing the same, but with programs compiled on modern Windows SDKs.
I knew it was possible, since MSVC allows you to disable the standard library and enhanced instructions, but I had to get around the artificial limitation imposed by the system version in the PE header.
You can read a blog post I've made about this project here!
You can find a sample project on how to use this here!
ChicagoCRT does not depend on APIs newer than Windows NT 3.1 or Windows 95. A Unicode binary with ChicagoCRT can run on NT 3.1; an ANSI binary can run on Windows 95.
Important
Newer compilers will mark executables as requiring Windows Vista or higher.
This is an artificial limitation, and you can find a script to get around this here.
Requires Visual Studio 2022, with the C++ workload installed and the Windows SDK.
Building can be done as with any standard C++ project, and the output will be found on the Build
folder.
Note
Due to the nature of computers running Windows 95, enhanced instructions (e.g. SSE, AVX) have been disabled entirely.
Programs that link to ChicagoCRT should ideally also disable enhanced instructions.
This software is licensed under the terms of the MIT license.
You can read the terms here.