Windows 98 SE vs Windows 2000 / NT 4.0 Oyun Uyumluluğu: VxD vs WDM Sürücüleri ve Windows 2000’de Oyun Oynama Çilesi

Ana sayfa › Forumlar › Eski Mikro Odalar Arşivi › Windows 11 › Windows 98 SE vs Windows 2000 / NT 4.0 Oyun Uyumluluğu: VxD vs WDM Sürücüleri ve Windows 2000’de Oyun Oynama Çilesi

4 yazı görüntüleniyor - 1 ile 4 arası (toplam 4)
  • Yazar
    Yazılar
  • #73424
    User AvatarFaturaVarKutuYok
    Katılımcı

    Selam arkadaşlar, uzun süredir kafamı kurcalayan bir konu var da net bir cevap alamadım, belki burada oturan deneyimli abiler yol gösterir. Uzun zamandır eski oyun kütüphanemi geri getirmeye çalışıyorum ama 98 SE ile 2000/NT arasındaki sürücü mimarisi farkı gerçekten işi uğraştırıyor. Anladığım kadarıyla 98’de oyunlar donanımı doğrudan VxD sürücüleriyle, ring 0 seviyesinde çağırırken, 2000’de artık WDM/DirectX katmanı araya girip bu erişimi kısıyor. Sorum şurada: DirectDraw ve ses sürücülerinde bu VxD’den WDM’e geçiş, özellikle eski Direct3D 6/7 oyunlarında performans düşüşünden çok, tam ekran modu ve DMA erişiminde crash/uyumluluk hatası mı yaratıyor? Yoksa NT tabanlı sistemlerde kernel modu sürücü yüklenemediği için mi genelde oyunlar hiç açılmıyor?

    Bir de şu kafayı karıştırıyor: NTFS üzerinde 2000 Professional kurulu makinemde eski oyunlar çoğu zaman “oyun modu başlatılamadı” hatası veriyor, ama 98 SE’de aynı dosyalar sorunsuz çalışıyor. Bunu düzeltmek için DirectPlay bileşenlerini veya legacy DirectX 7 pack’ini eklemek yeterli mi, yoksa kernel seviyesinde bir şeyi manuel düzenlemek mi gerekiyor? Deneyimi olan var mı, 2000’de gerçek anlamda oynanabilir oyun var mıdır, yoksa bu iş 98 SE’de kalmalı? Tecrübelerinizi merakla bekliyorum.

    "Basitlik, gelişmişliğin en yüksek ve en asil mertebesidir." – Leonardo da Vinci"
    📍 [Konum: İzmir (35)]
    #74257
    User AvatarEgeB
    Katılımcı

    Selam, konu başlığına parmaklarını ısırarak giriyorum çünkü bu işin tam ortasında yıllarımı harcadım. Temel mesele şudur: Windows 98 SE’de oyun sürücüleri VxD (Virtual Device Driver) mimarisinde çalışır ve bu sürücüler Ring 3 seviyesinden doğrudan donanıma erişebilir; DirectDraw/DirectInput ile ses ve grafik kartına neredeyse raw erişim sağlar. O

    "Sorununuz çözüldüyse konuyu ‘Çözüldü’ olarak işaretlemeyi veya bir teşekkür bırakmayı unutmayın. İyi forumlar!"
    #75193
    User AvatarTurgut C.
    Katılımcı

    Sorunun kökündeki asıl fark mimari: Windows 98 SE hala 9x çekirdeğine sahip, yani oyunların doğrudan donanıma erişebileceği Ring 3/16-bit uyumluluk katmanı ve VxD (Virtual Device Driver) mimarisi çalışıyor. VxD sürücüleri oyunlara doğrudan DMA, port I/O ve segment tabanlı bellek erişimi sunar; DirectDraw, DirectSound ve DirectInput gibi API’ler de tam olarak bu “esneklik” üzerinde oturur. Buna karşılık Windows 2000 ve NT 4.0, tamamen farklı bir NT çekirdeği kullanır — kullanıcı modu ile kernel modu kesin ayrımı (Ring 0-3), korumalı bellek sistemi ve tek bir kullanıcı için sanal adres uzayı. Buraya WDM (Windows Driver Model) sürücüleri gelir, hepsi Ring 0’da çalışır ve kullanıcı uygulamalarının donanıma doğrudan erişimi kernel katmanı

    "⚠️ Not: Yazdıklarım kişisel tecrübelerim ve gözlemlerimdir; resmi yetkili servis veya garanti taahhüdü değildir."
    #77017
    User Avatardual_bios_switch_tr
    Katılımcı

    Selam, konu baya eski ama yine de değineyim çünkü bu işin içine giren herkes bir kez karşılaşmıştır bu çileye. Temel mesele şu: Windows 98 SE 9x çekirdeği kullanır ve bu da VxD (Virtual Device Driver) sürücüleriyle tam donanımsal erişim sağlar. Ses kartları, joystik/Gameport, eski grafik sürücüleri neredeyse doğrudan DMA ve port I/O ile konuşur; interrupt’ları doğrudan yakalar. Windows 2000 ise tam bir NT çekirdeği, yani kullanıcı modu ile kernel modu arasında katı bir sınır var. Buradaki en büyük darbe şu ki, NT çekirdeği VxD sürücülerini hiç görmez; sen 98 için yapılmış bir ses ya da gamepad sürücüsünü kurmaya çalışırsın, “Bu sürücü NT için uyumlu değil” hatasıyla karşılaşırsın. Bunun yerine WDM ya da KMDM mimarisindeki sürücüleri beklersin ki bunlar da çoğu eski oyun için 2000 sürümünde hiç çıkmamıştır.

    Pratikte yaşadığım şey şuydu: DirectDraw bile NT üzerinde yarı-yarıya çalışırdı, çünkü 2000’de VxD tabanlı doğrudan ekran erişimi kapatılmıştı (kullanıcı modunda GDI’ye

    "Gigabyte M27Q 170Hz • Kol: Ergotron LX • Ortam: BenQ ScreenBar Halo Işık Barı"
4 yazı görüntüleniyor - 1 ile 4 arası (toplam 4)
  • Bu konuyu yanıtlamak için giriş yapmış olmalısınız.

Neyi merak ediyorsun?

En az 3 karakter yazın.

Keşfet