View Single Post
Old 30 December 2012, 15:03  
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,232
Reverse-engineering FFS 45.13; bugs, DOS\8 long filenames ...

A few years ago I had a go at disassembling FastFileSystem 45.13, the final version released by Amiga Inc. in OS 3.9 Boing Bag 2.

There is a patch to (unofficial) 45.16 on Aminet; http://aminet.net/package/util/misc/FFS4516p. I don't know whether I found any bugs not fixed by that, but if anyone's interested, I have attached some notes I made.

One interesting feature I found is code for DosType DOS\8, which seems to be intended to support longer filenames; up to 54 characters vs 30 for normal FFS.

Another couple of things: If no Mask is specified, FFS uses $00FFFFFE.
FFS uses TD_GETGEOMETRY if the device name begins with trackdisk.device or carddisk.device, or (in some circumstances?) on new-style devices. If you know your device does support TD_GETGEOMETRY, you could use NSDPatch to "fake" a device name e.g. carddisk.device_really_scsi.device That's probably better than faking another unit of e.g. trackdisk.device.
Attached Files
File Type: txt FFS_45.13_notes.txt (25.1 KB, 396 views)
mark_k is offline  
 
Page generated in 0.04531 seconds with 11 queries