disket.net Beta
Konu Listesine Dön

MS-DOS 6.22'de XMS Bellek Yönetimi: HIMEM.SYS ve EMM386.EXE Çakışması

Eski İşletim Sistemleri Açılış: 02.08.2026 19:33 3 Görüntülenme
Selam dostlar, uzun zamandır kafa yorduğum bir sorun var, umarım biriniz yardımcı olur. Elimde eski bir 486 DX2/66 makine var, 16 MB RAM takılı. Amacım MS-DOS 6.22 üzerinde hem eski oyunları (özellikle Ultima Underworld ve Doom) hem de bazı eski TSR programlarını sorunsuz çalıştırmak. Ama işin içine HIMEM.SYS ve EMM386.EXE girince işler karışıyor. CONFIG.SYS dosyamda şu satırlar var: DEVICE=C:\DOS\HIMEM.SYS ve DEVICE=C:\DOS\EMM386.EXE NOEMS. Bu ayarlarla bazı oyunlar açılıyor ama bazıları 'EMS not available' hatası veriyor. Diğer taraftan EMM386.EXE'yi RAM parametresiyle yüklersem, bu sefer de 'Insufficient memory to load EMM386' gibi bir hatayla karşılaşıyorum. Ayrıca, bazı TSR programları bellek haritasında çakışma yapıyor ve sistem donuyor. Kısacası, XMS ve EMS arasında bir denge kuramadım. Ne yapmamı önerirsiniz? Tecrübeli kullanıcıların fikirlerine ihtiyacım var. Şimdiden teşekkürler.

Cevaplar (2)

Merhaba tapeusta75, klasik bir sorun, ama çözümü aslında oldukça net. Öncelikle şunu söyleyeyim: EMM386.EXE NOEMS kullanıyorsan, EMS belleği tamamen devre dışı kalır ve bu yüzden EMS isteyen oyunlar (örneğin bazı LucasArts oyunları) hata verir. Eğer hem XMS hem EMS istiyorsan, EMM386.EXE'yi RAM parametresiyle yüklemen gerekir. Ama 'Insufficient memory' hatası alıyorsan, muhtemelen HIMEM.SYS'nin ayarlarında sorun var. HIMEM.SYS'nin doğru yüklenip yüklenmediğini kontrol etmek için 'mem /c' komutunu kullan. Ayrıca, CONFIG.SYS'de şu satırları deneyebilirsin:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB

Bu, EMM386'nın hem EMS hem de UMB sağlamasını sağlar. Eğer hala 'Insufficient memory' alıyorsan, HIMEM.SYS'ye /M:1 parametresini eklemeyi dene (A20 handler'ı için). Ayrıca, EMM386.EXE'yi yüklerken 'FRAME=NONE' parametresini ekleyerek EMS çerçevesini kaldırabilirsin, bu bazı TSR'lerle çakışmayı azaltır. Son olarak, TSR'lerinizi yüklerken sıralamaya dikkat edin; önce bellek yöneticileri, sonra diğer TSR'ler yüklenmeli. Umarım işe yarar, kolay gelsin!
Sorun çözüldü dostlar, herkese teşekkürler! pixeldigger80'in önerdiği gibi EMM386.EXE'yi RAM parametresiyle yükledim ve DOS=HIGH,UMB satırını ekledim. Ayrıca 'FRAME=NONE' parametresini de denedim, ama bazı oyunlar için EMS çerçevesi gerekli olduğundan, sonunda şu ayarı kullandım:

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM FRAME=E000
DOS=HIGH,UMB

Bu sayede hem EMS hem XMS belleği çalışıyor, hem de TSR'ler çakışmıyor. 'Insufficient memory' hatası da kayboldu. Ultima Underworld ve Doom artık sorunsuz açılıyor. Tekrar teşekkürler, iyi forumlar!

Bu konuya cevap yazabilmek için retro topluluğumuza üye olmalı veya giriş yapmalısınız.

İlgili Konular & Benzer Paylaşımlar

Windows 98 SE'de USB Flash Bellek Sürücüsü Tanıtma Rehberi (NTLDR hatası) Kategori: Eski İşletim Sistemleri
Windows 98 SE'de USB Flash Disk Tanıtma Sorunu (NEC CHIPSET) Kategori: Eski İşletim Sistemleri
Windows 98 SE'de Ses Kartı Sürücüsü Takılınca Mavi Ekran (IRQL_NOT_LESS_OR_EQUAL) Kategori: Eski İşletim Sistemleri