Reply 21 of 43, by Robbbert
On a fast machine, yes leaving out smartdrive won't seem to make a difference speed-wise. But each time a file needs to be used it will have to be read from the hard drive. Smartdrive reduces drive wear by reading the file from memory instead.
I remember a version of smart drive being supplied with Windows 3.1, but I just used the one from DOS instead as it was a newer version. (I normally used DOS 6.20)
Reply 22 of 43, by wierd_w
It will make a difference on old drives with clunky controllers. MFM/RLL/ESDI and pals, along with very early iterations of IDE that cant go above PIO mode 0.
It can greatly speed up file copy operations, due to caching of the FAT.
Otherwise, it's not needed on modern systems. IFSHLP.SYS however, may be needed if ISA DMA does not work properly. In this case, double buffering of the disk controllers is required. Windows normally detects this, and sets this up automagically if you need it.
Reply 23 of 43, by jakethompson1
- Rank
- Oldbie
I believe IFSHLP.SYS relates to WfW 3.11 32-bit file access and isn't related to DMA. I believe you're thinking of smartdrv /double_buffer which later became dblbuff.sys
Reply 24 of 43, by Robbbert
There's lots of search finds that state IFSHLP.SYS is needed for 32-bit file access and network APIs. You can try leaving it out, but you'll find out soon enough if it's needed.
Reply 25 of 43, by Joseph_Joestar
- Rank
- l33t++
I remember experiencing stutter in the DOS version of Red Alert without SmartDrive loaded. And that was when using a CF to IDE adapter with a known good CF card.
Also, I think the readme files of some later DOS games (from 1995 and up) recommend that SmartDrive should be loaded.
Reply 26 of 43, by Jo22
- Rank
- l33t++
PC-Cache was already available in 1988 in PC-Tools Deluxe R4.30..
To put that into perspective, that's when IBM PC-DOS 3.30 was new and in common use, still.
"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 27 of 43, by zyzzle
I just use a RAMDRIVE, copying and decompressing the single-file archive (ZIP or RAR) of the program or game (often with hundreds of small files) to the ramdrive for that session.
Reply 28 of 43, by Jo22
- Rank
- l33t++
zyzzle wrote on 2024-10-22, 01:12:I just use a RAMDRIVE, copying and decompressing the single-file archive (ZIP or RAR) of the program or game (often with hundreds of small files) to the ramdrive for that session.
My father used to use RAMDRIVE, too way back in the 80s.
It was included with DOS 3, after all, so it made sense to use it - IBM called it VDISK.SYS, though.
He used it when compiling programs, because the compiling was faster here than on a mechanical hard disk. Err, "fixed-disk" I mean! 😉
I think he used Clipper '87, Mix Power C and Turbo Pascal v3 and v4 at the time. And QuickBASIC 3, too, I think.
"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 29 of 43, by auron
experimented with that also a while back when playing heretic on a pentium 60 with 32 mb. if i recall correctly, on that system there would be little stutters upon first encountering assets, even with smartdrive. the game folder easily fit into the ramdrive and i remember it really improved things, even if there might have been a tiny speed hit from having to run emm386. it's nice to force games to actually use the extra ram if you have it.
didn't like having to copy over the save file after each session, though. that really goes against usual habits and makes it easy to lose progress. and maybe it's possible to make a batch file to only run the ramdrive on demand with loadsys, but i don't see a way to automate the save copying. but maybe there is a 3rd party ramdrive that can be set to always update a certain file on the hard drive.
Reply 30 of 43, by Jo22
- Rank
- l33t++
auron wrote on 2024-10-22, 05:47:experimented with that also a while back when playing heretic on a pentium 60 with 32 mb. if i recall correctly, on that system there would be little stutters upon first encountering assets, even with smartdrive. the game folder easily fit into the ramdrive and i remember it really improved things, even if there might have been a tiny speed hit from having to run emm386. it's nice to force games to actually use the extra ram if you have it.
Makes sense, SmartDrive usually doesn't read ahead a lot.
Except for CD-ROM drives, maybe.
What I wonder is how an IDE caching controller would perfom here.
Maybe in combination with Smart Drive, even, in a two layer or two stage configuration (SmartDrive->Caching Controller vs HDD/CF/SD).
While throughput of an IDE cache controller isn't that great these days anymore,
the bintage RAM itself could still have better response time (latency) than a CF card or SD card.
I mean sure a caching controller shoveling data over a slow computer bus is still a bottle neck compared to a true blue RAM cache (Smartdrive) running in system memory,
but the caching algorithm running on a dedicated microcontroller might be more intelligent than SmartDrive.
I mean, when DoubleDisk and SmartDrive were written, there still had been PC/XT users out there.
The competition still sold hardware-based compression/decompression cards for ISA bus, to assist programs like Stacker (Stacker Coprocessor Card).
Edit: A RAID controller could also increase smoothness, maybe.
Depending on the RAID configuration, the simultanous access to multiple files (sectors, clusters rather) might be more instant with multiple drives than with just a single drive.
I know that most people think that SSDs are a miracle in terms of performance, but the appearances are deceiving.
They sometimes can be worse than old HDDs, too.
For example, if they're lacking a DRAM cache or if a read-modify-write is necessary due to bad alignment.
I remember this from the XP era when 16GB SSDs were around.
auron wrote on 2024-10-22, 05:47:didn't like having to copy over the save file after each session, though. that really goes against usual habits and makes it easy to lose progress. and maybe it's possible to make a batch file to only run the ramdrive on demand with loadsys, but i don't see a way to automate the save copying. but maybe there is a 3rd party ramdrive that can be set to always update a certain file on the hard drive.
That's understandable, I wouldn't want to do that either each time. 🙁
"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 31 of 43, by Skorbin
Maybe you could start the game with a batch file, which - after closing the game - does the file copy of the savegame?
Reply 32 of 43, by jmarsh
auron wrote on 2024-10-22, 05:47:experimented with that also a while back when playing heretic on a pentium 60 with 32 mb. if i recall correctly, on that system there would be little stutters upon first encountering assets, even with smartdrive.
This is odd because most "decent" games back then were aware of smartdrive and would read all their level assets from disk during loading, even if they didn't constantly keep them in memory (so they would be in the smartdrv cache).
Reply 33 of 43, by auron
my sense is it can differ per game, quake for instance doesn't seem to need smartdrive at all and instead just allocates whatever RAM there is, with at least 16 mb i can't recall a single loading related stutter in that. duke3d needs it on FAT32 partitions as mentioned in this topic despite the help file ironically recommending against it. in doom games i can sometimes notice that blue floppy icon when running through a level, though i'm not sure if that is necessarily a hard disk read or can be a smartdrive read as well. the doom faq (dmfaq66d.txt) had this to say about it:
[17-1]: How can I use SMARTDRV.EXE with DOOM?
=============================================
Some people have been complaining about problems with DOOM and
SMARTDRV.EXE. DOOM is not completely compatible with SMARTDRV.EXE, but
here is how you can get it to work. Try putting the following command in
your CONFIG.SYS (This will not work in the AUTOEXEC.BAT):
DEVICE=C:\DOS\SMARTDRV.EXE DOUBLE_BUFFER
The double buffering uses memory differently than the normal
SMARTDRV.EXE commands. This command will take up 2k of conventional RAM and
cannot be loaded into high memory. This has been tested on two machines that
did not work with SMARTDRV.EXE, and this corrected the problem.
maybe that redesign with smartdrive 4.0 fixed those problems and doesn't need double buffering, at least i'm not aware of the issue otherwise. at any rate, doom's source code should have the answer on how it handles caching/asset loading. and yeah, i guess it's possible to put the ramdrive save copying into a batchfile as well, just didn't look into that at the time.
Reply 34 of 43, by the3dfxdude
egbertjan wrote on 2024-10-16, 16:44:leileilol wrote on 2024-10-16, 14:34:If you're planning to play a Build engine game in pure DOS on FAT32 partitions, then it's a must.
I use DOS 6.22 with Fat 16.
I just want to mention, that in the DOS 6.22 days, I really never saw a need for Smartdrv. Speeding up copying in single tasking wasn't all that important, which is what I saw it for. On the other hand, the games people are mentioning where it may help, were released well into the Win95 era. I rarely exited Win95 to go back to DOS playing games of that era, but that's just again what-ever you were running I guess. You have benefit of being in the Win95 environment of the better drivers and caching enabled there for these late, large games.
So my answer, is that it really does not have to be loaded all the time, if ever. And if you were playing these few games, you may have had Win95 and never really noticed the benefit.
IF you use DOS 6.22 (or pure DOS 7?), listen to what others say about loading high. Again, Win95, might be a little easier to work with. Or it might not, depending the game 😉
Reply 35 of 43, by auron
to play those late DOS games under win95 you just needed enough RAM. i once tested shadow warrior with 16mb, no issues under DOS, but under win95 it needs at least 32 mb or it's a stutterfest. and that's just on a pure gaming config without anything running in the background, imagine some bloated OEM windows install from the time. of course you can argue by 1997 32mb started to be kind of warranted anyway though.
the other thing is, there is a little performance hit when running under DOS games under windows, maybe 1-2%. and interestingly, the help files for quite a number of games explicitly excluded support for running under windows 95, again duke3d for example.
Reply 36 of 43, by Nemo1985
So question, I have 2gb on memory which in dos is useless (if not harmful), on the other hand I'm using a ssd, is it really necessary the smartdrv?
Also why use smartdrv when it can be used XHDD - Hard Disk drive caching driver which is newer and probably better?
With such amount of ram I dedicated 400mb of caching, how can I check if I get any performance benefit in copying and loading, is there any bench?
A bit off-topic: how can it be a good use of 2gb of ram on msdos wherer at most 64mb are being used from applications?
Reply 37 of 43, by Riikcakirds
Nemo1985 wrote on 2024-10-28, 23:18:So question, I have 2gb on memory which in dos is useless (if not harmful), on the other hand I'm using a ssd, is it really nece […]
So question, I have 2gb on memory which in dos is useless (if not harmful), on the other hand I'm using a ssd, is it really necessary the smartdrv?
Also why use smartdrv when it can be used XHDD - Hard Disk drive caching driver which is newer and probably better?
With such amount of ram I dedicated 400mb of caching, how can I check if I get any performance benefit in copying and loading, is there any bench?
A bit off-topic: how can it be a good use of 2gb of ram on msdos wherer at most 64mb are being used from applications?
With an SSD and XHDD (and a chipset that supports UDMA) smartdrive would be pointless. Without XHDD even the fastest SSD would still be stuck in PIO mode in dos (4-7MB/s) and would benefit from smartdrv.
If you have an AMI bios there is a setting called "PCI IDE BUSMASTER". This actually enables IDE DMA in Dos without XHDD or any driver needed. I use on my Pentium 100 - 430FX board with an IDE-SATA adapter and 120GB SSD. It limited to MWDMA2, about 16MB/s but with instant access time it's more or less the same speed as a 16MB/s ramdrive.
Reply 38 of 43, by Nemo1985
Riikcakirds wrote on 2024-10-28, 23:34:Nemo1985 wrote on 2024-10-28, 23:18:So question, I have 2gb on memory which in dos is useless (if not harmful), on the other hand I'm using a ssd, is it really nece […]
So question, I have 2gb on memory which in dos is useless (if not harmful), on the other hand I'm using a ssd, is it really necessary the smartdrv?
Also why use smartdrv when it can be used XHDD - Hard Disk drive caching driver which is newer and probably better?
With such amount of ram I dedicated 400mb of caching, how can I check if I get any performance benefit in copying and loading, is there any bench?
A bit off-topic: how can it be a good use of 2gb of ram on msdos wherer at most 64mb are being used from applications?With an SSD and XHDD (and a chipset that supports UDMA) smartdrive would be pointless. Without XHDD even the fastest SSD would still be stuck in PIO mode in dos (4-7MB/s) and would benefit from smartdrv.
If you have an AMI bios there is a setting called "PCI IDE BUSMASTER". This actually enables IDE DMA in Dos without XHDD or any driver needed. I use on my Pentium 100 - 430FX board with an IDE-SATA adapter and 120GB SSD. It limited to MWDMA2, about 16MB/s but with instant access time it's more or less the same speed as a 16MB/s ramdrive.
Thank you for the clarification, obviously the acces time measured is 0.0 ms (with pc config benchmark). I will do some tests with hdd enabled and disabled, I also tried to use a ramdrive (1gb) but when I tried to load stuff from it (like duke nukem3d) I didn't notice any speed improvement compared to the ssd, I think it's weird, I would have expected no load time from a ram drive.
XHDD.SYS with following switches: /S400 /H /O /P
Pc config benchmark hard drive:
Linear read in KB/S: 23000
Max throughput in KB/S: 407600
Various access time: 0.0 ms
XHDD.SYS with following switches: /S4 /H /O /P
Pc config benchmark hard drive:
Linear read in KB/S: 23000
Max throughput in KB/S: 392300
Various access time: 0.0 ms
XHDD.SYS with following switches: /S4 /H /P
Pc config benchmark hard drive:
Linear read in KB/S: 23000
Max throughput in KB/S: 396600
Various access time: 0.0 ms
XHDD.SYS with following switches: /S4 /H /O
Pc config benchmark hard drive:
Linear read in KB/S: 23000
Max throughput in KB/S: 370500
Various access time: 0.0 ms
XHDD.SYS with following switches: /S4 /H
Pc config benchmark hard drive:
Linear read in KB/S: 23000
Max throughput in KB/S: 403100
Various access time: 0.0 ms
Dos without any boot file loaded (shift+f5):
Pc config benchmark hard drive:
Linear read in KB/S: 23000
Max throughput in KB/S: 60500
Various access time: 0.0 ms
I'm not sure how much is reliable this benchmark so if anyone else has something else to suggest, I will do further tests.
Reply 39 of 43, by Jo22
- Rank
- l33t++
Just saw an ebay auction for HP MS-DOS 3.3, an OEM release for HP Vectra.
On the backside of the box it did read "HP Vectra Disk Cache".
"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//