2008-01-04  Helmut Schoettner <hschoettner@web.de>

   * Fixed startup.s (right comment char now), main.c (Startup() also for non SAS/C) and volume.c (CreateDollar())
     for support of gcc 2.9.5.3.4

2007-10-23  Helmut Schoettner <hschoettner@web.de>

   * Minor changes and new makefiles to support gcc 2.7.0

2006-03-21  Helmut Schoettner <hschoettner@web.de>

   * Reworked environment vector initialization

2006-03-13  Helmut Schoettner <hschoettner@web.de>

   * Fixed the bug that allowed deletion of protected files (">")

   * Fixed the bug that allowed write access to protected files (">")

   * Fixed the bug that zeroed length of a protected file (">") by a write access

   * Lowered read retry count from ten to five to have faster access to unformatted disks

2006-02-25  Helmut Schoettner <hschoettner@web.de>

   * Fixed the bug introduced with the file type specification feature that cause problems with names
     longer than the 16 characters allowed for cbm dos

	* Enhanced filtering of characters for virtual directory ($) and changed the replace char to '_'
	  by new function AsciiFilter with different levels (ALL, ESC, CRLF, PRINT, ALPHA) used by Cbm2Ascii() yet

	* Id of disk is shown now after the name of the disk and a colon

	* Id of disk and name are filtered now by replacing all non printable chars by '_' for AmigaDOS compatibility

2006-02-20  Helmut Schoettner <hschoettner@web.de>

	* During scan of a disk files with no track (number 0) are hidden now the same way after disk scan
	  is complete

	* Control characters except EOS, ESC, LF and CR are replaced now in virtual directory ($) with a dot (.)

2006-02-18  Helmut Schoettner <hschoettner@web.de>

	* Illegal dos type forces software write protection now only for real files and is ignored for $d64 yet

2006-02-16  Helmut Schoettner <hschoettner@web.de>

	* Fixed rename to avoid open directory entries with an asterisk (*) before the type

	* Access to file names containing "/" is now allowed (with dc=doscontrol or dopus)

2006-02-15  Helmut Schoettner <hschoettner@web.de>

	* Reworked the mapping between ascii and cbm character sets to have a true and unique conversion of
	  cbm byte values 0-229; cbm values 230-254 are doubles of cbm values 166-190 and 255 is double of 126
	  and are mapped to the original codes they are doubles of

	  All ascii byte values, except 97-122 (lower case letters are converted to upper case ones for cbm)
	  have a true and unique remapping

2006-02-11  Helmut Schoettner <hschoettner@web.de>

	* Added ACTION_SET_PROTECT: use -w, -d or -wd to set file write and delete protection "<" after type
	  and use +wd to remove file write and delete protection

	* Fixed feature to specify directory entry file type for create by appending "," and D/S/P/U/R (e.g. ",S")

	* Added Startup option SL=SECTORLABEL to enable SecLabelData support for true sector format id support
	  for read and write (default is disabled for compatibility to file.device of xms and others)

2006-02-10  Helmut Schoettner <hschoettner@web.de>

	* Added feature to specify directory entry file type for create by appending "," and D/S/P/U/R (e.g. ",S")

	* Added feature to specify directory entry file type for rename (allows a change of the file type)

	* Changed find strategy of colon to start at end for format ("Name,Id")

2006-02-04  Helmut Schoettner <hschoettner@web.de>

	* Fixed the bug that added the rest of a long directory to the next disk's shorter directory
	  in case the shorter directory's entry count is not a multiple of eight

2006-01-31  Helmut Schoettner <hschoettner@web.de>

	* Fixed the bug in ACTION_END that caused updating the wrong directory entry's block count
	  when a deleted file started on the same track and sector as the new one

2006-01-20  Helmut Schoettner <hschoettner@web.de>

	* Fixed the bug that prevented file creation with names of files previously deleted from disk
	  (there is no more need to use $opt to clean directory as a workarround)

	* Fixed the bug that prevented right access to files created with names of files previously deleted from disk

2006-01-09  Helmut Schoettner <hschoettner@web.de>

	* Fixed visible deleted DEL file in virtual directory ($) and in real 1541/71 environment

2005-12-10  Helmut Schoettner <hschoettner@web.de>

	* File size build on number of blocks now during disk caching instead of sector chain test for true bytes to avoid
	  numerous head movements and a faster disk caching process

2005-11-26  Helmut Schoettner <hschoettner@web.de>

	* Fixed '<' attribute now to be only r and e (the files are protected from deletion and write access)

2005-11-19  Helmut Schoettner <hschoettner@web.de>

	* File date stamps use disk insertion date stamp to avoid many unnecessary directory refreshes using dc or dopus
	* File comment contains the date stamp of file action now for user's convenience

2005-11-10  Helmut Schoettner <hschoettner@web.de>

	* Added fake delete for virtual $d64 to support dopus 'copy as' function
	* Fixed file attributes of virtual disk.info
	* Hopefully fixed the 'lost disk icons on workbench' problem in any case completely

2005-11-05  Helmut Schoettner <hschoettner@web.de>

	* Volume creation date is now set to time of disk insertion
	* Fixed automatic update after write access to $d64 is complete

2005-11-04  Helmut Schoettner <hschoettner@web.de>

	* Fixed 'disk change needed after write to $d64'; now disk is updated automatically after write to $d64 is complete

2005-11-03  Helmut Schoettner <hschoettner@web.de>

	* Fixed 'lost disk icons on workbench' problem

2005-10-31  Helmut Schoettner <hschoettner@web.de>

	* Added check for true sector format id for all blocks (type virtual '$' file after disk is completely read for info)

2005-10-30  Helmut Schoettner <hschoettner@web.de>

	* Added support of multidisks 3.62 SecLabelData support for true sector format id for read and write
	* Fixed Ascii2Cbm and Cbm2Ascii (amiga's upper and lowercase names are just right for the cbm machine now)
	* Added time stamp for file's date and time (instead of 'creation date' of the amiga machine)
	* Added Flags2Attribs to have the right amiga dos attributes for all cbm file types
	* Added support for format id for format and relabel of disk (name,id)
	* Fixed NumErrors to be counted per disk (not per session than before)
	* Fixed CreateDollar (correct position for '*'; '*' and '<' can appear simultaneously now as usual with cbm dos)
	* Renamed functions to UpperLowerCaseStyle instead of upper_lower_case_style
	* Reformatted all source files to use tabs with width of 3 characters
	* Reformatted all source files to use block brackets all times
	* Reformatted all sources with spaces after operators, before brackets and after colons and much more
	* Changed makefile and code to work with SAS C Compiler 6.58

1999-01-01  Michael Krause  <m.krause@tu-harburg.de>

	* Released v1.3

1998-11-25  Michael Krause  <m.krause@tu-harburg.de>

	* COPYING: The program is distributed under the GNU GPL now.

	* packet.c (DoPackets): ACTION_FORMAT: Fail if device is not
	inhibited.

	* volume.c (bam_fix_tracks): Checks BAM track info for
	consistency.

	* volume.c (DoDiskInsert): Call bam_fix_tracks() after reading the
	BAM from disk before working on the track info in the
	Alloc/FreeBlock calls.

1998-11-25  John "Graham" Selck  <selck_j@informatik.fh-hamburg.de>

	* disk.c (ErrorReq): new function, requester has a Retry button
	now.

	* disk.c (SectorsOnTrack, Block2TS): new functions

	* packet.c (DoPackets): ACTION_FIND_OUTPUT: Start allocating data
	blocks before track 18 (on track 17).

	* packet.c (DoPackets): ACTION_WRITE: position range check ">=
	D64_SIZE" replaced by "> D64_SIZE". Marginally more optimal :)

	* volume.c: Changed 'interleave' to 6.

	* volume.c (SearchFreeBlockOnTrack): Directory track interleave is
	always 3.

	* volume.c (FreeBlock, SearchFreeBlockOnTrack): Make use of the
	new SectorsOnTrack() function.

	* volume.c (CreateDollar): Supporting illegal filetypes (5..15)
	now as well.

1998-11-11  Michael Krause  <m.krause@tu-harburg.de>

	* main.c (MakeFSSM): Bug fix: First FreeVec(fssm) changed to
 	FreeVec(env).


970529 Included new disk icon from Thomas Bro and added ICON startup
       option. Source code `diskimage.c' obsolete. Finally did another
       release!
970316 Fixed bug with multiple calls to ACTION_INHIBIT which could lead
       to an alert on loadwb. Fixed handling of TestLockRef error in
       READ and WRITE (would not return error -1). v1.2

970219 German translation of the documentation.
970130 Fixed a bug with unreadable disks (sometimes it would be
       impossible to format them). v1.1

970120 ACTION_RENAME_OBJECT. Opening root dir as file returns
       ERROR_OBJECT_WRONG_TYPE now.
970106 ACTION_PARENT was incorrect. Implemented ACTION_RENAME_DISK.
961222 UpdateDiskStructure() is timer-controlled now, so that many
       consecutive writes don't slow down the process - the BAM is written
       only once: one second after the last access. v1.0

961215 Virtual file `$opt'. Changed my indentation style ;). INTERLEAVE
       keyword was misinterpreted. Disks with an ID other than 'A' cannot
       be written to. Checks for write protected disks in all disk-modifying
       packets. ACTION_FORMAT. Everything works fine with the new
       multidisk.device 2.0. Removed enforcer hit when trying to open
       the root directory as a file.
961214 v0.6 used a wrong BAM structure, the order of the sectors in the
       track fields was assumed to be different. Now it's working okay.
       v0.7

961208 Optimized ACTION_END. $d64 is writable.
961207 First dir block is always (18,1) now. ACTION_DELETE_OBJECT returns
       correct errors. packet.c: One routine for the three ACTION_FIND#?
       packets, opening & updating files works. ACTION_WRITE. Directory
       is *not* automatically optimized any more, only trailing type 0x00
       entries are stripped -> deleting #? works correctly.
961127 volume.c/DoDiskInsert() initialized cur#? variables too early.
       A disk's name was erroneously thought to be 18 characters instead
       of 16. Removed bam->id check. Virtual file `$'. Block allocation
       routines rewritten. More security checkings in main.c/MakeFSSM.
       volume.c/UpdateDiskStructure() allocates the blocks now. v0.6

961124 ACTION_EXAMINE_NEXT returns correct NumBlocks value.
       First Aminet upload.
961118 More write support routines, ACTION_DELETE_OBJECT.
       Startup string INTERLEAVE keyword. v0.5

961110 ACTION_#?INFO returns correct SoftErrors count. Disk error
       checking in ACTION_SEEK. Made all string comparisons case-insensitive.
       Changed Disk.info to Show All Files & View By Name. Introduced
       startup string, environment vector is set up by the FileSystem now.
       Startup option "NOAUTOSCAN". This version was distributed on the
       Computer '96 in Cologne/Germany.
961106 volume.c/AllocBlock() & FreeBlock(), for upcoming write support.
       Fixed bug in UsedBlocks().
961104 R/W errors are displayed in a requester.
961103 Disk changing more secure. ACTION_INHIBIT implemented.
       ACTION_CREATE_DIR returns error. v0.4

961102 Implemented volume.c/UsedBlocks().
961101 Using ETD commands now - disk changing works perfectly;
       When an unreadable disk is inserted or any disk is removed, the
       motor is switched off. Fixed enforcer hits with removed volumes in
       ACTION_COPY_DIR.
961031 Fixed enforcer hit in volume.c/lockable().
       Issueing CMD_CLEAR after disk change.
961027 Virtual file `$d64'. Split up source code into six parts.
961026 Virtual file `Disk.info'. v0.3

961014 Asynchronous disk preloading. Security checks.
       Multi-volume support. Fixed big bug in
       track/sector-to-offset conversion.
       Fixed bug in file finding routine. v0.2

961013 Completely working read-only version. v0.1
961006 Started immediately after the SCALA-Meeting.
