News:


Version History:

Version .1      Basic functionality--the program clears partition
                tables, displays contents of the partition tables,
                and creates primary partitions.  It lacks a menu,
                does not create the boot code, and does not create
                extended partitions or logical drives.  It also 
                does not yet have any error trapping to prevent a
                user from trying to create a drive over 2 Gig.

Version .2      Added functions to toggle the active partition, 
                delete a partition, and create the boot loader
                code.

                Found and corrected a bug preventing the exended
                partition from being displayed. 

Version .3      Added menus.
              
                Removed the requirement of entering the drive number
                when typing "FDISK /I" or FDISK /MBR".  Without the
                drive number, both functions will default to the first
                hard disk.  Of course, you can still enter the drive
                number for drives other than the first.

                Added code to prevent the entry of partition sizes over
                2 Gig.
   
Version .4      Added code to trap the "null pointer error" messages.
                There still are a few possible combinations that will
                result in this message, though.

                Partitions are now correctly created when creating
                their size by the percentage of the total hard disk
                space.
                
                Fdisk /mbr no longer writes the MS-DOS version of the
                boot loader.  I used the boot loader from BOOTEASY
                that I found on a FreeBSD distribution.  For more 
                information, please see the file bloader.txt

Version .5      Finally allows the user to create logical drives in
                the extended partition.

                Changed the location of the "type of size calculations"
                in the code.  

                Allows you to delete logical partitions; but, only in the
                reverse order in which they were created.
                
                Fixed the bug that prevented MS-DOS's FDISK from creating
                logical drives in the extended partition.

                Thanks go to Phil Brutsche for fixing the bugs that were
                creating the "null pointer error" messages.
              
                Modified the code to start and end partitions on cylinder
                boundries.

                Added the command "fdisk [/r drive#]" to remove the boot
                loader from the first sector of the hard disk and still
                preserve the primary partition table. 

                Fixed a bug that allowed a partition to extend beyond its
                boundries.

                Added code to display the available drives and their sizes.

                When displaying the partition information of a drive, the
                program now displays the total hard disk size.

Version .6      Added functionality to allow the program to get the listing
                of partition types from an easily maintainable text file
                called "part.dat"  If the program does not detect the
                partiton data file, it will revert to using its internal
                partition lookup table.  I would recommend only using the
                lookup file when running Free FDISK from the hard drive.
                If Free FDISK is ran from a floppy disk with the partition
                data file, it runs much slower due to accessing the
                partition data file.

                Added code to allow the user to load a different boot loader
                into the MBR.  This boot loader is stored in a file named 
                "BOOT.BIN"

                Added code to allow the user to save the boot code from the
                MBR into a "BOOT.BIN" file.

                Fixed a bug that prevented logical drives from being created
                by percentage when using the menus.

Version .7      Found and removed a section of dead code.  

                Removed some of the less common partition types from the 
                built-in lookup table and added error trapping for unknown
                partition types.  

                Added code to load the part.dat file into a buffer instead
                of constantly loading it from the disk when needed.  (This
                will speed up access from a floppy disk.)

                Removed the header file mem.h because it was unused.
 
                Added code to display the reboot message only if changes 
                were made to the partition tables or MBR.

                Modified the help routine and added code to only display
                one screenful of information at a time.

                Found and fixed one more bug that created the "null pointer
                error" message.  I hope this is the last null pointer error.

                Added code to allow the user to change the partition type
                of primary partitions.

                Fixed a problem with the ending head location of logical 
                partitions.

                Made modifications to percentage calculations when creating
                partitions to create the partitions based upon the percentage
                of free space available. 

                Added code to allow the user to create partitions of types
                other than DOS.

                Removed size limit when creating extended partitions by using
                the menu system.

                Fixed the bug that caused the "extended partition exists" 
                error after deleting an extended partition and trying
                to create another extended partition while using the menu
                system.

               
