What do you want to know
- A YouTuber recently documented how he was skillfully able to backport “thousands of applications” to Windows 95.
- The process was riddled with several bottlenecks, including missing DLL files, compatibility issues with .NET Framework, and more.
- The YouTuber used WinDebug to identify the issue causing the .NET Framework to crash on Windows 95. He manually fixed the compatibility issues, ultimately allowing Lego Island Rebuilder and a custom snipping tool to work seamlessly on Windows 95 .
In a 51-minute video, YouTuber MattKC explains how he ported “thousands of applications” to Windows 95. He embarked on what most would consider impossible mission by backporting the .NET Framework to Windows 95.
For context, the .NET Framework is a development platform consisting of tools, programming languages, and libraries for building applications. It’s also worth noting that the tool first shipped on Windows back in the days of Windows 98, meaning it wasn’t supported on Windows 95. Therefore, it was essential for the YouTuber to first backport the tool to Windows 95.
RELATED: The opportunities missed by Microsoft with very promising but poorly executed products
Although his efforts to backport the .NET Framework to Windows 95 were successful, it was only the stepping stone to the enormous undertaking that awaited him. For starters, KernelEx, an open source compatibility layer designed to allow applications limited to Windows XP and Windows 2000 to run under Windows 98, did not work under Windows 95.
Missing DLL files and unsupported .NET Framework
The exercise was also riddled with missing DLL files, and despite using a dumping tool to identify and port the missing DLL files, the YouTuber’s efforts to get the .NET Framework working on Windows 95 were rendered futile.
LEARN MORE: I still use a Windows XP application from 2003 to clean my hard drive and I will never stop
Digging deeper to determine the cause of the problem, the YouTuber discovered an old Windows driver called “ndphlpr” that was causing the .NET Framework to crash. The legacy Windows driver is a crucial component required to run the .NET Framework on Windows 95, and there is apparently no viable way around it. At one point, the YouTuber tried to lie about having the component, but that didn’t work either. Interestingly, the old Windows driver remained unused in Windows 98.
WinDebug the saving grace
The YouTuber turned to WinDebug to help him investigate the .NET Framework issue on Windows 95 that caused it to crash. It ultimately leaked code related to a missing Windows API for some click functions, as shown below:
F2 0F 10 44 24 08 F2 05 2C CO
It’s worth noting that WinDebug wasn’t supported at the time, meaning MattKC had to resolve several compatibility issues to get it working. Further analysis revealed that the problem occurred because “NotifyWinEvent” in the user32.dll library was not available. To make matters worse, SSE2 has hidden an instruction in the code. MattKC tried to fix the issue by removing SSE2, but this did not resolve the compatibility issues.
LEARN MORE: Remembering Windows Longhorn: David Cutler laments ‘the worst code he’s ever seen’
Finally, the YouTuber found an ingenious way to display error messages in a window, which allowed him to resolve the DLL compatibility problem. Therefore, he got Lego Island Rebuilder and a custom capture tool to run on Windows 95.
Although we’ve only highlighted key parts of the video in this article, you can still follow the process step by step as the YouTuber showcases his excellent backwards compatibility skills – a pretty impressive feat, perhaps .