3 ms·
I always wondered how it is possible that MSCDEX is not an actual driver but mere TSR and now I know: CDs look like network shares to DOS. I suspect that there
by dfox 2y ago
I always wondered how it is possible that MSCDEX is not an actual driver but mere TSR and now I know: CDs look like network shares to DOS. I suspect that there is some reasoning behind this “design” (different filename conventions on ISO-9660?), but it stills seems like one giant kludge.
- trollbridge 2y agoStarting with DOS 3.0, the way to do installable file systems was identical to adding a network drive. (DOS 4.0 had explicit IFSes; nobody used them to my knowledge and it chewed up RAM, and the code was removed in 5.0.) A “network redirector” basically hooks every possible file I/O operation; DOS simply dispatches to it for any operations on that drive letter.
- bonzini 2y agoDOS only supports two kinds of device drivers: character devices and block devices. It does not have any kind of support for custom file system device drivers, as block device drivers will only use FAT. So in order to support ISO9660, sectors that aren't 512 bytes, device sizes larger than 32MB (65536 * 512), the device driver (for example ATAPI.SYS) is actually a dummy character device and MSCDEX talks to it to expose the filesystem as a network drive.
- userbinator 2y agoAlternatively, the abstraction of a network drive just happens to be the right one for local filesystem drivers too. There's some more interesting details on the redirector API development here: http://www.os2museum.com/wp/redirectors-and-dos-3-0/ http://www.os2museum.com/wp/redirectors-and-dos-3-0/
- lproven 2y ago> It does not have any kind of support for custom file system device drivers This was true of MS-DOS 1.x and 2.x but not subsequently. The IFS layer was added in MS-DOS 3.1: http://www.bitsavers.org/pdf/microsoft/_MSDOS_releases.txt http://www.bitsavers.org/pdf/microsoft/_MSDOS_releases.txt Although Wikipedia claims MS-DOS 4: https://en.wikipedia.org/wiki/Installable_File_System https://en.wikipedia.org/wiki/Installable_File_System
- trollbridge 2y agoDOS 3.0 had the first “network redirector” support, which was also very buggy. It was rewritten for 3.1 (in an incompatible way) and that has been the standard since. 4.0 tried having a generic IFS which never caught on. Network clients preferred the old interface, and 4.0 was unpopular as it chewed up RAM compared to 3.30. 5.0 reverted to doing network redirectors exactly like 3.30 did.