Re: Retro thread: 3Dfx Voodoo, Rage, Riva atd...
Napsal: pon 22. bře 2021, 20:35
V souvislosti s diskuzí na téma nefunkčnosti SB emulace na non-ISA systémech (nedávno zmiňovaná i840, i850 a i865) jsem se rozhodl umořit jeden z posledních restů na toto téma - ověřit na vlastní kůži, jak moc je absence ISA slotu pro DOS zvuk problém. Jako testovací platforma posloužila tato sestava:
Asus P5PE-VM rev 1.03G (i865G + ICH5)
1ks 512 MB DDR
Intel Celeron 420
GeForce4 MX440 128MB AGP
Windows 98SE + DOS
Uvádím pro pořádek, protože příliš velká RAM, rychlé CPU a grafika může být pro kompatibilitu s některými DOS hrami zabijákem samo o sobě. Testovanou zvukovkou bylo známé ESS Solo1 ES1938S TerraTec 128iPCI.
V krátkosti lze uvést, že mohu potvrdit, že hudba ve hrách obecně funguje, naproti tomu zvuky ne. To platí jak pro běžně šířené verze DOS ovladačů a provoz v čistém DOSu, tak i pro VxD ve Win. Na Vogons jsem zachytil informaci o funkčnosti hudby i zvuků s WDM pod Windows ME, ale to jsem vlastním testováním vyvrátil (alespoň pro ICH5). S WDM nastane akorát to, že fungují pouze zvuky, ale již bez FM syntézy.
Dalším krokem bylo otestování alternativních módů SB DMA emulace, které Solo nabízí. V zásadě jde o:
DDMA - funkčnost ověřena jen na pár starších čipsetech,
TDMA - standardně tento mód nastavuje DOS ovladač, bohužel s ICH5 ve většině her zní pouze hudba (ověřeno taky zde),
PC/PCI, neboli SB-link - P5PE-VM ho samozřejmě nemá,
WBDMA - mód, který ovladače standardně vůbec nenastavují.
Právě WBDMA se ukázalo být velmi slibným. Tento mód je možné nastavit pomocí utility PCISET.exe a výborného skriptu z Vogons:
https://www.vogons.org/viewtopic.php?f= ... 20#p692117
Úspěšně jsem ho otestoval a v čistém DOSu opravdu zprovozní zvukové efekty ve všech testovaných hrách (Albion, Dark Forces, Doom 2, Duke Nukem 3D, Quake, Tyrian 2000), pouze v Dukovi dojde po pár minutách k záseku hudby, potažmo celé hry (šlo by ještě otestovat jinou variantu WBDMA). Je to velice slibné nastavení, jen by ho chtělo dlouhodobě otestovat na větším množství her. Určitý potenciál může poskytnout tento seznam:
https://www.vogons.org/viewtopic.php?p=692375#p692375
Tam ale testoval na ICH2 a třeba Duke 3D mu ve Win ME s výchozím ovladačem fungoval, mně na ICH5 ne, takže ta tabulka nebude úplně platná, pro DOS by to ale snad mohlo platit. Windows je obecně větší divočina - verze a varianty ovladačů, kolize prostředků, problémy samotných DOS her ve Windows...
V případě zájmu můžu poskytnout upravený skript (ESSINIT.TXT z Vogons ve výchozím stavu nefunguje), což je plný ekvivalent DOS ovladačů, které tak není třeba řešit - ovladače nastavují jen PCI registry, stejně jako PCISET. Pokud má někdo Solo, tak minimálně s ICH5 by to mělo fungovat. Z nedostatku času jsem taky testoval jen WBDMA varianty "111".
Jinak obecně, co jsem zachytil, tak Solo na Intelu funguje cca do platforem na i820 - i845 (s prvními třemi módy emulace DMA), potom smůla. VIA funguje i novější, ale to je známé.
Nevýhodou Sola je taky závislost na přiděleném IRQ, já se s tím tolik nepáral a zakázal USB v BIOSu, takže jsem ho na IRQ 5 bez problému dostal, ale kdo by chtěl mít aktivované všechny integrované části desky, ať se připraví na konflikty a nefunkčnost. Samozřejmě bude záležet na desce. Sdílení IRQ jsem netestoval, ale moc nadějně to nevidím.
Další věcí je existence několik variant Sola, já měl k dispozici tři kusy:
TTSOLO1-N VER1.2 ES1938S H369 (11/1999)
TTSOLO1-N VER1.2 ES1938S H369 (10/1999)
TTSOLO1-NL VER1.2 ES1938S K370 (11/2000)
Všechny mají osazenu i EEPROM, ale poslední varianta (nejnovější) byla těžce problémová. S VxD hrála klasicky jen hudba a hry tuhly, čistý DOS tuhne při nastavení registrů, s WDM ani hudba ani zvuk v DOS programech, zvuk ve Win jede. TerraTec něco zjevně u pozdějších kusů "optimalizoval".
-------------------------------------------
Dalším pánem na holení byla Yamaha YMF744B-V PCI. Yamahy mají obecně dobrou reputaci v DOS emulaci a existuje k nim extenzivní info. Taky, jako jedno z mála PCI řešení, obsahuji skutečně autentické OPL3/FM. Yamaha na to jde trochu jinak a pro moderní platformy bez přímé podpory DDMA poskytuje TSR utilitu DSDMA.exe. Není potřeba se děsit, ověřil jsem, že ubírá pouze cca 2 kB konvenční paměti. Nevýhodou je ovšem nutnost používání EMM386, což dělá problémy pár hrám (tuším Turrican II, některá z Ultim). Výhodou oproti Solu je ale IRQ nezávislost, ovladač je schopen zajistit emulaci na udaný port, takže v BIOSu stačí nastavit třeba IRQ 5 na "reserved" a následně si na něj naemulovat IRQ po inicializaci v DOSu. Otestoval jsem však, že ani sdílení IRQ (např. s USB) nedělá Yamaze problémy.
Obecně je kompatibilita v DOSu výborná, funguje zvuk i hudba a člověk si může volně konfigurovat IRQ a DMA (kupříkladu Tubular Worlds vyžaduje DMA 0 a po patřičném nastavení se mi zvuk rozjel). Rozsah kompatibility Yamahy na novějších platformách s pomocí TSR je taky dalece před Solem:
https://docs.zoho.com/sheet/published/8 ... 2a9209e034
Z testovací sady mi nefugoval akorát Tyrian - problémy TSR s DPMI, hra bez patche nefunguje. DOS ovladače jsem měl ve verzi 3.16, testoval jsem i 3.17, ale tam tuhla inicializace přes setupds.exe Používal jsem taky patchnutou verzi setupds.exe přímo pro ICH5:
http://www.vogons.org/viewtopic.php?f=4 ... 29#p505812
Co se týká Windows, s WDM (verze 2220) klasicky funkční pouze zvuk, s VxD (2008) je funkční vše v Doomu, ale Duke z nějakého důvodu padá - zkoušel jsem žonglovat s IRQ, ale k ničemu to nevedlo. Info o SB emulaci správně ukazuje údaje o nastavení 220/5/1 (zde je lepší nechat kartu BIOSem hodit na jiné IRQ než 5, aby č. 5 zůstalo volné pro následnou emulaci v OS). Tady by si to zaloužilo větší investigaci, ale provoz DOS her ve Win není mojí prioritou. Možná zkusit ještě další verze VxD ovladačů, je jich kupa. Mimochodem SW MIDI v Doomu znělo celkem dobře (závislé ale na verzi ovladačů).
-------------------------------------------
Abych to nějak shrnul, jak řešení ESS, tak Yamahy má něco do sebe. Pokud bych byl donucen k nějakému univerzálnímu non-ISA PC, pravděpodobně bych uvažoval o současném osazení obou karet. Kompatibilita obou karet v DOSu (viz tabulka výše) má mezery, ale společně by to mohlo být celkem OK. Taky by byl podmínkou provoz v čistém DOSu, Windows se z nějakého důvodu ukázal problémovější. Samozřejmě bych mohl osadit něco úplně jiného (Vortex 1/2), ale vzhledem k tomu, že je pro mě klíčová autentičnost OPL3, na výběr není.
Co by si taky zasloužilo prověřit, je kompatibilita obou řešení s VT82C686B (VIA 133A/T). Jak víme, implementace ISA je na těchto deskách zprasená (pokud je vůbec ISA osazeno), použitím PCI by se to dalo elegantně obejít (ideálně s DDMA/TDMA). PCI slotů bývá taky většinou nadbytek, ISA je často osazena v jednom exempláři.
Další zajímavé odkazy k Yamahám:
https://www.vogons.org/viewtopic.php?f=62&t=48983
https://www.vogons.org/viewtopic.php?f=61&t=61044
http://rayer.g6.cz/hardware/sbemu.htm
-------------------------------------------
EDIT: Teď jsem ještě dotestoval pár starších verzí her (kdysi poskytl Srandista) na Solu, v režimu TDMA v čistém DOSu. Staré verze Doomu 1 a Ufa fungují komplet, starý Tyrian opět jen hudba. Z aktuálních verzí je Albion taky funkční komplet, stejně tak Wolfenstein 3D.
Stále ale TDMA nedopadá příliš dobře - co Solo vytahuje z bahna nekompatibility s novějšími platformami je právě ono WBDMA. Ale ani potom to není zdaleka 100%.
Asus P5PE-VM rev 1.03G (i865G + ICH5)
1ks 512 MB DDR
Intel Celeron 420
GeForce4 MX440 128MB AGP
Windows 98SE + DOS
Uvádím pro pořádek, protože příliš velká RAM, rychlé CPU a grafika může být pro kompatibilitu s některými DOS hrami zabijákem samo o sobě. Testovanou zvukovkou bylo známé ESS Solo1 ES1938S TerraTec 128iPCI.
V krátkosti lze uvést, že mohu potvrdit, že hudba ve hrách obecně funguje, naproti tomu zvuky ne. To platí jak pro běžně šířené verze DOS ovladačů a provoz v čistém DOSu, tak i pro VxD ve Win. Na Vogons jsem zachytil informaci o funkčnosti hudby i zvuků s WDM pod Windows ME, ale to jsem vlastním testováním vyvrátil (alespoň pro ICH5). S WDM nastane akorát to, že fungují pouze zvuky, ale již bez FM syntézy.
Dalším krokem bylo otestování alternativních módů SB DMA emulace, které Solo nabízí. V zásadě jde o:
DDMA - funkčnost ověřena jen na pár starších čipsetech,
TDMA - standardně tento mód nastavuje DOS ovladač, bohužel s ICH5 ve většině her zní pouze hudba (ověřeno taky zde),
PC/PCI, neboli SB-link - P5PE-VM ho samozřejmě nemá,
WBDMA - mód, který ovladače standardně vůbec nenastavují.
Právě WBDMA se ukázalo být velmi slibným. Tento mód je možné nastavit pomocí utility PCISET.exe a výborného skriptu z Vogons:
https://www.vogons.org/viewtopic.php?f= ... 20#p692117
Úspěšně jsem ho otestoval a v čistém DOSu opravdu zprovozní zvukové efekty ve všech testovaných hrách (Albion, Dark Forces, Doom 2, Duke Nukem 3D, Quake, Tyrian 2000), pouze v Dukovi dojde po pár minutách k záseku hudby, potažmo celé hry (šlo by ještě otestovat jinou variantu WBDMA). Je to velice slibné nastavení, jen by ho chtělo dlouhodobě otestovat na větším množství her. Určitý potenciál může poskytnout tento seznam:
https://www.vogons.org/viewtopic.php?p=692375#p692375
Tam ale testoval na ICH2 a třeba Duke 3D mu ve Win ME s výchozím ovladačem fungoval, mně na ICH5 ne, takže ta tabulka nebude úplně platná, pro DOS by to ale snad mohlo platit. Windows je obecně větší divočina - verze a varianty ovladačů, kolize prostředků, problémy samotných DOS her ve Windows...
V případě zájmu můžu poskytnout upravený skript (ESSINIT.TXT z Vogons ve výchozím stavu nefunguje), což je plný ekvivalent DOS ovladačů, které tak není třeba řešit - ovladače nastavují jen PCI registry, stejně jako PCISET. Pokud má někdo Solo, tak minimálně s ICH5 by to mělo fungovat. Z nedostatku času jsem taky testoval jen WBDMA varianty "111".
Jinak obecně, co jsem zachytil, tak Solo na Intelu funguje cca do platforem na i820 - i845 (s prvními třemi módy emulace DMA), potom smůla. VIA funguje i novější, ale to je známé.
Nevýhodou Sola je taky závislost na přiděleném IRQ, já se s tím tolik nepáral a zakázal USB v BIOSu, takže jsem ho na IRQ 5 bez problému dostal, ale kdo by chtěl mít aktivované všechny integrované části desky, ať se připraví na konflikty a nefunkčnost. Samozřejmě bude záležet na desce. Sdílení IRQ jsem netestoval, ale moc nadějně to nevidím.
Další věcí je existence několik variant Sola, já měl k dispozici tři kusy:
TTSOLO1-N VER1.2 ES1938S H369 (11/1999)
TTSOLO1-N VER1.2 ES1938S H369 (10/1999)
TTSOLO1-NL VER1.2 ES1938S K370 (11/2000)
Všechny mají osazenu i EEPROM, ale poslední varianta (nejnovější) byla těžce problémová. S VxD hrála klasicky jen hudba a hry tuhly, čistý DOS tuhne při nastavení registrů, s WDM ani hudba ani zvuk v DOS programech, zvuk ve Win jede. TerraTec něco zjevně u pozdějších kusů "optimalizoval".
-------------------------------------------
Dalším pánem na holení byla Yamaha YMF744B-V PCI. Yamahy mají obecně dobrou reputaci v DOS emulaci a existuje k nim extenzivní info. Taky, jako jedno z mála PCI řešení, obsahuji skutečně autentické OPL3/FM. Yamaha na to jde trochu jinak a pro moderní platformy bez přímé podpory DDMA poskytuje TSR utilitu DSDMA.exe. Není potřeba se děsit, ověřil jsem, že ubírá pouze cca 2 kB konvenční paměti. Nevýhodou je ovšem nutnost používání EMM386, což dělá problémy pár hrám (tuším Turrican II, některá z Ultim). Výhodou oproti Solu je ale IRQ nezávislost, ovladač je schopen zajistit emulaci na udaný port, takže v BIOSu stačí nastavit třeba IRQ 5 na "reserved" a následně si na něj naemulovat IRQ po inicializaci v DOSu. Otestoval jsem však, že ani sdílení IRQ (např. s USB) nedělá Yamaze problémy.
Obecně je kompatibilita v DOSu výborná, funguje zvuk i hudba a člověk si může volně konfigurovat IRQ a DMA (kupříkladu Tubular Worlds vyžaduje DMA 0 a po patřičném nastavení se mi zvuk rozjel). Rozsah kompatibility Yamahy na novějších platformách s pomocí TSR je taky dalece před Solem:
https://docs.zoho.com/sheet/published/8 ... 2a9209e034
Z testovací sady mi nefugoval akorát Tyrian - problémy TSR s DPMI, hra bez patche nefunguje. DOS ovladače jsem měl ve verzi 3.16, testoval jsem i 3.17, ale tam tuhla inicializace přes setupds.exe Používal jsem taky patchnutou verzi setupds.exe přímo pro ICH5:
http://www.vogons.org/viewtopic.php?f=4 ... 29#p505812
Co se týká Windows, s WDM (verze 2220) klasicky funkční pouze zvuk, s VxD (2008) je funkční vše v Doomu, ale Duke z nějakého důvodu padá - zkoušel jsem žonglovat s IRQ, ale k ničemu to nevedlo. Info o SB emulaci správně ukazuje údaje o nastavení 220/5/1 (zde je lepší nechat kartu BIOSem hodit na jiné IRQ než 5, aby č. 5 zůstalo volné pro následnou emulaci v OS). Tady by si to zaloužilo větší investigaci, ale provoz DOS her ve Win není mojí prioritou. Možná zkusit ještě další verze VxD ovladačů, je jich kupa. Mimochodem SW MIDI v Doomu znělo celkem dobře (závislé ale na verzi ovladačů).
-------------------------------------------
Abych to nějak shrnul, jak řešení ESS, tak Yamahy má něco do sebe. Pokud bych byl donucen k nějakému univerzálnímu non-ISA PC, pravděpodobně bych uvažoval o současném osazení obou karet. Kompatibilita obou karet v DOSu (viz tabulka výše) má mezery, ale společně by to mohlo být celkem OK. Taky by byl podmínkou provoz v čistém DOSu, Windows se z nějakého důvodu ukázal problémovější. Samozřejmě bych mohl osadit něco úplně jiného (Vortex 1/2), ale vzhledem k tomu, že je pro mě klíčová autentičnost OPL3, na výběr není.
Co by si taky zasloužilo prověřit, je kompatibilita obou řešení s VT82C686B (VIA 133A/T). Jak víme, implementace ISA je na těchto deskách zprasená (pokud je vůbec ISA osazeno), použitím PCI by se to dalo elegantně obejít (ideálně s DDMA/TDMA). PCI slotů bývá taky většinou nadbytek, ISA je často osazena v jednom exempláři.
Další zajímavé odkazy k Yamahám:
https://www.vogons.org/viewtopic.php?f=62&t=48983
https://www.vogons.org/viewtopic.php?f=61&t=61044
http://rayer.g6.cz/hardware/sbemu.htm
-------------------------------------------
EDIT: Teď jsem ještě dotestoval pár starších verzí her (kdysi poskytl Srandista) na Solu, v režimu TDMA v čistém DOSu. Staré verze Doomu 1 a Ufa fungují komplet, starý Tyrian opět jen hudba. Z aktuálních verzí je Albion taky funkční komplet, stejně tak Wolfenstein 3D.
Stále ale TDMA nedopadá příliš dobře - co Solo vytahuje z bahna nekompatibility s novějšími platformami je právě ono WBDMA. Ale ani potom to není zdaleka 100%.