Tek Bir Köpek ve Windows 3.1 Grafik Yığınına Karşı
Giriş
- VGA donanımını öğrenirken eski bir video sürücüsünü düzeltme sırasında ortaya çıkan sorunları çözmeye çalışıldı.
- Asus Eee PC 1000H'e Windows 3.11 kurarak uygun bir video çıkışı elde etme girişimi yapıldı.
Windows 3.x'in varsayılan video çıkışı
- Varsayılan olarak Windows 3.x, VGA 640x480 çözünürlükte 16 renk ile render eder.
- Eee PC'nin 1024x600 ekranında bu çözünürlük uygun değildir.
Super VGA sürücüsünün sorunları
- Windows 3.11, eski video adaptörleri için sürücüler içerir ancak Intel GMA 950'i desteklemez.
- Super VGA sürücüsü 1024x768 çözünürlüğü ve 256 rengi desteklemesine rağmen çalışmaz.
IBM PC video problemleri
- VGA, 1980'lerde IBM tarafından tasarlanmış oldukça özel bir video kontrolcüsüdür.
- SVGA, VGA'dan daha gelişmiş bir teknoloji anlamına gelse de bir standart değildir.
VBE (VESA BIOS Extensions)
- VBE, yazılımların video adaptörleriyle etkileşim kurabilmesi için bir arayüzdür.
- BearWindows'in VBE9x ve VBEMP araçları, Windows 9x ve NT'de VBE kullanılmasını sağlar.
- SVGAPatch, Microsoft'un 256 renkli Super VGA sürücüsünü VBE kullanacak şekilde yamalar.
SVGAPatch'in sorunları
- SVGAPatch, DOS yazılımlarıyla uyumluluk sorunlarına yol açar.
- DOS istemi açıldığında ekran bozulur.
Windows 3.x'in yapısı
- Enhanced Mode'da üç işletim sistemi aynı anda çalışır.
- Sanal makine yöneticisi bir VM oluşturur ve birinci sanal makine içinde Standard Mode Windows çalıştırılır.
Display driver yapısı
- Windows Setup'da video adaptörü seçildiğinde birden fazla sürücü yüklenir.
- Grabber, Display Driver ve Virtual Display Device (VDD) ile oluşturulur.
SVGAPatch nasıl çalışır
- SVGAPatch, belirli bir video modunu ayarlar ve VBE kullanarak video belleğini yönetir.
- Belirli bir video adaptörüne ait işlevleri değiştirerek VBE desteği sağlar.
VDD'nin rolü
- DOS programları donanıma doğrudan erişim bekler.
- Windows, sanallaştırılmış bir implementasyon aracılığıyla bunu yönetir.
Sonuç
- SVGAPatch, VBE'yi kullanarak daha iyi video çıkışı sağlasa da, DOS programlarıyla uyumluluk sorunları çözülmelidir.
- VDD'nin karmaşık durum yönetimi sorunun kökeni olabilir.
1 yorum
Hacker News Yorumları
Modern bir PC’de Windows 3.x’i yükleyip varsayılan VGA’yı anında kullanabilmek şaşırtıcı. Ancak günümüz Linux/BSD sistemlerinde, doğru sürücüler ve yapılandırma dosyaları olmadan varsayılan yazılımsal olarak hızlandırılmış VGA framebuffer desteği almak zor.
Windows 3.1’in GUI’si bugünkünden daha sezgisel, daha verimli ve daha kolay görünüyor.
Win11’in Başlat menüsü, anahtar kelime yazıp dua etmek dışında neredeyse kullanılamayacak kadar kullanışsız.
Windows NT ve 2k en iyi halini almıştı; sonrasında ürün yöneticileri değişikliklere başlamaya başladı.
Zamanla KDE ve GNOME daha çekici görünüyor.
DOS istemcisini pencere modunda açarken ekran bozulması, DOS istemcisinin ayrı bir VM’de çalışmasından kaynaklanıyor.
Windows 3.x/9x ekran sürücüsü geliştiricileri, donanıma erişimi sanallaştırmak için I/O port tuzakları ayarlıyordu.
Sanal ekran aygıtı (VDD), video donanımının bir çoklayıcısı görevini görür ve DOS uygulaması tam ekranda çalışırken komutları doğrudan gerçek VGA adaptörüne iletir.
Windows 3.x GUI’si bir DOS VM’de çalışır; VMM32 hipervizör çekirdeği bunu diğer DOS süreç VM’leriyle çoklarken yönetir.
Win9x VESA framebuffer sürücüsü yazarken, GPU durumunu saklama ve geri yükleme yöntemlerinin satıcıya göre değiştiğini fark ettim.
DOSBox’ta metin modu bozuk karakterlerle görüntüleniyor; Eee PC’de GUI’nin bazı renkleri kayboluyor.
Eee PC’de 32-bit Debian çalıştırıyorum; Firefox ağır ama mpv video akışı için yeterince iyi çalışıyor.
Eski DOS tabanlı Windows sürümlerinin nasıl çalıştığını okurken her zaman hayranlık duyuyorum.
ET4000H’nin Windows 3.1’de desteklenmediği zamanlarda MS teknik desteğine ulaşıp bir sürücü diski aldığım bir anım var.
EEEPC 207g’ye sahibim ve onu retro oyun için denemek eğlenceli olurdu.
GUI ve DOS modundaki durum değişikliklerini karşılaştırıp desen analizi yaptım.
Site tasarımı, internetteki eski “en iyi günleri” hatırlatıyor ve ferahlatıcı geliyor.