Skip to content

dosforge 0.9.56

Choose a tag to compare

@github-actions github-actions released this 14 Jun 02:49
· 7 commits to main since this release

dosforge v0.9.56

Highlights

  • PCDOS3 + COMPAQ3 now support FAT16 partitions up to 32 MiB
    (historical correction).
    • Prior dosforge versions restricted IBM PC-DOS 3.00 and the
      Microsoft MS-DOS 3.00 Compaq OEM build to FAT12-only with a
      16 MiB cap, citing "FAT16 was added in PC-DOS 3.10."
    • That comment was historically inaccurate. FAT16 was
      introduced in PC-DOS 3.0 (August 1984)
      , and its FORMAT.COM
      already picks FAT12 for partitions <=16 MiB and FAT16 for
      16-32 MiB partitions automatically. Compaq's OEM MS-DOS 3.00
      shipped the same Microsoft kernel and FORMAT.
    • You can now build:
      • dosforge create --boot-mode pcdos3 --format fat16 --size 32M
      • dosforge create --boot-mode compaq3 --format fat16 --size 32M
    • FAT12 (<=16 MiB) is still the default and remains
      1984-authentic for small XT-IDE drives.
    • 32 MiB is the 1984 partition-table addressing cap; >32 MiB
      still requires compaq331 (FAT16B) or msdos5 / msdos622.

Fixed

  • Stale _BOOT_MODE_MEDIA_RULES comments + _validate_create_request
    messages now describe the correct PC-DOS 3.0 FORMAT.COM behavior.

Tests

  • tests/test_size_cap_snap.py splits PCDOS3 + COMPAQ3 cap tests
    into FAT12 (16 MiB) + FAT16 (32 MiB) variants. The
    TestFormDiskCapParity drift-prevention test continues to
    enforce that every formlogic._BOOT_MODE_MEDIA_RULES max_mb
    has a matching disk-side cap branch.

Verified

  • pcdos3 + FAT16 + 32M + IDE -> 33,546,752-byte VHD with
    MBR partition type 0x04 (FAT16 <32MiB), COMMAND.COM dated
    1984-08-14.
  • compaq3 + FAT16 + 32M + IDE -> same.
  • Regression: pcdos3 + FAT12 + 16M + XT-IDE still snaps to
    (306, 4, 26) = 15.54 MiB.
  • Over-cap rejection: pcdos3 + FAT16 + 64M -> ValidationError
    with the corrected guidance.