Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.tandy    |    Life is dandy cuz you're gettin a Tandy!    |    5,684 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 5,086 of 5,684    |
|    Grinder to All    |
|    TRSDOS 1.3 Directory Entries    |
|    16 Jun 09 21:02:31    |
      From: grinder@no.spam.maam.com              Ok, I've done a little reverse engineering, with the benefit of David       Keil's Model III emulator.              I started with a TRSDOS 1.3 disk image, which I formatted from TRSDOS       1.3. It has 40 tracks of 18 sectors. Sectors are numbered from 1-18;       and tracks, 0-39. Track 17 is the directory track. This is apparently       a SSDD disk.              The first sector of the directory track probably contains a GAT, but I       haven't picked it entirely apart. I can see that the disk name and       creation date is in there, and probably a password hash or two. The       second sector of the directory is probably a HIT, but I've only glanced       at it.              The directory entries follow. They are 48 bytes in length and arrayed       as this stuct shows:               TTrs80_TRSDOS13_DirectoryEntry = packed record        Modified : array[0..2] of Byte; // DMY        EOF : Byte;        LRL : Byte;        FileName : array[0..7] of Char;        FileExt : array[0..2] of Char;        Password1 : Word;        Password2 : Word;        ERN : Word;        Extent : array[0..12] of Word;        end;              There apparently is no primary and extended directory entry scheme.       This means you file size is limited by the number of extents, and of       course, ultimately a file size.              A contiguous file on this disk could take up to 403 granules (13 x 31),       which at 3 sectors per granule (6 gpt) works out to about 302K. It       would probably be less than that because of boundary conditions around       the directory track, but still obviously exceed the capacity of a 180K       SSDD disk.              Or, if you have a horribly fragmented file, you may only be able to get       39 granules, or about 29K. I was able to do this by formatting the       disk, then generating a bunch of 256 byte files, which would each take a       granule on the disk. I deleted every other file, then started cranking       bytes into a large file.              I may have broken something, though, as when I now try to delete the       rest of those small files, I sometimes get an Error 24 - File Not Found,       after it has killed it. Weird.              Next up, TRSDOS 2.3.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca