Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the board
Thread view  Mix view  Order
libz

08.07.2021, 18:16
 

Sound (Users)

Hi all!


When I think on DOS, I always remember that it took me close to one hour to find out how to access the Quattro Pro menus, many years ago...
This is a very nice project!

I've installed FreeDOS on a mini-itx board with an old Atom i386 1C/2T processor.
The problem I'm facing is about having no sound, at least from the back connector. Have no connection to the front jacks, but can find a way if there's a possibility to have sound from there.

From the manual of the board:

Intel Desktop Board D945GSEJT has a 2 + 2-channel (stereo) onboard audio
subsystem that includes a Realtek ALC662 audio codec.
The subsystem includes the following headers and connectors:

Front panel audio header (supports both AC ’97 and Intel HD Audio) , including
functionality for:
? Line out
? Microphone in

Back panel audio line-out connector

S/PDIF header (3 pin)

Internal mono speaker header (2 pin) for support of a 1.5 W/ 8 ? speaker
The front/back panel audio connectors are configurable through the audio device
drivers.
16
Desktop Board Features
The audio stream for the line-out port is routed according to the following
dependencies:


By default, the audio stream is down-mixed to mono and amplified for an internal
mono speaker.
If a connection is detected at the back panel line-out port, the audio stream is sent
to the rear line-out port and the internal mono speaker is disabled.


I've already searched the forum and it seems that the supported cards are SoundBlasters.
But there's always hope.
Is there a way to have sound from such a board?
Or is there any emulator or converter from SoundBlaster to AC'97?

Thanks.

mceric

Germany,
08.07.2021, 22:35

@ libz

Sound

Hi! To play sound on HDA or AC97 sound hardware, try
MPXPLAY: http://mpxplay.sourceforge.net/ It is freeware
with source code and supports quite many modern chips
and plays many popular multimedia file formats :-)

Of course this will not help your old GAMES, so if you
want to have sound from those, you will probably have
to run DOS in some sort of emulator inside another OS.

For example DOSBOX in Windows, DOSEMU2 in Linux or one
of the generic "complete simulated computer" softwares.

Remember that sound drivers are not part of DOS itself,
they are something which is part of the different apps
which want to produce sound. Those often expected SB16.

Volkert de Busonjé has a collection of sound related
software working towards to getting sound with old
apps on new hardware, but I think some connections
between the building blocks are still missing? Maybe
you already are lucky, please try and share thoughts:

https://github.com/volkertb

> FreeDOS on a mini-itx board with an old Atom i386 1C/2T processor.
> The problem I'm facing is about having no sound...
> Intel Desktop Board D945GSEJT ... Realtek ALC662 audio codec.

> Is there a way to have sound from such a board?
> Or is there any emulator or converter from SoundBlaster to AC'97?

PS: You may have to use the free, closed source PnP
sound chip activator UNISOUND, which is also nice for
classic DOS PnP soundcard variants because you could
skip brand specific startup drivers with UNISOUND:
https://www.vogons.org/viewtopic.php?t=72553
But I think for HDA/AC97, MPXPLAY itself is enough.

---
FreeDOS / DOSEMU2 / ...

RayeR

Homepage

CZ,
09.07.2021, 15:55

@ mceric

Sound

> PS: You may have to use the free, closed source PnP
> sound chip activator UNISOUND, which is also nice for
> classic DOS PnP soundcard variants because you could
> skip brand specific startup drivers with UNISOUND:
> https://www.vogons.org/viewtopic.php?t=72553
> But I think for HDA/AC97, MPXPLAY itself is enough.

UNISOUND will not help there as it's not targetted for new AC'97/HDA-only soundcards. It's usefull to initialize old (someway SB-compatible by HW) soundcards instead using vendor specific tools. It's just initializer not a TSR/driver doing any emulation.

I agree that the simplest way to test sound on specific MB is to try with MPXPlay that it should work out of the box without any external drivers (should autodetect the HDA). Also some recent DOS ports of games like Quake I/II, Doom, Hexen II... using libau should play on HDA too.

---
DOS gives me freedom to unlimited HW access.

Zyzzle

10.07.2021, 01:13

@ RayeR

Sound

Also some recent DOS ports of games like Quake
> I/II, Doom, Hexen II... using libau should play on HDA too.

Please elaborate. Where to find these modern DOS ports of Doom I / II, Quake, Hexen II which actually support HDA sound? I've got a version of doom which supports higher resolutions than 320x200, but it still won't give HDA sound. I found a recent Quake 2 DOS port, and it appears like it might support PCI sound, but haven't been successful yet. I'd love to play all of these games again after 25+ years, on a modern system, with full, quality sound at high resolution in plain DOS! If there are modern DOS ports which support HDA sound, then this dream is possible...

How about Duke Nukem 3D? I looked up libau but didn't get any good results. I know my laptop sound card (Realtech, on an I7-5600u broadwell chipset) supports HDA as Mpxplay produces beautiful sound from it. It's one of the only "modern" laptops that I have that actually will work with HDA output in Mpxplay.

KormaX

11.07.2021, 02:50

@ libz

Sound

As others mentioned, there are programs that support AC'97 and HDA directly. On the other hand, I disagree with people advicing other operating systems with emulators. My method is having a HX package on my DOS C: drive extended with Ruslan Starodubov's sound card drivers and running DOSBox (mainly DOSBox-X) under real DOS in order to provide emulated Sound Blaster cards for programs under real DOS. If MPXPlay works on your PC, this method should work too.

---
DOS isn't about why. It's about why not.

mceric

Germany,
11.07.2021, 12:27

@ KormaX

Sound

I have suspected that DOSBOX-X inside HX inside DOS might be a solution, but how well does it actually work? After all, DOSBOX also is a form of emulator and I am not sure whether the sound drivers of HX support enough AC97 and HDA.

You mention some Ruslan Starodubov sound drivers, which you describe as working on the same hardware as MPXPLAY? Where are they offered? Which configuration do you use to load them before or as part of HX?

How fast is the emulation? I could imagine DOS inside DOSBOX inside HX inside DOS being somewhat slow? Does it work for most games? I would guess if it does work at all, it does work for most games indeed :-) Please provide more details. Thank you!

Also, question to everybody, which other apps apart from MPXPLAY work directly with modern sound chipsets? A few modern games have been mentioned, but others have asked for more details about where to find the right version of those, so I would like to join that question :-)

---
FreeDOS / DOSEMU2 / ...

KormaX

11.07.2021, 14:10

@ mceric

Sound

Here you can download an entire package of HX 2.17 Ruslan calls 2.17+ that contains his drivers for modern sound cards, namely winmm.dll, dsound.dll and dpci.dll. You can add them to newer versions of HX as well, but as far as I remember -- but maybe not -- it means you have to delete sb16.dll from the original package. I have a package I call 2.18+, that is basically v2.17 updated with everything Japheth published with the version number 2.18, extended with Ruslans drivers and with my slightly customized HXGUIHLP.DLL. Beginning with 2.19, HX main files started to become buggy for me, unfortunately, so I haven't updated my system for a while, that's why I don't remember exactly, but those three files theoretically should be enough. Vanilla DOSBox can be configured to be OK and newer DOSBox-X versions are so. Not perfect for high resolutions, but currently the best option. I hope we will get a VESA-passthrough option so it will free the CPU from video rendering and the real -- modern -- video card could be utilized more effectively. The good thing in DOSBox-X is (except that the latest version has keyboard bugs now that Wengier is intended to fix right now), that it is packed together with a minimal HX distribution enough for it to be a standalone DOS version out of the boy, so if you just add Ruslan's drivers to it, it means you don't have to mess with a system level HX package.


As for other programs with HDA support:

QuickView Pro (you can find it online)

MPLayer (the particular version available here: http://rayer.g6.cz/download/download.htm and -ao wss doesn't work for me, I use -ao au instead as given on the site)

Anal Invadors (a simple game built with Judas modified by Chelson Aitcheson, but requires the HDA to be initialized previously by another driver, for example, MPXPlay or any of the above list; it is not currently available online, but I can upload it)

There is a MOD player whose name I can't recall now, but now I decided to post a list dedicated for these type of programs. It is also modified by Chelson in order to support HDA and also requires pre-initialization.

There is a utility from TomCat, that sets up your HDA as an internal speaker and lets you control its volume and even the output at some degree. Here's a version that utilizees all your available outputs (built-in speakers included) www.abaddon.hu/temp/UNMUTE1B.ZIP, and here's another one that only uses the lineout jack: www.abaddon.hu/temp/UNMUTE11.ZIP (with this version, your bult-in speakers are not in use, which is a better control over beeper-speaker oriented programs as the unavoidably beepin machine)

---
DOS isn't about why. It's about why not.

Zyzzle

12.07.2021, 05:15

@ KormaX

Sound

> Anal Invadors (a simple game built with Judas modified by Chelson
> Aitcheson, but requires the HDA to be initialized previously by another
> driver, for example, MPXPlay or any of the above list; it is not currently
> available online, but I can upload it)
>
> There is a MOD player whose name I can't recall now, but now I decided to
> post a list dedicated for these type of programs. It is also modified by
> Chelson in order to support HDA and also requires pre-initialization.
>
> There is a utility from TomCat, that sets up your HDA as an internal
> speaker and lets you control its volume and even the output at some degree.
> Here's a version that utilizees all your available outputs (built-in
> speakers included) www.abaddon.hu/temp/UNMUTE1B.ZIP, and here's another one
> that only uses the lineout jack: www.abaddon.hu/temp/UNMUTE11.ZIP (with
> this version, your bult-in speakers are not in use, which is a better
> control over beeper-speaker oriented programs as the unavoidably beepin
> machine)

I'll try your HX 2.17 package with PCI sound drivers, thanks for the download link.

I think the mod player is Judas itself?

https://github.com/volkertb/JUDAS/

I never had much luck with it on modern systems, but it only works with some HDA sound cards from Intel chipsets of ~2010-11 vintage. What works better for mods is Mpxplay with the in_mod.dll plugin (with DOS4GW version) available to download on Mpxplay's site. That works with modern HDA and IDH PCI sound cards.

I've never heard of Anal Invaders, even though I have the Judas sound module player. Please upload it if you get a chance. I see the source appears to be at the above link I posted for Judas, though if you've a compiled binary, it would be nice to try it.

About the adaddon.hu links posted, the first one does not work (404 page), but the second one (line-out) does download. Please correct if possible.

dggionco

Buenos Aires - Argentina,
12.07.2021, 17:19

@ KormaX

Sound

> There is a utility from TomCat, that sets up your HDA as an internal
> speaker and lets you control its volume and even the output at some degree.
> Here's a version that utilizees all your available outputs (built-in
> speakers included) www.abaddon.hu/temp/UNMUTE1B.ZIP, and here's another one
> that only uses the lineout jack: www.abaddon.hu/temp/UNMUTE11.ZIP (with
> this version, your bult-in speakers are not in use, which is a better
> control over beeper-speaker oriented programs as the unavoidably beepin
> machine)

The correct link is:

https://www.abaddon.hu/temp/UNMUTE1B.ZIP

=> The comma at the end complicates the download :-)

RayeR

Homepage

CZ,
13.07.2021, 02:15

@ KormaX

Sound

Hi, I tried the unmute utility but didn't get any sound from onboard HDA (pc speaker was still beeping without change)


Unmute - PCBEEP to headphone - Written by TomCat/Abaddon - v1.1/2017
--------------------------------------------------------------------
HDA mixer volume: 01F.
HDA device id: 1C20, vendor id: 8086.
- i/o base found at FBFF8000, mapped to 00111000, selector: 0C7.
HDA codec id: 0889, vendor id: 10EC.
- codec address found at 20000000, first widget id: 002, last widget id: 026.
- BEEP generator widget id: 001 DISABLED.
- headphone widget id: 01B UNMUTED.
- PCBEEP widget id: 01D on 0B#5 0C#1 0D#1 0E#1 0F#1 22#A 22#5 23#A 23#5 24 26#1 UNMUTED.
HDA device id: 0E0A, vendor id: 10DE.
- i/o base found at FAFFC000, mapped to 00111000, selector: 0CF.
HDA codec id: 0040, vendor id: 10DE.
- codec address found at 00000000, first widget id: 004, last widget id: 00B.
- BEEP generator widget id: 001 DISABLED.
- PCBEEP widget not found.

---
DOS gives me freedom to unlimited HW access.

RayeR

Homepage

CZ,
13.07.2021, 02:24

@ Zyzzle

Sound

Zdoom
https://sound-dos.ucoz.ru/load/zdoom/1-1-0-3

Qdos
https://sound-dos.ucoz.ru/load/quake_for_dos/1-1-0-2

Q2dos
http://dk.toastednet.org/Q2DOS/

all this should use libau that I belive can work at least with some HDA soundcards but I play this games via SB Audigy PCI. You need to enable support by -sndpci option.
I have some notes here http://rayer.g6.cz/hry/quake2/quake2.htm

Sorry I don't know about any existing DN3D or other Build engine game modern version for DOS (Only Win32/Linux).

---
DOS gives me freedom to unlimited HW access.

Zyzzle

20.07.2021, 02:02

@ RayeR

Sound

> Zdoom
> https://sound-dos.ucoz.ru/load/zdoom/1-1-0-3
>
> Qdos
> https://sound-dos.ucoz.ru/load/quake_for_dos/1-1-0-2
>
> Q2dos
> http://dk.toastednet.org/Q2DOS/
>
> all this should use libau that I belive can work at least with some HDA
> soundcards but I play this games via SB Audigy PCI. You need to enable
> support by -sndpci option.
> I have some notes here http://rayer.g6.cz/hry/quake2/quake2.htm
>
> Sorry I don't know about any existing DN3D or other Build engine game
> modern version for DOS (Only Win32/Linux).

Thanks for the pointers. I got Zdoom, Quake, Quake 2, and Hexen 2 working very well indeed with PCI audio on one of my "modern" laptops (i7 5600, with 16GB RAM and Intel 5500 onboard graphics, which supports *both* VGA and LFC write combining caching with your MTRRLFBE utility). Anything more "modern" than 5th Gen core i3/i5/i7 doesn't work... with either PCI sound *or* lfb write-combining. The onboard Realtech IDH sound is fantastic! That pcisnd.d3x wrapper is pure gold. It was a blast from the past playing these games on a modern, fast system with high resolutions and perfect audio after 25 years.

A 10th Gen i5 gets a ridiculous *9 mb/sec* in VESA modes, while not supporting any DOS resolutions below 640x480x8. So, no 320x200 or anything else. Terrible and awful castration of DOS and legacy video mode compatibility. While the i7-5600 above gets something like 3000 mb / sec in VESA modes and runs Quake 2 in DOS with LFC write-cache combining at 1920x1080 at something beyond 120 fps because of write-combining caching.

I found other Doom DOS wrappers such as MBF, VaVoom, Vanilla Doom, Boom, and Excelsion which appear much more advanced than the 1999 DOS Zdoom v. 1.17c but of course no PCI audio wrapper DOS compiles by Ruslan! Zdoom ver. 2.17 works with HX and 2.17PCI audio patch, however.

It is a pity that no system beyond 5th Gen supports writeback combining. Is this also your experience, RayeR? I've tested 7 or 8 such systems now and none of them work with your MTRRLFBE utility. Perhaps some manual settings will work, but I do not know how to figure them out. The system just freezes when I execute "mtrrlfbe lfb wc" and has hard lock-up with only system reset getting control back. This system freeze on anything greater than 5th Gen, including i7-7820HQ, i7 6600, i5-8250, i5-10210U).

Laaca

Homepage

Czech republic,
20.07.2021, 10:58

@ Zyzzle

Sound

The slow run of games in VESA modes can be because of wrong implementation of VESA function 4F07h.
I had similar problem with RTX 2060 and it can be avoided by switching off the mechanism of page flipping.
More info in this thread:
http://www.bttr-software.de/forum/forum_entry.php?id=16545

---
DOS-u-akbar!

Zyzzle

20.07.2021, 15:34

@ Laaca

Sound

> The slow run of games in VESA modes can be because of wrong implementation
> of VESA function 4F07h.
> I had similar problem with RTX 2060 and it can be avoided by switching off
> the mechanism of page flipping.
> More info in this thread:
> http://www.bttr-software.de/forum/forum_entry.php?id=16545

That is an 'interesting', as you say 'ugly' bug and incompatibility. Turning off page-flipping will speed up Quake from 9 mb/sec garbled display, hopefully up to something usable, but still without LFB write-combining. But, further incompatibilty with Intel onboard graphics past Intel 5500 graphics seems also impossibe to set MBEs for write-combining, as system totally freezes. And also, past 9th and 10th Gen core i systems, not even VGA modes are supported. So, complete incompatibility at the VGA-register level, which makes such modern "fast" graphics such as nvidia 1080 / 2080 / 3080 / 3090 totally unusable for DOS since 95% of legacy games won't even run because graphics can't be set to 320x200 or 320x240, or anything below 640x480x32bit mode.

I wonder if there is some kind of VGA utility which can set 640x480x8 (mode 0x4101) or some other VESA resolution and can "fool" the mode-X or 320x200 resolution programs into running. I found VBEPLUS 0.81, but it only remaps VGA modes, does not map VGA modes into VESA modes via horizontal 2x/4x and vertical 2x/4x scaling. Univbe and SDD are useless. What we need to do is set 640x480 for *all* VGA modes, and these old DOS games might run in very modern, castrated systems.

RayeR

Homepage

CZ,
20.07.2021, 16:48
(edited by RayeR, 20.07.2021, 17:50)

@ Zyzzle

Sound

Thanks for report. I still use my 2nd gen i7-2600K clocked at 4x4.5Ghz - still fast enough :) As more legacy stuff from HW is removed/crippled the less motivation I have to buy a new PC crap. So I don't have much modern HW in my hands for testing. I only have a i7-7820HQ laptop at work where I even don't have a DOS partition with dev tools...

So it seems libau would need some update for newer HDA but Ruslan is probably out of the scene.

For MTRRLFBE I will try on my work laptop if could run it from my multiboot USB stick. BTW in the last MTRRLFBE version I added a parameter to display MTRR settings without touching them. So try to run it if we can get some debug info first how BIOS did set it. I don't know why it crash but this MTRR read operation should not harm anything.

On Vogons I also read that the recent graphics cards are "castrated" of VGA legacy ports so the doom of legacy is coming, virtualization on new HW will be only way...

---
DOS gives me freedom to unlimited HW access.

RayeR

Homepage

CZ,
30.07.2021, 21:03

@ RayeR

Sound

So I did try mtrrlfbe and vesatest on my 7th gen i7 and I can confirm that it hangs. Interesting is that vesatest hangs during switch to graphics VESA mode even if forced not use LFB but VBIOS paging (it just detected VESA BIOS strings and FB size and mode count). E.g. PQmagic can run in VESA mode there but extremely slow. Doom in VGA mode runs fine. I also tested MPxplay but no sound from IHD, even playback didn't started (the track cursor keeps at the beginning).
The only thing that worked was mtrrlfbe /info that dumped current MTRRs settings:

MTRR-WC enabler for VESA LFB 1.6 (C) 2005-2021 by Martin Rehak; rayer^...
Compiled by GCC 4.8.5 at 07:07:31, Jan 15 2021
Host machine CPU vendor: GenuineIntel, ID: 906E9h

VESA 3.0 Intel(R) SKL/KBL Mobile/Desktop Graphics Chipset Accelerated VGA BIOS [32704 kB]
N/A
N/A
N/A
LFB address: 80000000h
MTRR #0: base = 080000000h ( 2048MB), mask = F80000000h ( 2048MB), UC, used
MTRR #1: base = 07E000000h ( 2016MB), mask = FFE000000h (   32MB), UC, used
MTRR #2: base = 07D000000h ( 2000MB), mask = FFF000000h (   16MB), UC, used
MTRR #3: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused
MTRR #4: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused
MTRR #5: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused
MTRR #6: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused
MTRR #7: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused
MTRR #8: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused
MTRR #9: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC, unused


So it can be seen that LFB area is UC so that's slow. I don't know why they are set when all is UC - any meaning...

---
DOS gives me freedom to unlimited HW access.

Laaca

Homepage

Czech republic,
30.07.2021, 22:21

@ Laaca

Sound

Hm, it seems that the wrong implementation of VESA fn.4F07h (which is causing painfull slowness and flickering when changing the videopage) can by detected by software (i.e. not only by interractive test).
Thy to load standard VBETEST utility and select there interactive test.
Choose the videomode and refresh rate and run the interractive test.
The first test is drawing the colorfull pattern but the second one is the page flipping test.
If your function 4F07h is wrong, the counter will show the still the same videoplane. There will be some moving lines suggesting that there are some page switches but there will be still written PAGE 1.
If the BIOS and 4F07h function are OK, the page number will be still and fast changing from 0 to N.
So it means that the detection is possible (probably using INT 10H/AX=4707h/BL=01h)

---
DOS-u-akbar!

Zyzzle

31.07.2021, 00:38

@ RayeR

Sound

> So I did try mtrrlfbe and vesatest on my 7th gen i7 and I can confirm that
> it hangs. Interesting is that vesatest hangs during switch to graphics VESA
> mode even if forced not use LFB but VBIOS paging (it just detected VESA
> BIOS strings and FB size and mode count). E.g. PQmagic can run in VESA mode
> there but extremely slow. Doom in VGA mode runs fine. I also tested MPxplay
> but no sound from IHD, even playback didn't started (the track cursor keeps
> at the beginning).
> The only thing that worked was mtrrlfbe /info that dumped current
> MTRRs settings:
>
> MTRR-WC enabler for VESA LFB 1.6 (C) 2005-2021 by Martin Rehak; rayer^...
> Compiled by GCC 4.8.5 at 07:07:31, Jan 15 2021
> Host machine CPU vendor: GenuineIntel, ID: 906E9h
>
> VESA 3.0 Intel(R) SKL/KBL Mobile/Desktop Graphics Chipset Accelerated
> VGA BIOS [32704 kB]
> N/A
> N/A
> N/A
> LFB address: 80000000h
> MTRR #0: base = 080000000h ( 2048MB), mask = F80000000h ( 2048MB), UC,
> used
> MTRR #1: base = 07E000000h ( 2016MB), mask = FFE000000h (   32MB), UC,
> used
> MTRR #2: base = 07D000000h ( 2000MB), mask = FFF000000h (   16MB), UC,
> used
> MTRR #3: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #4: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #5: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #6: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #7: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #8: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
> MTRR #9: base = 000000000h (    0MB), mask = 000000000h (    0MB), UC,
> unused
>

>
> So it can be seen that LFB area is UC so that's slow. I don't know why they
> are set when all is UC - any meaning...

The lastest system that I have which works with your MTRRLFBE is an i7-5600 laptop with Intel HD5500 onboard graphics:

MTRR-WC enabler for VESA LFB 1.6 (C) 2005-2021 by RayeR
Compiled by GCC 4.8.5 at 07:07:31, Jan 15 2021
Host machine CPU vendor: GenuineIntel, ID: 306D4h

VESA 3.0 Intel(R) HSW Mobile/Desktop Graphics Chipset Accelerated VGA BIOS [32704 kB]
N/A
N/A
N/A
LFB address: E0000000h
MTRR #0: base = 000000000h ( 0MB), mask = F80000000h ( 2048MB), WB, used
MTRR #1: base = 400000000h (16384MB), mask = FF0000000h ( 256MB), WB, used
MTRR #2: base = 410000000h (16640MB), mask = FF8000000h ( 128MB), WB, used
MTRR #3: base = 418000000h (16768MB), mask = FFC000000h ( 64MB), WB, used
MTRR #4: base = 41C000000h (16832MB), mask = FFE000000h ( 32MB), WB, used
MTRR #5: base = 41E000000h (16864MB), mask = FFF800000h ( 8MB), WB, used
MTRR #6: base = 0E0000000h ( 3584MB), mask = FFF000000h ( 16MB), WC, used
MTRR #7: base = 0DE000000h ( 3552MB), mask = FFE000000h ( 32MB), UC, used
MTRR #8: base = 0DD000000h ( 3536MB), mask = FFF000000h ( 16MB), UC, used
MTRR #9: base = 080000000h ( 2048MB), mask = FC0000000h ( 1024MB), WB, used
Setting MTRR #6 to desired area...
MTRR area E0000000h - E0FFFFFFh was set to mode: WC

With 6, 7, or 8 gen i5/i7 and onboard Skylake graphics, there is very strange behavior. Even *reading* the MTRRs results in a hard system freeze and maximum fans / CPU usage 100% loop. This hard freeze even happens when I run MTRRLFBE in debug /d mode, for example MTRRLFBE lfb UC /d. That's right, even setting MTRRs to UNcached results in hard freeze at DOS prompt within 1 second. I wasn't even able to write a debug file to the hard drive to show you, but the screen is very similar to the one you posted for your 7th gen, except LFB shows C0000000h. The even stranger thing is that I *can* rub MTRRLFBE vga wc to cache VGA graphics on all of these 6th-8th gen systems, with resulting very fast speedup in VGA graphics. Also disabling the LFB with Ken Silverman's NOLFB speeds up greatly VGA read speeds.

A partial solution seems to be running games such as quake and Hexen with variable "nopageflip" set to 1. This uses bank switching mode for VESA modes which results in vast speed up. For example in 1280x1024 from 8 fps to over 72 fps on my i5-8250 with lfb in permaently unchangeable uncached mode.

Duke 3D doesn't work at all in VESA modes for me on anything above 5th gen, and even on 5th Gen i7-5600 with nolfb or other mode 4107 disable utility there is horrible page flipping / corruption of VESA modes, with or without MTRR write-combining enabled.

RayeR

Homepage

CZ,
01.08.2021, 17:55

@ Zyzzle

Sound

As i told "mtrrlfbe /info" should work for you, compared to /d it doesn't set anything, just read. Settings WC for VGA also works for me but I didn't tested real speed gain. This new systems seems to be real mess and I'm not much interested to waste time with them...

---
DOS gives me freedom to unlimited HW access.

Back to the board
Thread view  Mix view  Order
22017 Postings in 2030 Threads, 395 registered users, 21 users online (0 registered, 21 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum