
Summary of changes from release 2.02 to release 2.03
----------------------------------------------------

* Changed checking for valid D64/X64. I use to look for the DOS marker
byte at track 18, sector 0 ,byte position 2 (value of 0x41), but found
that too many disks don't use the correct value, resulting in the error
message "Not a valid D64/X64 file". I altered the method so now it
should work regardless.


* Added UnLYXN and UnZipCode. By positioning the highlite bar over a
.LNX file, or over *any* part of a ZipCode (#!xxxx) file, and pressing
F11, the file will be converted into the present directory of where the
archived files exist. An LNX file which does not contain ZipCode files
will be extracted as a P00 file, so that the C64 filename can be
preserved, and you can convert it to another filetype later (i.e. D64,
T64, X64). P00 was used simply because it is easy filetype to support in
a hurry, and conversion from them is a breeze.

NOTE: I might change this over the next several weeks, to incorporate it
      into the convert routines, but for now, this is as good as it
      gets. Making it any better has some difficulties, since I have
      seen .LNX files containing .LNX files, multiple files, ZIPCODE
      files ,etc. There is hardly any way to know what it contains even
      while you decode it. If I can figure out a way to handle .LNX
      files like a multi-file read-only T64 (no delete), then I will be
      able to do something. Until then, use it as it is. (One nice
      feature is it will auto-detect if the file contains a 4-part
      zipcode, and will structure the filename appropriately.)


--------------------------------------------------------------------------


Summary of changes from release 2.01 to release 2.02
----------------------------------------------------

* Added output logging to the CheckDisk function. Now all disk checking
is logged to files called <filename>.CHK, where <filename> is then same
as the file you are checking, and resides in the same directory as well.
It is constantly appended to, so it can get a little large. You get the
option of turning the logging on, with off as the default.


* Directory attributes were not being retained on copies. You would lose
any hidden/system/readonly attribute that was set, and be left with a
normal accessible directory, including during copies that spanned disks.
Fixed.


* File selection (Grey + - *) no longer select hidden files. Hidden
files are exceptional, and generally should never be operated on
anyways. You can still select them by using the INS key but not using
the pattern matching method. If there are any others you would like
excluded, let me know (like system and read-only files). I will likely
include this as a checkbox option once I get the mouse routines done,
and have the configuration screen ready to go.


* Moved the prompt line back to its original position above the function
key bar. I did this because of problems that arose when you hit
CTRL-BREAK... the whole screen would shift up by one line, forcing you
to do a redraw. Without a keyboard handler, there is no way to trap the
^C from being generated, so I moved the line to prevent the problem.
Besides, it looks better there.


* Fixed a bug in the Directory Delete and Copy/Move files (a bug which I
introduced several versions ago). It would fail after moving/deleting 10
directories, and would not be recoverable. An endless loop (into the
wrong section of code) would ensue, and be very annoying.


* Still fixing the video system. When you entered MODE MONO on the
command line, the screen would go into B/W mode, but the text would
still be color, not B/W. Fixed. 64COPY does not actually change the
video mode that the card is set for, but rather simply changes the
colors on the screen, and this leads to some interesting programming
troubles (since I have to keep track of two different video modes, the
real one and the simulated one, and when to change what).


* Fixed a bug in the File Search function where a search that spanned
disks would not actually go the other disks, but rather keep on happily
scanning the same drive over and over, as long as you pressed ENTER to
continue the search.


* Allow commenting in the EXT file, just in case you want to add
comments to any of the associations you have defined. See the 64COPY.EXT
file for more details on limitations and line formatting.


* Corrected some minor formatting errors in certain text strings (bad
wording, incorrect spelling, visual problems, etc)


* Keyboard speed automatically raised to highest level, to allow for
fast key repeat (useful in using the cursor keys to scroll up and down,
without the fast repeat, it is too slow for me). I hope it works for
you.


* Fixed a bug where if the .INI file contained a reference to an unknown
drive letter (i.e. the right panel default drive), when first starting
up 64COPY, you could ESC around the error box, and end up with a panel
showing the contents of something that doesn't exist. This one is hard
to explain, but it was annoying if you use the program on multiple
machines, where drive letters change all the time, and some would
invariably disappear.


* Changed default text editor and viewer from QEDIT to EDIT. This is a
more universal editor name, since all DOS's onward from 5.0 have
included a text editor. The INI version number has not changed, so any
text editor you have previosly defined will still be used. If you want
the new editor default used, delete the old INI file, or change the
entry to EDIT. I haven't found a better HEX editor than FED yet, but I
am looking. Any suggestions? (I will likely write my own anyways).


* File list now sorted by extension as well, and not just by filename.


* Enhanced the User Menu function. Now you can include the ! character
into your menu definition, and this will automatically expand out to
represent the filename presently under the highlight bar (in the active
panel). Note: only use one !, since I only am looking for one. If you
use it like !.!, this will not expand out correctly.


* Had to workaround a Watcom bug... when copying DOS system files
(FDISK.EXE, BACKUP.EXE, etc) from anywhere to anywhere, under OS/2 with
APPEND active, if the files you were copying also existed in the
directory pointed to by APPEND, then the destination would end up being
the APPEND location, not where you specified. Very weird!


* Enhanced the file move operation by *moving* the files, rather than
being *copied and deleted*, when going to and from the same drive. So if
you have to move a directory from one location to another, but on the
same drive letter, it will now move them instead of copying them (and
retain the attributes as well). Much faster.


* I now run all the C64 filenames through the name-conversion routine so
that on-screen they appear as close as they can to a real C64. So now,
in the convert window (or the Check window), the filenames look like
real C64 names, and not DOS names with bizarre characters.


* Any DOS file with the extension "DIR" would not be converted into a
C64 archive, since it thought it was a subdirectory, and you cannot
convert subdir's into archives. Fixed. Added an errorwindow telling you
that directories cannot be converted/copied, if you try to do so.


* Added support for CD-ROM's (and other write-protected disks). File
attributes (especially for C64 archives) are now kept intact. Before, I
would change any read-only/system/hidden attribute to the standard
archive setting, for read/write access. I still do so (if possible), but
I change it back after I have finished the operation. If the attribute
cannot be initially changed (such as for CD-ROM's), then you are
informed that either the operation could not be completed (file deletes,
moves), or are given read-only access (CheckDisk). The read-only
atribute on CD-ROM files will still be set when you copy files from
CD-ROM to any other disk. If you try to move files out of an archive on
a CD-ROM, the file will be *copied*, but the delete portion of the move
will not work (since the file is read-only).


* Added an error window informing you when the version of the .INI file
has changed, if you are trying to use a newer version of 64COPY with an
old .INI settings file.


* Corrected checking for copy/move of source file to the same location.
It will fail with an error message saying "Cannot copy/move to the same
directory."


* Some internal modifications to the keyboard scanning routines. All the
scan-codes use to be hard-coded into the source code, now it is
centralized (using #DEFINE's), making modifications much easier. The
only thing you might have noticed about this was pressing ALT-ESC (an
OS/2 key combination) under DOS would give you a 'd' character on the
command-line.


* Fixed a bug in the Filename Completion routine where with the panels
on, if you pressed ALT-Tab (or CTRL-Tab or Shift-Tab) to give you a list
of matches, you would get a list, but you shouldn't have. With panels
off, it worked basically ok.


* Copy/Move will no longer try to copy overtop of files which are busy
(such as executibles which are running while in OS/2). It will check to
see if the file is removeable first, and if not, it will fail.


* Date and Time fields are now retained when copying/moving. Before, the
time/date would be set to whatever the it was when you copied the file.
This applies to both files and *directories*. Normally, directories
cannot easily have their dates altered, but there is a (kludgy) way to
do it.


* When cancelling a file copy, the unfinished destination file was not
deleted.


* Enhanced the ALT-key search routine. Now when you press ALT and a
letter (or number), you are presented with a box, where you can narrow
down the search, just like NC.


* Files being moved onto the same drive as the source, with the filename
already existing on the destination would not be moved, as the
destination file was not being deleted.


--------------------------------------------------------------------------


Summary of changes from release 2.0 to release 2.01
---------------------------------------------------

* Added additional keyboard checking for cancellation of file copies. If
you were copying a large file, you had to wait for the whole copy to
complete before the ESC key would register to cancel the copy. Annoying
on those long file copies to the floppy!


* Fixed a bug that was repeated in every directory-related function
(such as copy/move, dir sizing, file searching and deleting), related to
network drives. On Novell-specific network drives (at least that is the
type of network I have at work), the directories do not contain any ".."
or "." files, and I assumed *all* dir's would have these. This oversight
would show itself as a failure to complete the requested task, but only
on empty directories. If a directory had any contents, everything was
fine.


* Fixed the /mono and /color command-line switches. I broke them
somewhere from beta 5 to release 2.0 (this bug may have never made it
out to public release!)


* Corrected a small text color problem where the text inside of windows
would get the wrong attribute, usually from the previous window.


--------------------------------------------------------------------------


Summary of changes from beta 5 to release 2.0
---------------------------------------------

* Added a moveable mouse (it doesn't actually do anything, it just looks
pretty!). At least the mouse support is on the way.


* Fixed bug in Print Files routine where dialog window would be removed
along with the one of the panels, only if you ESC'd from the main dialog
box. Also sped up the printing in both hex and text mode. It use to be
*dreadfully* slow.


* Added ALT + and ALT - (either keypad or normal) to do autoselect and
deselect without any pattern-matching. It will default to *.* with the
ALT key down. Also added ALT / to reflect the changes I made earlier for
the shortcut to the root of the drive. Now, any / or \ combo should
work.


* Started rewriting the color subsystem, to allow for user alteration of
all colors. The next step is going to be a full Color Configuration
window. So far, I have just added all the colors that I am allowing to
be changed (so far about 20 in all), along with making the default color
config much more conservative. You can always make it as gaudy as you
like later!


* On the same note as changing the color system, I added colors to the
file listing itself. Now, directories, tagged files, hilighted files,
etc all have different colors to them. Much easier to see what is
selected. When in mono mode, you do not get the colors on the tagged
files, you still just get the check marks.


--------------------------------------------------------------------------


Summary of changes from beta 4 to beta 5.
-----------------------------------------

* Finally rewrote the windowing routines to do direct video memory
writes, rather than BIOS calls. Now the windows and text get redrawn and
removed *MUCH* faster. You will be pleased!


* Removed program dependency with MODE.COM to change the video modes.
Program will now change video modes on its own (and I hope it works
better!).


* Rewrote the T64 routines to be more flexible. Earlier (in beta 4), I
was very strict about the structure of the T64 directory. Now, I am much
more lenient about having empty entries in the middle of good entries.
(You have to know the structure of the T64 files to understand). I also
removed the duplicate-file names checking, since this is not necessary
in a T64 archive. It now doesn't matter what you put in there. I do
still completely delete the entry from the central directory, rather
than just zeroing it out (since even if you set the flag in the
directory to indicate that the entry is free, C64s still sees it).


* Removed the progress bar graph indicator from all image file
creations. I changed the way I create the files to be much faster, so
the bar graph should now be unnecessary. Also fixed several bugs in the
Create T64 routine (couldn't create T64's greater the ~1000 entries).


* Corrected display of total byte count of tagged files in non-D64 file
listings from "blocks" to "bytes". The numbers were correct, only the
text was not corrected when I switched the listing from blocks to bytes
in beta 4.


* Added the code to automatically re-read a floppy if you switch to the
other panel, and the disk was changed. Basically, this is a disk-change
sensor. I've always found it very handy. It should only work on
removeables, and not the fixed disks (and I hope it works well, as I
have always wanted this feature).


* Added ALT-/ and ALT-\ to also act as the shortcut to the root of the
drive. Some foreign keyboards have the \ key in a wierd place, so I made
it easier to access.


* Corrected more bugs in the Checkdisk routine (mostly visual), and some
others in the Convert Files (unclosed file handles, and it wouldn't
escape when the ESC key was pressed).


* Now you can convert from P00 format without having to go inside the
P00 archive. Since there is only one file in each PC64 file, there
should be no need to *force* you to go into them (unless you want to).
If you have the cursor on a P00 (or S00/R00/U00), and press F11
(Convert), 64COPY will pick up the filename from inside the archive, and
act as though you went inside to convert it. It should make life easier
for all you PC64 users.


* Enhanced the checking of C64 image files. Before, if you hit return on
a filename whose extension was .Pxx (or Sxx/Uxx/Rxx, where xx is
anything), the program would think it was a PC64 file, and attempt to
read it as such. It won't do that now.


* Corrected a bug in the Convert Files area where, under certain
conditions, an F11 would not do a Convert, but instead it would default
to Copy.


* You can now switch disks (when copying to floppy) when the floppy runs
out of room. An error is generated when the floppy runs out, and the
program will ask you if you want to switch disks. You can do so at this
point, or hit ESC to cancel. Kind of nice for floppy fills. It will also
attempt to copy directories, by creating the directory structure up to
the point where the copy failed, and then continuing on with the copy.


* Fixed a bug in the CreateImages routine where empty C64 file (T64/D64)
were (sometimes) being created in the wrong directory.


* Added confirmation for the filename in the Convert routine. If you
only convert 1 file at a time, the program will ask you for the filename
to convert it to. If you are converting more than 1 file, it will ask if
you want to generate the filenames automatically, or manually. This
eliminates the extra step of renaming the files after the Convert, if
you were doing so. If you are *copying* files, no message box will
appear at all.


* Enhanced the Filename Completion routine, so now if you press ALT-TAB,
when any panel is on, it will attempt to complete the filename when only
*1* match occurs. If there is anything other than 1 match, nothing will
happen. With the panels off, ALT-TAB and TAB do the same thing, and they
will show *all* matches.


* Added support for conversion to/from all filetypes. It use to be that
*all* files would convert to a PRG type, so now I support all types,
including Miha's memory snapshots. These snapshots should only be copied
between T64's, and nowhere else, or else you *will* lose the snapshot
filetype. Now SEQ will stay SEQ's, USR's will remain USR's, and PRG's as
well. There is really no support for REL files (since none of the
emulators support them). If you copy a REL file, it will copy all the
data, but not the side-sector info.

  *NOTE* - When copying files into a T64, since this standard really
only supports PRG and snapshot filetypes, any other filetype that you
try to copy into it will be changed into a PRG type. Snapshots will
remain as they are, but SEQ/USR/REL will be converted into PRG files.


* Enhanced the conversion of graphics in the C64 filenames to those that
are similar in the PC character set. Now when you get names that contain
graphics, they will look more like the way they would on a real C64.


* Fixed a bug in the new windowing routines... If you entered MODE MONO
on the command line, your video would disappear. Everything was still
operating, but you couldn't see it. Also, if you entered MODE 80,25 (to
change the number of lines on screen), the line change would not be
picked up, and therefore the program would still draw everything
according to a screen that is now too long.


* Re-arranged the code that determined the course of action based on
file extension when <ENTER> was hit on a filename. Before, you could
define an entry in the extension file like "T64 : FED", and instead of
opening up the T64 image like a directory, the program would do the
extension definition first. Now the order of operations is (1) DIR, (2)
EXE/COM/BAT, (3) T64/D64/P00 (4) other extension definitions.


* Added better key-checking for dialog boxes. Now, when a box is waiting
for a certain set of keys and an unexpected one is pressed, a beep will
sound, but the box does not go away. All dialog boxes will wait for a
legitimate key before continuing.


* Along the same lines, any error windows that come up ("Attention!"
boxes) will be accompanied by a beep as well, just to let you know that
something wrong has happened. (I realize that adding sounds might not be
a popular move. If you don't like it, I can alter, remove or have
different ones depending on what type of error condition has happened. I
will also add an on/off button to the future Program Configuration
window).


--------------------------------------------------------------------------


Summary of changes from beta 3 to beta 4.
-----------------------------------------

* Added full X64 support. You can do all the standard D64 operations:

        - Create (Alt-F12)
        - Convert (to/from D64's as well)
        - Checkdisk
        - Copy into/out of


* Added full multi-file T64 support, such as:

        - Create (CTRL-F12) (it will ask for how many entries the
          directory, minimum 1, maximum 1499, default 30)
        - Improved the "Readtape" routine to handle multi-file T64's.
          Can now read tapes of up to 1499 files.
        - Copy/move in/out of.
        - Delete files from in T64

        - The only thing not yet incorporated is "Check Tape". I am
          working on this (but I don't know all what to add in yet).


* Added bar graph progress indicators for all conversions.


* Several bugs fixed in the Checkdisk routine. *Note, no bugs have been
found that would cause *any* kind of corruption in the disk images. I
was very careful to make sure that no changes would be made without user
acknowledgment.

        - Fixed bug relating to updating of time/date stamp when no user
          "ok" was given. I had an unitialized variable,  which would
          sometimes be non-zero, telling the "update sector" routine to
          update. This could not cause any corruption, since it would
          only be writing out the same info that it read in. It just
          caused the time/date on the file to change.

        - Fixed bug in "Clear unused sectors" where, if the last sector
          on the disk (track 35 sector 16) was all zeros, no garbage
          would be found. Garbage can now be detected and cleaned out.

        - Fixed a bug in the "Undelete files" where if a deleted
          filename was found, but the track/sector links in the first
          sector it pointed to were invalid, a 1 block filename would be
          created anyways. Now no more phantom files are created.


* Made some changes to the file listing when in C64 mode (T64/P00/D64/X64)

        - Added starting track/sector link to the D64/X64 file listing.

        - Added quotes around the filename, so that you can see the left
          and right limitations of the filename.

        - Changed the filenames to lower/upper case. Some C64 files use
          the case difference (looks like upper/graphics when in upper
          case on a real C64). Now you can always see what the filenames
          should be like. Also, instead of using most of the IBM char
          set in place of C64 graphics chars, I translate many of the
          chars to text (either lower or upper case), removed the
          display of chars <32, and kept the use of IBM graphics with
          chars >192).

        - When in a P00 or a T64, the file size is displayed in *bytes*,
          not blocks like it use to be. Since these images are not block
          oriented in nature, I figured it was the best move. There are
          other reasons as well.


* Removed the warning at the end of a delete from a D64 that said "Even
if no errors occurred, it would be adviseable to run Checkdisk...". It
got on my nerves, so I have removed it permanently!


* Added the (I hope) correct sector interleave algorithm, so that files
are now stored as they would be on a real 1541. When allocating a file,
I find the first available sector closest to the directory track, and
then proceed to interleave the sectors by 10. There is more to it, but
it tests out ok, and seems to follow something at least similar to the
operation of a real 1541. (I changed this because some people would
convert the image back to a real 1541 disk, and if you used the linear
method of storing files, i.e. 1,1 1,2 1,3 1,4, file access would be
unbearably slow on a real 1541.)


* Along the same lines, I added the correct interleaving on the
directory track as well. It uses an interleave of 3 (instead of 10), so
it now works like a real 1541.


* Improved the reading of damaged D64/X64 images. 64COPY will now
display the list of files that it has read up to the point of detecting
the error. You do get notification that the directory is damaged, and to
run CHECKDISK right away.


* Added a "Directory integrity" checker to the front-end of the
Checkdisk routine. It looks for a circular directory (one that never
ends, it just keeps going around), bad dir t/s links, and virtually
demands that you correct them. If you do not, the Checkdisk function
will not continue, since you will likely cause more harm than good!


* DOS CHKDSK no longer runs when you are inside *any* image file. I
found it annoying when inside either a P00 or a T64, you accidentally
hit Alt-F3, and suddenly you are in CHKDSK. Now, it will bring you into
the correct D64 Checkdisk, or when in a P00, tells you there is no
Checkdisk for P00 files.


* External editors will now edit the image file you are in, if you
select the Editor function from within any image file. Before, you had
to be on a legitimate filename (directories don't count), and the editor
would try to edit the actual filename you were on, not the image you
were working *inside* of.


* Delete files routine (for deleting files from T64's ONLY) now runs
backwards. If you select several files to delete, when you actually
delete them they will get deleted last to first (bottom-up as opposed to
top-down). This change was made because it is much faster to delete
files from inside a T64 if you go backwards. I doubt this change will
affect too many people adversly.


--------------------------------------------------------------------------


There is bound to be more changes than what I have listed here, but
these are the most important ones.
