VOGONS

Common searches


First post, by mbbrutman

User metadata
Rank Member
Rank
Member

mTCP NetDrive is a DOS device driver that allows you to access a remote disk image hosted by another machine as though it was a local device with an assigned drive letter. The remote disk image can be a floppy disk image or a hard drive image.

Use it to:

  • Add temporary extra space to a DOS machine.
  • Mount your library of floppy images directly on your DOS machine.
  • Create a repository of utilities or files that all of your DOS machines can share.
  • Provide a quick and easy backup target for Xcopy or Zip.
  • Add hard drive-like storage to machines that don’t have a hard drive.

Features:

  • A single device driver works with all versions of DOS starting with DOS 2.0.
  • It uses less than 6KB of RAM. (Add another 5 to 10kB depending on your Ethernet card.)
  • DOS 3.31 and up can use remote images up to 2GB in size. (Earlier versions of DOS are limited to 32 MB because they use FAT12 or original FAT16.)
  • The server runs on Windows (10 or 11) or Linux. No special permissions are needed.
  • The protocol uses UDP so you can use it on your private network or across the Internet. (Yep - start your own cloud storage business for DOS PCs!)
  • Network drives are standard raw disk images that can be manipulated using Linux tools.

If you use mTCP today it is as simple as installing the device driver and then running a command line program to attach or detach the remote storage.

Details and downloads can be found at http://www.brutman.com/mTCP/mTCP_NetDrive.html.

Reply 3 of 166, by appiah4

User metadata
Rank l33t++
Rank
l33t++

On the one hand, I don't know how practically sound it is to use a network drive as anything but storage and when you have FTP why not just use that..

On the other hand, it is incredibly cool that this exists 😀

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 5 of 166, by vetz

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-12-11, 08:25:

On the one hand, I don't know how practically sound it is to use a network drive as anything but storage and when you have FTP why not just use that..

It's great if you need to mount/read install files from a remote location and don't want to copy them over first. In my 386 I only have a 330MB harddrive. Any CD based games or application I need to burn to a CD to be able to run/install. With this tool it can be done over the network.

3D Accelerated Games List (Proprietary APIs - No 3DFX/Direct3D)
3D Acceleration Comparison Episodes

Reply 6 of 166, by appiah4

User metadata
Rank l33t++
Rank
l33t++
vetz wrote on 2023-12-11, 09:21:
appiah4 wrote on 2023-12-11, 08:25:

On the one hand, I don't know how practically sound it is to use a network drive as anything but storage and when you have FTP why not just use that..

It's great if you need to mount/read install files from a remote location and don't want to copy them over first. In my 386 I only have a 330MB harddrive. Any CD based games or application I need to burn to a CD to be able to run/install. With this tool it can be done over the network.

Can it, though? How much throughput can you get from a 10/100 ISA NIC, does that make mounting a network CD image viable?

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 7 of 166, by vetz

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-12-11, 09:36:
vetz wrote on 2023-12-11, 09:21:
appiah4 wrote on 2023-12-11, 08:25:

On the one hand, I don't know how practically sound it is to use a network drive as anything but storage and when you have FTP why not just use that..

It's great if you need to mount/read install files from a remote location and don't want to copy them over first. In my 386 I only have a 330MB harddrive. Any CD based games or application I need to burn to a CD to be able to run/install. With this tool it can be done over the network.

Can it, though? How much throughput can you get from a 10/100 ISA NIC, does that make mounting a network CD image viable?

For installation it should work fine.

For playing I would need to test, but I'm getting 300-400 kb/sec through FTP on my 10mbit ISA card, so that should be enough for most the titles requiring 2x CD-ROM speed (300kb/sec).

3D Accelerated Games List (Proprietary APIs - No 3DFX/Direct3D)
3D Acceleration Comparison Episodes

Reply 8 of 166, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

Oh boy, oh boy, oh boy, oh...

This is really cool! Thanks!

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 9 of 166, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hear, hear! Great words! Does it run on DOS Plus 1.2, too? 😁
It has DOS 2.0 level compatibility, as far as I know.

"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 10 of 166, by Yoghoo

User metadata
Rank Member
Rank
Member

Works great after some hiccups.

Only problem is that it takes the CD-ROM drive letter as that's assigned later in the autoexec.bat. Would be nice if it wouldn't need a config device driver at all but that would probably not be possible. 😀 Also would like to see the ip address as well when starting the server executable (like with the ftp tool).

On Windows you can use OSFMount to mount the images and copy/paste files (https://www.osforensics.com/tools/mount-disk-images.html). Seems to be free.

Reply 11 of 166, by vetz

User metadata
Rank l33t
Rank
l33t
Yoghoo wrote on 2023-12-11, 13:35:

Only problem is that it takes the CD-ROM drive letter as that's assigned later in the autoexec.bat. Would be nice if it wouldn't need a config device driver at all but that would probably not be possible. 😀 Also would like to see the ip address as well when starting the server executable (like with the ftp tool).

On Windows you can use OSFMount to mount the images and copy/paste files (https://www.osforensics.com/tools/mount-disk-images.html). Seems to be free.

I checked the documentation, only says:

DOS assigns drive letters based on the ordering of device drivers in CONFIG.SYS so you may need to adjust where you put this line to get a specific DOS drive letter.

I'd normally assign network drives to Z: letter. Maybe manually specifying drive letter could be a feature request for a future version?

Thanks for the tip on OSFMount, I'll check it out!

3D Accelerated Games List (Proprietary APIs - No 3DFX/Direct3D)
3D Acceleration Comparison Episodes

Reply 12 of 166, by mbbrutman

User metadata
Rank Member
Rank
Member

Addressing some of the replies with one reply:

appiah4: Obviously I'm a big fan of FTP. But in the DOS world things like file managers expect to use drive letters. You can use standard DOS commands (copy, xcopy, deltree) or run programs directly on the logical drive which is something you can't do with FTP. For machines like the PCjr there isn't even a local hard drive to copy files too.

My 386-40 with a 10Mb/s NIC gets around 380KB/sec for transfer rates across the network. The local IDE controller gets 5x that, but that's not a fair fight. 380KB/sec is more than fast enough to be usable. My PCjr with a hacked on WD8003 controller gets 88KB/sec, which is directly comparable to XT class MFM controllers. A PS/2 Model 25 got 130KB/sec, which beat the onboard hard drive. (Shame!)

Jo22: I've tested extensively on PC DOS. (MS DOS is covered by that.) I've tested lightly on FreeDOS. The device driver is not sophisticated because it has to be DOS 2.0 compatible, so if you have a DOS variant that claims to use the same device driver model then try it out. The only weirdness might be around the tiny RAM disk that I use to signal that nothing is connected; FreeDOS wasn't happy with it and other versions of DOS might not like it either.

Yoghoo: As pointed out already, just move the device driver around to get the drive letter that you'd like. The server side doesn't print the IP address, but you should be able to connect to it from DOS by name if you have DNS setup.

Osfmount looks to be reasonable ..

Vetz: I'm trying to keep the device driver as small and simple as possible. It also needs to be portable between the versions of DOS. A feature to reserve a drive letter might be possible, but also might require version dependent code. I'll look into it.

Reply 13 of 166, by Yoghoo

User metadata
Rank Member
Rank
Member
mbbrutman wrote on 2023-12-11, 16:50:

Yoghoo: As pointed out already, just move the device driver around to get the drive letter that you'd like.

That doesn't work in (my?) case. The cdrom gets a drive letter in the autoexec.bat. So after the config.sys. I already put it all the way at the bottom of the config.sys but it always uses the first drive after the fixed disks. I like to use a drive letter after the cdrom. So like suggested earlier a parameter for the device driver which drive letter to use would be nice.

Reply 15 of 166, by mkarcher

User metadata
Rank l33t
Rank
l33t

The technology used here does not support assignable drive letters. NETDRIVE.SYS is a standard DOS "block device driver". Each block device driver will provide one ore more partitions to DOS.The driver has no control over the drive letters, DOS just assigns them consecutively. Before interpreting CONFIG.SYS, an internal block device driver registers all DOS-type partitions on hard drives on the letters C:, D:, ..., and the first block device driver loaded will inevitably get the next letter after those partitions. If you need the NETDRIVE at a later letter, try using ASSIGN or SUBST to provide the letter of your choice.

Reply 16 of 166, by mbbrutman

User metadata
Rank Member
Rank
Member

mkarcher - I could not have said it better myself.

I chose a device driver to keep things small and simple, which is the only way a 6KB device driver can work across all versions of DOS and still do some neat tricks. (Buffer space is about half of the driver.)

A TSR can choose to get a specific drive letter by messing with internal DOS data structures, but that is complicated and the code depends on which version of DOS you are using. A later version of this code could be packaged as a TSR, but right now it's a device driver.

Reply 17 of 166, by Yoghoo

User metadata
Rank Member
Rank
Member

Tried it today with devload and sysload to start netdrive.sys from the command line instead of the config.sys.

This works nicely when not using a cd-rom driver. When using a cd-rom driver the netdrive.sys loads correctly but takes the drive from the already assigned cd-rom. And when it tries to mount the image with netdrive.exe it hangs after the packet driver is connecting. So this indeed confirms what mkarcher said above.

Reply 18 of 166, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Yoghoo wrote on 2023-12-12, 10:26:

Tried it today with devload and sysload to start netdrive.sys from the command line instead of the config.sys.

That's interesting. Just tried NetDrive just for fun in DOS Plus 1.2..
netdrive.exe crashed;

dp12_netdrive_exe.gif
Filename
dp12_netdrive_exe.gif
File size
16.08 KiB
Views
3057 views
File license
Public domain

netdrive.sys didn't work, either. I tried to use devload, since I believe DOS Plus doesn't load DOS drivers (since it's CP/M-86 really).
Unfortunately, my copy of devload says it needs DOS 3 to 6. drvload says it needs DOS 3, too.

DEVLOAD.EXE v3.12 (C) 1992 - 1998 David Woodhouse. <Dave@imladris.demon.co.uk> Loads device drivers from the command line. […]
Show full quote

DEVLOAD.EXE v3.12 (C) 1992 - 1998 David Woodhouse. <Dave@imladris.demon.co.uk>
Loads device drivers from the command line.

Error: This program uses version-specific information, and
only supports MS-DOS versions 3 to 6.

DRVLOAD requires DOS 3.0 or later

Of course, that's all too understanding. DOS Plus isn't a real DOS, after all.
But still, I felt like I have to test this. DOS Plus shipped with the Amstrad/Schneider PC1512 and PC1640.
So it used to be a very widespread DOS 2 compatible OS here in Europe.
Even though that MS-DOS 3.20 was also included, along with GEM.

"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 19 of 166, by ivdimkra

User metadata
Rank Newbie
Rank
Newbie

I'm testing netdrive server on linux (ubuntu). Works fine, but can i run netdrive serve like a daemon, without terminal commands input ? I wish to start it from systemd service unit ..

Last edited by ivdimkra on 2023-12-12, 16:01. Edited 1 time in total.