Să instalăm o placă 3dfx Voodoo2 pe un sistem AM5 și Windows 11? Nimic mai complicat…

Cum ar fi să instalăm o placă 3dfx Voodoo2 pe un calculator AM5 cu Ryzen 9 și, mai apoi, ci chiar și în Windows 11? Este practic? În anumite situații, da. Mai ales dacă folosim și Windows 9x pe hardware modern. În ceea ce privește inițializarea nativă a plăcii sub Windows 10 sau Windows 11 pe 64 de biți, lucrurile sunt mai complicate dar nu imposibile… Totuși, ideea de a lansa jocuri pe hardware 3dfx autentic direct din Windows 11 este suficient de interesantă încât să merite experimentul, chiar dacă multe dintre jocurile compatibile Glide nu pornesc deloc în Windows 10 sau 11.

YouTube player

Ce este Voodoo2?

Probabil majoritatea dintre voi știți deja ce reprezintă un Voodoo2, însă merită o scurtă recapitulare.

Lansată la începutul anului 1998, 3dfx Voodoo2 era placa de accelerare 3D pe care și-o dorea orice pasionat de PC gaming. La momentul apariției, era cea mai rapidă soluție disponibilă pe piață. Chiar dacă spre sfârșitul anului au apărut competitori puternici, precum NVIDIA RIVA TNT, Voodoo2 avea un avantaj unic: posibilitatea de a utiliza două plăci simultan prin tehnologia SLI (Scan-Line Interleave).

În configurație SLI, discuția despre performanță era practic încheiată. Un sistem cu două Voodoo2 reprezenta vârful absolut al gamingului PC în 1998 și începutul lui 1999.

Cum conectăm o placă Voodoo2 la un sistem modern?

Prima provocare a fost conectarea fizică. Întregul experiment a pornit după ce cineva m-a întrebat dacă rack-ul PCIe to PCI de la StarTech pe care l-am prezentat în alte video-uri poate funcționa cu un Voodoo2 sau un Voodoo3. Inițial am crezut că răspunsul va fi simplu. Nu a fost. Carcasa externă StarTech acceptă doar plăci PCI de dimensiuni reduse (half-length), iar Voodoo2 este mult prea lungă pentru a încăpea în interior. Soluția a fost să las placa în afara carcasei. Arată complet aiurea, dar funcționează.

Performanța în Windows 98

Sub Windows 98, rezultatele au fost surprinzător de bune. Placa a funcționat perfect pe un sistem bazat pe Ryzen 9 9900X. Driverele s-au instalat fără probleme, iar testele au confirmat că Voodoo2 nu este deloc intimidat de hardware-ul modern.

În Quake II am obținut aproximativ 62 FPS la rezoluția de 800×600, practic limita maximă realistă pentru această placă. De asemenea, 3DMark 2001 a raportat unul dintre cele mai ridicate scoruri pe care le-am văzut vreodată pentru un singur Voodoo2.

Un aspect interesant a fost comportamentul driverelor. Contrar așteptărilor, ultimele drivere oficiale 3dfx au oferit aproximativ 20% mai multă performanță decât popularele drivere modificate „Fast Voodoo”, considerate de mulți drept alegerea optimă pentru Voodoo2.

Până aici, totul părea să meargă perfect.

De ce alte plăci PCI nu funcționează la fel de bine?

Lucrurile s-au schimbat radical când am încercat alte plăci PCI, precum S3 Virge sau chiar Voodoo3. Rezultatul? Instabilitate totală. După mai multe teste, explicația pare să fie legată de cablul DVI de aproximativ un metru utilizat de adaptor. Acesta introduce o latență suplimentară pe magistrală. Plăcile precum Virge și Voodoo3 folosesc funcții avansate de PCI Bus Mastering și devin extrem de sensibile la astfel de întârzieri.

Consecința este că încep să retransmită continuu anumite operații pe magistrală, blocând în final întregul sistem.

Voodoo2 are un design mult mai simplu și evită această problemă, ceea ce explică de ce funcționează atât de bine în această configurație neobișnuită.

Windows 10 și Windows 11: partea cu adevărat interesantă

În 2006, un dezvoltator cunoscut sub numele de Ryan „Colourless” Nunn a creat un driver experimental pe 64 de biți pentru plăcile Voodoo. Acesta funcționează ca un strat de compatibilitate care păcălește vechile biblioteci Glide să creadă că rulează într-un mediu Windows NT4.

Surprinzător, acest driver poate fi instalat și astăzi pe Windows 10 x64 și Windows 11. Există însă o condiție obligatorie: dezactivarea verificării semnăturii digitale a driverelor (Driver Signature Enforcement). Instalarea driverului nu înseamnă însă automat că totul funcționează.

Inițial, driverele se încărcau corect, însă bibliotecile Glide afișau o eroare de tip „map memory”.

Din fericire, problema fusese rezolvată încă din perioada Windows XP Professional x64. Înlocuirea DLL-urilor Glide cu versiuni modificate a eliminat complet eroarea.

În cazul Windows 11 a fost nevoie și de câteva schimbări suplimentare ale sloturilor PCI, plus dezactivarea semnăturii driverelor la fiecare instalare, însă rezultatul final este impresionant:

Da, un 3dfx Voodoo2 din 1998 poate funcționa în Windows 11 23H2.

O placă video lansată în urmă cu aproape trei decenii, un driver experimental din 2006 și un sistem de operare modern din 2024–2025. Este exact genul de combinație improbabilă care face hobby-ul hardware-ului retro atât de fascinant.

Concluzie

Experimentul demonstrează încă o dată cât de flexibil poate fi ecosistemul PC. Deși nimeni nu a proiectat vreodată un Voodoo2 pentru a funcționa pe o platformă AM5 sau în Windows 11, cu suficientă răbdare se poate… Este utilă pentru utilizarea de zi cu zi? Nu neapărat. Este fascinant să vezi tehnologie din 1998 funcționând pe un sistem de ultimă generație? Cu siguranță. Iar pentru pasionații de hardware retro, uneori acesta este motivul principal pentru care merită să încerci astfel de experimente.

Un SSD M.2 NVMe pe un Pentium II?

Un SSD M.2 NVMe pe un Pentium II? N-ar trebui nici măcar să existe o astfel de discuție. La o adică, Pentium II a fost lansat în 1997, prima placă de bază cu PCI Express a apărut abia în 2004, iar SSD-urile NVMe au sosit aproximativ un deceniu mai târziu. Așa că ideea de a instala un astfel de SSD pe o placă de bază din 1997 pare mai degrabă o întrebare capcană pe care ai putea să o primești la un interviu de angajare la Google. Și totuși… dacă înțelegi cu adevărat cum funcționează PCI Express, ideea începe să pară surprinzător de rezonabilă. Cel puțin în teorie…

Dacă preferi să urmărești videoclipul de pe YouTube – ceea ce ar fi absolut grozav, bineînțeles – dă click pe linkul de mai jos. Acest articol conține în mare parte aceleași informații, plus câteva detalii suplimentare care nu au mai încăput în versiunea video.

YouTube player

Dar o placă de bază Pentium II are doar sloturi PCI…

Corect. O placă de bază Pentium II dispune doar de sloturi PCI clasice și nu are nici urmă de conector M.2. Însă aici intervine partea interesantă a poveștii. PCI Express nu a înlocuit PCI aruncând totul la gunoi și pornind de la zero. A fost proiectat încă de la început pentru a fi compatibil la nivel software cu standardul PCI original.

Din perspectiva sistemului de operare, un dispozitiv PCIe arată exact ca un dispozitiv PCI: aceeași alocare de resurse, același proces de enumerare și același model de drivere. Magistrala a evoluat radical la nivel hardware (comunicație serială în loc de paralelă, conexiuni punct-la-punct în loc de magistrală partajată și o lățime de bandă mult mai mare), dar interfața software a rămas intenționat aceeași.

A fost o decizie extrem de inspirată, deoarece alternativa ar fi fost un coșmar: pentru fiecare sisteme de operare ar fi trebuit să se rescrie componente fundamentale ale sistemului doar pentru a suporta un nou tip de magistrală. Astfel, când PCI Express a debutat în 2004, puteai instala o placă video PCIe nouă într-un sistem care rula Windows 98, Windows NT sau Windows XP, iar aceasta era recunoscută imediat, fără actualizări ale sistemului de operare. Sistemul nu trebuia să știe și nici să îi pese că la nivel hardware lucrurile se schimbaseră.

Această compatibilitate retroactivă este exact motivul pentru care putem folosi și astăzi, cu adaptorul potrivit, un dispozitiv PCIe pe o placă de bază PCI. Și tot ea face posibil întregul experiment „NVMe pe Pentium II”.

SSD-urile M.2 NVMe sunt, de fapt, dispozitive PCIe standard

Da, SSD-urile M.2 NVMe sunt pur și simplu dispozitive PCIe standard într-un format fizic diferit.

Un adaptor M.2 către PCIe face exact ceea ce sugerează numele: conectează pinii conectorului M.2 la echivalentele lor dintr-un slot PCIe. Fără magie, fără conversii complexe. Doar o remapare fizică a conexiunilor.

Prin urmare, dacă poți conecta un dispozitiv PCIe într-un slot PCI clasic, atunci poți conecta și un SSD NVMe într-un sistem Pentium II.

Și da, acest lucru este posibil folosind un adaptor PCI-to-PCIe bazat pe un cip precum PEX8112. Acest cip funcționează ca un traducător bidirecțional: îi spune SSD-ului NVMe că rulează pe o conexiune PCIe x1 și, simultan, îi spune BIOS-ului că are în față un dispozitiv PCI obișnuit.

În teorie, SSD-ul NVMe ar trebui să apară pur și simplu ca încă un dispozitiv pe magistrala PCI. Din acel moment, totul devine o problemă de drivere.

Două lucruri care pot merge prost înainte să ajungi la drivere

1. Linia de alimentare de 3,3 V

Primele implementări PCI furnizau doar 5 volți. Reviziile ulterioare au introdus și alimentarea la 3,3 V. Multe plăci PCI sunt universale și funcționează cu ambele tensiuni, însă SSD-urile M.2 NVMe necesită obligatoriu 3,3 V, aceasta fiind tensiunea lor standard de funcționare.

Adaptorul PCI-to-PCIe transmite pur și simplu alimentarea disponibilă în slot. Dacă tensiunea de 3,3 V lipsește, adaptorul nu poate compensa, iar SSD-ul nu va porni.

Vestea bună este că placa de bază Intel 440BX utilizată în acest experiment oferă 3,3 V pe sloturile PCI, deci nu există probleme.

Ca referință însă, o placă Socket 7 bazată pe chipsetul VIA MVP3, lansată la doar câteva luni după 440BX, nu oferă 3,3 V pe magistrala PCI. În acel caz, întregul proiect ar necesita modificări hardware suplimentare.

2. Scanarea bridge-urilor PCI de către BIOS

SSD-ul NVMe se află în spatele unui bridge PCI-to-PCI suplimentar, ceea ce este perfect valid din punct de vedere al specificației PCI (standardul permite până la 256 de bridge-uri).

Totuși, unele BIOS-uri mai vechi nu scanează dispozitivele aflate dincolo de primul bridge sau nu alocă resursele corect. Acest lucru poate compromite complet configurația înainte ca sistemul de operare să fie încărcat.

Driverele: vestea bună

Majoritatea SSD-urilor NVMe (cu câteva excepții timpurii, precum Samsung 950 Pro) nu includ un Option ROM clasic pentru boot prin BIOS. Ele presupun că firmware-ul plăcii de bază conține deja un driver NVMe.

Evident, o placă de bază din 1997 nu are așa ceva.

O soluție interesantă ar fi încărcarea unui bootloader compatibil NVMe prin Option ROM-ul PXE al unei plăci de rețea, însă acest subiect merită un articol sau un videoclip separat.

Pentru acest experiment am pornit sistemul de pe un hard disk SATA și am testat dacă Windows 98 poate recunoaște SSD-ul NVMe.

De ce Windows 98? Pentru că acesta era sistemul de operare folosit de majoritatea posesorilor de Pentium II. Eu cu siguranță îl foloseam.

Și, oricât de improbabil ar suna combinația „NVMe + Windows 98”, ea nu este imposibilă. La sfârșitul anului 2025 exista deja un driver NVMe funcțional pentru Windows 98.

Driverul original pentru Windows 2000/NT a fost scris de Dominik Behr, iar portarea pentru Windows 98 a fost realizată de SweetLow. Ambele sunt ușor de instalat și surprinzător de fiabile.

Cum driverul NVMe era deja instalat în sistemul meu Windows 98, SSD-ul a fost detectat chiar de la prima pornire și a solicitat repornirea sistemului.

Acesta a fost un semn bun, deși oricine a lucrat cu hardware retro știe că există o diferență uriașă între un driver care se instalează și unul care funcționează efectiv.

După repornire: SSD NVMe complet funcțional în Windows 98, conectat prin magistrala PCI clasică.

Viteze de transfer: ce poate face de fapt magistrala PCI

Spre deosebire de PCI Express, magistrala PCI clasică oferă o lățime de bandă totală de 133 MB/s, partajată între toate dispozitivele conectate, nu per dispozitiv.

După ce luăm în calcul overhead-ul protocolului și alte limitări, vitezele reale de citire ajung în jurul valorii de 100 MB/s în CrystalDiskMark.

Samsung PM981 NVMe SSD benchmarked in Windows 98

Aceste valori cresc dacă sistemul este overclockat. Atunci când frecvența magistralei PCI urcă de la 33 MHz la aproximativ 36–37 MHz, vitezele de transfer cresc până la circa 110–114 MB/s.

Pentru comparație, atunci când am testat același SSD NVMe prin același adaptor PCI-to-PCIe într-un slot PCIe x1 real, am obținut aproximativ 200 MB/s, deoarece bridge-ul funcționa la 66 MHz în loc de 33 MHz.

Am testat aceeași configurație și în Windows NT. Driverul NVMe pentru NT, utilizat printr-o conexiune PCIe completă, poate împinge acest SSD Samsung până la aproximativ 1,4 GB/s.

Sunt cifre impresionante pentru un sistem de operare lansat în 1996.

Prin magistrala PCI însă, rezultatele revin inevitabil în zona celor aproximativ 100 MB/s.

Este această configurație cu adevărat utilă?

Aș spune că da, și nu doar ca un experiment de tipul „pentru că putem”. Dacă ai un SSD NVMe scos din uz într-un sertar și îți dorești cea mai rapidă soluție de stocare pentru un sistem PCI clasic, această variantă poate fi mai ieftină decât ruta tradițională bazată pe carduri CompactFlash.

Cardurile CF se comportă mai mult ca niște unități IDE clasice și oferă o compatibilitate excelentă, însă nici ele nu sunt ieftine, iar adaptorul necesar reprezintă un cost suplimentar.

În multe cazuri, o placă PCI-to-PCIe și un SSD NVMe rămas disponibil pot reprezenta soluția mai avantajoasă.

Mai departe: placa XBridge (sdz-mods.com)

Cineva a dus deja această idee și mai departe.

Daniel de la SDZ-Mods a dezvoltat recent un adaptor PCI-X către NVMe care funcționează și în sloturi PCI standard. Pe o magistrală PCI-X, capabilă de până la 1 GB/s, adaptorul a atins aproximativ 800 MB/s într-un sistem SGI O2. Sper să pun mâna pe unul dintre aceste adaptoare în viitorul apropiat. Deși, mai întâi, va trebui să găsesc un sistem PCI-X.

Ce se întâmplă dacă montăm o placă GTX/RTX într-un slot PCI din anii ’90?

Iată o întrebare pe care nu mi-a pus-o nimeni, dar la care am decis să răspund oricum. Pe scurt: rezultatele sunt surprinzător de interesante. În primul rând, funcționează! Desigur, faptul că funcționează nu înseamnă că funcționează și bine…

YouTube player

De ce funcționează totuși?

Înainte să intrăm în detalii, merită să înțelegem de ce este posibil un astfel de experiment. Atunci când PCI Express (PCIe) a apărut în 2003, nu a fost conceput ca o ruptură totală față de trecut, ci mai degrabă ca o evoluție. Ideea-cheie a fost ca PCIe să funcționeze la nivel software exact ca vechiul PCI. Astfel, sistemele de operare nu aveau nevoie de drivere speciale sau actualizări majore. Pentru sistemul de operare, dispozitivele arătau la fel, indiferent dacă erau conectate într-un slot PCI clasic sau într-un slot PCIe modern.

Sloturi PCI-X

Acest lucru nu a fost întâmplător. Tranziția fusese pregătită încă de PCI-X (care nu trebuie confundat cu PCIe), apărut în jurul anului 1998. PCI-X era practic „PCI, dar mai rapid”: păstra arhitectura magistralei paralele, însă creștea frecvența până la 133 MHz și chiar mai mult. A fost folosit în principal în servere și stații de lucru, demonstrând că exista atât posibilitatea, cât și cererea pentru viteze mai mari.

Apoi a apărut PCI Express și a schimbat complet arhitectura hardware. În locul unei magistrale paralele partajate, PCIe utilizează linii seriale dedicate. Cu toate acestea, compatibilitatea software a fost păstrată. Un dispozitiv PCIe apare în sistem exact ca unul PCI. Sistemul de operare îl configurează la fel, îl adresează la fel și comunică cu el folosind aceleași mecanisme de bază.

Acesta este motivul pentru care Windows 98 poate funcționa cu plăci video PCIe moderne dacă folosești adaptoarele și bridge-urile potrivite. Sistemul de operare nu are nicio idee că lucrează cu un strat fizic complet diferit. Din perspectiva Windows 98, este doar o altă placă PCI.

Așa sunt descoperite dispozitivele PCI în realitate: firmware-ul (BIOS sau UEFI), iar ulterior sistemul de operare, parcurg un spațiu standardizat de configurare PCI, verificând o serie bine definită de magistrale, dispozitive și funcții. Fiecare dispozitiv PCI sau PCIe este obligat să expună un antet de configurare care conține aceleași informații esențiale: ID-ul producătorului, ID-ul dispozitivului, codul clasei, BAR-urile și așa mai departe.

În PCIe, toate acestea sunt implementate peste o infrastructură punct-la-punct bazată pe pachete de date, nu pe o magistrală partajată. Cu toate acestea, controllerul principal și ierarhia de switch-uri emulează fidel modelul vechiului PCI. Din punctul de vedere al sistemului de operare, procesul este același: scanează magistrala 0, apoi explorează recursiv magistralele secundare din spatele bridge-urilor, alocă resurse și construiește arborele dispozitivelor.

Realitatea electrică este complet diferită, însă algoritmul de enumerare și decenii întregi de cod pentru drivere au rămas aproape neschimbate. Acest artificiu elegant este probabil una dintre cele mai mari reușite inginerești ale PCI Express.

Experimentul a pornit de la configurarea sistemului meu Ryzen 9 9900X pentru multiboot.

Configurația principală:

Aveam nevoie să rulez simultan două plăci video: una pentru Windows 98 (pentru că mă cunoașteți deja…) și una pentru aplicațiile moderne.

Problema? Nu puteam utiliza sloturile PCIe exact cum îmi doream, deoarece opțiunile BIOS-urilor moderne sunt limitate. Vă amintiți vremurile procesoarelor Intel din generația a patra, când puteai alege direct din BIOS ce placă video să fie cea principală? Ei bine, acele vremuri au trecut. Astăzi, de regulă, poți alege doar între grafica integrată și placa montată în primul slot PCIe.

Cum Windows 98 poate utiliza doar adaptorul video principal, a trebuit să găsesc o soluție creativă.

Rezultatul? Am forțat un RTX 5060 Ti modern să funcționeze într-un slot cu lățime de bandă redusă, în timp ce locul privilegiat a fost rezervat unui GeForce 7900 GS din 2006. Pentru că prioritățile sunt importante.

Testul extrem: PCI clasic

Dar de ce să mă opresc aici? Am decis să merg și mai departe și să văd ce se întâmplă atunci când oblig plăcile video să funcționeze la vitezele magistralei PCI clasice: doar 133 MB/s. Sau, mai exact, aproximativ 266 MB/s, deoarece ambele bridge-uri utilizate pot funcționa la 66 MHz.

Configurația hardware a fost destul de neobișnuită:

  • Cip PEX8112 pentru conversia PCIe → PCI

  • Cip PL7C9X pentru conversia PCI → PCIe

Pentru a verifica viteza reală, am conectat inițial un SSD NVMe. CrystalDiskMark a confirmat că magistrala funcționa la 66 MHz.

De la PCIe 3.0 x16 (16 GB/s) la PCIe 3.0 x1 (1 GB/s)

În primul test am folosit un GTX 1660 Super conectat printr-un adaptor PCIe x1 → x16, similar celor utilizate frecvent în sistemele de mining.

Pentru context, o conexiune PCIe 3.0 x1 oferă aproximativ 1 GB/s lățime de bandă. Întrebarea era simplă: câtă performanță pierdem când coborâm de la 16 GB/s la doar 1 GB/s?

Surprinzător, în benchmark-ul Steel Nomad rezultatele au fost practic identice.

Motivul este simplu: Steel Nomad este un benchmark puternic limitat de GPU. După încărcarea texturilor în memoria video, transferurile prin magistrala PCIe devin minime, astfel încât limitarea de bandă nu se manifestă.

În schimb, jocuri mai solicitante precum Spider-Man probabil ar suferi de stuttering sever la doar 1 GB/s, însă nu am avut titlul disponibil pentru testare.

Rulăm la 0,2 GB/s via adaptoare PCI – GeForce 7900 GS (2006)

Primul candidat a fost veteranul GeForce 7900 GS. În mod normal, această placă obține aproximativ 56.000 de puncte în 3DMark 2001 pe sistemul Ryzen 9. După trecerea prin două bridge-uri PCI, scorul a scăzut la puțin sub 10.000 de puncte.

Practic, performanța s-a redus la aproximativ 20% din valoarea normală. În Quake 2 situația a fost și mai dramatică: 53 FPS în loc de aproximativ 1.000 FPS la rezoluția 1024×768. Partea bună? Windows 98 nu a avut nicio problemă cu toate aceste bridge-uri, ceea ce este deja o victorie.

GTX 1660 Super (2019)

GTX 1660 Super s-a comportat mult mai interesant. Driverul a detectat că placa funcționează la viteze PCIe x1 și pur și simplu a continuat să funcționeze. Fără erori, fără blocări.

În Steel Nomad am observat o scădere de aproximativ 33% a performanței, mult mai puțin decât mă așteptam.

Aici apare partea interesantă: jocurile moderne bazate pe Vulkan, precum versiunea remasterizată a lui Quake 2, au rulat surprinzător de bine.

Explicația este că API-urile moderne încarcă majoritatea texturilor în memoria video la începutul nivelului și nu transferă continuu cantități mari de date prin PCIe.

Jocurile mai vechi sunt însă o poveste complet diferită.

S.T.A.L.K.E.R., lansat în 2007 și având nevoie de doar 128 MB de memorie video, transferă constant date prin magistrală. Rezultatul a fost devastator: de la sute de cadre pe secundă la aproximativ 10 FPS.

RTX 5060 Ti: dezamăgirea modernă

Cu RTX-ul lucrurile au devenit ciudate.

Windows 10 și Windows 11 au refuzat pur și simplu să inițializeze bridge-ul PCI creat de cipul PLX 8112. Sistemul nu găsea identificatori hardware compatibili și nu permitea instalarea manuală a driverelor.

După toate temerile că Windows 98 s-ar putea încurca în fața acestor adaptoare, s-a dovedit că versiunile moderne de Windows au fost cele care au renunțat primele.

Contează cu adevărat lățimea de bandă PCIe?

Aici ajungem la cea mai interesantă concluzie.

RTX 5060 Ti utilizează doar opt linii PCIe. Teoretic, asta înseamnă:

  • 32 GB/s pe PCIe 5.0

  • 16 GB/s pe PCIe 4.0

Când am testat placa într-un slot care oferea doar patru linii PCIe (aproximativ 8 GB/s), scorul din Steel Nomad a fost chiar ușor mai mare decât la lățimea de bandă maximă. Diferența se încadra în marja de eroare, dar tot a fost surprinzătoare.

Chiar și în Half-Life 2 RTX, un titlu destul de solicitant, pierderea de performanță a fost de doar aproximativ 5%.

Diferențele reale apar însă în valorile minime ale timpilor de randare (frame times), acolo unde limitarea magistralei începe să se simtă.

Concluzii

Ce am învățat din acest experiment? Plăcile video moderne sunt surprinzător de rezistente la limitările de lățime de bandă, cel puțin în anumite scenarii. Trecerea la modele de lucru care încarcă resursele în memoria video și reduc transferurile constante prin magistrală a avut un impact major.

Există însă o limită.

Dacă reduci suficient de mult lățimea de bandă — până la nivelurile PCI din anii ’90 — nici cele mai inteligente tehnici de gestionare a memoriei nu mai pot salva situația.

GTX 1660 Super a demonstrat că arhitecturile moderne gestionează mai bine aceste constrângeri decât hardware-ul vechi, însă motoarele grafice mai vechi pot aduce performanța la pământ indiferent de generația plăcii video.

Și, până la urmă, am reușit să obțin ceea ce îmi doream: un sistem capabil să ruleze Windows 98 și o placă RTX modernă în același timp. Chiar dacă RTX-ul trebuie să se mulțumească cu resturile de lățime de bandă.

Bonus: Windows 98 încă impresionează

Și apropo de Windows 98… Dacă vă întrebați cum arată Half-Life 2 rulat pe hardware vechi, folosind DirectX 9 și o placă video cu doar 256 MB de memorie DDR, răspunsul este surprinzător: peste 150 FPS în Full HD, cu toate detaliile la maximum.

YouTube player

Sigur, versiunea RTX arată mai bine. Dar asta ridică o întrebare interesantă despre cei peste 20 de ani de evoluție tehnologică.

Atât pentru acest experiment. Uneori, cele mai interesante întrebări sunt exact cele pe care nimeni nu simte nevoia să le pună.

Driver NVMe pentru Windows 98?

Salutare tuturor! Avem vești interesante! Windows 98 se poate înțelege SSD-urile NVMe! Nu este vorba despre o soluție improvizată, ci despre un backport care a pornit de la excelentul driver NVMe2K (creat inițial pentru Windows NT/2000) și care permite acum ca Windows 98 să comunice direct cu hardware-ul NVMe, exact ca un sistem de operare modern.

YouTube player

Ce este NVMe, de fapt?

O să folosesc frecvent termenul “NVMe” în acest articol, așa că haideți să clarificăm rapid conceptul. În termeni simpli, NVMe (Non-Volatile Memory Express) este limbajul modern pe care unitățile de stocare îl folosesc pentru a comunica cu calculatorul.

Timp de decenii, hard disk-urile și primele SSD-uri au folosit protocoale mai lente precum SATA – gândește-te la ele ca la un drum țărănesc cu două benzi pentru date. NVMe, pe de altă parte, se conectează prin aceeași autostradă cu multiple benzi (magistrala PCIe) pe care o folosește și placa grafică. Acest lucru permite transferul datelor la viteze fenomenale, cu mult mai puține întârzieri.

De aceea descoperirea unui driver NVMe nativ pentru Windows 98 este un eveniment atât de important: este vorba despre a învăța un sistem de operare vechi de 25 de ani să vorbească limbajul celui mai rapid hardware de stocare din prezent, deblocând performanțe pentru care nu a fost niciodată conceput.

Ce face acest driver diferit?

Dacă ați urmărit activitatea mea, știți că am demonstrat deja Windows 98 rulând de pe unități NVMe pe sisteme Intel și AMD moderne, inclusiv acea configurație cu Ryzen 9 9900X și un SSD Kingston Gen 5 de 2TB.

Dar iată care era problema: până acum, ne bazam pe ceea ce Microsoft numește “modul de compatibilitate MS-DOS”, unde BIOS-ul gestionează totul prin driverele sale de nivel scăzut.

Acest driver nou, creat de SweetLow (aceeași persoană din spatele variantei VxD a CREGFIX), este o implementare corectă NVMe către SCSI. Este de fapt un port al driverului NVMe2K realizat de Dominik Behr, pe care l-am prezentat recent rulând pe Windows NT și 2000.

Metoda veche vs. metoda nouă

Abordarea prin compatibilitate BIOS ne-a ajutat încă din primele zile DOS. Am demonstrat chiar și MS-DOS 3.3 din 1987 rulând pe bare metal pe un Ryzen 9 9900X cu 64GB RAM și SSD-uri NVMe – toate pornind de pe o unitate floppy USB pe care BIOS-ul o prezintă ca un floppy standard.

DOS nu se plânge pentru că niciodată nu vorbește direct cu hardware-ul; pur și simplu cere BIOS-ului să citească și să scrie sectoare prin INT 13h, exact cum ar fi făcut-o pe un PC 286 în 1987.

Dar acest mod de compatibilitate vine cu câteva limitări serioase:

Probleme de fiabilitate: Implementările CSM variază dramatic între plăci de bază. Pot apărea erori de protecție Windows, mai ales dacă partiția primară depășește 8GB (limita veche de adresare CHS).

Restricții de stocare: Deși FAT32 suportă teoretic partiții de 2TB, a face Windows 98 să funcționeze fiabil cu unități mari prin modul BIOS este problematic în cel mai bun caz.

Viteză: Accesul prin BIOS este dureros de lent – vorbim de 5 până la 20 MB/s. Sigur, este mai rapid decât unitățile IDE din epocă, dar este departe de ceea ce pot face SSD-urile moderne.

Ce aduce noul driver

Cu acest driver NVMe nativ, suntem limitați doar de FAT32 în sine: dimensiune maximă de 4GB per fișier, dar partiții până la 2TB. Am formatat o unitate NVMe de 512GB în Windows 98 și am obținut o partiție FAT32 complet funcțională de ~500GB – ceva ce tool-ul de formatare din Windows NT nu putea face până recent din cauza limitei artificiale de 32GB.

Performanță: Prima versiune a driverului atingea aproximativ 300 MB/s (similar cu ce ai obține de la un SSD SATA cu driverul AHCI al lui Rudolph). Ultima versiune? Peste 1 GB/s în majoritatea benchmark-urilor. Este absolut incredibil pentru Windows 98. Poți copia o imagine CD în aproximativ două secunde, iar nivelurile din Half-Life 2 se încarcă vizibil mai rapid.

Stabilitate: L-am testat pe diverse unități NVMe și configurații, și este extrem de stabil. Nicio problemă în timpul operării normale.

Limitarea

Poți să pornești Windows 98 direct de pe acest driver? Nu prea – cel puțin nu încă. Tranziția de la modul real la modul protejat în timpul boot-ului cauzează probleme în funcție de implementarea CSM. Pe sistemul meu AM5, Windows 98 pornește parțial (chiar se încarcă driverul video), dar apoi înghează. Aceeași poveste pe AM4 cu un Ryzen 5 și placă B550, și pe un sistem B360 cu Core i5.

Dacă întâmpini probleme, ștergi pur și simplu fișierul driverului din Windows\System\Iosubsys și te întorci la accesul BIOS de bază. Instalarea este simplă – unitatea NVMe apare ca un dispozitiv PCI necunoscut, și pur și simplu încarci driverul ca pe oricare altul.

Perspective de viitor

Data viitoare când cineva spune “nu există drivere pentru a rula Windows 98 pe hardware modern” (ceea ce, să fim sinceri, este o presupunere destul de rezonabilă), abia aștept să menționez acest driver. Și vestea bună continuă – există și un driver HD audio nou-nouț special conceput pentru Windows 98 și Millennium Edition. Nu vechiul driver de 16-bit pentru Windows 3.1 pe care l-am prezentat înainte, ci ceva construit special pentru Win98. Cu siguranță o să-l verific într-un videoclip viitor.

Comunitatea retro computing continuă să mă surprindă. Când combini dezvoltatori talentați, cod bine documentat și pasiune genuină pentru menținerea în viață a sistemelor vechi, se întâmplă lucruri incredibile. Acest driver NVMe este dovada că Windows 98 nu și-a spus încă ultimul cuvânt.

Link-uri și fișiere

Urmăriți videoclipul complet aici: https://youtu.be/YUoJS2xXRmQ

Descărcați cel mai recent driver NVMe 9x de aici: https://github.com/LordOfMice/Tools https://github.com/LordOfMice/Tools/blob/master/nvme9x.zip

Driverul original NVMe 2K/NT4: https://github.com/techomancer/nvme2k

Windows 98 la maxim: cum să instalăm cele mai performante plăci video PCI-Express compatibile – NVIDIA seria 7000

În acest articol, vom discuta despre cum să instalăm o placă grafică Nvidia din seria 7000 în Windows 98.

YouTube player

Deși suportul oficial al Nvidia pentru Windows 98 s-a oprit în 2005, odată cu seria 6000, există soluții pentru a folosi plăci grafice mai noi precum seria 7000 datorită patch-urile oferite de regretatul Rudolf Loew. În acest ghid, vom acoperi ce drivere sunt necesare și cum să rezolvăm problemele care apar frecvent în timpul instalării.

Driverul ver. 82.69 e baza!

Ultimele drivere oficiale pentru Windows 98 au fost lansate în decembrie 2005, odată cu versiunea Forceware 81.98, care oferea suport pentru seria 6000 și OpenGL 2.0. Acestea sunt încă disponibile pe site-ul oficial Nvidia. Cu toate acestea, în septembrie 2006 a apărut un driver beta 82.69, care rezolva problemele de rezoluții widescreen și este esențial pentru patch-urile ulterioare.

Pentru instalarea corectă a unei plăci din seria 7000 pe Windows 98, avem nevoie de driverul modificat sau neoficial 82.69, care este ușor de găsit online. Acesta funcționează și cu seria 7000, dar dacă installer-ul nu recunoaște placa grafică, driverul va trebui instalat manual.

Probleme comune și soluții

După instalarea driverului, fără aplicarea unor patch-uri suplimentare, pot apărea diverse probleme. Pe unele configurații, sistemul nu va mai boota normal în Windows 98, dar va merge în Safe Mode. De asemenea, chiar dacă placa grafică este instalată corect, unele jocuri vor funcționa, iar altele vor bloca sistemul. Spre exemplu, în cazul acestei configurații, jocuri precum Return to Castle Wolfenstein rulează fără probleme, dar Quake 2 poate bloca sistemul. La fel o poate face și rularea benchmark-ului 3DMark 2001 SE.

Așadar pentru a face placa grafică stabilă și fiabilă, trebuie aplicate o serie de patch-uri dezvoltate de Rudolph Loew.

Patch-urile esențiale pentru plăcile Nvidia de 512MB

Plăcile grafice Nvidia de 512MB s-au dovedit problematice pe Windows 95, 98 și Millennium. Nvidia a schimbat designul după lansarea acestor modele, reducând spațiul de adresare MMIO la 256MB, ceea ce a cauzat conflicte în memoria sistemului. Driverul 82.69 nu recunoaște corect această diferență, ceea ce duce la probleme de alocare și posibile blocări ale sistemului.

Patch-ul lui Rudolph Loew rezolvă această problemă, modificând codul driverului pentru a suporta corect memoria video accesibilă direct în limita a 256MB. Aceasta este o soluție simplă care permite ca mai multe plăci să fie suportate fără riscuri care sunt prezente atunci când modificăm BIOS-ul plăcii grafice. Dezavantajul acestei soluții este că doar jumătate din memoria video va fi utilizabilă.

O altă opțiune este patch-ul BIOS, care modifică BIOS-ul plăcii grafice pentru a raporta întreaga memorie video, dar această soluție este mai complexă și riscantă, necesitând o procedură de flashing a BIOS-ului.

Un al treilea patch este furnizat pentru a dezactiva configurarea ROM-ului opțional video. Unele combinații între BIOS-ul plăcii grafice și al plăcii de bază setează o adresă ROM incorectă, ceea ce poate împiedica încărcarea corectă a Windows-ului. Acest patch este recomandat dacă întâmpinați erori legate de driverul de display.

Probleme cu IRQ-urile

Un alt set de fișiere, denumit interrupt fixup, gestionează pierderea întreruperilor cauzată de comenzi EOI (End of Interrupt) incorect gestionate de driverul grafic. Simptomele includ blocarea cursorului mouse-ului, erori de scriere pe disc, BSOD-uri și probleme USB. Acest bug este prezent în unele drivere Nvidia, iar corectarea acestuia este esențială pentru stabilitatea sistemului, în special pe plăcile de bază moderne, unde IRQ-ul plăcii grafice este partajat cu alte dispozitive, precum controlerele SATA sau USB.

Testul vxd poate detecta dacă bug-ul EOI afectează sistemul, și dacă este detectat, va apărea un mesaj de eroare. Dacă bug-ul este confirmat, fișierele de corecție interrupt fixup trebuie instalate pentru a rezolva problema.

Concluzie

Prin aplicarea acestor patch-uri, placa Nvidia 7900 GS devine fiabilă și funcțională pe Windows 98. Deși aceste soluții pot părea complicate, ele sunt esențiale pentru a utiliza plăci grafice moderne pe un sistem de operare atât de vechi. Performanțele obținute sunt impresionante, iar cu hardware modern, scorurile obținute în benchmark-uri sunt excelente pentru o placă instalată pe Windows 98.

Pentru cei pasionați de gaming retro sau de configurarea sistemelor dual-boot, aceste soluții oferă posibilitatea de a rula cele mai noi plăci grafice Nvidia din seria 7000 pe un sistem de operare legendar.

Link driver: https://theretroweb.com/drivers/96
Link patch-uri: https://archive.org/details/PTCHNVSZ

Pe scurt:

  • Începem prin a aplica patch-ul driverului nVidia ‘nvcore.vxd’ folosind ptchnvc.exe.
  • Apoi, aplicăm patch-ul fișierului WINDOWS/SYSTEM/PCI.VXD cu ptchopt.exe.
  • Verificăm prezența bug-ului EOI folosind TESTEOI.VXD. Dacă este prezent, adăugăm următoarea linie în SYSTEM.INI: [386Enh] DEVICE=FIXINTR.VXD (fișierul .vxd trebuie plasat în directorul Windows/System).
  • În final, dacă este necesar, putem aplica patch-ul BIOS-ului plăcii grafice prin flash-uirea acestuia cu ptchnvsz.exe.

Half-Life 2 pe Windows 98: Încă merge, dar cum?

Half-Life 2 — a fost considerat cel mai bun din joc din toate timpurile la momentul lansării. În 2004, cu siguranță a fost unul dintre cele mai bune jocuri lansate, dar de atunci au apărut și alte titluri care au fost “cele mai bune” la vremea lor. Totuși, pentru Windows 98, Half-Life 2 a fost și rămâne, fără îndoială, cel mai bun joc cu suport nativ.

Pe cutia jocului, Half-Life 2 promite să deschidă ușa către o lume în care prezența jucătorului afectează totul în jurul său. De exemplu, un zombie în flăcări care se apropie prea mult de un butoi cu combustibil va declanșa o explozie.

YouTube player

În 2007, Steam a încetat să mai ofere suport pentru Windows 98, așa că, oficial, Half-Life 2 nu mai poate fi jucat pe acest sistem de operare, chiar dacă ai CD-ul original de instalare. Poate că o versiune mai veche, neoficială, ar putea funcționa. Asta am crezut și eu. Dar, din păcate, versiunea Vengeance disponibilă online nu a funcționat pe Windows 98. Instalarea s-a încheiat cu o eroare de decriptare, o problemă des întâlnită, care face ca această soluție să nu fie viabilă pentru a rula Half-Life 2 pe Windows 98.

O altă soluție ar fi instalarea unui emulator vechi de Steam, dar mi-am dorit doar să pot face dublu-click pe iconița Half-Life 2 și să pornesc jocul, cum se făcea în vremurile bune pe Windows 98. Așa că am căutat o variantă portabilă a versiunii originale din 2004 și, ghici ce? Am găsit una! Este versiunea originală, 2.87, lansată în noiembrie 2004. Așa că am instalat-o pe un SSD SATA, care va fi conectat la Windows 98.

Despre hardware

Să vorbim puțin despre configurația hardware. Folosesc aceeași configurație Intel din a 13-a generație, pe care am prezentat-o pe canalul meu de YouTube, doar că de această dată este asociată cu un GPU Nvidia 7900 GS. Într-unul din videoclipurile anterioare, am primit câteva comentarii că acest GPU este prea puternic pentru Windows 98. Ei bine acum nu mai este, mai ales dacă vrem să jucăm Half-Life 2 cu setările la maximum!

De asemenea, este timpul să folosim mai mult RAM în Windows 98. 512 MB de RAM este cantitatea recomandată pentru Half-Life 2, și până acum nu am simțit nevoia de mai mult. Dar de această dată, am folosit cantitatea maximă de RAM permisă de placa de bază, adică aproximativ 1.8 GB. Cu atât de mult RAM și un GPU puternic, suntem pregătiți să ne bucurăm de grafică uimitoare DirectX 9, așa cum este descris pe cutia jocului.

Funcționează Half-Life 2 pe Windows 98?

Jocul ar trebui să funcționeze, mai ales dacă utilizăm argumentul -steam împreună cu executabilul corect. Și da, jocul a pornit fără probleme, oferind o grafică DirectX 9 impresionantă. GPU-ul nostru a fost lansat în 2006, deci am setat totul la maximum, deși filtrarea anisotropică 16x va afecta serios numărul de cadre, fără a oferi prea multe avantaje vizuale în schimb.

Chiar dacă nu era obișnuit în 2004, am rulat jocul la o rezoluție Full HD. În mod surprinzător, Half-Life 2 oferă suport pentru ecrane late și diverse aspecte, chiar și în versiunea originală.

În plus, versiunea din 2004 nu are suport HDR, dar efectele de lumină și reflexiile în apă arată destul de bine chiar și fără HDR. De altfel, unii jucători preferă estetica originală din 2004.

Benchmarking și performanță

Am decis să fac și câteva teste de performanță. Deși Half-Life 2 nu vine cu demo-uri preinstalate, surprinzător, demo-urile folosite de AnandTech în 2004 pentru benchmark-uri sunt încă disponibile pentru descărcare. A trebuit doar să copiez aceste fișiere în folderul jocului, iar ele au funcționat perfect.

Nvidia GeForce 7900 GS a fost lansată la doar un an și jumătate după celebrele benchmark-uri de la sfârșitul anului 2004, unde vedeta era ATI Radeon X800 XT. Și, sincer să fiu, acest GPU din 2006 este o bestie în această configurație, oferind peste 100 de cadre pe secundă în Full HD, cu toate setările la maximum.

Am obținut aproximativ 115 cadre pe secundă cu anti-aliasing 6x și filtrare anisotropică 16x. Cu doar filtrare trilineară, am urcat la 130 de cadre pe secundă, menținând restul setărilor la maximum. Diferențele vizuale sunt greu de observat la aceste setări.

Comparativ cu Windows XP și Windows 11

Am testat Half-Life 2 și pe Windows XP, folosind aceeași configurație hardware. Rezultatul? Doar 1-2 cadre pe secundă în plus față de Windows 98. Se pare că versiunea originală a jocului nu este impresionată de Windows XP, chiar dacă acesta are suport multi-CPU support.

De asemenea, am încercat jocul și pe Windows 11, deși acest GPU din 2006 nu este compatibil în mod oficial. Totuși, există un driver pentru Windows 8.1 pe 64 de biți care funcționează și în Windows 11. Surprinzător, Half-Life 2 a rulat fără probleme și în Windows 11, dar driverul pare să limiteze puțin performanța. Cu toate acestea, jocul a funcționat, dar cu un număr de cadre pe secundă mai scăzut decât pe Windows XP sau Windows 98.

Concluzie

Deși am trecut prin mai multe sisteme de operare, Half-Life 2 rămâne impresionant chiar și în 2024. Acest joc este un exemplu de excelență în gaming și dovedește că nu trebuie să ai cel mai nou hardware pentru a te bucura de o experiență imersivă.

Cum să bootăm de pe un Voodoo 3 PCI pe un PC modern în Windows 9x (în timp ce avem o placă PCI-E in slotul 16X)

YouTube player

Astăzi vreau să vă prezint o soluție pe care am găsit-o pentru a seta vechea mea placă video Voodoo 3 PCI ca placă principală pe sistemul meu cu procesor Ryzen 9 3900X. Această metodă funcționează pe sistemele cu BIOS AMI, care sunt utilizate pe majoritatea plăcilor de bază moderne, și ar trebui să funcționeze cu orice placă video PCI și o placă de bază AMD modernă.

Pe plăcile de bază mai noi, poți comuta cu ușurință între grafica integrată (IGD) și placa video PCI Express (PG), dar dacă ai mai mult de o placă video dedicată, nu există o opțiune directă pentru a alege care să fie primară. Această setare este extrem de importantă pentru sistemele de operare mai vechi, precum Windows 98, unde placa video setată de BIOS ca primară nu poate fi schimbat din sistemul de operare.

Plan B pentru utilizarea plăcilor video PCI pe sisteme moderne

Dacă vrem musai ca placa video primară să fie compatibilă cu Windows 9x, dar să folosim în același timp și o placă video mai puternică pentru Windows 10 sau un alt sistem de operare modern într-o configurație multi-boot, există o soluție. Placa video introdusă în slotul PCI Express x16 va fi folosită implicit pentru pornirea sistemului, ceea ce este standard pentru plăcile de bază moderne.

Știind acest lucru, putem folosi un adaptor PCI-to-PCI Express și să forțăm sistemul să folosească placa noastră PCI. Totuși, această soluție poate introduce probleme fizice, deoarece placa nu va mai fi în standard și ar putea să nu o putem fixa corespunzător. În plus, dacă ai un singur slot PCI Express x16, trebuie să renunți la o placă video secundară mai puternică.

Această sarcină nu era complicată până de curând. De exemplu, pe o placă de bază H81 pentru procesoare Intel din a patra generație, puteai alege placa video primară între PCI, PCI Express sau grafica integrată. Chiar mai bine, pe un BIOS AMI pentru o stație de lucru HP, plăcile grafice sunt listate în funcție de slotul pe care îl ocupă, iar utilizatorul poate alege exact placa dorită drept primară.

Problema cu plăcile moderne și lipsa opțiunii pentru placi PCI

După ce am trecut la un procesor Ryzen 9 3900X și am ales o placă de bază Biostar X470 GTA cu două sloturi PCI clasice, am vrut să văd dacă vechiul meu Voodoo 3 PCI ar funcționa pe această configurație modernă. Și ghici ce, placa mea Voodoo 3 s-a pornit fără probleme.

Cu toate acestea, când am instalat o placă video RTX 2070 Super ca GPU principal, BIOS-ul a setat automat RTX-ul ca placă video primară. Mă așteptam să pot schimba acest lucru din BIOS și să selectez placa mea PCI ca primară, dar opțiunea pur și simplu nu era acolo.

Am contactat suportul tehnic pentru a întreba unde a dispărut această opțiune esențială, iar răspunsul lor a fost că modelul de BIOS respectiv poate seta cardul principal doar pe slotul PCIe sau pe grafica integrată. Dacă ai dispozitive conectate pe PCIe și PCI, sistemul va porni de pe PCIe. Așadar, se părea că pe un sistem modern, o placă video PCI nu poate fi setată drept card primar.

Soluția: Utilizarea tool-ului AMI BCP pentru a modifica BIOS-ul

Am avut ideea că, deoarece nu există grafică integrată, BIOS-ul nu afișa opțiunea de a comuta de la grafică integrată la PCI Express. Așa că am decis să investighez folosind un instrument numit AMI BCP, folosit oficial de producători pentru a personaliza versiunile de BIOS.

Am găsit setările legate de placa video primară în meniul de configurare grafică și am activat toate opțiunile disponibile. A trebuit să schimb tipul de acces de la implicit la un nivel superior de privilegii, cum ar fi „supervizor”. După ce am făcut aceste ajustări, am flash-uit noul BIOS personalizat și, în mod miraculos, în meniul de configurare grafică a apărut o opțiune pentru dispozitivul video primar.

Chiar și cu acest meniu activat, nu eram sigur dacă alegerea unei grafici integrate inexistente ca opțiune de boot ar face ca BIOS-ul să ocolească placa PCI Express și să folosească următorul adaptor disponibil. Dar, la următoarea repornire, placa mea Voodoo 3 PCI a devenit cardul video primar, așa cum speram.

Rezultatele și performanța plăcii Voodoo 3

Placa Voodoo 3 este acum gestionată de driverul „Microsoft Basic Display”, care, în ciuda numelui, nu este atât de simplist. De exemplu, OpenGL software este activat atunci când pornești un joc compatibil OpenGL, precum Quake 2, oferind în jur de 34 de cadre pe secundă la rezoluția 1024×768.

Când vine vorba de comutarea înapoi la placa RTX ca primară pe Windows 10, este foarte simplu. Poți dezactiva placa Voodoo din panoul de control sau, dacă vrei să folosești doar un singur monitor, poți instrui Windows să afișeze totul pe monitorul conectat la placa RTX.

Concluzii

Placa Voodoo 3 strălucește cu adevărat într-o configurație multi-boot, în special datorită suportului excelent pentru drivere. Voodoo 3 are drivere pentru Windows 3.1 și chiar Windows NT 3.51, ceea ce este impresionant. De asemenea, este perfectă pentru Windows NT4, unde poate oferi o performanță solidă în jocuri.

Dacă ai vreo idee de ce AMI a omis această opțiune de bază, în timp ce a încărcat BIOS-urile moderne cu o mulțime de setări inutile, lasă un comentariu. Mi-ar plăcea să îți aud părerea. Mulțumesc că ai citit și ne vedem în următorul articol!

Cum facem să avem USB funcțional în Windows 98, 2000, XP pe plăci de bază moderne?

YouTube player

Plăcile de bază moderne contină să includă porturi USB 2.0, chiar dacă USB 3.0 este backward compatible. Dar de ce încă mai există porturi USB 2.0? În primul rând, dispozitivele precum mouse-uri și tastaturi, nu necesită viteze USB 3.0. USB 2.0 este mai mult decât suficient. În același timp, porturile USB 2.0 sunt mai ieftine și necesită mai puține cablaje pe placa de bază. Nu în ultimul rând unele device-uri nu se înțeleg cu porturile USB 3.0 și e bine să avem la îndemână și un port USB 2.0.

Cu toate acestea, chiar dacă plăcile de bază moderne au porturi USB 2.0, aceste porturi se bazează pe controlerul USB 3.0, care trebuie inițializat folosind un standard mai nou numit xHCI, introdus în jurul anului 2009 pentru a gestiona porturile USB 3.0. Protocolul xHCI include suport pentru dispozitive USB 2.0 și USB 1.1, dar a înlocuit complet vechiul standard EHCI. De aceea, controlerele USB moderne se bazează pe xHCI chiar și pentru traficul USB 2.0 și USB 1.1.

Acest lucru reprezintă o problemă majoră dacă folosești un sistem de operare mai vechi, precum Windows 98, 2000, XP sau chiar Vista, deoarece acestea nu știu cum funcționează xHCI și se așteaptă ca controlerul USB să fie compatibil cu standardul EHCI care era inițial responsabil de USB 2.0.

Opțiuni pentru adăugarea suportului USB pe sisteme vechi

În această situație, avem două opțiuni: fie adăugăm suport pentru xHCI în sistemul de operare, fie integrăm hardware USB 2.0 nativ în configurația noastră. Există drivere de la producători și soluții pentru a obține suport USB 3.0, în special pentru Windows XP și versiuni mai noi, dar implementarea pe Windows 9x sau 2K este mult mai complicată.

Pentru Windows XP, există un driver xHCI care a fost retroportat și funcționează foarte bine. Am testat acest driver cu un SSD extern USB 3.2, și funcționează fără probleme. Totuși, pentru Windows 98 și Windows 2000 nu există drivere retroportate, așa că trebuie să ne bazăm pe controlere USB 2.0 native pentru aceste sisteme de operare.

Din fericire, există câteva adaptoare PCI Express cu cipuri EHCI care funcționează imediat, fără a necesita configurări suplimentare. Tot ce trebuie este să investești puțin mai mult pentru hardware USB 2.0 mai vechi și să ocupi unul dintre sloturile PCI 1X, care adesea rămân neutilizate.

Adaptoarele USB 2.0 pe plăci de bază moderne

Un exemplu bun este adaptorul PCI Express USB 2.0 de la StarTech, care folosește cipul VT6212L. Acesta include un conector floppy, necesar pentru dispozitive care consumă multă energie, precum unitățile USB externe cu hard disk. Totuși, pentru dispozitive cu consum redus, precum un mouse sau un stick USB, adaptorul poate funcționa fără acest conector.

Adaptorul utilizează un cip de tip bridge PCIe-to-PCI, deoarece controlerul VT6212L este un dispozitiv PCI nativ. Ca orice alt controler USB 2.0, este compatibil înapoi cu USB 1.1. Astfel, adaptorul va funcționa imediat cu orice sistem de operare care are suport USB încorporat.

Pe Windows 98, inițial, cardul va fi recunoscut ca un controler USB 1.1, deoarece Windows 98 nu cunoaște USB 2.0. Însă, instalând driverul actualizat pentru VT6212L, se activează suportul complet pentru USB 2.0. Funcționalitatea USB face viața mai ușoară în Windows 98, facilitând adăugarea de conexiuni Wi-Fi, transferul de fișiere și utilizarea dispozitivelor audio USB moderne.

Adăugarea suportului USB pe Windows 2000

Vom folosi același cip VT6212L, dar în formatul său original, într-un card PCI-to-USB. De data aceasta, placa folosește un cip bridge PCIe-to-PCI montat direct pe placa de bază. În prezent, plăcile de bază moderne cu sloturi PCI sunt rare, așa că probabil vei avea nevoie de un adaptor PCI-to-PCIe. Fie că cipul bridge se află pe un adaptor sau este integrat în placa de bază, pentru Windows 2000 este același lucru.

Placa PCI ar trebui să fie detectată, iar driverele pentru Windows 2000 se vor instala cel mai probabil automat. Dacă sistemul solicită input, cum ar fi selectarea locației driverului sau apăsarea butonului „Next”, ești blocat dacă nu poți folosi o tastatură sau un mouse PS/2. În testul meu, am conectat o tastatură USB pentru a vedea cum merge instalarea și, din fericire, totul s-a finalizat automat.

Un abonat mi-a spus că a avut o problemă în care i s-a cerut să apese „Next” și placa sa de bază nu avea porturi seriale sau PS/2, ceea ce face instalarea dificilă.

Soluții pentru USB 3.0 pe Windows 2000

Deși nu există drivere universale retroportate xHCI pentru Windows 2000, cum există pentru Windows XP, unele plăci PCIe USB 3.0 mai vechi vor funcționa totuși pe Windows 2000, mai ales dacă folosim soluții alternative, cum ar fi nucleul extins. Acest subiect este mai complex, așa că îl voi aborda într-un articol viitor.

Înapoi la Windows 98

Plăcile de bază Z68, care acceptă procesoare Intel din generațiile a doua și a treia, dispun atât de porturi USB 2.0, cât și USB 3.0. Funcționalitatea USB 3.0 se bazează pe un cip separat, în timp ce traficul USB 2.0 este gestionat de chipsetul Z68 în mod nativ EHCI. Totuși, Windows 98 nu funcționează cu acest controler prin driverele standard.

Instalând un patch neoficial numit NUSB, putem activa suportul pentru USB 2.0 fără a adăuga hardware suplimentar. Teoretic, orice dispozitiv USB poate fi utilizat cu un controler USB 2.0 nativ, extinzând suportul pentru USB pe Windows 98 pentru aproape orice placă de bază fabricată până în 2012. Aceste plăci de bază au de obicei sloturi PCI clasice, deci este ușor să folosești un adaptor PCI-to-USB, mai ales dacă vrem să păstrăm Windows 98 nealterat.

Este important de menționat că NUSB introduce fișiere din Windows Millennium și Windows XP în fișierele de sistem de bază ale Windows 98. Am conectat un stick USB pentru a demonstra funcționarea stocării de masă USB, și totul funcționează perfect.

Pe unele plăci de bază moderne, accesarea unităților USB pe Windows 98 este chiar mai ușoară. Nu este nevoie de hardware suplimentar, drivere sau soluții de ocolire. Pur și simplu conectăm unitatea USB în orice port, iar BIOS-ul o va emula ca pe un disc fix. Pentru ca acest lucru să funcționeze, unitatea trebuie formatată în FAT sau FAT32 și trebuie tratată ca un disc fix. Nu poate fi scoasă în timp ce Windows rulează, altfel riscăm să vedem un ecran albastru.

Acum se poate! Windows 98 / ME pe ultima generație de procesoare Intel și AMD!

Dragi tovarăși si prieteni,

Până nu de mult Windows 98 era fructul interzis pe calculatoarele Intel de ultima generație. Nu atât Windows 98, cât toată generația 9x – Windows 95, 98 FE + SE, precum și Windows ME. Toată această generație se lovește de următoarea eroare când încercăm să instalăm pe hardware mai nou de generația 10 de la Intel, respectiv seriile 5xxx de la AMD:

While initializing device VCACHE:
Windows protection error. You need to restart your computer.

While initializing device VCACHE:
Windows protection error. You need to restart your computer.

Această nu este o eroare nouă, apărută acum pe calculatoarele de ultimă generație. Pe hardware-ul disponibil la apariția Windows 95/98 eroarea VCACHE era cauzată în special de probleme fizice cu memoria RAM (module SIMM/DIMM defecte) sau din cauza altor probleme de stabilitate cauzate de overclocking. Așadar, se știa că problema este cauzată în principal de memorie dar o vreme bună vreme nu s-a știut cauza exactă a acestei erori care s-a manifestat pe sistemele Intel începând cu generația 10 și pe cele AMD Ryzen, seriile 5xxx sau mai noi.

Ținând cont că folosim sisteme foarte rapide, te poți gândi că problema este cauzată de hardware … dar nu cei 4Ghz ai procesorului, SSD-ul sau memoria DDR4/DDR5 cauzează probleme. Odată ce am scăpat de eroarea VCACHE Windows 98 funcționează perfect și pe un sistem cu un procesor foarte rapid cum ar fi un Intel Raptor Lake, generația 13.

Windows 98 on Intel 13th Gen CPU, using Cregfix to bypass VCACHE error.

Ei bine, eroarea VCACHE este cauzată de o setare implicită din BIOS, respectiv din modulul CSM a celor de la AMI (American MegaTrends). Iar cum în momentul de față aproape că nu există placă de bază fară un BIOS AMI, eroarea s-a manifestat practic pe plăcile de bază apărute din 2020 încoace cu BIOS AMI.

Din fericire, userul Mintsuki i-a dat de cap si a creat un mic patch de numai 80 de baiți care rezolvă definitiv acestă problemă. Iată explicația lui Mintsuki care a postat chiar la unul din videourile mele de pe YouTube:

Este vorba despre un registru al procesorului care spune dacă codul kernel-ului ar trebui sau nu ar trebui să provoace erori de pagină (page fault) atunci când se scrie cod în pagini marcate ca read only. Inițial, arhitectura x86 nu avea un astfel de control și nici un fel de scriere a nucleului pe pagini read only nu producea nicio consecință. În jurul erei 486 (dacă nu mă înșel) și-au dat seama că este o prostie și că era nevoie și de un caz de utilizare pentru ca nucleul să poată provoca erori de pagină pe paginile care nu pot fi scrise (gândiți-vă la schimbarea pe disc și alte virtuale). Așa că au adăugat această „funcție” – dar din moment ce x86 este despre „backwards compatibility”, această caracteristică, la fel ca multe altele, este blocată în spatele unui bit de control în registrul CR0 (și anume CR0.WP). Evident, nu face bine pentru compatibilitate dacă bitul este activat implicit, așa cum putem vedea în acest caz. Multe firmware-uri UEFI moderne activează bitul, la fel ca multe sisteme de operare moderne, dar apoi nu reușesc să-l șteargă atunci când predă controlul unui sector de boot moștenit folosind CSM. Probabil că nimeni nu a prins asta vreodată; dar, de asemenea, trebuie să aveți în vedere că BIOS-ul CSM nu are se bazează pe un standard specificși, prin urmare, nu spune nimic despre starea în care ar trebui să se afle registrele de control, în afară de bunul simț. Deci, ar trebui să fie rezolvat de către furnizorii de firmware UEFI? Da, IMHO. Ei măcar consideră că asta este un bug? Greu de spus. Și plus, cregfix.com va fi în continuare util, deoarece nu ne putem aștepta ca toți furnizorii UEFI și producătorii de plăci de bază să livreze firmware-uri fixe, în special pentru modele mai vechi… Și, vorbind despre modele mai vechi, aș dori să subliniez că am urmărit această problemă timp de aproximativ 5-8 ani înainte de a afla în sfârșit cauza principală…”

În concluzie, tot ce trebuie să facem ca să scăpăm de această eroare este să copiem patch-ul cregfix.com în autoexec.bat. Aveți patch-ul mai jos pentru download.

Un video făcut la cald pe YouTube în momentul când a apărut acest patch, in noiembrie 2023.

YouTube player

CREGFIX funcționează foarte bine și cu Windows Millenium, doar că aici trebuie să activăm MS-DOS mode, detalii despre această procedură găsiți în video-ul de mai jos:

YouTube player

My computer in octombrie 2000

Știți momentul ala când cauți ceva și găsești altceva…? Ei bine, eu am găsit un CD de backup din anul de gratie 2002. Datele s-au copiat fără probleme chiar si dupa 20 de ani fabricantul CD-ului chiar se lauda pe coperta cu “lifetime durability”. Asa sa fie! Dar nu despre CD-uri voiam sa discut ci despre un screen shot din 29 octombrie 2002. Cum de unde stiu ca fix de atunci? Fișierul, bineînțeles, și-a păstrat data de creare dar, mai mult de atat, este un screenshot cu msn.com care-ți arata mare în coltul din dreapta ca este “Octomber 29”.

Mai intai, m-am întrebat daca e chiar un screen shot autentic de pe PC-ul meu de atunci sau o fi fost downloadat de pe net. M-am convins repede ca eu sunt autorul dupa ce am văzut software-ul instalat.

Asadar ce avem noi aici?

Windows 98SE – recunoaștem dupa zona de Quick Launch din Taskbar, unde găsim si ce software ava un utilizator din mileniul trecut. Da, anul 2000 face parte din secolul XX…

Winamp – Ce altceva? (Ce ascultam – THE CARS…..? )

Microsot Word 2000. Office 2000 a fost lansat în iunie 1999.

Microsoft Outlook – Un Outlook mai avansat decat versiunea „Express” care venea la pachet cu Internet Explorer

The Bat! Un client de email care există încă și în ziua de azi. Este făcut ce frații nostri de la RIT Labs, Chișinău.

Total Commander – Firește! N-are cum sa fie PC-ul meu fara TC. Pentru cei care au lucrat in DOS cu Norton Commander, TC a fost o alegere naturala. Mi-e si acum greu sa copii fișiere utilizând Windows Explorer sau alta interfață. * Inițial Total Commander purta denumirea de Windows Commander, dar dupa niște dispute legale domnul Christian Ghisler, autorul, a fost nevoit să renunțe la partea „Windows” din denumire.

Next Page »