home *** CD-ROM | disk | FTP | other *** search
-
- MSH:(FileSystems) Amiga Programmer's Manual MSH:(FileSystems)
-
-
-
- 1mSYNOPSYS
- 0mMount MSH:
-
- MSH:<any valid file specification>, or just
- <any valid file specification> if your current directory is
- somewhere on MSH:.
-
- 1mUSAGE
- 0mMSH: is a real Amiga-style File System handler that handles
- messydos formatted diskettes. You can use files on such
- messydos disks in almost exactly the same way as you use
- files on normal Amiga disks.
-
- Supported are 40 or 80 tracks, double-sided 8, 9 or 10
- sector floppy disks, and harddisks with a 12 or 16-bit FAT
- of any dimension the FAT allows. (Due to lack of
- availability, I have not been able to test MSH: on hard
- disks; proceed with extreme caution).
-
- 1mMOUNTLIST
- 0mA sample Mountlist entry, that works with the Arp 1.3 Mount
- command:
-
- /*
- * Messy file system on messy blocks:
- */
- MSH: FileSystem = MessyFileSystem
- Device = messydisk.device
- Unit = 1
- Flags = 0
- /*
- * HighCyl is ignored, LowCyl, Surfaces and BlocksPerTrack
- * are used once to find the bootblock. Further parameters
- * are found there.
- */
- LowCyl = 0 ; HighCyl = 79
- Surfaces = 2
- BlocksPerTrack = 9
- Buffers = 5
- /*
- * Use BufMemType = 3 [for MEMF_CHIP | MEMF_PUBLIC] if you
- * use MSH: on the trackdisk.device.
- */
- BufMemType = 1
- BootPri = 0
- Stacksize = 4096
- Priority = 5
- GlobVec = -1
- #
-
- This Mountlist entry instructs MSH: to use floppy unit 1,
- i.e. DF1: and the messydisk.device. You may choose any
- name instead of MSH: that you like. For this case, MS1:
- would also be a sensible choice. You can read the separate
- manual page about messydisk.device. It is supposed to be
- possible to use MSH: on a harddisk by supplying the proper
- device name and unit number. If you wish to use floppies
-
-
- KosmoSoft -1- Version 34.4
-
-
- MSH:(FileSystems) Amiga Programmer's Manual MSH:(FileSystems)
-
-
- truly compatible with those messy machines, you should use
- the messydisk.device. You cannot change this name into
- something else.
-
- The Mountlist entries LowCyl, Surfaces, and BlocksPerTrack
- are used once to determine the location of the messydos
- bootblock. Disk blocks of 512 bytes are assumed in this
- calculation. Further information is then obtained from the
- bootblock (see below).
-
- 1mCOMPATIBILITY
- 0mEven though MSH: uses one of your floppy drives, you may
- still use that drive for normal Amiga disks. You will
- notice that when you insert a disk in the drive used by
- MSH:, both MSH: and the regular Amiga file system handler
- will attempt to identify the disk. The result will be that
- one of the two will be unable to read it, and then leave it
- alone so that the other may use it.
-
- This is what happens when you insert a messydos disk: Both
- file systems will try to read the boot block of the disk.
- The regular Amiga file system gets a read error, and retries
- a few times, while recalibrating the disk read head. This
- is the short noise you may hear from the drive. At about
- the same time, MSH: will seize control over the disk unit,
- read the disk, and see that all is well. It is then
- prepared to actually use the disk.
-
- This is what happens when you insert an Amiga disk: Again,
- both file systems will try to read the boot block of the
- disk. But this time MSH: will desperately try to understand
- the disk, but it will give up when it is convinced that the
- disk is really not meant for it.
-
- It is recommended that you don't attempt to refer to MSH:
- while other filesystems are trying to read the disk.
-
- In some situations where there are multiple errors at the
- same time (such as trying to delete a non-existent file from
- a write-protected disk), the error reported may be different
- than the regular file system.
-
- 1mEXTENSIONS
- ACTION0m_1mDIE
-
- 0mThe packet 3mACTION_DIE 0mis supported, and even has the result
- of stopping MSH: and unloading the file system code. This
- is convenient when you don't need to use MSH: for a while
- and helps you to conserve memory. A program called 3mdie 0mis
- supplied that sends the ACTION_DIE packet to any handler you
- wish. If there is any program running that expects MSH: to
- remain present even while there are no open or locked files
- on MSH:, it may be dangerous to remove MSH:.
-
- 1mACTION0m_1mMORECACHE
-
- 0mMSH: handles the packet 3mACTION_MORECACHE 0m(used by the
- AddBuffers command) and cache buffers more intelligently.
-
-
- KosmoSoft -2- Version 34.4
-
-
- MSH:(FileSystems) Amiga Programmer's Manual MSH:(FileSystems)
-
-
- When you add buffers, the required memory is not allocated
- immediately, but gradually as there becomes a use for it.
- When you remove a disk its buffers are no longer of use and
- therefore are all freed. And, what is more important, you
- can decrease the maximum number of buffers. By specifying a
- negative number you reduce the number of buffers. If your
- AddBuffers does not like negative buffer counts, simply add
- 65536 to the (negative) number you actually intend. So,
- instead of -1 you can also specify 65535, -2 is 65534. You
- wouldn't want to add more than 32767 buffers at once
- anyway.
-
- 1mLIMITATIONS
- 0mDue to the difference between messydos and AmigaDOS file
- systems, not all operations that are available for Amiga
- files can be applied to messydos files.
-
- 1mFile names
-
- 0mThe most eye-catching difference are the file names:
- messydos file names can be at most "8 + 3" characters long.
- This means that the "base" part of the file name may be
- eight characters long, maybe followed by a three-character
- "extension", which is separated from the base name with a
- period ('.'). Also, you cannot use all characters in the
- file names you wish, but the charater choice is basically
- limited to the uppercase letters A-Z, digits 0-9, and most
- "punctuation" characters except space * ? . < > / = | , :
- and \.
-
- MSH: will try to map file names that you or a program
- attempts to use to names that are actually allowed. But for
- utmost flexibility, only the most basic limitations are
- enforced: the length of the name (8+3), uppercase
- alphabetics, and the presence of only one period in the
- name. This means that you might create file names that a
- messydos computer does not correctly know how to handle.
- But care has been taken that in no case it would be possible
- to create a file name that, once created, cannot be handled
- anymore by MSH:. You can always refer to that file with the
- same name you used before, even if MSH: changed it for you.
-
- 1mSpecial directories 0m. 1mand 0m..
-
- On messydos floppies, every subdirectory has two special
- entries called "." and "..". They refer to the directory
- itself and its "parent" directory, respectively. Programs
- that traverse directory trees on messydos systems take care
- to skip these "subdirectories", since they really are not
- "sub" direcories and recursively entering them would lead to
- nothing but trouble. (Their presence prevents the file
- system from have a tree structure.) But with AmigaDOS 1.3
- and before, no such "hard links" exist, and directory
- traversing programs would not hesitate to enter them.
- Therefore, they are 3mcompletely 0mhidden from sight. You
- cannot see them in directory listings nor refer to them by
- any name.
-
-
-
- KosmoSoft -3- Version 34.4
-
-
- MSH:(FileSystems) Amiga Programmer's Manual MSH:(FileSystems)
-
-
- But even while it is hidden, the ".." entry is of course
- still updated to reflect the new parent directory when a
- directory is renamed and moved. Note, by the way, that
- moving directories is an operation that is not supported by
- messydos itself.
-
- Of course, the usual methods of accessing the current
- directory (the empty name "") and the parent directory ("/")
- do work.
-
- It may be that in the future, when softlinks will be
- included in AmigaDOS, these "." and ".." directories will be
- made visible again, but in the disguise of a soft link. In
- that case, programs which don't know how to handle them
- should either not exist anymore or ignore the links
- themselves.
-
- 1mFilenotes
-
- 0mMessydos has no provision for file notes and therefore they
- cannot be supported.
-
- 1mFile protection bits vs0m. 1mfile attributes
-
- 0mCurrently, the following interpretation of messydos file
- attributes is performed. The Directory and Volumelabel
- attributes are honored to make these directory entries
- different from plain files.
- The HIDDEN and SYSTEM attributes are mapped to the H(idden)
- bit. The H bit is mapped to the HIDDEN attribute; the
- SYSTEM attribute cannot be changed.
- The READ-ONLY attribute is mapped to the W(rite) and
- D(elete) bits. Inversely, if a file is set to either Write
- or Delete protected, the READ-ONLY attribute is set.
- The ARCHIVE bit, when clear, sets the A(rchived) bit. On
- messydos the ARCHIVE attribute means (when set) that the
- file MUST be backed up (by a backup program). A write to a
- file sets the ARCHIVE attribute. On AmigaDOS the Archived
- bit means (when set) that the file has been archived
- already. A write to a file clears the Archived protection
- bit.
-
- 1mBoot block format
-
- 0mMSH: relies on the information in the boot block regarding
- the number of bytes per block, blocks per track, tracks per
- cylinder, blocks per cluster, etc. The physical information
- is not actually used to access the disk, except for the
- number of tracks which is derived from other information.
- It is used to decide if a 40 track disk is inserted in a 80
- track drive. Single sided disks are not supported. The
- number of sectors may be whatever the underlying device
- driver supports. (With messydisk.device this is 8, 9 or 10;
- with trackdisk.device it is 11). Only the logical layout
- information is used: Size of a block, number of reserved
- blocks, number of FATs, number of blocks per FAT, number of
- root directory entries, number of blocks per cluster. The
- total number of blocks is used to determine the usable part
-
-
- KosmoSoft -4- Version 34.4
-
-
- MSH:(FileSystems) Amiga Programmer's Manual MSH:(FileSystems)
-
-
- of the disk. But if the FAT says "use a block beyond the
- limit", this error is not detected.
-
- If you format a disk on a messydos computer and wish to use
- it with MSH:, be sure to use a messydos version new enough
- to write this information in the boot block. (Version 3.2
- works nicely for me.) If you wish to format such a disk on
- your Amiga, you can use PCF720 by Werner Günther with
- pcFormat on the Extras disk, or use the supplied messyfmt
- program.
-
- 1mFAT
-
- 0mThe FAT is currently not checked for integrity and
- consistency. The FAT is assumed to have 12-bit entries if
- the disk has at most 4086 ($FF6) clusters. If the disk has
- more clusters than that, 16 bit FAT entries are assumed.
- This is the method that seems to be used by messy dos 3.0.
-
- 1mWorkbench
-
- 0mThe Workbench wants to use filenames that are impossible on
- messydos floppies. (.info extension) It is therefore not
- very effective to try to use Workbench on MSH:.
-
- 1mVolume label
-
- 0mNormal AmigaDOS floppies have a part of the disk reserved
- for their name. With messydos floppies a name is optional,
- and should be in the directory in an entry with the special
- flag (attribute) Volumelabel. MSH: looks in the first
- directory block only to locate such a volume label. If
- found, it decides the name of the disk; if not found, the
- name will become "Unnamed" and the creation date will become
- 1-Jan-80. Note that AmigaDOS (and MSH:) keep disks apart by
- their name and creation date. As a result, all unlabeled
- disks will look the same and cannot be distinguished. It is
- therefore strongly recommended that you provide every disk
- with a unique volume label; the standard AmigaDOS command
- Relabel can be used for this. If you label a disk that had
- no label (in the first directory sector) before, MSH: will
- try to move a file from the first directory block to
- somewhere else in the root directory. If this is not
- possible, for instance because the root directory is full,
- then the labeling will fail as well.
-
- 1mMultiple file systems
-
- 0mThe MessyFileSystem is unfortunately not ``pure''. This
- means that if you wish to mount multiple messy file systems,
- you must make a copy of MessyFileSystem for each of these,
- and mount each one from one of the separate copies. Running
- two file systems from the same disk file will cause great
- troubles. (Oh well, maybe AmigaDOS is not so smart to see
- that two file systems share the same FileSystem name in the
- Mountlist, so maybe you don't need to have multiple copies
- of MessyFileSystem on your disk. Try at your own risk.)
-
-
-
- KosmoSoft -5- Version 34.4
-
-
- MSH:(FileSystems) Amiga Programmer's Manual MSH:(FileSystems)
-
-
- 1mUTILITIES
- 0mA program called 3mmessyfmt 0mallows you to format disks in
- messydos format.
-
- Usage: Messyfmt <unitnr> <device>
-
- The <device> name is optional and defaults to
- "messydisk.device". The program asks for all parameters to
- put in the bootblock, like
-
- Bytes per sector? [512]
-
- If you just hit return you accept the default value,
- otherwise you can enter a new value in the usual notation:
- 0x = hexadecimal, 0 = octal, and everything else is
- decimal. A few suffixes are allowed as multiplication
- factor: m = mega (1048576), k = kilo (1024), s = sectors
- (512) and b = byte (1). (Not all terms make sense with all
- questions.) You may create 8, 9 or 10 sector disks by
- answering the question "Sectors per track" appropriately.
- You are also asked if you wish to format the whole disk or
- only the first part with the bootblock, FAT and directory.
- Finally, to see if you are still awake, you must enter 42 if
- you are sure to do it.
- After formatting has completed, you must remove the disk
- from the drive, in order to let all involved filesystems
- know that the disk just died and reincarnated.
-
- 3mDiskCopy 0mcan be used to copy messydos disks, provided you
- have one or more file systems mounted. Note, however, that
- DiskCopy looks at the disk size information as it is present
- in the Mountlist. Therefore DiskCopy will not copy the
- entire disk if it is 10-sector while the Mountlist claims it
- is 9-sector. In the opposite situation, it will try to copy
- too much which will result in read errors, which may cause
- the last track not to be copied. You can construct special
- Mountlist entries for 8 or 10 sector disks if you plan to
- DiskCopy them; there is no need to really mount these.
-
- 1mTRADEMARKS
- 0mAmiga, AmigaDOS, Workbench are trademarks of
- Commodore-Amiga, Inc. Messydos is presumably a trademark of
- MessySoft, Inc.
-
- 1mAUTHOR
- 0mThe messy file system handler is written by 3mSourcerer 0mOlaf
- 3mRhialto 0mSeibert.
-
-
-
-
-
-
-
-
-
-
-
-
-
- KosmoSoft -6- Version 34.4
-
-