VOGONS


First post, by zerker

User metadata
Rank Member
Rank
Member

Hello folks. I've recently set up a retro PC booting from a compact flash to IDE adaptor. All is good, except I'd like to find some solution where I'm not worried about Windows wearing down the write cycles with virtual memory.

Disabling it entirely is no good, as this causes weird behaviour in some games. E.g. Quake 2 engine games don't render 3D graphics with my ATI Rage Pro unless Virtual Memory is available.

I've heard some suggestions about putting the Virtual Memory on a Ramdisk, but I can't seem to find the thread or instructions where I saw that. Certainly nothing specific. I got Windows to see either a Microsoft ramdisk (ramdisk.sys) or one with xmsdsk), but in both cases Windows recognised the disk WAS a ramdisk and refused to allow me to locate the Virtual Memory there.

Any workarounds for the above problem I'm not aware of/unable to find? I could always use a mechanical drive JUST for virtual memory, but that feels like cheating. Plus I'd need to get an IDE extension cable with my case layout 😐.

Or are people just not worrying about this?

Any advice is appreciated.

Edit: Then again, the ramdisk approach may be a moot point. I've found that as soon as I install the network drivers on this machine, I get a "VFAT Device Intiialization Failed" bluescreen on boot whenever a ram drive is present. Googling this particular issue hasn't resulted in anything, so I will probably just go with the simplest CF + Hard Drive approach as soon as I can track down the cable(s) needed.

For reference, I'm running Windows 98 (First Edition) with a TP-LINK TG-3269 (Realtek RTL8169SC chipset) Gigabit PCI Network card.

Reply 1 of 20, by alexanrs

User metadata
Rank l33t
Rank
l33t

You can try adding

 ConservativeSwapfileUsage = 1 

to the [386Enh] section.

This will prevent Windows from paging things to the disk if preemptively, so it should at least reduce how fast it wears down your CF. Another thing you can do is to ensure the swapfile is as small as you can get away with.

Reply 4 of 20, by nforce4max

User metadata
Rank l33t
Rank
l33t

I have been experimenting with SSDs and CF cards when it comes to this and the wear imposed by having a active swap file isn't that great provided you maintain plenty of free space. There are some SLC based CF cards but they are not the fastest or latest models however they will last.

On a far away planet reading your posts in the year 10,191.

Reply 5 of 20, by zerker

User metadata
Rank Member
Rank
Member
alexanrs wrote:
You can try adding […]
Show full quote

You can try adding

 ConservativeSwapfileUsage = 1 

to the [386Enh] section.

This will prevent Windows from paging things to the disk if preemptively, so it should at least reduce how fast it wears down your CF. Another thing you can do is to ensure the swapfile is as small as you can get away with.

Done, thanks. That should probably be good enough. If I eventually wear down the drive, I can try something else then 😀.

PS: For anyone else who finds this in the future, the above should be added to SYSTEM.INI in the Windows folder.

Reply 6 of 20, by alexanrs

User metadata
Rank l33t
Rank
l33t

Oops, it seems I forgot the most basic detail xD
Anyway, good luck for your CF card. About the swapfile on RAM thing... it is probably done by changing the swapfile location manually in CONFIG.SYS instead of relying on the GUI to change the options. I don't recall the settings (as I have never used them), but SYSTEM.INI references and tweaks are easy to find.

Reply 7 of 20, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
Stiletto wrote:
gdjacobs wrote:

You unleashed ninja on me.

what?

Alexanrs posted pretty much the same thing i was in the middle of. Maybe not quite ninja, as I got distracted for a few minutes. Perhaps we should say he Shogi'd me.

All hail the Great Capacitor Brand Finder

Reply 8 of 20, by shamino

User metadata
Rank l33t
Rank
l33t

On WinXP I use something called "ArSoft AR RAMDisk". I don't remember if I ever actually tried allocating a swap file to it though. The machine I did that with isn't used for games, and I've never tried it with Win98.
I don't remember what I needed the RAM disk for, but I know something that did a lot of unnecessary writes was redirected there.

I would leave a significant amount of space unpartitioned so that some range of logical addresses are never written to. This allows wear leveling to work better and should keep performance from degrading as much. Because of the way data gets shuffled around, having ~30% unused space results in exponentially less wear than if it's full.

The big problem with CF and USB drives is that they don't have any concept of TRIM, so once an address has been written once, they have no idea if it ever got erased. It can later be "erased" under Windows and appear as empty space within Windows, but the drive thinks it still holds relevant data. There isn't even a Secure Erase command so there's no apparent way to ever 'clear' space from a hardware point of view.
Leaving some range of logical addresses unpartitioned (assuming they haven't already been written to before) can effectively limit how "full" the drive will ever think it is.

Reply 9 of 20, by zerker

User metadata
Rank Member
Rank
Member

I just did a search, and the ArSoft AR RAMDisk is only for Windows NT series OSes.

As for wear leveling, I'm certainly not planning to fill up the drive, though I did not actually 'reserve' space in my partition table to support this. Overall, I'm not too concerned about normal write performance, as I'm mostly going to be reading game data off the card to play something, and then save the config and save games back later. I was mostly wanting to minimize OS-level writes in the background.

And yes, I'm familiar with the lack of TRIM, but per above, I'm perfectly fine waiting for the slightly slower write operation because the flash sector needs to be erased first. It's not like Windows 98 has TRIM support for drives that could use it anyways. Sure, I could take a modern 64 GB SSD with a SATA to IDE adaptor, and get generally better performance, but it wouldn't have TRIM either. It also wouldn't let me swap my boot drive out easily for another OS on a whim 😀 .

Reply 10 of 20, by TELVM

User metadata
Rank Oldbie
Rank
Oldbie

When I was tinkering with ramdisks on Windows 98 I used the Cenatek Ramdisk 9xMe, it worked fine in general but can't remenber if it allowed putting the pagefile on ramdisk or not (I believe it did).

Let the air flow!

Reply 11 of 20, by alexanrs

User metadata
Rank l33t
Rank
l33t

I'd think that you need a DOS RAMDisk (not a W9x one) for it to work. With a Windows 9x one I'm not sure the RAMDisk drive would be active by the time the Virtual Memory is initialized.

Reply 12 of 20, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
gdjacobs wrote:
Stiletto wrote:
gdjacobs wrote:

You unleashed ninja on me.

what?

Alexanrs posted pretty much the same thing i was in the middle of. Maybe not quite ninja, as I got distracted for a few minutes. Perhaps we should say he Shogi'd me.

Ah. I woulda said "he ninja'd your post". Okay.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 13 of 20, by 386_junkie

User metadata
Rank Oldbie
Rank
Oldbie

I'm having probs getting my adapter & card to be recognized as a drive... could I ask what adapter you are using and what IDE controller you are using it with? Also, how large is the card you are using?

Thanks

Compaq Systempro; EISA Dual 386 ¦ Compaq Junkiepro; EISA Dual 386 ¦ ALR Powerpro; EISA Dual 386

EISA Graphic Cards ¦ EISA Graphic Card Benchmarks

Reply 15 of 20, by kaputnik

User metadata
Rank Oldbie
Rank
Oldbie
386_junkie wrote:

I'm having probs getting my adapter & card to be recognized as a drive... could I ask what adapter you are using and what IDE controller you are using it with? Also, how large is the card you are using?

Thanks

Using a Kingston CF/16GB-U2 (clicky, the 16GB variant) together with a cheap adapter from Aliexpress in my Socket 7 machine (i430HX). It seems to work perfectly, but then again, I built the rig quite recently, so haven't really tested it all that extensively yet.

Last edited by kaputnik on 2016-02-13, 20:59. Edited 1 time in total.

Reply 16 of 20, by zerker

User metadata
Rank Member
Rank
Member

I bought this adaptor on eBay (also from China), primarly so I would have access to the card, without taking up a front 3.5" slot.
http://www.ebay.com/itm/291008485015

Compact flash cards I used were SanDisk Extreme 8 GB (with UDMA) for Windows 98 and Transcend Ultra 1 GB Industrial that I'm saving for an eventual pure DOS/Win 3.11 setup. Both cards pictured below:
CF1.JPGCF2.JPG

The machine I'm using is based on an old eMachine eTower 500ix a friend at work had, though I transplanted it into a nicer case. Windows identifies my IDE controller as Intel 82371AB/EB PCI Bus Master IDE Controller.

Both cards boot fine, though I had a bit of an issue replacing the MBR on the second card (it already had GRUB preloaded when I received it). I would try wiping the partition table entirely, repartitioning it and formatting it. Then either try the hidden FDISK /MBR option, or start a Windows or DOS install, either of which should update the MBR.

Reply 17 of 20, by Malvineous

User metadata
Rank Oldbie
Rank
Oldbie

@zerker: Where did you find these adapters that *did* take up a front bay? I'd rather have a front one (to use instead of a floppy) but the only ones I can find are the massively overpriced StarTech units, or USB ones that won't work with my DOS machines.

Reply 18 of 20, by zerker

User metadata
Rank Member
Rank
Member

I think it was just the StarTech one. Here it is at newegg.ca:
http://www.newegg.ca/Product/Product.aspx?Ite … 0-158-_-Product

35 CDN doesn't meet my threshold for "massively overpriced" but they could be cheaper, I agree. Strangely enough, I didn't see a listing for it on the US site, but I did find this Addonics version for 30 USD:
http://www.newegg.com/Product/Product.aspx?It … 4-009-_-Product

(Or direct from manufacturer)
http://www.addonics.com/products/aeudmacf.php

Reply 19 of 20, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

How about this as a thought, get a second CF to IDE adapter and install a microdrive on it. Set this as your swapfile and you can keep your CF card safe from the incessant writes.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog