VOGONS


First post, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Hello,
im trying to use Pure Dos 7.1 on X58 more about project:
X58/i865/V880 - Yamaha7x4/AurealV1/2 pure Dos7.1- compatibility list/research/ultim. drivers configs, WIP- gurus needed

For load Yamaha 744 and SB emulation drivers (with is not working, but at least driver could be loaded) with HimemX, i had to use this line:
DEVICE=C:\WINDOWS\EMM386.EXE 16384 D=64 FRAME=E000 /I=B000-B7FF RAM
which i found someone on internet without any explanation here - https://www.wcnews.com/chatzone/threads/emm38 … r-related.3338/ instead of classic:
DEVICE=C:\WINDOWS\EMM386.EXE RAM

Without it sound driver is not loaded.

Problem is when i use it, EMS is working, but im getting this warning:
Option ROM or RAM detected within page frame

I also discovered when i tried to make EMS without Sound driver, than without these special parameters i have only 530 KB of free memory, what is not sufficient to run lots of games, with it i have 580/590KB , so this line is important even for other thing. EMS syntax info- i dont fully understand it.

I looked at description of these parameters on EMS386 MS page, i have found this:

/D - means this: Specifies how many kilobytes of memory should be reserved for buffered direct memory access (DMA). Discounting floppy-disk DMA, this value should reflect the largest DMA transfer that will occur while EMM386 is active. Valid values for nnn are in the range 16 through 256. The default value is 16. Its 64KB optimal for my setup?
/Frame -Specifies the page-frame segment base directly. To specify a specific segment-base address for the page frame, use the frame switch and specify the address you want
/i - Specifies a range of segment addresses to be used (included) for an EMS page or for UMBs. Valid values for mmmm and nnnn are in the range A000h through FFFFh and are rounded down to the nearest 4-kilobyte boundary. The x switch takes precedence over the i switch if the two ranges overlap.


These explanations really dont helps me to really undestand, what values are good.

I also have some EMS related errors when i trying to start some games - quite few of them:
- EMS error during game start - EMS386 - Unrecoverable privileged operation error or Was detected EMS error at address XX.. i never that EMS error, after game started.
Also some black screens and DOS4GW error 2000 or 2001 - 0Dh problems and general failure reading from drive D (all games are installed on drive in same directory, 75% o them are working fine, AHCI on board controller is in IDE mode, without it EMS loading freeze) - i dunno if these are related to my EMS or not.

Questions are:
1) What exactly this parameters do?
2) Why are needed for sound drivers?
3) Its there way to tune some and make my compatibility better and get rid of this warning?

If you will need some logs, tell me.

Last edited by ruthan on 2018-07-27, 07:59. Edited 2 times in total.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 1 of 47, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

It's just that EMM386 found something occupied part of the specified page frame range within the upper memory area, where it should usually be free (unoccupied).

I think it's due to some additional option ROMs (such as from external IDE and SATA RAID/AHCI controllers, or onboard controllers not provided by the chipset itself). Having modern video cards that tend to have very large video BIOS might also cause this as video cards also need to store part of the video BIOS logics to the upper memory block. Motherboards nowadays incorporate so many option ROMs that such phenomenon is rather common. Try disabling unneeded onboard features from BIOS to see if this could allow more UMB areas usable, and avoid using any hardware that come with option ROMs.

For JEMM386, if such option ROMs were detected in the usual UMB range, you'll get this notice (JEMM386 will not prompt for keypresses):
System memory found at c800-efff, region might be in use.

You'll get fewer usable UMB as a result, since the lost UMB area has already been claimed and used by other stuffs and trying to use those memory area can be dangerous.

If the most of the UMB area has been taken up that the memory manager couldn't find a suitable area to place the EMS page frame, JEMM386 will also warn you this if you intend to use EMS (under the same circumstances MS EMM386 will outright refuse to load unless NOEMS is used):
Warning: no suitable page frame found, EMS functions limited.

Under such circumstances, while MEM might report the EMS status as enabled (and with available size), some games may fail to actually detect or use the memory.

Reply 2 of 47, by elianda

User metadata
Rank l33t
Rank
l33t

If you force the EMS page frame to location E000 by FRAME=E000 while at the same location is mapped in a ROM of a card then it is a great source of problems, especially if a application uses EMS or the ROM at this area is used.

So better go with automatic or first check where you have 64 kB of unoccupied memory. Then force the EMS page frame there. Use some tool that shows you the mapped in ROMs and RAM areas of extension cards.

Retronn.de - Vintage Hardware Gallery, Drivers, Guides, Videos. Now with file search
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool

Reply 4 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for reply.

LSS10999 wrote:

It's just that EMM386 found something occupied part of the specified page frame range within the upper memory area, where it should usually be free (unoccupied).

I think it's due to some additional option ROMs (such as from external IDE and SATA RAID/AHCI controllers, or onboard controllers not provided by the chipset itself). Having modern video cards that tend to have very large video BIOS might also cause this as video cards also need to store part of the video BIOS logics to the upper memory block. Motherboards nowadays incorporate so many option ROMs that such phenomenon is rather common. Try disabling unneeded onboard features from BIOS to see if this could allow more UMB areas usable, and avoid using any hardware that come with option ROMs.

Its there any utility for any DOS, Windows or Linux to help diagnoze which device is using this address?
- I disabled in Bios what i could (except PCI VGA pallette snooping - enabled and PCI Serr# generation - enabled ),
- its not onboard soundcard, its was the same when i was disabled.
- I removed ATI x800 GPU its still the same, i replaced Geforce 730 for Geforce 210 its still the same (i will try to remove it too).
- Its not ATI mach 64, i added it recently..
-I have Broadcom 5721M PCI-E nic i will try to remove it
- except PCI soundcard no other cards.
- i have floppy controller enabled, i could live without it

For JEMM386, if such option ROMs were detected in the usual UMB range, you'll get this notice (JEMM386 will not prompt for keypresses):
There is key press message but after few seconds, it continue without key pressed.

elianda wrote:

If you force the EMS page frame to location E000 by FRAME=E000 while at the same location is mapped in a ROM of a card then it is a great source of problems, especially if a application uses EMS or the ROM at this area is used.

As I wrote, i found this parameters in some sound cards disscussion, its possible to change this line - use other address range and keep sound card working? Its this some special address range for sound cards things? Which address frame you would recommend to test?

elianda wrote:

So better go with automatic or first check where you have 64 kB of unoccupied memory. Then force the EMS page frame there.

By automatic mode do you mean "EMM386.EXE auto"? Should and could i keep with this mode other setting like d=64 min=4096 or highscan? I yesterday added 2 more parameters to make games more compatible:
EMM386.EXE 16384 min=4096 D=64 FRAME=E000 /I=B000-B7FF RAM Highscan
with min=4096, i tried to fix - problem with Wing Commander: Armada - which give me message: "EMS driver is not VCPI complaint" , but doesnt helps.. I Dosbox is it fixed just by ems=false in config, i dont know that is pure Dos equivalent?

elianda wrote:

Use some tool that shows you the mapped in ROMs and RAM areas of extension cards.

Please recommend me some.

dr_st wrote:

Try just:
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF

Thanks i will.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 5 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Try just:
DEVICE=C:\WINDOWS\EMM386.EXE RAM I=B000-B7FF

Warning is gone, the sound is still working, but i have only 550 KB of conventional memory, with original parameters i have ~590 KB. What next?

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 7 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Here are logs:
MEM /C/P - https://www.dropbox.com/s/hsgcp8uebwdrdug/MEMCP.TXT?dl=0
MEM /D/P - https://www.dropbox.com/s/vbsnd5f2ki0wbxf/MEMDP.TXT?dl=0

It looks than most convential memory is eated by Smartdrive and MSCDex, im not really sure if i need smartdrive i was i some good Dos configs example so i used it.

Im using these lines:
Autoexec:
LH C:\WINDOWS\COMMAND\MSCDEX.EXE /D:CDROM /L:E // Im using Windows 98 SE one
LH C:\Windows\SMARTDRV.EXE /L /X // Im using Windows 98 SE one

Config:
DEVICEHIGH=C:\DRIVERS\XCDROM.SYS /D:CDROM

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 8 of 47, by dr_st

User metadata
Rank l33t
Rank
l33t

The thing is, MSCDEX and SMARTDRV do not fit in your upper memory, because you only have 55K of it.

I get about 100K of upper memory on my Win98 SE setup using this line:

DEVICEHIGH=C:\DOSW\EMM386.EXE RAM I=B400-B7FF I=CA00-CBFF AUTO

Re: Autoexec.bat & Config.sys Help

I think the CA00-CBFF makes little difference. B400-B7FF is a small range than B000-B7FF so I would think you should get even more. Maybe the AUTO makes a difference? Try it. Other than that, I have to assume that the amount of upper memory EMM386 can find and use is highly system-dependent.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 9 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Ok, thanks i will try it.

Smartdrive was not loaded in upper memory because of /L switch, i dont know why orignal author used it:
L - Prevents SMARTDrive from automatically loading into upper memory blocks (UMBs), even if there are UMBs available. You can use the /L switch if upper memory is enabled for use by programs. If you are using SMARTDrive's double-buffering feature and your system appears to be running slowly, try adding the /L switch to the SMARTDrive command in your AUTOEXEC.BAT file.

Meanwhile i found some smartdrv mastery info..
http://www.mdgx.com/newtip2.htm#OUTSMART

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 10 of 47, by Stretch

User metadata
Rank Member
Rank
Member

Make sure PXE boot and USB legacy are turned off. Then boot off a floppy with no config.sys or autoexec.bat and run umbchk from umbpci in order to find your free mem.

Win 11 - Intel i7-1360p - 32 GB - Intel Iris Xe - Sound BlasterX G5

Reply 11 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
dr_st wrote:

DEVICEHIGH=C:\DOSW\EMM386.EXE RAM I=B400-B7FF I=CA00-CBFF AUTO

I tried it, no warning but only 550 KB of conventional memory, here are logs:
https://www.dropbox.com/s/6jqme75vaerhv7y/MEMCP.TXT?dl=0
https://www.dropbox.com/s/43ymwajfgg14s1s/MEMDP.TXT?dl=0

Stretch wrote:

Make sure PXE boot and USB legacy are turned off. Then boot off a floppy with no config.sys or autoexec.bat and run umbchk from umbpci in order to find your free mem.

My O.E.M has no such option available. I dont have floppy connected, ut i have header for it is there some workaround? Floppy without config and autoexec - how to create it?

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 12 of 47, by dr_st

User metadata
Rank l33t
Rank
l33t
ruthan wrote:
I tried it, no warning but only 550 KB of conventional memory, here are logs: https://www.dropbox.com/s/6jqme75vaerhv7y/MEMCP.TX […]
Show full quote
dr_st wrote:

DEVICEHIGH=C:\DOSW\EMM386.EXE RAM I=B400-B7FF I=CA00-CBFF AUTO

I tried it, no warning but only 550 KB of conventional memory, here are logs:
https://www.dropbox.com/s/6jqme75vaerhv7y/MEMCP.TXT?dl=0
https://www.dropbox.com/s/43ymwajfgg14s1s/MEMDP.TXT?dl=0

This leads me to believe that indeed:

dr_st wrote:

the amount of upper memory EMM386 can find and use is highly system-dependent.

Compare to my setup:
Re: Autoexec.bat & Config.sys Help

Also, you should use MSCDEX with /E to let it load some stuff into EMS, and free some conventional RAM.

Which you would have had already if you had started from my awesome Config/Autoexec and not from some crap you found online. 😁

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 13 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
ruthan wrote:

Also, you should use MSCDEX with /E to let it load some stuff into EMS, and free some conventional RAM.
Which you would have had already if you had started from my awesome Config/Autoexec and not from some crap you found online.

Thanks, with that online config and manage way to get to work lots of games..so it was good in general, yeah everything could be tuned.. Now i can even say that i understand to 95% of its code, i did some research command by command.

dr_st wrote:

the amount of upper memory EMM386 can find and use is highly system-dependent.

Question is if these problems are problem of whole X58 plaform or only some implementation - im using HP O.E.M MB where is only few options, it would be interesting to see mem log from Agents and others.

BTW i tried burnem.sys + himem.sys instread of himemX.exe problems are still the same.

Last edited by ruthan on 2018-07-13, 20:04. Edited 2 times in total.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 14 of 47, by dr_st

User metadata
Rank l33t
Rank
l33t
ruthan wrote:

As i said there is always space for tunning, is this the absolute best what you can give me?

DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAM I=B400-B7FF I=CA00-CBFF AUTO

No. I=B000-B7FF would be better, but I had a couple of games conflict with that (CDMan 2.0 for example), so switched to B400-B7FF; it's enough for me as it gives me 621K memory free on my setup (624K if I don't use DBLBUFF).

Come to think of it - I think it was complaining about option ROMs at some point? Since it doesn't seem like you need to boot from external devices (PCI cards / LAN), try to poke around the BIOS and see if you can disable some of these option ROMs. It might allow you more usable upper memory with no conflicts.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 15 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

If you talking about upper memory you mean number 756,272 in this line of yours log?

  Total under 1 MB      [b]756,272 [/b]      102,272       654,000

Because i have 709 KB with my previous config and 701 KB with your config? So there is something what influencing it on my setup, its not static number.. and its really that 47 KB so big difference? I mean if there is 600 KB vs. 553 KB of conventional memory it is, but if it would be 630 KB vs. 587 KB it wouldnt be so bad.

As i said there is always space for tunning, is this the absolute best what you can give me?

DEVICEHIGH=C:\WINDOWS\EMM386.EXE RAM I=B400-B7FF I=CA00-CBFF AUTO

Since it doesn't seem like you need to boot from external devices (PCI cards / LAN), try to poke around the BIOS and see if you can disable some of these option ROMs. It might allow you more usable upper memory with no conflicts.

That HP Bios really dont have such options, there is only few things, its like some laptop BIOS, very limited number of options.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 16 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

With last version of EMS, i have 570 KB of EMS and no warning..
but games were worked not working and have much more black screens during game starting.. doesnt it means that my black screen problems with other games could be memory related too, or we just hit bad memory area? Or its normal that older games start with not enough memory and crash?

There is one more group drivers which is not in LH, yamaha setup, ymirq a dsdma.exe, should they by also forced to upper memory?

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 17 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

I managed to get - 590 KB with Dr_St, with NOTR parameter and with sound drivers with LH - and at least 2 games which werent working (even with more EMS but EMS boot error) now working.. I will keep investigating.

Regarding of this page:
https://www.legroom.net/howto/msdos
notr disables searching for token ring adapters, a legacy networking topology no longer in use today.

Update: But some games which are working my Ems configuration with Warning now not working - black screen at loading.

Im not sure it means something but with XMS - EMM386.EXE noems i can see that i have:
753 KB under 1 MB and 640 KB free.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 19 of 47, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie
gdjacobs wrote:

Could you please also check if JEMM386 is compatible with DSDMA?

I never used it, when you will give me download link and config line, i will test it.

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.