Jump to content

RLoew's non-XMS Ramdisk and related Software


98SE

Recommended Posts

2 hours ago, 98SE said:

You mean when the hard drive goes into standby energy mode?  I always set my 98 Power settings to keep hard disk on all the time.  Won't this solve your Swap File on your XMS DOS Ramdisk issue?

But if you placed the entire 98SE into your Ramdrive and run it won't that also solve not needing a physical hard drive or SSD to wake up or go into spin down mode?

Yes to both.

The Maximum Swap File Size is 2GiB or the difference between 4GiB and the available RAM, whichever is less.

I set up the various size RAMDisks I am likely to use into my AUTOEXEC.BAT File. This includes one the exact same size as my C: Partition.

@jaclaz Putting a Swap File on a RAMDisk only makes sense when it is a 64-Bit Memory RAMDisk.

Link to comment
Share on other sites


2 hours ago, rloew said:

Yes to both.

The Maximum Swap File Size is 2GiB or the difference between 4GiB and the available RAM, whichever is less.

I set up the various size RAMDisks I am likely to use into my AUTOEXEC.BAT File. This includes one the exact same size as my C: Partition.

@jaclaz Putting a Swap File on a RAMDisk only makes sense when it is a 64-Bit Memory RAMDisk.

Okay let's say we consider the 98SE into Ramdisk project.  We have a 64GB system and we use your 9X/ME Memory Limit Patch so no more BSOD memory problems with > 512MB scenario.

What is the maximum amount of memory that 98SE would then be able to use for the OS without any stability problems?

For the moment we don't set a pagefile.

Edited by 98SE
Link to comment
Share on other sites

With my RAM Limitation Patch, Windows 98SE can utilize any amount of 32-Bit RAM. I have tested it up to 4094MiB.

The maximum Swap File will becomes smaller as you get closer to 4GiB. The total commit size is 4GiB.

@dencorso Definitely should be in the 9x forum.

Link to comment
Share on other sites

On Sunday, May 28, 2017 at 7:13 PM, rloew said:

With my RAM Limitation Patch, Windows 98SE can utilize any amount of 32-Bit RAM. I have tested it up to 4094MiB.

The maximum Swap File will becomes smaller as you get closer to 4GiB. The total commit size is 4GiB.

@dencorso Definitely should be in the 9x forum.

98SE Maximum RAM 4094MB

and earlier you mentioned "The Maximum Swap File Size is 2GiB or the difference between 4GiB and the available RAM, whichever is less."

I just to make sure what happens in these two Swap File scenarios.

So if you were to use a 1024MB Swap File, does this mean you have only 3070MB left for 98SE programs to use?

Or does it have the same effect in XP where adding the 1024MB Swap File will increase total available 98SE memory to 5118MB?

And you mentioned Max Swap  File Size is 2Gib = 2048MB, does this mean you have have 2046MB for 98SE programs to use?

Or will it increase total max to 6142MB being the 98SE Max Limit possible with your 98SE Ram Patch?

Have you looked at the WinME to see if this Max Limit can be increased or a way to create a 64bit version to increase the limit?  And if say 64GB was being used could it be broken down into 4GB memory chunks for each program to run inside 98SE for multitasking rather that capped at 4GB?

Is the Max Swap File Size of 2Gib also the same for WinME or is it higher?

I downloaded the Ramdisk test file for later.  Doing some work on the P4 troubleshooting.  Just resurrected the onboard USB 2.0 header ports that I never used before to get 4 extra USB 2.0 ports.  The original ones on the rear I found were actually USB 1.0 no wonder it was taking so long to boot.

Edited by 98SE
Link to comment
Share on other sites

The Swap File does not limit the available RAM. The available RAM limits the Swap File.

If you have less than 2GiB of RAM, Windows 98SE will use up to 2GiB for Swap. Further allocations will fail.

If you have more than 2GiB of RAM, Windows 9SE will only use the remainder of 4GiB for Swap. Further allocations will fail.

For example, if you have 3GiB of RAM, Windows 98SE will not use more than 1GiB for the Swap File.

I enlarged the Memory Table in an attempt to increase the commit limit to 6GiB but it started losing Memory allocations and crashed.

I have an API (MEMORY64) that allows you to use 64-Bit Memory in Applications that you write. With 64GiB of RAM, you could have 31 Programs, each using 2GiB, running at the same time without swapping.

You may also want to run the AHCI Test Program I posted in the "win98se on z97m-d3h mobo (intel 9 series chipset)" Thread on your Z170.

Link to comment
Share on other sites

8 hours ago, rloew said:

The Swap File does not limit the available RAM. The available RAM limits the Swap File.

If you have less than 2GiB of RAM, Windows 98SE will use up to 2GiB for Swap. Further allocations will fail.

If you have more than 2GiB of RAM, Windows 9SE will only use the remainder of 4GiB for Swap. Further allocations will fail.

For example, if you have 3GiB of RAM, Windows 98SE will not use more than 1GiB for the Swap File.

I enlarged the Memory Table in an attempt to increase the commit limit to 6GiB but it started losing Memory allocations and crashed.

I have an API (MEMORY64) that allows you to use 64-Bit Memory in Applications that you write. With 64GiB of RAM, you could have 31 Programs, each using 2GiB, running at the same time without swapping.

You may also want to run the AHCI Test Program I posted in the "win98se on z97m-d3h mobo (intel 9 series chipset)" Thread on your Z170.

I think I follow you now.  So even in a 64GB installed memory system the maximum you can use is 2GB for 98SE no matter what or is it really 4094MB?  Or if you set no Pagefile it will be 4GB (4094MB max as you stated) which should be faster than using any swap file?

However if you do create a 2GB max Pagefile would this be redundant and add more latency when > 2GB memory is accessed.  Is this correct?  So it is better to have no Pagefile or if some programs require it make only a small one like 16MB leaving you with 4078MB for 98SE programs?

So even in your MEMORY64 patch you aren't able to virtualize each process or program it to use its own virtual 2GB memory limit without rewriting the code for each Windows program?  So no way to trick a Windows program into thinking it is in its own protected 2GB environment as a 32-Bit application without altering the program's source code?  Is the Memory64 a DOS or Windows patch?

And if you can't use anything over 4094MB inside 98SE then anything above it to be useful is just a large Ramdrive (64GB-4094MB) 60GB approximately?

Edited by 98SE
Link to comment
Share on other sites

You are not getting the message. The Swap File does not reduce the available RAM for Windows 98SE, assuming you are not foolish enough to put it in a 32-Bit RAMDisk.

 Windows 98SE can use all of the available 32-Bit RAM with or without a Swap File. This is typically 2.5 to 3.6 GiB depending upon Motherboard and add-on cards.
The 4094MB test involved overlaying the I/O space. The system would have crashed if I had starting filling RAM.

The 4GiB commit limit means that the Swap File will never expand to it's 2GiB limit if there is more than 2GiB of main RAM.
I haven't tried forcing the Swap File to be larger, but more likely than not, it just won't be filled.

MEMORY64 is not a Patch. It is a VXD that manages 64-Bit Memory and coordinates with HIMEMEX.SYS to share with RAMDisks or other users.
An API Library is provided to Link into Programs you write.

Windows 98SE does not know how to manage 64-Bit Memory, so it cannot be used by 64-Bit unaware programs. Programs have to manage 64-Bit Memory using my API.

Last year I ran a math program that manipulated a 26GiB Array in RAM.

Link to comment
Share on other sites

4 hours ago, rloew said:

You are not getting the message. The Swap File does not reduce the available RAM for Windows 98SE, assuming you are not foolish enough to put it in a 32-Bit RAMDisk.

 Windows 98SE can use all of the available 32-Bit RAM with or without a Swap File. This is typically 2.5 to 3.6 GiB depending upon Motherboard and add-on cards.
The 4094MB test involved overlaying the I/O space. The system would have crashed if I had starting filling RAM.

The 4GiB commit limit means that the Swap File will never expand to it's 2GiB limit if there is more than 2GiB of main RAM.
I haven't tried forcing the Swap File to be larger, but more likely than not, it just won't be filled.

MEMORY64 is not a Patch. It is a VXD that manages 64-Bit Memory and coordinates with HIMEMEX.SYS to share with RAMDisks or other users.
An API Library is provided to Link into Programs you write.

Windows 98SE does not know how to manage 64-Bit Memory, so it cannot be used by 64-Bit unaware programs. Programs have to manage 64-Bit Memory using my API.

Last year I ran a math program that manipulated a 26GiB Array in RAM.

Maybe I should simply the scenario given all these limits.

98SE installed on a hard drive.

6GB installed RAM

32-bit XMS Ramdisk 2GB (this is the max correct?)

2GB Max Swap File placed on the 2GB XMS Ramdisk

Now at this point you load into Windows 98SE.

What is your maximum available RAM for programs in 98SE now?

Assuming you are using a 1GB (1024MB) Graphics card how does this affect the maximum available RAM?  What is subtracted if any?

Does using either a 1GB Windows 98 SE video card PCIe vs 1GB Windows 98 SE video card AGP make any difference?

At this moment no sound cards are installed to reduce any other variables.

Edited by 98SE
Link to comment
Share on other sites

A XMS RAMDisk is limited to roughly 500MB.
Putting a Swap File on any 32-Bit RAMDisk would be stupid.

You have 6GB so you can use at least a 2GiB 64-Bit RAMDisk for your Swap File without impacting 32-Bit RAM.
Then 98SE can use the full 32-Bit RAM available from the Motherboard. If fixed, the Swap File will only partially be used. If not fixed, it will never grow to 2GiB.

No 1GiB Video Card is compatible with Windows 98SE.
PCI-E vs. AGP doesn't affect Memory usage, but having a PCI-E Bus grabs 256MiB of MMIO space.

The presence of a 1GiB Video card will reserve at least 256MiB of MMIO space.
You will probably have 3.25GiB of 32-Bit RAM and 2.75GiB of 64-Bit RAM.

Link to comment
Share on other sites

4 hours ago, rloew said:

No 1GiB Video Card is compatible with Windows 98SE.

PCI-E vs. AGP doesn't affect Memory usage, but having a PCI-E Bus grabs 256MiB of MMIO space.

The presence of a 1GiB Video card will reserve at least 256MiB of MMIO space.
You will probably have 3.25GiB of 32-Bit RAM and 2.75GiB of 64-Bit RAM.

I assume the 1GB Video card comment is in reference to none exist or are you stating if it did exist it would not function in 98SE even though there is sufficient memory with your memory limitation patch?

Let me know if these values for a theoretical 98SE max is correct under this more standardized configuration.
If we stick to an 8GB system and want to maximize it for 98SE usage.
512MB PCIe Video card MAX
Use only your XMS Ramdrive 64-bit version so it only touches above the 4GB->8GB memory range.
Using your Ram Limitation Patch 98SE should access the first 4GB (4094MB) of memory for running programs.
Then set a FIXED 2GB MAX Swapfile (nothing larger is possible) to the 64-bit XMS Ramdrive assigned to Z: which should use the 4GB-6GB memory region.
Then the final remaining 2GB 6GB-8GB memory region is available on the assigned Z: 64-Bit XMS Ramdrive.

Adding a 512MB Video card will reserve 128MB of MMIO space if I halve what you stated earlier for the 1GB Video card using 256MB of MMIO space.

End result is:
98SE Programs total memory available 6014MB (FIXED PageFileMax=2048MB + 98 Programs 3966MB = 4094MB-128MB[512MB Video Card MMIO])
64-bit XMS Ramdrive space remaining is 2048MB left of 4096MB which can be used for a temp folder or browser cache location.

Edited by 98SE
Link to comment
Share on other sites

There are no Drivers for any 1GiB Video Card for Windows 98SE.

512MB PCI-E Video cards may use 256MB or 512MB of MMIO. To work fully they need to be reflashed to use 512MB of MMIO.
They don't scale as you suggested. Larger Cards use Memory Banking, that is not supported in Windows 98SE, to reduce their MMIO footprint.

Your 8GiB of RAM will be mapped as follows:

0-3GiB  32-Bit RAM
3-4GiB  MMIO
4-9GiB  64-Bit RAM

The first 3GiB will be available to Windows 98SE for running any programs.
The RAMDisk can be up to 5GiB.
The SwapFile can be fixed to 1GiB or variable in which case it will top out at 1GiB.

End results:

4GiB of RAMDisk will be available for other Files.
Total Program Memory available (RAM+Swap = Commit) is the maximum 4GiB.

Link to comment
Share on other sites

5 hours ago, rloew said:

There are no Drivers for any 1GiB Video Card for Windows 98SE.

512MB PCI-E Video cards may use 256MB or 512MB of MMIO. To work fully they need to be reflashed to use 512MB of MMIO.
They don't scale as you suggested. Larger Cards use Memory Banking, that is not supported in Windows 98SE, to reduce their MMIO footprint.

Your 8GiB of RAM will be mapped as follows:

0-3GiB  32-Bit RAM
3-4GiB  MMIO
4-9GiB  64-Bit RAM

The first 3GiB will be available to Windows 98SE for running any programs.
The RAMDisk can be up to 5GiB.
The SwapFile can be fixed to 1GiB or variable in which case it will top out at 1GiB.

End results:

4GiB of RAMDisk will be available for other Files.
Total Program Memory available (RAM+Swap = Commit) is the maximum 4GiB.

I think there was a typo up there 4-8GiB not 9GiB for 64-Bit RAM.

The first 3GiB will be available to Windows 98SE for running any programs.

The 1GiB MMIO is the 1Gib always allocated for MMIO or only when a PCIe graphics card is installed?  Would installing an AGP graphics card would free up an extra 1GiB from the MMIO?
The 64bit XMS RAMDisk should be up to 4GiB not 5GiB.

What MAX MB capacity graphics card does not require reflashing to work properly?  Do 256MB, 128MB, and 64MB PCIe graphics card work properly without any reflashing and how much MMIO RAM is reserved for each of these?

So the total Max Memory available cannot exceed 4GB no matter if no swapfile then 4094MB or a combination of Swapfile 2GB Max will reduce RAM to 2GB as well to equate 4GB.

Is the 3GB-4GB MMIO range locked down completely?  If the graphics card used only 512MB of MMIO is the remaining 512MB unusable by 98SE or is it reallocated for RAM if the swapfile was reduced to 1.5GB so the RAM is 2.5GB?

Edited by 98SE
Link to comment
Share on other sites

9 hours ago, rloew said:

Total Program Memory available (RAM+Swap = Commit) is the maximum 4GiB.

16 hours ago, rloew said:

The 4094MB test involved overlaying the I/O space. The system would have crashed if I had starting filling RAM.

While the absolute maximum RAM accessed by RLoew was 4094 MiB, that was a "for test" or "for Record" setting, which is not stable for everyday use.
The maximum RAM accessible in a stable setup should be something around 3.25 to 3.50 GiB of RAM, depending on Video Card and on the specific board.
Once one determines the maximum RAM visible to Windows on their specific board, then, by subtracting that value from 4 GiB one can know the maximum size a system managed Swapfile will ever use. All this is valid when using the RLoew's RAM Limitation Patch (and the 64-bit non-XMS Ramdisk to use the rest of the RAM and to put the Swapfile in).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...