I released FDISK 1.4.0: https://github.com/FDOS/fdisk/releases/tag/v1.4.0

I will put this also into the Gitlab archive for FreeDOS 1.4 RC2.

The changes to the last version 1.3.4 shipped with FreeDOS 1.3 are listed below.

Greetings, Bernd


Change log 1.4.0 - 1.3.4
------------------------------------
Fixes:
- CRITICAL: FDISK would corrupt the disk if a logical other than the first
    is deleted while there are 23 logical partitions defined for a disk.
- CRITICAL: The number n for command line operations
    /del /log:n and /del /num:n did not always reflect the n-th
    logical partition shown to the user via /info. This could trick the
    user into deleting wrong partitions.
- CRITICAL: Avoid data loss on logical partition creation if there are
    already 22 partitions on a single disk and the 23th to be inserted
    is not going into the last partition slot.
- CRITICAL: Fix a drive letter disagree between DOS and FDISK in cases
    involving multiple disks and a mix of active and non-active
    primary partitions.
- CRITICAL: Prevent user from specifying multiple disks via command line
    leading to commands operating on the wrong disk.
- CRITICAL: Fix FDISK loading wrong CHS head and sector values from MBR if
    operating in LBA mode. The previous incorrect behaviuor was hardcoding
    them to cylinder boundaries instead of calculating them from LBA address,
    resulting in corrupt partition tables especially if used in combination
    with other disk utilities (since <= v0.9.9).
- CRITICAL: Fix FDISK going havoc when encountering extended partition
    layouts it is not designed handle: EMBR tables with entries 3 or 4
    being present or an EMBR link in entry 1, 3 or 4. Creating and deleting
    logical drives is disabled for such layouts.
- CRITICAL: Fix FDISK going havoc when encountering partition type 0
    in the first EMBR table entry in the middle of the EMBR chain.
- CRITICAL: Position and size calculation for new logical drives was broken
    if the extended partition was not aligned to cylinder boundaries, leading
    to all sorts of problems, including potential data loss.
- CRITICAL: Fix a bug resulting in detecting non-existant extra cylinders
    when using ext INT 13 function (since v1.1).
- CRITICAL: Fix a partition location and size calculation error triggered
    when creating a new logical partition after deleting the first logical
    partition while there are still logical partitions left (since v1.2.1).
- CRITICAL: Fix different calculation errors leading to overlapping
    partitions, unnessessary free space between them, or partitions exceeding
    the end of the disk resulting from off-by-one and off-by-two errors.

- HIGH: If there are multiple gaps between the partitions, FDISK would
    not find the largest free space but the first.
- HIGH: Prevent the user from creating more drives than drive letters
    available.
- HIGH: Fix FDISK not modifying partition type via command line /MODIFY
    and via UI if FDISK is started in extended options mode /XO.
- HIGH: respect selected video page instead of hardcoding it to zero when
    calling INT 10 routines.
- HIGH: Prevent querying LBA capabilities via INT13,41 if LBA is disabled
    by the user via command line argument /X. This caused some broken
    BIOS to crash the system, like BIOS version 0.9.4 of Book8088 and Xi8088.
- HIGH: Fix FDISK not writing the partition table of the 8th disk.
- HIGH: Fix a bug preventing FDISK to work if ext. INT 13 support is
    reported by the BIOS, but actual support for functions 42, 43 and 48
    is non-existant (mainly 486 systems and early LBA support era).
- HIGH: Fix a bug preventing FDISK from working correctly, if BIOS returns
    garbage in AH for INT 13 function 2 or 3 and CF is zero (mainly some
    buggy XT/AT era INT 13 implementations).
- HIGH: Fix FDISK not returning an error code if partition table can not be
    written. (since <= v1.2.1)

- MEDIUM: Fix FDISK not letting the user delete the last existing logical
   drive until program is restarted, if the first logical drive in EMBR
   chain is not the last to be deleted. (since v1.3.5)
- MEDIUM: Fix FDISK wrongly informing the user that no space in the extended
    partition is left after deleting the last logical drive, until program is
    restarted. (since v1.3.5)
- MEDIUM: Fix a bug where FDISK gets confused which boot sectors to clear
    if logical drives are created and deleted during the same program
    invocation.
- MEDIUM: Fix a cylinder off by one error in partition type determination.
- MEDIUM: Fix not doing proper error handling for 80% of the functionality.

- LOW: Fix a display bug showing the extended partition a few MB smaller
    than it actually is while creating logical partitions.
- LOW: Prevent FDISK from using different rounding schemes for displaying
    partition sizes, confusing the user by showing slightly different values
    in some situations.
- LOW: Work around AT BIOS bug. It is LOW because it actually does not get
    triggered by the current version.
- LOW: Fix color handling for background colors other than black.
- LOW: Fix various flaws in the input handling routine.


Changes:
- FDISK is translated to the following languages:
    German, French, Turkish, Polish, Spanish and Italian
- Use DR-DOS drive letter assignment if running under (E)DR-DOS kernel.
- FDISK provided MBR bootloader does not require more than 128k of RAM
  anymore. In fact it should run with as low as 64k of RAM (untested).
- Work around Xi8088 and Book8088 BIOS bug (bootloader and FDISK itself).
- Assume BIOS drive number of 0x80 to boot from if BIOS tells us it is
    unit 0. This should be an error, because we boot from hard disk.
- Do not check for extra cylinders by default. DR-DOS refuses to use
  partitions exceeding the BIOS reported disk size, despite being valid.
- Increase compatibility with some older quirky IDE controllers by resetting
  the disk system via INT13,0 after failed IO operations.
- Provide SvarDOS packages as part of new releases.
- Prohibit deletion of DOS partitions from the Non-DOS partition removal
    menu.
- FDISK terminates with an error message if run from OS/2 or Windows NT.
- Program can be build with I16-GCC.
- Support for Borland / Turbo C was dropped.
- Implement /IFEMPTY command for use by the FreeDOS installers.
- Write LBA marker entry 1023/254/63 into CHS partition table entries if
  CHS value otherwise would overflow. This may be disabled via config option
  LBA_MARKER.
- FDISK contains experimental support for aligning partitions to 4K. This may
  be enabled via config option ALIGN_4K.
- Warn if user tries to use FDISK with a disk size of >2TB, because it can
  not handle it properly. If the user decides to continue the disk size is
  truncated to 2TB, making sure nothing bad happens by some overflowing
  values.
- Adapt user interface to handle larger disks.
- Free FDISK now compiles with Open Watcom C.
- Rework command line argument handling.
- /SMBR renamed to /SAVEIPL to avoid confusion of what it does:
  saving the boot code and NOT saving the whole MBR including the
  partition table.
- /SAVEMBR and /LOADMBR commands save or load a MBR from file. This includes
  boot code and primary partitions.
- /CLEARALL command renamed to /CLEARMBR (still available under old name).
- /CLEAR command renamed to /DELETEALL (still available under old name).
- Support MAX quantifier in command line size arguments.
- Make disks n+m, m>0, accessible if disk n is not accessible.




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to