Improvements in Diamond Edge v2.55

The following is a summary of the improvements in version 2.55, compared with version 2.04. This list is designed as a guide for current users of version 2.04.

New features

bulletGeneral
bulletthe background colour of dialogs has been changed to light grey for readability
bulletCD devices are now detected and omitted from display and selection (e.g. in the 'All info' table)
bulletdevices on buses other than the standard Atari ACSI/SCSI/IDE are now accessible (through the use of the SCSIDRV interface)
bulletthe AP_TERM message is now handled
bulletthe 'Edge' icon, used in 'About', 'Preferences' and 'Mirror', now has a 4-colour version for correct display in medium-resolution
bulletin the 'multiple' dialog, when doing a 'clear all', only objects that are currently selected are redrawn, reducing screen flicker
bulletthe help files have been updated, and you can now scroll through them backwards as well as forwards
bulletMedic
bulletfor consistency, lost clusters are now displayed as errors in the medic map, and a list of the lost cluster numbers is written to the medic log file
bulletfor invalid folders or FAT errors, the medic log now contains more precise information
bulletthe run time of the 'map bad' function has been reduced by speeding up the internal compare memory routine
bulletin the 'map bad' function, if write errors occurred when testing FAT/root sectors, the previous code still attempted to write the FAT/root when creating a new file system. the errors are now displayed, and no attempt is made to create the FAT/root
bulletin 'map bad', if write errors occur due to the disk being write-protected, the user is now informed via an alert
bulletPartition
bulletpartition sizes are now validated before the new partition table is written to the disk
bulletthe function of the 'TOS x.xx' button has been changed: it now rotates through 1.00/1.04/4.00, and its setting controls the checking of partition sizes
bulletthe function of the 'Maximum' button has been changed: it now generates either GEM or BGM maximum-size partitions, depending on the currently-displayed TOS version in the same dialog
bulletUtility
bulletwhen Zeroing a drive, if the save of the Unzero information fails, the user is notified
bulletwhen Zeroing a drive, if the Unzero information is being saved to the drive that's about to be Zeroed, the user is notified
bulletPrint file
bulletthe system remained busy for an excessive time if printing was requested while the printer was offline; this situation is now detected and reported via an alert
bulletView file
bulletthe file viewer has been completely rewritten and now supports scrolling backwards as well as forwards

Bugs found and fixed in v2.50

bulletGeneral
bulletmemory leaks could take place under many circumstances; these could cause subsequent 'out of memory' error messages
bulletfile handle leaks could take place under a few circumstances; these could cause subsequent 'unable to open file' messages
bulletselecting the 'About' item could leave the menu title highlighted
bulletthere was screen residue in the main window display (just above the horizontal dividing line) when run under MagiC
bulletthe colour icons on the main screen and in the drive popup were displayed incorrectly for TrueColor (non-palette) screens
bulletin Falcon 4-colour mode without double lines (i.e. 640x480), the icons displayed were ST medium-style. Since this is set up for double lines, icons were half-height and quite ugly. Changed to use monochrome icons in this situation
bulletsome buttons were not redrawn correctly under a colour AES (e.g. those in the scsi info dialog)
bulletAll info
bulletthe individual lines and totals of disk space were incorrect for large partition sizes
bulletthe background colour was black when run under MagiC on a monochrome monitor
bulletCopy image/Copy defrag
bulletthe Copy defrag function did not work correctly for files on the source that were larger than the largest buffer that could be allocated in memory. the symptoms varied, depending on the relative sizes of source and destination drives: large files were not copied correctly; clusters were allocated on the destination drive but not allocated to files ("lost clusters"); the copy could fail with a bios write failure; the progress bar could exceed 100%; and the program could crash
bulletwhen being prompted for source/destination, if the user clicked outside the selection dialog, an invalid drive letter was generated
bulletFrag map
bulletin monochrome and TrueColor modes, a block (representing a group of clusters) that was initially marked as containing a fragmented file could be incorrectly changed to show that it did not contain such a file
bulletMedic
bulletthe 'fix collisions' function always failed
bulletin 'validate files', errors were reported incorrectly if the 'check program header' option differed between the creation and checking of a validation file
bulletin 'validate files', errors were reported incorrectly if two files in different folders had the same name/date/time/size, but the contents differed
bulletwhen attempting to fix duplicate filenames, each failed attempt at choosing a new one caused the 'bad filename' count to increment
bulletinvalid clusters in subdirectories were not handled properly under certain circumstances
bulletunder some circumstances, a bad sector in a directory cluster could cause the 'Map bad' function to crash
bulleta memory overlay could occur in rare circumstances when using the 'Write-Read' option in 'Map bad'
bulleta spurious error was reported if any file occupied either of the last two clusters of a drive (this will not happen under TOS, but can happen under MagiC)
bulletOptimize
bulletcompress free space with write priority mangled the partition when bad sectors were present
bulletif a read error occurred during full optimisation, the retry was incorrect; this could cause the partition to be mangled
bulletfor compress free space with read priority, the progress bar did not run to 100% properly
bulletif a frag map was done for a drive, followed by a diskinfo, and then a compress free space, a subsequent frag map did not reflect the changes made by the compress free space function
bulletPartition
bulletwhen rebuilding a partition, a memory overlay could occur
bulletchoosing 'Max' when rebuilding a partition table would cause a memory overlay if the disk capacity exceeded 1 GB
bulletwhen setting up partitioning, if two or more consecutive partitions were eliminated by blanking out their sizes, each redraw of the partition display only removed one blank line
bulletsome bugs existed in partition size handling when switching between ICD and Atari modes
bulletafter reading in a partition file, the file was not closed; if this was done a number of times, a subsequent open would fail due to a shortage of file handles
bulletPreferences
bulletthree of the four options that appear under both the Medic and the Optimize menu items (ignore illegal names, save lost clusters, visual update) were implemented wrongly: each pair of options shared a common variable, but the check marks in the menu were not synchronised, and the options were saved separately in the preferences file, leading to obscure bugs
bulletwhen loading a saved preferences file during initialisation, if the saved file had the 'Remove deleted' option not set, then the 'Prioritize read' menu item would be set
bulletUndelete
bulletif there were no previously-deleted entries in a directory, the function failed with a misleading memory allocation failure message
bulletView file
bullet'mouse droppings' could occur due to the mouse pointer not being hidden during a screen blit

Bugs found and fixed in v2.51

bulletCopy image/Copy defrag
bulletwhen using Copy image, the message 'Progress bar > 100%' was issued at the end of a copy or, in rare circumstances, the last cluster was not copied
bulletOptimize
bulleta full optimize could fail without an error message, leaving the partition scrambled. This only happened if the partition used 16KB logical sectors, and the number of root directory entries was not a multiple of 512, and one or more entries in the root directory were deleted, and the 'Remove Deleted' option was specified.

Bugs found and fixed in v2.52

bulletOptimize
bulletunder some circumstances, a full optimize could loop forever with the message 'Working' displayed. This was most likely to happen if all files in a partition, except one, were deleted, and the remaining file was small.

Bugs found and fixed in v2.53

bulletOptimize
bulletunder some circumstances, when there was a memory shortage, it was possible for the optimisation routines to exit prematurely during the folder scanning phase. This would probably leave the partition in a scrambled state.
bulletunder rare circumstances, a full optimize could cause good data to be silently overwritten. This only happened under the following circumstances:
bulletthe file cluster did not need to be moved
bulleta lower-numbered file cluster needed to be moved, and the cluster that it displaced needed to be stored somewhere temporarily
bulletduring a full optimization, clusters that were not moved (because they were already in the correct place) were not always marked as defragmented. This problem tended to be more noticeable when the partition contained large files.
bulletPartition
bulletwhen the amount of total or available space on a disk exceeded 2GB, the amount was displayed incorrectly

Bugs found and fixed in v2.54

bulletMedic
bulleta subdirectory was not processed if its entry in the parent directory had other attribute bits set in addition to the subdirectory bit. This could cause Diamond Edge to fail to detect (and therefore fix) errors in the partition.
bulletOptimize
bulletan optimize of a partition containing no subdirectories always failed with the message "Cannot complete operation". This problem was introduced in v2.52.

Bugs found and fixed in v2.55

bulletCopy Defrag
bulleta zero-length file in the input partition would cause the output partition to contain an error (a file collision)

Features that have been dropped

bulletthe DADE disk editor is no longer supplied with Diamond Edge
bulletthe disk partitioning feature now requires a SCSIDRV driver (such as HDDRIVER) to be installed; if a SCSIDRV driver is unavailable, the related menu-bar features are disabled
bulletbecause of the use of SCSIDRV, the dialog for selecting a device manually is now obsolete, and has been dropped

Last updated 2 September 2007 by Roger Burrows