Fix some anomaly types
Add anomalies for corrupted catalog metadata (pointing to out-of-bounds sector)
Don't render the entire disk catalog in __str__, it's too verbose. Move it to a dedicated Catalog() method
objects associated to the container, and builds a tree of child
containers with support for depth-first recursion
Convert all of the disk container classes to use Container() and
register themselves with this tree. This constructs a hierarchy of
container objects rooted in Disk that describe the structures found on
the disk image.
Convert most of the print statements and some of the assertions to
register Anomaly records instead
Fix/improve some of the __str__ representations
- Add support for parsing Applesoft basic files
- Add a new File class that receives the contents of a DOS 3.3 file
(also parsed, if applicable)
- Some minor bugfixes
- Support specializations of Sector, and promoting from Sector to a subclass by the Sector.fromSector() classmethod
- have the Sector() __init__ method register itself with the disk via disk.SetSectorOwner()
- Add a disk.RWTS sector type
- Add a disk.Taste classmethod that attempts to interpret a disk as a subclass, which may be rejected
dos33disk.py
- Read the VTOC, Catalog, File metadata and file content sectors and claim them in the disk
process.py
- moved the main() method here to iterate over disk images under a directory and attempt to taste them as DOS 3.3 disks
For each sector we compute a sha1 hash, and use this to recognie some common sector types (zero, common RWTS sectors)
Also compute the zlib compressibility of the sector as a way of estimating entropy, which might be useful in providing insight into whether it contains e.g. code or data.