Short: New Technology Filesystem (NTFS) driver for AmigaOS3.x v0.1 alpha Author: Marek Szyprowski Uploader: Marek Szyprowski Type: disk/misc This is early version of the New Technology Filesystem (NTFS) driver for AmigaOS3.x. *** Features *** * allows to read normal files and list directories * support different blocksizes and automatically adapts to correct blocksize * unique volume names for unnamed filesystems * configurable cache size * thanks to great libDeviceIO from Marcin 'Morgoth' Kurek there is: - effective and fast read cache system - support for partitions larger than 4Gb and beyond 4Gb boundary (using TD64) *** Limitations *** * read-only support (this probably won't change in future) * lacks compression and sparse files support at all * lacks support for fragmented Master File Table * there might be problems with some 'strange' files * no unicode to local charset translation yet * only linear directory search (object lookup in really large directory will take some time) * it is simple handler not a filesystem (you cannot put it in RDB for automount on startup) * no removable media (i.e. floppies) support *** Warning *** There is no guarantee that this filesystem will work with your disk. It may crash without any reasons. It may also read complete garbage instead of your files. This filesystem is a COMPLETE HACK - there is no official and up-to-date documentation about NTFS on-disk structures. This driver has been created using the NTFS Documentation available on The Linux-NTFS Project (http://linux-ntfs.sourceforge.net/ntfs/index.html) and information gathered with disk editor. All of the SOURCE CODE is written from scratch. I did not use any GPL covered code in this driver. *** Cache size and disk buffers *** You can adjust number of memory buffers used by this filesystem. Just set 'Buffers' field in mountlist to the requested number of buffers. The only difference between this and other filesystems that the size of SIGNLE buffer is 16KB, NOT the size of filesystem block. So setting 64 buffers will use about 1MB of memory! Reasonable value for NTFileSystem is about 128 (2MB), 256 (4MB) or even 512 (8 MB) for volumes with large directories. *** How to install *** Get 'mountdos' tool from Aminet. Run it with GENERATE option for your disk with NTFS partition. Save the mountlist. Open the mountlist in your favourite editor. Remove the first line (partition name) and the last line ('#' character). Change 'Filesystem' to 'L:NTFileSystem'. Change 'DosType' field to '0x4e544653'. Change 'Buffers' field to requested value (more info in 'Cache size' paragraph). Change 'Stack' field to '16384' (just in case). Save mountlist. Copy NTFileSystem to SYS:L and mount NTFS partition with shell 'mount' command. You should see an extra icon on your Workbench screen. *** Additional informations *** If you want to have NTFS partition mounted every boot, copy your mountlist to SYS:Devs/DOSDrivers If you want to set blocksize manually use SectorsPerBlock field in mountlist, not the SectorSize field (it cointains physical blocksize of the disc and almost always should be left untouched). The default SectorSize is 512 (in case when this field is missing in mountlist). Set SectorsPerBlock to Blocksize/SectorSize. For example to set blocksize to 4096, set SectorsPerBlock to 8 (4096/512 = 8). *** Author, contact and copyright infos *** NTFS Documentation (a part of The Linux-NTFS Project) is available on: http://linux-ntfs.sourceforge.net/ntfs/index.html NTFileSystem has been written by Marek 'March' Szyprowski . Mail me if you have any suggestions or found a bug. Copyright (C) 2005 Marek 'March' Szyprowski NTFileSystem uses libDeviceIO by Marcin Kurek (Morgoth/Dreamolers-CAPS). Big thanks to him for it.