-
Support for new operating systems:
- Cromemco DOS (CDOS)
- Altair DOS / Altair BASIC
- Altair Hard Disk Basic (HD BASIC)
- Timeshare BASIC (read-only)
-
Support for new disk formats:
- MITS 5.25" Disks (Mini Disks)
- CDOS 8" SS SD, SS DD, DS SD, DS DD Disks
- CDOS 5.25" SS SD, SS DD, DS SD, DS DD Disks
-
Disk Labelling
- Support CDOS and HD BASIC disk labels
- -l --label to read a disk label
- -L / --label-set to change a disk label
-
BASIC file decoder
- Converts encoded Altair / Microsoft BASIC files into ascii text files
-
Windows wildcard expansion
- Expand * and ? on windows for --put-multiple
-
Illegal filename encoding
- Formats like Altair DOS / Basic and HD Basic allows almost any character in the filename
- Windows does not handle a lot of special characters and so these filenames cannot be represented
- If an unrepresentable character is found, url-encode that character when creating the filename,
- Also encodes the first character of reserved names on Windows, e.g. "CON"
-
Updated GUI (adgui)
- Support for all new formats and features
- Upgraded to newer DVUI library
- Include file details as well as file name when copying from grid
-
Expanded Testing
More comparisons against emulator-produced disks for:
- Freshly formatted disks
- One file filling entire disk
- Filling all directories
- Many more individual format tests
All formats now test:
- Overfilled disks
- Overfilled directories
- Empty files
- File erasure
Introduction of fuzz testing:
- Zig provides a fuzz testing framework that mutates random data in a way that tries to maximize code coverage.
- Each format has its own fuzz test which performs various disk operations on the randomly created image.
- Fuzz testing helps ensure that all code paths, including error paths, are tested.
- It also helps make sure the program won't crash on unexpected data.
- One example of an issue found: a CP/M directory entry whose first filename character happened to match the CDOS label marker triggered a panic, because a CDOS-specific code path got invoked for a CP/M disk.