Short: New Technology Filesystem (NTFS) driver Author: Marek Szyprowski Uploader: Marek Szyprowski Type: disk/misc Version: v0.9 Replaces: disk/misc/ntfs_* Architecture: ppc-morphos; m68k-amigaos Status: freeware, please read http://szef.niente.eu.org/~march/progs/donate.html This is early version of the New Technology Filesystem (NTFS) driver for MorphOS and AmigaOS3.x. *** What's new in v0.9 *** - added missing ACTION_CHANGE_MODE packet support - fixed broken MorphOS build (gcc bug) - fixed broken Seek() call *** What's new in v0.7 *** - added support for files larger 2GB (DOS64 calls, MorphOS 2.0 required) - added support for filesystem prefs tool *** What's new in v0.6 *** - added MBR automatic first primary partition search if LowCyl is set to 0 - added proper resident structure so "version DRIVE:" now works with NTFS disks *** What's new in v0.5 *** - fixed ugly crash durning startup on some systems *** What's new in v0.4 *** - updated to latest Ext2FS filesystem skeleton - this adds support for removable media, handler inhibit and shutdown. - added unicode to local charset translation (read more below) - some minor bugfixes *** What's new in 0.2 *** - added support for fragmented Master File Table (this is quite common in NTFS used on WindowsXP) - hopefuly fixed all problems with large files - added some error/notify requesters - non-ascii unicode characters are translated to their hex string instead of '?' char *** Features *** * allows to read normal files and list directories * support different blocksizes and automatically adapts to correct blocksize * unique volume names for unnamed filesystems * unicode to local charset translation * configurable cache size * supports removable media * automatic MBR scan for first primary partition if LowCyl is set to 0 * thanks to great libDeviceIO from Marcin 'Morgoth' Kurek there is: - effective and fast read cache system - support for partitions beyond 4Gb boundary (using TD64) *** Limitations *** * read-only support (this probably won't change in future) * lacks compression and sparse files support at all * only linear directory search (object lookup in really large directory will take some time) *** Warning *** There is no guarantee that this filesystem will work with your disk. It may crash without any reason. 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. *** Unicode to local charset translation *** By default this driver asumes that ISO8859-1 is your local charset. You can change this by adding special "Control" parameter to the mountlist. Just add a simmilar line to your mountlist: Control = "MAP=L:Mappings/ISO8859-2.map" The #?.map files for all ISO8859 mappings are included. If you need another one, try to generate it by yourself with "GenerateMap" tool from NTFS archive - it translates a simple TXT file with mapping definition to a MAP file. On ftp://ftp.unicode.org/Public/MAPPINGS/ you can find some exemplary files with ISO8859 mappings definitions. *** 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 *** Copy NTFileSystem to SYS:L, then create a mountlist for your partition and mount it with shell 'mount' command. The easiest way to create a mountlist for NTFS partition or disk is to use GiggleDisk tool created by Guido Mersmann. It is available on http://www.geit.de/ Once you generate mountlist please make sure that the following fields have correct values: GlobVec = -1 DosType = 0x4e544653 StackSize = 16384 FileSystem = L:NTFileSystem Activate = 1 Also set the 'Buffers' and 'Control' fields to requested values. More information is available in the 'Cache size' and 'Unicode to local charset translation' paragraphs. If you want to have NTFS partition mounted every boot, copy your mountlist to SYS:Devs/DOSDrivers *** 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-2009 Marek 'March' Szyprowski NTFileSystem is a free software. If you want to support its development please read http://szef.niente.eu.org/~march/progs/donate.html NTFileSystem uses libDeviceIO by Marcin Kurek (Morgoth/Dreamolers-CAPS). Big thanks to him for it.