MSFN Forum: VCACHE fix attempt - MSFN Forum

Jump to content


  • 5 Pages +
  • 1
  • 2
  • 3
  • 4
  • 5
  • You cannot start a new topic
  • You cannot reply to this topic

VCACHE fix attempt Rate Topic: -----

#41 User is offline   niknak 

  • Newbie
  • Group: Members
  • Posts: 28
  • Joined: 29-April 07

Posted 23 January 2008 - 11:17 AM

Having just installed this patch to try to solve another problem, my system which has 2GB RAM and having remarked out all vcache entries in the system.ini file rebooted just fine (except for the original problem :( ) and system said it saw 1022MB RAM which is just dandy :yes:


#42 User is offline   soporific 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 705
  • Joined: 12-June 05

Posted 23 January 2008 - 11:34 AM

View PostMDGx, on Nov 1 2007, 09:08 AM, said:

Xeno86:
Could you please post the English build of VCACHE.VXD 4.10.2223?
Thanks.

yes, please do so ASAP, i would like the new version in AP.

This post has been edited by soporific: 23 January 2008 - 11:34 AM


#43 User is offline   RetroOS 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 531
  • Joined: 26-June 07
  • OS:98SE
  • Country: Country Flag

Posted 26 January 2008 - 02:58 AM

I had 1GB of RAM using the following settings:

BIOS:
AGP Aperture Size=256MB

SYSTEM.INI:
ConservativeSwapfileUsage=1
MaxPhysPage=40000 (1024MB)
MaxFileCache=393216 (384MB)
Chunksize=2048
MinFileCache=131072 (128MB)

SYSTEM.INI for performance (an advantage of lots of RAM):
DMABufferSize=64
PagingDrive=D: (your fastest drive, or not Windows drive if same speed, or C:)
MinPagingFileSize=1048576 (1024MB - size in KB - MS recommend between RAM and RAM x1.5 - I suggest 1GB for 1GB or more of RAM)
MinSPs=16
KeyBoostTime=0.1
MinTimeSlice=80
RemovableIDE=1
PageBuffers=32

I have now added 512MB to a total of 1.5GB and tried to boot with the same settings...
Windows got as far as initialising the display driver and stopped with random vertical orange bars on the screen...
Windows still let me do a double Ctrl-Alt-Delete reboot to flush the disk cache etc.
So, I changed the following settings based on experience in this and other threads:

SYSTEM.INI:
MaxPhysPage=48000 (1152MB)
MaxFileCache=114688 (112MB)
Chunksize=1024
(MinFileCache undefined)

Windows now got as far as the desktop, but the display driver failed to initialise and so I got Standard VGA...
I then made the following change and everything works now (been working for 24 hours with some reboots for new updates).

BIOS:
AGP Aperture Size=128MB

I have not used the VCACHE patch yet, but then on it's own, Windows would fail with more than 1GB of RAM anyway...

Does anyone know how to get an address allocation map of the Windows system arena?
This way we could find out exactly what is using address space...
Here is a good MS doc that explains the 9x addressing architecture: http://support.micro...com/kb/q125691/

The design limit of Windows 95 is 2GB according to http://support.micro...com/kb/q181594/
However, Windows 98 and Me are 1GB according to http://support.microsoft.com/kb/304943
The key phrase being "Windows Me and Windows 98 are not designed to handle more than 1 GB of RAM. More than 1 GB can lead to potential system instability."
Go figure! Why would M$ make their newer OSs support less RAM???
Conspiracy theorists would say that M$ were manuvouring users towards 'End-Of-Life' for 9x...

But anyway, what exactly is causing this?
Answer: Windows Virtual Memory Manager (VMM.VXD) - as pointed out by Tihiy in an earlier post.
It loads first after WIN.COM and is the only place where physical RAM is exposed before being virtualised and re-mapped.
Everything else does not care, or know, about all that physical RAM since it's virtualised!

The load order is:
-HIMEM.SYS
-IFSHLP.SYS
-WIN.COM
-VMM.VXD
-SMARTDRV.EXE
-VXD modules and so on.

How to find or determine the flaws in VMM.VXD? - THE Question.

Further reading:
http://www.aumha.org...4/a/memmgmt.php
http://www.aumha.org.../a/resource.htm
http://onlinehelp.bc.ca/tips.htm
Writing Windows VxDs and Device Drivers By Karen Hazzah: http://books.google.com/books?id=F868yPHsA...tsec=frontcover
(Missing Chapter 4 in Preview but otherwise some good reading!)

Over 1GB of Usable Windows RAM - The Windows 9x Great Frontier!

#44 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,986
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 26 January 2008 - 03:44 AM

View PostRetroOS, on Jan 26 2008, 05:58 AM, said:

I had 1GB of RAM using the following settings:
[...]
I have now added 512MB to a total of 1.5GB and tried to boot with the same settings...
Windows got as far as initialising the display driver and stopped with random vertical orange bars on the screen...
Windows still let me do a double Ctrl-Alt-Delete reboot to flush the disk cache etc.
So, I changed the following settings based on experience in this and other threads:
[...]


Hi, RetroOS! :hello:
Welcome to the more than 1GB RAM world... :yes: I'm glad to see our previous discussions were of help.
But do read carefully Igor Leyko's article, kindly translated from the Russian for us by GreyPhound. I believe it answers some of your questions. If you can afford the time, do read that thread entirely, it is worthwhile. I believe you'll be able to set a XMSDSK ramdisk of just under 200 MB on your remaining RAM, but you won't be able to use all of it, because if you do you won't be able to launch even a single DOS box... If you don't have time for the whole thread, be sure not to miss at least this landmark post by diskless. Cheers!

#45 User is offline   erpdude8 

  • MSFN Master
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,139
  • Joined: 24-November 04

Posted 01 February 2008 - 08:45 PM

View PostRetroOS, on Jan 26 2008, 02:58 AM, said:

The design limit of Windows 95 is 2GB according to http://support.micro...com/kb/q181594/


BUT that's the theoretical value that Win95 can use, RetroOS. In actuality (aka. in real life) the RAM limitation in Win95 can be much less than 2Gb due to motherboard/hardware limitations. So what MS is saying in MS article 181594 is just in theory. A blind assumption. In other words, believe it at your own risk.

The info in MS articles 304943 and 181594 are almost inaccurate. The info posted in MS article 304943 also apply to Win95 as it also has problems with 1.5 Gb+ of physical memory installed, even though MS article 304943 does not mention Win95.

This post has been edited by erpdude8: 01 February 2008 - 08:49 PM


#46 User is offline   RetroOS 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 531
  • Joined: 26-June 07
  • OS:98SE
  • Country: Country Flag

Posted 02 February 2008 - 01:15 AM

View Posterpdude8, on Feb 2 2008, 03:45 PM, said:

...So what MS is saying in MS article 181594 is just in theory. A blind assumption...

Yep! In 1995 when Windows 95 was released, no one would have thought of ever having 2GB of RAM!
I find it quite ironic that Microsoft have not updated or removed those 'accurate' docs!

Windows 98SE with 1.5GB of RAM has been working well with the settings I mentioned.
I've been looking through the VMM.VXD module lately... It's one hundred thousand lines of code!!!
I'm trying to work through the DOS entry point so I can determine how it's setting up the memory management when it goes into protected mode...
Oh well... I'll keep chipping away at it as I get time... (that elusive thing :P )
That's just the beginning though...
Then, with more than 1GB of RAM, there is all the modules memory management and allocation bugs that were never fixed by Microsoft... (what bugs? 9-what? What are you talking about you silly little man!)

#47 User is offline   erpdude8 

  • MSFN Master
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,139
  • Joined: 24-November 04

Posted 02 February 2008 - 09:05 AM

View PostRetroOS, on Feb 2 2008, 01:15 AM, said:

View Posterpdude8, on Feb 2 2008, 03:45 PM, said:

...So what MS is saying in MS article 181594 is just in theory. A blind assumption...

Yep! In 1995 when Windows 95 was released, no one would have thought of ever having 2GB of RAM!
I find it quite ironic that Microsoft have not updated or removed those 'accurate' docs!



MS article 181594 was first published more than a decade ago, perhaps a year or two before Win98 ever came out. The info is most likely outdated and may no longer be accurate.

At least MS article 184447 mentions similar things found in MS KB article 304943 but article 184447 does mention Win95 and Win98 FE:
http://support.micro...b/184447/EN-US/

Other "large RAM" problems were also described in MS article 253912 and this one mentions ALL Win9x OSes:
http://support.micro...b/253912/EN-US/

But it's nice that there is a "patch" for Win98 SE that can make it use 1Gb of RAM or more. It's not a "cure-all" but a major step in the right direction in solving most of the large RAM problems.

Quote

Conspiracy theorists would say that M$ were manuvouring users towards 'End-Of-Life' for 9x..


I definitely HATE conspiracy theories! They're a complete waste of time & energy and a bunch of "cheap talk", IMHO.
I'm mostly concerned with solutions to the large RAM problems whether be a patch or memory tweaks to make Win9xME OSes run with 1Gb+ RAM installed.

#48 User is offline   Xeno86 

  • KernelEx Creator
  • PipPip
  • Group: Members
  • Posts: 250
  • Joined: 26-March 06
  • OS:98SE
  • Country: Country Flag

Posted 11 February 2008 - 07:33 AM

Quote

Could you please post the English build of VCACHE.VXD 4.10.2223?
Thanks.

Just uploaded updated archive with English build.

#49 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 17 February 2008 - 08:19 AM

i have read some articles about it... althoutght they were not to professional as the rest of discussion:

there was reccomended this setting:
Maxfilecache=32768
Minfilecache=32768

just because of MS recomendation for 32mb of memory for caching. Max as topmost limit before memory shall be consumed by it, minimum to keep the amount of allocated memory at constant value - no shrinking or expanding possible. That is good idea while amount of allocated memory shall cannot "attack" some parts of already used memory.

My tests here show that 64mb is topmost limit for any application which have trouble with lots of ram. i shall test 32mb once again and see if it affects performance.

#50 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 18 February 2008 - 03:41 PM

so i have analyzed once again the whole thing and here are some things i have learned:

definition of vcache:
The disk cache software in Windows 95/98. It is a 32-bit program that dynamically allocates available free memory and replaces the 16-bit Smartdrive cache in DOS/Windows 3.1. Vcache can automatically adjust the size of the cache depending on the current environment and amount of free disk space.


althought it dont shows for what the vcache is, i found similar text according to smartdrv:
A {Microsoft} {MS DOS} {disk cache} program to speed up disk access. For most users, a 1MB cache is sufficient.  Devoting more memory to the cache offers diminishing returns, since the additional cache hits become fewer (and the extra memory could be better used to reduce {swapping}). Typing SMARTDRV /S at a DOS prompt shows the cache size, a hit-and-miss report, and information about which drives are being cached.  The hit-and-miss statistics are crucial for gauging the effectiveness of SmartDrive settings.  A score in the high 80s shows that SmartDrive is well configured.  Run SMARTDRV /S several times during a Windows session and note the-hit-and-miss figures each time.  If your percentage usually falls below 80 percent, you should consider increasing the cache size.  You can edit the SMARTDRV line in your {AUTOEXEC.BAT} file to increase both the InitCacheSize and the WinCacheSize parameters. SmartDrive Monitor is an undocumented Windows program that comes with DOS 6.0 for logging and controling the cache. (1995-11-22)



blah blah blah and so on...

Vcache seems to be "Virtual Cache" of harddisk/other media. any cache memory is used to speed up the transactions between hardware. if the cache is not present we get only pure hw effectivity which is incredibely low, but there are some things that changed since 1995.

Disks are faster and it is quite normal that they use physical cache memory module. i have seen 2mb hardware cache on 5400 and 7200 rpm drives, and my cheetah with 15000 rpm has 16mb of cache...

the question is if absence of virtual cache can affect disk performance in negative way when there are hardware solutions for this problem, or if i am wrong Vcache has little bit different function as cache memory installed physically on disk.

if the vcache works as i think that is not necessary to use so large amounts of memory for it, but just adequate amount which reflects hardware - disks and similar media - in addition of optimizing disk acesses.

and the third possibility is that if i have good harddisk with large cache memory, total absence of Vcache (all set to 0) shall not affect disk operations, but may improve operations in RAM.

in next day i shall do some test using HDtach software to measure if the disk/memory accesses have been affected by amount of vcache.

edit:

there is slightly small difference between Maxfilecache 16 or 32 megabytes, and between 64 megabytes. all these settings work well. i think that this amount has to be set to smaller number if less harddisks is installed on system and to larger if more of them are installed, but 64megabytes seems to fit for most systems. Larger number may affect opening of command line and some critical apps...

also chunksize is good to be optimized for smallest hw cache on your harddisk. for example if i have 2mb cache on disk the optimal value is 1536 (three quarters).

if i have two disks, each with 8mb disk cache the optimum is 6144, with at least 16 mb of Min/max filecache.

This post has been edited by Offler: 18 February 2008 - 04:53 PM


#51 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,986
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 18 February 2008 - 05:58 PM

View PostXeno86, on Oct 2 2007, 04:57 PM, said:

View PostTihiy, on Oct 2 2007, 08:18 PM, said:

Well, change 2 bytes twice is not much a patch. :sneaky:

Well first of all, not 2 bytes twice but 20 bytes. If I changed 2 bytes I would completely limit maximum cache size setting, while this fix leaves you the freedom and flexibility to set it to whatever value you want (max 800M). It only affects default (automatic) value.

Secondly, what kind of fix did you expect for this particular issue? I'm open for ideas and discussion.
If you can do better - prove it :rolleyes:

It's certainly better than the "workaround" advised by Microsoft

Quote

Reduce the amount of memory that is installed in your computer to 512 MB or less.
:whistle:

... and it can be easily slipstreamed into Windows installation CD.

Hi, Xeno86! :hello:

I now have had time to analyze your patch, and I have to strongly disagree with Tihiy:
You patch is concise, elegant and to the point. And far better than the classic "two bytes twice" aproach, because it alters only the default value, while allowing for "MaxFileCache" values both above an below the default, provided they are not above 800 MB. My compliments!

Keep on the great work! You rock! :thumbup

#52 User is offline   nicke85 

  • Chetnik
  • PipPip
  • Group: Members
  • Posts: 110
  • Joined: 13-May 06

Posted 19 February 2008 - 03:55 PM

What that patch mean Xeno86?
Can I use 2x2GB (4GB) of ram in dual mode on 98SE?

#53 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,986
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 20 February 2008 - 12:31 AM

View Postnicke85, on Feb 19 2008, 06:55 PM, said:

What that patch mean Xeno86?
Can I use 2x2GB (4GB) of ram in dual mode on 98SE?

4GB is a no-no for Win 9x/ME.

#54 User is offline   mykonos 

  • Group: Members
  • Posts: 3
  • Joined: 19-February 08

Posted 21 February 2008 - 08:06 AM

And...somebody could tell me how to install win98 on a 2gb pc??because im trying that and when im installing, computer need reboot and give me the error of "Not enough memory" :S

#55 User is offline   alexanrs 

  • Member
  • PipPip
  • Group: Members
  • Posts: 149
  • Joined: 30-August 05

Posted 21 February 2008 - 04:35 PM

View Postmykonos, on Feb 21 2008, 11:06 AM, said:

And...somebody could tell me how to install win98 on a 2gb pc??because im trying that and when im installing, computer need reboot and give me the error of "Not enough memory" :S


Edit SYSTEM.INI to limit your memory to something like 512Mb (MaxPhysPage=20000 under [386Enh]), install all updates, patches (including this :rolleyes: ) and then try removing that line. You'll probably need to keep playing with SYSTEM.INI for your system to work properly again.

#56 User is offline   rloew 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 941
  • Joined: 30-May 05
  • OS:98SE
  • Country: Country Flag

Posted 27 March 2008 - 04:26 PM

Quote

4GB is a no-no for Win 9x/ME


With the proper Patches, Windows 98/SE/ME can run as close to 4GB as your Motherboard will map to the 32-Bit Address Space.
Most Motherboards will only map 3GB to the 32-Bit Address Space pushing any additional memory above the 4GB boundary.
I found an ECS Motherboard that allowed me to tweak this limit, allowing me to run Windows 98/SE/ME with 3647MB of RAM.

#57 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,986
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 27 March 2008 - 04:58 PM

Hi, rloew!

Quote

4GB is a no-no for Win 9x/ME

Well, I guess I was unusually terse when I wrote that, thanks for elaborating on the topic.
And since you began, let me add that, because it is a hardware problem, it is OS independent, so that not only Win 9x/ME, but also Win NT/2k/XP/2003/Vista, in their 32-bit versions are usually limited to 3.5 GB (for more on that follow this link and the links in it).
I think that also GrayPhound's outstanding translation of Igor Leyko's article (link) is an enlightening further reading, for those who want to undersand better the Windows virtual address space layout.

View Postrloew, on Mar 27 2008, 07:26 PM, said:

I found an ECS Motherboard that allowed me to tweak this limit, allowing me to run Windows 98/SE/ME with 3647MB of RAM.

Could you please tell some more specifics about that ECS mobo? Is it intended for intel or AMD? What's the chipset and maximum allowable RAM for it? Sorry, I'm aware this is somewhat off-topic, but I just couldn't resist asking...

This post has been edited by dencorso: 27 March 2008 - 04:59 PM


#58 User is offline   rloew 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 941
  • Joined: 30-May 05
  • OS:98SE
  • Country: Country Flag

Posted 27 March 2008 - 11:48 PM

Quote

Could you please tell some more specifics about that ECS mobo? Is it intended for intel or AMD? What's the chipset and maximum allowable RAM for it? Sorry, I'm aware this is somewhat off-topic, but I just couldn't resist asking...


The ECS GEFORCE 6100SM-M Motherboard is a nVidia MCP61S Based system for the AMD CPU.

The manual say it can support up to 16GB of RAM using two slots. I have 2x2GB of RAM installed totalling 4GB.

The BIOS has a setting that determines the limit of 32-Bit RAM. Additional RAM is shifted above 4GB into the 64-Bit Address Space.
The setting is a 8-Bit HEX value that sets the limit in 16MB increments.
The default is C0 which provides 3GB of 32-Bit RAM.
With the on-board video disabled, I was able to set the value to E4. This provides 3648MB.
1MB and 64K are reserved by the BIOS leaving just under 3647MB.
I was able to run my modified Windows 9X using this setting.

#59 User is offline   tonich 

  • Newbie
  • Group: Members
  • Posts: 33
  • Joined: 21-September 06

Posted 31 March 2008 - 11:05 AM

Hi there!

Is there any difference between 1x1GB and 2x512 mb RAM under Win98?
Can I get any benefits of dual channel (2x512 mb), or shell I go for the cheaper solution - 1x1GB?
Any difference in fixing the error with one or two sticks of RAM? :unsure:

#60 User is offline   Offler 

  • Advanced Member
  • PipPipPip
  • Group: Members
  • Posts: 497
  • Joined: 29-October 06

Posted 31 March 2008 - 01:36 PM

I hope that my message will help you, but i fear that you will not like it...

I have been testing various settings of system, Vcache and some hw changes.

In ALL cases the only stable setting when system was not affected by "not enought memory" was:
Maxfilecache=32768
Minfilecache=32768

i have three testing tools - Tv tuner, command prompt, and Ultima Online

with any hw and bios setting and with Maxfilecache=65536 i was able to work for several hours. Yesterday i worked with photoshop, watching tv, videos, listening music, opening and closing Ultima online. i was able to run system this way for 8 hours. then i attempled to open Ultima Online but system refuse to do so, because of lack of memory.

please - try this setting, work for many hours and say if you encounter any trouble, or try your own, with command prompt, tv tuners and uo and watch if and when the problem may occur.

Right now i believe that this is the last well working setting for win9x. with it NO errors with memory occured.

Share this topic:


  • 5 Pages +
  • 1
  • 2
  • 3
  • 4
  • 5
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy