Windows 95 var det första operativsystemet många svenskar stiftade bekantskap med när PC-ägandet exploderade i mitten av 1990-talet. Det var betydligt mer användarvänligt och kapabelt än äldre versioner, med funktioner som preemptive multitasking och skyddat minne – även om det fortfarande var mycket mer kraschbenäget än moderna Windowsversioner.

För entusiaster som vill uppleva det gamla systemet igen är ett stort hinder att så få nyare program fungerar. Det ville Matt KC åtgärda, och lyckades få tusentals någorlunda moderna program att fungera på det nu nästan 29 år gamla systemet genom att först porta Microsofts .NET-ramverk. I en nära timslång video på Youtube visar han hur han gick till väga.

Först gick det trögt. Ramverket utvecklades i början av 2000-talet och var aldrig avsett för Windows 95, även om det i de första versionerna fungerade på efterföljaren Windows 98. Matt KC försökte med kompatibilitetslagret Kernelex som får moderna .NET-program att köra på Windows 98, och lade till eller fejkade nödvändiga DLL-filer, men det gick fortfarande inte.

Till slut visade det sig att en drivrutin vid namn ”ndphlpr” fick .NET att krascha, och efter en tids detektivarbete i verktyget Windbg kom han fram till det sista felet: Funktionen ”NotifyWinEvent” saknades i user32.dll. Att fixa det var inte helt enkelt heller, men inte omöjligt.

Nu har Matt KC gjort sina ändringar tillgängliga för allmänheten via projektet dotnet9x på Github. Det kräver Windows 95 B (OSR 2) eller senare, Internet Explorer 5.01 samt Microsofts USB-tillägg för Windows 95. Det gör att de flesta program utvecklade för .NET 2.0 fungerar, med byggande stöd för 3.5.