Eric,
Best references are:
TRSDOS 2.3 Decoded & Other Mysteries (1982) by James Lee Farvour
- Refers to "TRSDOS 2.3 Copyright 1979 Tandy Corporation"
- "The author is especially grateful to the Tandy Corporation for allowing the
source code for TRSDOS to be reproduced in this book."
- Chapter 2, section 2.5 starting on page 23 briefly describes how the HIT works and its
layout. Also provides the hash algorithm source code
- Chapter 5 describes SYS2/SYS. This is the meat of it. Describes the HIT usage in
*immense* detail
- Appendix II, pages 265-270, also has the full commented source code for SYS2/SYS
NEWDOS+ Manual (March 15, 1979) by Apparat
- (NEWDOS+ began as patches to TRSDOS 2.1, and thus required TRSDOS 2.1 as well)
- Pages 5-6 describe the HIT and directory sectors
- Page 9 mentions HIT errors with DIRCHECK/CMD
These have a reasonable amount of detail:
TRS-80 Hacker's Handbook for NEWDOS/80 (1983) by Kevin O'Hare
- Chapter 5, pages 66-68 describe the HIT and directory sectors in detail
NEWDOS/80 2.0 Manual (August 1981) by Apparat
- States NEWDOS/80 2.0 was released August 1981
- States NEWDOS/80 1.0 was released June 1980
- States NEWDOS/21 was released March 1979
- Chapter 5, section 5.6 (pages 5-4 to 5-12) describe the HIT and directory sectors in
detail
- Chapter 12 describes the directory format differences from TRSDOS 2.3 and previous
NEWDOS versions
NEWDOS/80 2.5 Manual (unknown) by Apparat
- States NEWDOS/80 1.0 was released June 1980
- States NEWDOS/21 was released March 1979
- Chapter 5, section 5.6 (pages 5-4 to 5-12) describe the HIT and directory sectors in
detail
- Chapter 12 describes the directory format differences from TRSDOS 2.3 and previous
NEWDOS versions
Microsoft BASIC Decoded & Other Mysteries (1981) by James Farvour
- (Despite the book name, this also describes TRSDOS which has nothing to do with MS)
- Chapter 3, pages 39-41 describe the disk format and HIT
These make light references to it:
Machine Language Disk I/O & Other Mysteries (1982) by Michael J. Wagner
- Page 112 refers to TRSDOS error codes "HIT READ ERROR" and "HIT WRITE
ERROR"
Pathways Through the ROM (1980) by multiple authors
- Chapter 13 by John Hartford, Pages 85-86 describe SYS2/SYS and the HIT for TRSDOS and
NEWDOS (not NEWDOS/80)
Inside Super Utility Plus Series 3.0 (1982) by Paul Wiener
- Multiple brief references to the HIT sectors
Super Utility Plus Manual (1982) by Kim Watt
- Describes HIT sector repair feature
The NEWDOS/80 information is useful because it retained some compatibility. From what I
can tell, NEWDOS+ was NEWDOS/21. Guessing the 21 referred to TRSDOS 2.1 base.
I can send you any of these if you need them.
Hope this helps,
Scott.
On 17/09/2012, at 1:57 PM, Eric Smith wrote:
Microsoft introduced a new "exFAT" file system a few years ago, and I
wouldn't care about it in the least, except that it is now the official filesystem for
SD-XC cards. I only care about that in that digital cameras and such will likely only
support exFAT on SD-XC cards, and I'd like my computer, not running Windows, to be
able to efficiently access files on such cards. The problem is that Microsoft filed
several patent applications covering exFAT. One of them is application US 2009/0164440
A1, for which the US patent office has recently mailed a "Notice of Allowance",
which means that they have decided to issue the patent.
This application is titled "Quick filename lookup using name hash". Based on
the title, it sounded like they are doing what TRS-DOS 2.0 did back in 1978, which is
putting on the disk a hash table of filenames which then refer to directory entries.
TRS-DOS did that so that it usually only needed to read two sectors to look up a file, the
HIT (Hash Index Table) sector, and the actual directory sector containing the file's
directory entry. Otherwise they might have had to read multiple directory sectors to find
the file if it existed, and all of the directory sectors if it did not.
The claims of the patent are a little difficult to interpret. They refer to "a
first one or more computer readable storage media having computer executable
instructions...". This is basically referring to the disk/flash/etc. the operating
system is booted from. They refer to "a second one or more..." which is the
disk/flash/etc. which holds the file system in question.
Here's are two of the independent claims:
1. A first one or more computer readable storage media having computer executable
instructions that, when executed on at least one processor, configure the at least one
processor to perform a method of detecting if a target file name exists on a second one or
more computer readable storage media, the method comprising:
(A) determining a name hash from the target name;
(B) determining if the name hash corresponds to a directory entry
set name hash value, the directory entry set name hash value
corresponding to one of a plurality of directory entry sets, each of
the plurality of directory entry sets stored on the second one or
more computer readable storage media;
(C) determining if the target name matches a directory entry set
name corresponding to the one of the plurality of directory entry
sets after step (B) determines the name hash corresponds to the
directory entry set name hash value; and
(D) indicating that the target name exists after step (C) determines
the target name matches the directory entry set name.
19. A method of detecting if a target file name exists, the method executing on one or
more processors, the method comprising:
(A) determining a file name hash from the target file name;
(B) determining if the file name hash corresponds to a directory
entry hash value, the directory entry hash value corresponding to
one of a plurality of directory entries;
(C) determining if the target file name matches a file name, the
file name corresponding to the one of the plurality of directory
entries after step (B) determines the file name hash corresponds to
the directory entry hash value; and
(D) indicating that the target file name exists after step (C)
determines the target file name matches the file name corresponding
to the one of the plurality of directory entries.
These seem to be to be to be *exactly* what TRS-DOS 2.0 did as early as 1978, so it seems
possible that TRS-DOS could be used as prior art to invalidate at least these independent
claims, and quite possibly some of the dependent claims as well.
So my question is, are there any published works documenting the TRS-DOS file system
on-disk format, especially the use of the HIT table, other than "TRS-80 Disk and
Other Mysteries" by H. C. Pennington?