Zahvaljujući .NET Framework-u, omogućena kompatibilnost sa starim Windows 95 operativnim sistemom na kome sada radi dosta novog softvera poput Lego igara, ali i nekih sistemskih alata kao što je Snipping Tool
MattKC je PC „zaluđenik“ koji je po sopstvenim rečima, omogućio rad na hiljade aplikacija novijeg datuma koje od sada mogu bez problema funkcionisati na Windows 95 sistemu. To mu je uspelo za rukom tako što je mukotrpno preneo najvažniju Windows 98 funkcionalnost .NET Framework, omogućivši njeno funkcionisanje na staroj Windows 95 OS verziji.
Glavno ograničenje Windowsa 95 u poređenju sa novijom „devedesetosmicom“ je nedostatak .NET Framework-a. U većini drugih funkcionalnosti, Windovs 98 je zapanjujuće sličan svom prethodniku, kako po dizajnu, tako i funkcijama. Ali zašto bi to neko uradio?
Video koji traje čak 51 minut, nekoliko puta uglavnom otkriva istinski entuzijazam u pogledu hardvera i softvera iz te ere, jer ko bi mogao zamisliti da će neko snimiti video o proširenju Windows 95 mogućnosti i to 28 godina nakon njegovog objavljivanja. Originalni video, ima nekoliko zabavnih sekvenci akcije uživo koji daju šmek i karakter čitavom klipu, uključujući nekoliko lepo snimljenih prekida.
KernelEx softver koji omogućava rad aplikacija za Windows 2000 i XP ne funkcioniše na Windows 95 sistemu. MattKC je zbog toga morao da otkrije kako da .NET Framework uključi i omogući na starijoj verziji Windows OS operativnog sistema i tako omogući softveru ispravan rad. Postoji mnogo .DLL datoteka koje nedostaju, ali korišćenje alata za prikaz bespotrebnog mašinskog koda i fajlova je pomogao u nameri da se identifikuju imena datoteka koje nedostaju, tako da se nedostajući DLL fajl mogao zameniti ili ignorisati. Čak i nakon prenosa svih DLL datoteka koje nedostaju, .NET i dalje ne nije urodio plodom.
Windows 95 ponovo radi…
Da bi .NET funkcionisao na Windows 95 operativnom sistemu, potrebno je više „redžistri ključeva“ nego što je vremena u originalnom video snimku od 51 minut i 53 sekunde — ukupan broj potrebnih „redžistri ključeva“ koje je bilo potrebno uneti da bi sve radilo, iznosi 5409.
Ali čak i kada se jednom svi prenesu .NET ne može ispravno da otkloni JIT (Just In Time) greške u Windows 95 sistemu. Čini se da je uzrok tome „ndphlpr“, misteriozni, stari Windows drajver koji se ne koristi u Windows 98 verziji, ali je itekako „potreban“ za .NET pošto se bez njega ruši u radu. MattKC je čak pokušao da prevari računar time kako navodno ima „ndphlpr“ i to rešenje je moglo da funkcioniše, ali nakon što je ispitivanjem otkrio da niko ne zna šta je to, odlučan je u nameri da u potpunosti reši ovaj problem.
Navedeni nedostatak uzrokuje grešku u mašinskom kodu. WinDebug alat ne podržava izvorno .NET, tako da je MattKC i dalje morao da se pozabavi nekim problemima kompatibilnosti dok je paralelno testirao Windows 95 i 98. Danima je pokretao operativne sisteme na WinDebug-u kako bi se konačno otkrio problem, a broj reset procedura je bio mukotrpan.
Na kraju, MattKC je konačno uspeo i pronašao blokirani deo koda koji WinDebug nije mogao da pročita. Kada je dešifrovan, kod je otkriven kao:
F2 0F 10 44 24 08 F2 05 2C CO
Ovaj kod sa greškom se odnosio na nedostajući Windows API za neke funkcije klika. Izuzetak je bio taj što nije mogao da pronađe „NotifiVinEvent u user32.dll“, a SSE2 je zamaskirao instrukciju u kodu. Zatim je .NET morao da se zakrpi da bi se uklonila ova zavisnost od SSE2 optimizacije — ali ni ovaj potez nije popravio kompatibilnost, već sam .NET program „debager“.
Posle mnogo pokušaja otklanjanja grešaka za Lego Island, MattKC je na kraju ručno kodirao metod za štampanje poruke o izuzetku/grešci u iskačućem prozoru, umesto da se dešava tamo gde on ne može da je vidi. Ovo funkcioniše i omogućava da se izgladi i poslednji deo DLL kompatibilnosti. Nakon toga, Rebuilder za Lego Island je prilagođen i konačno igra je profunkcionisala, kao i modernija funkcija za „screenshot“ koja sada sasvim dobro funkcioniše na Windows 95 OS-u.
Na kraju to je još jedan uspeh i bezgranično veliki osećaj zadovoljstva, onim učinjenim za jednog odlučnog „tehno freak-a“, prenosi tomshardware.
Benchmark.rs