VOGONS


EMS memory mystery ?

Topic actions

First post, by melbar

User metadata
Rank Oldbie
Rank
Oldbie

I have a setup of config sys commands (menu structure). Originally i had taken a file / example from Phil`s computer lab homepage.

Now i have on my K6-2 system (64Mb ram installed), around 615kb to 620kb free memory, either with EMS or XMS setting.
Almost ever driver then will be uploaded into the upper memory (640kb - 1Mb).

Now with my newer setup, the P4 northwood with 512Mb installed, i have copied excactly the same <.ink MSDOS file> from the K6-2 system to this pentium 4 system.
With this file, i can boot from Win98 SE directly into pure DOS 7.1.

The strange thing is now, that with loading the full setup, EMS + Mouse + cdrom, i have now around 560kb free memory.
With XMS, i have nearly the same >615kb like on the 64Mb ram system.

Now, i am searching more about this behavior. Maybe somone has an idea about this "mystery" ?

#1 K6-2/500, #2 Athlon1200, #3 Celeron1000A, #4 A64-3700, #5 P4HT-3200, #6 P4-2800, #7 Am486DX2-66

Reply 1 of 6, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

You need to check the amount of available upper memory. Older system is more likely to have more free UMB room than newer one.

EMS requires a contiguous 64KB of UMB for its page frame which will be deducted from your available upper memory. Looks like your remaining upper memory is too low to hold all the TSRs. You may consider including the monochrome section (I=B000-B7FF) for 32KB more.

Additionally, do you use any PCI add-on cards with option ROMs? My personal experience was that the option ROM of PCI IDE/SATA cards (which enables booting) can take a good portion of upper memory (like 20KB or more) leaving less room for other TSRs. Onboard devices with option ROMs (such as controllers for additional IDE/SATA slots not provided by the chipset itself) also count. In that case, try disabling them from BIOS if not using them.

Modern video cards can additionally take up a varying amount of upper memory for its video BIOS functionalities. If you're not using other cards with option ROMs, chances are that the video card you're using took a bit more of UMB compared to your old system.

Should warn that if the system UMB space is too crowded to have a contiguous 64KB area, EMS will not work correctly (in JEMM386's case, you'll get a warning that it could not find a suitable page frame).

Reply 2 of 6, by zyga64

User metadata
Rank Oldbie
Rank
Oldbie

I also suggest you check out JEMM https://www.japheth.de/Jemm.html
I suppose it will be better suited to later chipsets (like P4).

Scamp: 286@20 /4M /CL-GD5422 /CMI8330
Aries: 486DX33 /16M /TGUI9440 /GUS+ALS100+MT32PI
Triton: K6-2@400 /64M /Rage Pro PCI /ES1370+YMF718
Seattle: P!!!750 /256M /MX440 /Vibra16s+SBLive!
Panther Point: 3470s /4G /GTX750Ti /HDA

Reply 3 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

CheckIt! has a nice memory browser. 😎 It not only shows the usage of conventional memory and the adapter segment, but also tells you what it's being used for.
Or alternatively, shows the first 84 bytes of an unknown segment.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 6, by Plasma

User metadata
Rank Member
Rank
Member
LSS10999 wrote on 2022-05-17, 05:25:
You need to check the amount of available upper memory. Older system is more likely to have more free UMB room than newer one. […]
Show full quote

You need to check the amount of available upper memory. Older system is more likely to have more free UMB room than newer one.

EMS requires a contiguous 64KB of UMB for its page frame which will be deducted from your available upper memory. Looks like your remaining upper memory is too low to hold all the TSRs. You may consider including the monochrome section (I=B000-B7FF) for 32KB more.

Additionally, do you use any PCI add-on cards with option ROMs? My personal experience was that the option ROM of PCI IDE/SATA cards (which enables booting) can take a good portion of upper memory (like 20KB or more) leaving less room for other TSRs. Onboard devices with option ROMs (such as controllers for additional IDE/SATA slots not provided by the chipset itself) also count. In that case, try disabling them from BIOS if not using them.

Modern video cards can additionally take up a varying amount of upper memory for its video BIOS functionalities. If you're not using other cards with option ROMs, chances are that the video card you're using took a bit more of UMB compared to your old system.

Should warn that if the system UMB space is too crowded to have a contiguous 64KB area, EMS will not work correctly (in JEMM386's case, you'll get a warning that it could not find a suitable page frame).

Other crap in the upper memory area to disable includes network/pxe boot and legacy USB keyboard/mouse support.

Reply 5 of 6, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

LSS10999 is right. It are the ROMS that are placed in the UMB space.
But also graphics card ROM sizes matter. Basically older graphics card have smaller ROMS that just occupy C000-C7FF. Newer cards take 64 kB and more.

Reply 6 of 6, by Matth79

User metadata
Rank Oldbie
Rank
Oldbie

One tip, for EMS & UMB, move the EMS page frame down to the top of the ROM, to avoid splitting the UMB into two spaces, that way you don't need tricky MEMMAKER zone selection for packing