VOGONS


First post, by ChrisTOTG

User metadata
Rank Newbie
Rank
Newbie

Hi everyone,

I am trying to boot my 98SE machine into DOS without any XMS.

I have DOS=NOAUTO in my config.sys, and XMS still shows up. Even if I create a blank config.sys with only one line:

CONFIG.SYS
DOS=NOAUTO

...when I boot to DOS, I still have XMS. I've doublechecked by using step-by-step loading, and the line is definitely loading.

What am I missing here?

Reply 1 of 8, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

Are you loading HIMEM.SYS? In my experience, Win98 seems to automatically load HIMEM.SYS at startup if no memory manager is loaded in CONFIG.SYS. Try "DOS=NOAUTO,NOHI,NOUMB." I'm sorry that I was not all that helpful. 🙁

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community

Reply 2 of 8, by ChrisTOTG

User metadata
Rank Newbie
Rank
Newbie
Harry Potter wrote on 2023-04-08, 19:33:

Are you loading HIMEM.SYS? In my experience, Win98 seems to automatically load HIMEM.SYS at startup if no memory manager is loaded in CONFIG.SYS. Try "DOS=NOAUTO,NOHI,NOUMB." I'm sorry that I was not all that helpful. 🙁

Well that's the problem: It configures the system to use XMS even if I use DOS=NOAUTO and have nothing else in the config.sys. It enables XMS if I rename c:\windows\himem.sys as well, so it's clearly using the code that's stuck inside IO.SYS.

If you (or anyone!) have a config.sys that results in booting 7.10 with no XMS, please add the contents here!

Reply 3 of 8, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

You're using BootGUI=0, right?
And what's the program that reports XMS? Are you sure it's really XMS, and not raw Extended memory?

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 4 of 8, by ChrisTOTG

User metadata
Rank Newbie
Rank
Newbie
Grzyb wrote on 2023-04-08, 21:00:

You're using BootGUI=0, right?
And what's the program that reports XMS? Are you sure it's really XMS, and not raw Extended memory?

Bootgui=0 is in the MSDOS.SYS file, yes.

If I use mem.exe I get a response including Extended (XMS), and if I load a program that is incompatible with XMS drivers it complains about the existence of XMS.

Reply 5 of 8, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Try:

mem/d/p

Normally, you should see "XMSXXXX0 Installed Device=HIMEM".
With DOS=NOAUTO, it shouldn't be there.

Edit: also, with DOS=NOAUTO, entering "win" should fail - "HIMEM.SYS is missing."

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 6 of 8, by ChrisTOTG

User metadata
Rank Newbie
Rank
Newbie
Grzyb wrote on 2023-04-08, 22:00:
Try: […]
Show full quote

Try:

mem/d/p

Normally, you should see "XMSXXXX0 Installed Device=HIMEM".
With DOS=NOAUTO, it shouldn't be there.

Edit: also, with DOS=NOAUTO, entering "win" should fail - "HIMEM.SYS is missing."

Correct on both. So what's the deal with this output from mem?

Memory Type Total Used Free
---------------- -------- -------- --------
Conventional 640K 87K 553K
Upper 0K 0K 0K
Reserved 0K 0K 0K
Extended (XMS) 65,472K 65,472K 0K
---------------- -------- -------- --------
Total memory 66,112K 65,559K 553K

Total under 1 MB 640K 87K 553K

Largest executable program size 553K (566,720 bytes)
Largest free upper memory block 0K (0 bytes)

...and when I boot with device=himem.sys the same command shows 512MB of XMS. Clearly different but also clearly XMS. I feel as if I'm missing something fundamental.

Reply 7 of 8, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

MEM isn't precise.
Try the following code:

uses dos;

var
r: registers;

begin
r.ax := $4300;
intr($2f, r);
if r.al = $80 then
writeln('XMS installed')
else
writeln('No XMS');
end.
Filename
XMSCHECK.EXE
File size
2.33 KiB
Downloads
35 downloads
File license
Public domain

Also, I'm wondering what's that program that refuses to work because it thinks it detects XMS - must be some bugware, as XMS normally doesn't interfere with anything.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 8 of 8, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I think the same. It's a bit weird.

Himem.sys doesn't mess with anything, as far as I can tell.
EMM386, by contrast, does use V86 and interferes with things. But Himem.sys?

It works on a humble 286 processor and only provides XMS services and access to HMA/A20 handling (this feature can be turned off) .

If applications don't actively look for XMS/Himem.sys, they won't even notice its presence.

Hm. Could it be that the application wants to take control of Extended Memory (not XMS) directly?
If so, Himem.sys has an option to set aside Extend Memory for INT15h access.
The option is /INT15=

"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//