2

I've decided to add support for some more classic Z80 computers I used to use to my Ghidra modules, and the first Z80 systems I used were the TRS-80 model I and model III.

I've found documentation for the three main disk image formats, JV1, JV3, and DMK (though all tend to receive the same .DSK file extension). Anyway JV1 is a straight dump of the disk's tracks and sectors where sectors are always 256 bytes and there's always 10 sectors per track.

I've read that the directory is on track 17 and on some of my JV1 disk images I can locate it.

But I can't for the life of me find documentation on how this directory track is structured so that I can parse it.

I know there was a proliferation of first party and third party DOSes for these TRS-80s but I'm assuming at least the disk layout is the same.

In a hex editor I can see 16-byte directory entries starting 2 sectors into the track.

I can see five useful-looking bytes, then 8 chars filename plus 3 chars extension, then 8 more useful-looking bytes, then 8 bytes that look unused filled with FF.

That's all I can make out. Does somebody know where this is documented or know from experience? Or does it actually vary per DOS flavour after all?

3

The best resource is a book called TRS80 Disk and other mysteries.

I found a copy online at: https://ia801709.us.archive.org/28/items/TRS-80_Disk_and_Other_Mysteries_1980_Harvard_C._Pennington/TRS-80_Disk_and_Other_Mysteries_1980_Harvard_C._Pennington_text.pdf

My real copy is old and under a bunch of dust, but it does have the complete disk mapping including directory structure in it. Be prepared - it was very strange by today's standards. It started around pg 36 in my hard copy version.

Happy hunting!

| improve this answer | |
  • I got sidetracked into CoCo stuff after reading docs on various of the DOSes. All the disk image files I have seem to use 32-byte directory entries but one doc stated one DOS used 48-byte entries. I can't verify their existence, even for NEWDOS/80, which seems to have been the most divergent DOS. – hippietrail Jun 7 at 3:33
  • 1
    Actually, I just re-read the chapter (p.43 in the book above). All directory entries are 32 bytes with the possibility of a 32 byte extension (although it would generally not be contiguous. From what I remember Newdos/80 used the same format (although the location of the directory could change - especially for hard disks). – Joe Lepore Jun 8 at 4:40
  • 1
    Thanks. I'll try to find the reference to 48-byte entries again and post it here. For now I'm not going to implement hard disks, just identify the many flavours of disk image that use the .dsk extension with no internal signature. – hippietrail Jun 8 at 5:05
  • I found the article saying entries are 48 bytes on at least some disk layouts: Guided Tour Through The Model III TRSDOS Directory: "3. Sectors #2 through #17 (Named directory entries) – There is room for five, three line (48 byte) directory entries on each of these sixteen sectors. This gives a total capacity of 80 named files." – hippietrail Jun 9 at 7:29
  • Also: "Radio Shack created another version of TRSDOS for the Model III, which ended up as TRSDOS 1.3. This could run some (but not all) Model I software, and used a different disk format. The Model I operating systems NEWDOS, DOSPLUS, LDOS, and MULTIDOS were rewritten for the Model III. None of them used the Model III TRSDOS disk format, but they did support many of the TRSDOS 1.3 software calls (at the expense of some Model I compatibility). This led to the need for separate Model I and III versions of many programs." – hippietrail Jun 9 at 8:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.