Audio-Hardware 6.468 Themen, 21.702 Beiträge

PCI-Soundkarten auch bei älteren DOS-Spielen?

Thomas K. (Anonym) / 6 Antworten / Flachansicht Nickles

Hallo!

Da ich gern nochmal solche Spiele wie Blood1, Doom, Duke3d und andere Dos-basierende Spiele raushole, stellt sich für mich die Frage, ob ich nach dem Umstieg auf eine PCI-Soundkarte immer noch Soundausgabe habe, denn bei einigen Bekannten von mir, die schon eine PCI-Soundkarte Ihr Eigen nennen, kam es gerade bei solchen Spielen immer zu Problemen, da trotz Emulationssoftware keine Soundkarte erkannt wurde und auch nach manueller Einstellung der Ressourcen den Karten kein Ton zu entlocken war.
Gerade die Soundkarten von Creative-Labs bereiteten da die meisten Probleme (PCI-128, Live Player1024).
Haben wir uns da einfach zu dumm angestellt, oder sind das wirklich nicht-behebbare Probleme?
Welche PCI-Soundkarte könnt Ihr mir empfehlen, mit der diese Probleme nicht auftreten?

Vielen Dank für eure Hilfe!
Thomas K.

bei Antwort benachrichtigen
Anonym Nachtrag zu: „Sacht mal, wie issen das mit DOOM, z.B., das läuft ja genau wie viele andere...“
Optionen

Ja äh, ein kompliziertes Thema, nicht? Also nochmal: EMMx86 ist dazu da, die Speicherart EMS, die es im Gegensatz zum XMS schon seit 286ern gibt, bereitzustellen. Es handert sich bei *MS nicht um physikalischen Speicher, sondern um die Art, wie Software den Speicher anspricht, also virtuellen Speicher. Auf 286ern gibt es Speicher oberhalb 1024KB nur in Form von Steckkarten mit 1-4MB zusätzlichem RAM, der nur durch ein "Fenster", einen Speicherblock von 64KB im normalen Speicher angesprochen werden konnte: Die Blocks des Zusatzspeichers werden nach Bedarf auf den Block des Fensters "gespiegelt": Expanded ("entfaltet") Memory Service. EMMx86 sucht sich den Platz für dieses Fenster normalerweise im Bereich zwischen 640 und 1024 KB (UpperMemoryBlock), den per Konvention nur vertrauenswürdige Treiber (Firmware von BIOS, Graka und anderer Peripherie, und EMM386), aber weder DOS noch Anwendungen benutzen dürfen.
Etwas verwirrend ist, daß EMMx86 übriggebliebenes RAM im UMB als EMS verfügbar macht (und zwar exclusiv reserviert, kann mit "X=Adressbereich" und "I=Adressbereich" konfiguriert werden). Und natürlich kann es auch noch komplizierter sein, z.B. bedeutet "EMM386 noems" folgendes:
1.) Die freien UMBs werden nicht für EMS benutzt, sondern nur der Onboard-Speicher >1024KB (der technisch leichter ansprechbar ist, sodaß der oben beschriebene Block wegfallen kann und man 64KB gewinnt).
2.) Onboard-RAM >1024MB ist wie gehabt für EMS verfügbar (und wird normalerweise automatisch zugeteilt, bleibt also auch für XtendedMemoryService, sprich Windows, himem, DOS4GW, DPMI, etc. nutzbar).
3.) Die freien UMBs stehen als "Oberer Speicher", wie es mem.exe von MS-DOS7 ausdrückt, Anwendungen, die konventionellen Speicher brauchen, zur Verfügung. Ist nicht ganz so stabil wie echter konventioneller Speicher, aber artige Module kann man mit loadhigh=xxx in den oberen Speicher laden, oder auch das gesamte DOS, soweit es reinpaßt, mit dos=high,umb.

Viele neuere Programme, die viel Speicher brauchen, pfeifen auf die 286er Kompatibilität, z.B. Windows 3.11, und benutzen den schnelleren und simpleren XMS, der durch himem.sys, DOS4GW, DPMI etc. angesprochen werden kann. EMM386 ist da dann wohl manchmal im Weg, und es gibt auch viele Programme, die bewußt nicht-Emm386-kompatibel sind. So!

bei Antwort benachrichtigen