Summary of changes from release 2.12 to release 2.20 ---------------------------------------------------- * Added in a Directory Editor (SHIFT-F2) for D/X64 disks. This allows you to create customized directories with dummy entries, graphics, patterns, separators, etc. Most of the D64 directory functions (like Swap Names and Insert Directory Seps) are also in this function. Any directory manipulation should now be done in here, as it is *very* convenient. You can also use the D64 HEX editor for the more "fine-tuned" work. See the help screen when in the Editor for some more info. * Added in a simple macro capability on CTRL-F9 (Record Macro) and F9 (Play Macro). 1. When CTRL-F9 is pushed, a window will appear where you can rename, delete or select which macro to work with. You can use F1 to edit the name, F8 to (re)record a macro, or DEL to remove the whole macro (name and all). 2. If F8 is selected, you are now in "recording" mode. Up to 175 keystrokes are recorded. Use ESC to stop the recording. 3. A description of the macro must be entered if you try to record a new macro, or if you press F1 to edit the description. It can be up to 49 characters in length, which should be enough! 4. To execute a stored macro, select it in the CTRL-F9 window by positioning the moveable bar over it and pressing the RETURN key. Then press F9 to execute. Once a macro is selected, it will remain selected, until you actually exit the program. 5. You will be notified (by a flashing notice reading either "Macro Recording" or "Macro Playing") when something with macros is happening. If, at any time during the macro, an error window comes up or an error beep is supposed to sound, the macro will be stopped. 6. All macros are stored in an external file called .MAC. If the file has become corrupted, some or all of the macros might be lost. You will be notified when this has happened. 7. One trick, when recording a macro and you want it to auto-repeat, is to press F9 at the end of the key sequence. This will cause the macro playback routine to re-run itself, making it look like the "auto-repeat macros" configuration option is set. 8. Another trick is to chain macros together, also using the F9 Play Macro's key. Record Macro#1, and at the end of the sequence press CTRL-F9, select the next macro (using numbers 1-5 rather than arrows to move the bar around), press return to set it, and press F9 to play it. Now when you play macro #1, it will also execute the CTRL-F9, select and Play Macro #x sequence. Doing this, you can chain all 5 macros together, allowing for a macro of almost 860 keystrokes. * Added four more Configuration options, and made some more changes to the Configuration code: 1. Auto-Generate unique name. When doing a Convert Files, even with the "Auto-Convert Filenames" checked, you might still get a notice when you attempt to create a file that already exists. This will skip the warning and generate a filename based on the original name, but with a modified last 3 characters. When the conversion is done, you might find some wierd looking filenames on the destination drive. Simply change them to something a little more normal. NOTE: This option only applies to the Convert Filenames routine, not the DOS copy/move routines. 2. Auto-Repeat Macros. This will re-run the macro after it has completed. 3. "WipeFile" during Delete. This will *permanently* remove a file by overwriting it with a pattern, resizing the file to a length of 0 bytes, eliminating the filename, then removing the file itself. You can (if you care to try) recover the file using your favorite recovery tool (Norton UnErase), but it will be of zero length, and its contents will be *completely* destroyed, and hence no good. You will be warned if this is set and you try delete any files. I have tried to include this option in *every* instance if file removal, and warn you when it might happen. 4. Case-Sensitive Searches. This option applies to the Editor/Viewer/D64 Editor Search (F5) and Search/Replace (F6). You can set what type of case sensitivity you want, from no, ask and yes. 5. Completely redesigned (again!) the configuration screen, but now options are put together in their appropriate area. I also removed the "DOS CheckDisk command" option, as I saw no need for it. (I also had no room to put it back on the config screen once I redid it!). 6. Increased the config options to 150 (but many are not used yet). This means that I have again changed the INI layout, and the old one is no longer valid. You will have to change the defaults back to the way you like them. * Added "Change D64 Attributes". It is under CTRL-A, the same as the DOS change attrib's function. It will do the changes either file by file, or tagged. * Several fixes/changes to the Editor: 1. Fixed bug in keypad * paste function. 2. Changed ALT-F5 to "Find New" and ALT-F6 to "Replace New", rather than saying "Find Again" or "Replace Again". It seemed to confusing to say "Find Again", when it did not really do that. * Several changes to the HEX Editor/Text Viewer: 1. Removed F7 "Search Again" feature and made ALT-F5 "Search For Text Again", as well as ALT-F6 to "Search For HEX Again". F5/F6 will now automatically do the search again without asking. 2. Added the ability to Tag blocks of data in the HEX editor. Now with F7 (Tag Start) and F8 (Tag End), as well as ALT-T (Adjust Tag Size), you can select what you want to save to another file. 3. Added the ability to save a tagged block in the HEX editor. If you have a file which is composed of several binaries, and it needs to be split, just tag the area and save it out to another file. 4. Added a simple copy/paste to the HEX editor. Copy is on ALT-C (and ALT-X), Paste is on ALT-V, and Clear Paste Buffer is on ALT-Z. The copy buffer is limited to 4096 bytes. 5. The F9 "Goto Address" will default to the address of the first byte of the tagged region. If no region is defined, no address will be displayed. This can be useful if you want to go back to where you had tagged something, or where the search had found something, and you have since moved the displayed area somewhere else. 6. The Text Viewer will now try to open *any* file in shared access mode, but if this is not possible, then it won't display it. If you try to HEX edit a file, it will try to open it up in read/write shared access mode. If this doesn't work, then it will try it read-only. If this still doesn't work, then the file cannot be displayed. This change will make it possible to view files (like active log files) which are currently opened up by another application (like the OS). 7. Added an address and offset line to the top of the HEX display, so you can tell what byte you are on when in the HEX editor. 8. Added case sensitivity to the ASCII searches. * Changed Edit mode in D64 HEX Edit so that ALT-keypad values can be entered. Now, if you need to add a ASCII 10, 27, 13 (any normally non-printable character), you will get it. The normal keys (ESC, Return) are still handled normally. * Rethought the Search and Search/Replace in the D64 Hex editor, in order to make them all the same. Now they are just like the Viewer/Editor/HEX editor. You have F5 for search, ALT F5 for changing the search string, F6 for Replace and ALT F6 for changing the Replace string. * Changed the CTRL-RETURN code for appending filenames to the command-line. Now, it will insert a space automatically, if no space would precede the filename. * Cleaned up some cases where file-handles would be left open, eventually making the program unuseable because files would not be able to be opened. * Moved the Change D64/T64 Label from ALT-F10 to SHIFT-F10. It fit better into the scheme of the SHIFT options. * Changed the Copy File code so that files are opened in "shared" mode, allowing you to copy "busy" files (like OS/2 system files, DLL's etc). Before, the program would simply inform you that the file couldn't be opened for read and continue on with the copy/move. Note: this change does not mean that *any* busy file can now be copied. If the file is opened for "exclusive access", nobody else can touch it, regardless of the "sharing" options. * Fixed the 64COPY.EXE code for the new options added in version 2.12 (and earlier). I neglected to set the defaults to the proper values when you run the program for the first time. The keyboard settings were too slow, "Save settings on exit" was not set, and a few others were out of sync. Most of the others incorrect settings were not significant. * Removed many of the "error beeps" that were present. This was done to facilitate the running of Macro's, which would stop when *any* beep occurred. Now when an error window (red window) comes up, when you overrun the command-line or a dialog comes up which is really important, I will give the beep, but nowhere else. This means that you shouldn't have to turn off the beep in the configuration window any more. * Pressing the RETURN key in *any* area of the Configuration window will exit the window, with changes intact. ESC still does this as well. * Pressing 'N' when asked if you want to overwrite the existing file when a filename collision occurred would rename the file anyways. * If an archive file (D64/T64/P00 etc) is busy (open by C64S/PC64), then you will be informed that the file cannot be opened when you try to enter it by hitting return on it. This really comes into play under a multi-tasking OS when you are sorting software on D64 images, and this program wouldn't say a thing when it couldn't open the image due to PC64 having it already open. * Improved error reporting in the ZipCode to D64 code. Now it will report if track/sector values are bad or if an EOF occurs too soon. Before you would be told "Unable to read ZipCode part!", which was not too useful.. * Moving files from a D64 image was broken, only the first file would be deleted, the rest would stay. * You can now copy/move single files within the same directory, as long as you rename them first. If you don't rename them, you will still get the "Can't copy/move to the same directory" error. * When cancelling a Print Files job, a form feed is now sent to the printer to eject the last page. * Changed all the references in the Create T64 code from a default of 30 to what is defined on the Config screen, as it should be. * Starting the Editor (F4) on either a directory or a ".." file will start you off editing a new file. * The file created when the "Log DOS Copy/Move Errors" is active was recording the destination directory (instead of the source directory), and was also including the formatting codes in the error messages. * Deleting files from D/X64's will now remove REL files properly. It was *very* broken. ------------------------------------------------------------------------------- Summary of changes from release 2.11 to release 2.12 ---------------------------------------------------- * Added six more Configuration options: 1. Choice between tall (Û) or short (_) cursor. 2. Default tab width for the Viewer/Editor. 3. Keyboard repeat delay time (none to long). 4. Keyboard repeat speed (fastest to slow). 5. Mouse tracking speed (not very useful yet!) 6. Save/don't save INI settings on exit. * Made more changes to the screen saver... 1. Added "hot corners" to activate/deactivate the screen saver. The top right corner will activate the saver (after about a 1 second delay), and the bottom right corner will disable the saver. Also, now the mouse movement is sensed, and the saver will be deactivated when the mouse is moved. 2. Added "Blackout" screen saver. It simply clears the screen and displays randomly-selected pre-programmed phrases at random locations on screen. (If you have any other 'cute' phrases, mail them to me.) 3. Included checks for low memory conditions, and if they exist, the screen saver is disabled. * Added in a text file editor. Right now it is limited to files of <63k in length. Attempts to edit files larger than this will result in only the first 63k of the file being loaded. It is modelled rather heavily after Qedit, one of my favorite editors, but there are some differences. See the HELP window for the details on what keys do what. You can also use the ALT-KEYPAD combinations to enter unusual ASCII characters you might need (i.e. ALT-1-0 for a linefeed, ALT-2-6 for an EOF etc). * Added in the total entry count into the T64 status bar. Now it says "xx entries free (xx total)" * Added a "time estimation" to the DOS copy window. It is an approximation of the time remaining to complete the copy/move operation. It is not terribly accurate, but it is a start. I doubt anyone (but myself) will find it useful. * Added a "cancel" option to the exit window of the Disassembly screen. If you accidentally hit ESC (or F10), and you are presented with the "Save .OVV file" dialog, you can cancel back the the edit screen by hitting 'C'. * Added Insert key repeat (finally!). This should work under *any* OS (DOS, Win95, OS/2). I used a very different method than Star Commander, so that the OS/2 limitation was avoided. * Files from inside a T64 image could not be Moved (F6) out, except for the first file. All the rest would appear to be copied, and then the error "Can't find filename!" would appear. In actual fact, the remaining files would not be copied (although they appeared to be) but were trashed. * Removed the "Undefined" phrase from the unused user menu entries. Now they are just empty, so it is easier to see what is defined. * Changed the Shift-F6 rename function to display a little more info (old filename) and what type of file/dir you are renaming. * Changed the Search (ALT-F7) dialog and how it finds matches. If you enter "DE*" for a search string, now it will add ".*" to the end, to make it find both files and directories. * When the program exits, the original video mode (lines/screen) will be restored, just in case this is important. * The Insert Separators (SHIFT-F7) would fail after ~10 insertions. Fixed. * You are now alerted with the error window "Can't enter directory" when you try to go into a locked/bad/network-protected directory. * Fixed another *major* bug. If you are moving files to somewhere on the same drive (not copy or move to another drive), you could end up losing some of the files or directories. It happened here in the shop (rarely) and *finally* happened to me. * Error messages generated during a copy/move were inadvertently removed some time ago. They have been restored. * Changed the Search dialog so that in order to cancel a search, you have to hit ESC, otherwise the search will continue. It use to be "hit RETURN to continue" which seemed a very silly thing to do. * Removed my dependancy on the Watcom GRAPH.H library which provided the mode switching capabilities (25/43/50 line modes). This provided a savings of 18k of memory, which can be utilized for the needs of the internal editor, under low memory conditions. * Changed the maximum number of files displayable from 1500 to 1000. *Very* few directories ever get past 1000 (even >500 is unusual, except for Netscape cache directories). By reducing down the number, ~30k more memory has been made available. * Viewer (under certain circumstances) would use up all the available "window handles" (an internal program limitation), thus rendering the program unuseable. Attempts to quit at this point would crash the system. * Both viewer and editor could be executed when no panels were visible. ------------------------------------------------------------------------------- Summary of changes from release 2.10 to release 2.11 ---------------------------------------------------- * Added File Viewer on F3 and a HEX editor on ALT-F4. You can do the following things: 1. You can execute the BASIC UnLister, 6502 Disassembler, Print Files and the external text editor (the shortcut keys are defined the ALT menu). 2. Switch Display Modes (F12) between Text (CR/LF/TAB) and Raw (no CR/LF/TAB translation). The Display Mode setting is retained if you exit the viewer. 3. Includes a HEX viewer/editor (ALT-F4) as well. 4. Display (F11) 'blank' IBM ASCII characters 0, 32 and 255 as 'ú', which would would normally not be visible, and CR/LF as a ''. The "Show Blanks" will be retained, so you can set it once and always view files with that setting. 6. Search for text(F5)/HEX(F6) strings. F7 allows you to re-search for the same thing you looked for previous, without having to answer any dialog boxes. 7. If you don't want to use a particular internal editor/viewer, you can specify that in the Configuration (ALT-F6) window to use your externally defined programs instead. * Added full color to all the saver modules, and also made some other small changes. Some of the modules would never draw to the edges of the screen but would be short by one line (on the right and bottom). Kaleidescope was drawing off the bottom of the screen (one line too far), but I don't think there is anything in that area of memory which would cause problems. They also work in Mono mode. * Added in Filename Swap on Shift-F5, so that now in D64's *only* you can re-arrange the filename order to whatever you like. It is basically a manual method for sorting a directory. This feature won't ever work on T64's (in this program) because of the way I display the T64 directory. It is sorted and displayed in a special way, and swapping the names means the displayed directory order will not change at all. * Put the clock back in most of the full-screen operations like CheckT64, CheckD64, DeTokenizer, Hex Edit, Viewer etc. For some reason, I decided to turn it off and I should not have. * Rewrote the Change Attributes (CTRL-A) command. Now, it looks more like the normal Norton screen, with set and clear bits. * Re-wrote the Configuration routine to make it easier to add in more options, and moved a few things around. I also added in some more options: 1. Three options to select the use of internal/external editors/viewers. Hex Edit and Text View all default to "internal", but the Text Editor still defaults to "external". 2. Clock on/off. * Improved low-memory checking. If you are running low on memory, most operations which require a chunk of memory (more than 8k) will fail, reporting the condition. If the windowing system cannot allocate enough to store the window contents, the program will quit. There are a few other cases where the program will quit under low-memory, but you will be informed when those happen. * Added a "Sample Window" display (F7) to the color configuration. Now you can see what a color combo will look like with a window and sample text. * Added in a % indicator into the Disassembler, so now you have a fairly accurate indicator of how far you are into the file. * Changed the look of the clock from all numbers "xx/xx/xx" to "Month day/year". * The "title" bar ("Hex Edit...") in the Hex Editor was not being removed when you exited the editor. Also the track/sector locations were being placed down 1 line too far when I went to Goto (F9) to another t/s. * I would glady inform you that the disk/file was write-protected, but did really poor checking to prevent you from changing things. This applied to almost all routines. I modified all the routines which must know about write-protection, and now lock out all things which would cause a modify. * Fixed a *major* bug in the T64 sort routine where the list was not likely being sorted at all due to a variable not being assigned a value, but was being used as a parameter in the sort routine. I'm suprised no one saw or reported this one, but its gone now. * Found another T64 bug, this time in the CheckT64 routine. I was once again using a variable I had not assigned a value, and it would crash sometimes (quite badly when it did!). * Had to fix the check for "Moving to the same directory" (F6) again, since it would not catch all cases. I could still cause it to fail, thus deleting the file I was attempting to Move. Note this only applied when F6 (Move) was selected, not F5. * Other small improvements/changes all over the place. ------------------------------------------------------------------------------- Summary of changes from release 2.09 to release 2.10 ---------------------------------------------------- * Added in almost complete support for LNX archives. They are now treated just like a T64 (multiple files) except that you cannot delete, create and CheckLynx them. Simply hit RETURN on them to go inside, and you can now copy/convert to any other file type. This should make conversion from LNX to any other filetype (especially T64's and D64's) a breeze compared to before. * You can now convert ZipCodes to a D64 directly from *inside* the LNX. There is no longer any need for the intermediate step of converting them to DOS binaries first. ZipCodes can be converted from either a DOS, LNX or T64 archive, but not from a D64 archive. * Added one more Configuration option... "Pause on return from shell". Now, you can specify whether you want 64COPY to say "Press any key to return to 64COPY" after executing an external program/command. It is set to default to *not* pause. * Made the preservation of your color configuration automatic. Now, when you quit, the 64COPY.CLR file is created, which contains the color configuration that you presently have. If I distribute a later version where the .INI file has changed (which happens a lot), the program will now see that the INI file can't be used, and will attempt to load the colors from the .CLR file. You can still save the file when in the Color Config window, but it will always be saved when you exit 64COPY. * Removed the program name/author/email info from the CTRL-L (Drive Size) command and moved it to the first page of the Help Screen (F1). Now you can tell what version you are running besides from the opening dialog box). * Changes to the Disassembler: 1. Increased the bytes/line for .BYTE tables from 5 to 8. 2. Added the name "HLT" in place of all the "???" that the opcodes ending in 2 (02, 22, D2) would produce. Almost all of the x2 opcodes crash the 64, so the code HLT seemed to fit. This only works when Illegal Opcodes is set on. 3. Added a dialog to ask about the starting address. Most binary files have as the first two bytes the load address (in lo-hi format). I look at these and ask if they are the starting address. If you say yes, they are then always skipped. If you say no, they will be included in the disassembly. * Changes to the BASIC detokenizer: 1. Altered the way the screen gets drawn. Sometimes, you would get one too many lines written, and the top line would scroll off. Now, this won't happen. 2. Added better support for "List hiding" techniques, where the author tried to prevent you from seeing the BASIC listing. 3. Added "Load Address" and "Filename" display at top of screen. 4. Added output filename changing, so that the source file won't get overwritten by the BASIC output file. * Changes to the Screen Saver: 1. Added screen saver "Game of Life". I hope you have seen this one before since it is rather common. Very interesting patterns can develop. 2. Added another screen saver "Kaliedescope". Its still in being developed, and will improve. 3. Altered the way "Snake" works. Now there are up to 20 snakes, and when they get stuck, they have up to a certain amount of time to get free, or else they die and disappear. They don't crash into each other any more, but rather will avoid each other. Much more enjoyable to watch. 4. When the screen saver switches to another module, it will not run the same one twice in a row, and all of them will be run without repetition. ------------------------------------------------------------------------------- Summary of changes from release 2.08 to release 2.09 ---------------------------------------------------- * More changes to the HEX editor: 1. Added an extra ALT-T to turn off the tagging, if there is a tag area set. If there is no area set, then a new area will be started, like normal. 2. Pressing BACKSPACE in either edit mode will delete characters, like it does in DOS, filling the deleted chars with 00's. When in VIEW mode, it will only move the cursor back 1 character. 3. Added TAB key to move cursor forwards 8 characters. 4. Pressing SPACE when in VIEW mode, it moves the cursor ahead 1 character, but doesn't erase anything. 5. Changed the way the cursor moves when using the arrow keys. Now, it will go up (or down/left/right) 1 line when you wrap around the end of lines, just like it does when you type in ASCII mode. * Added in a Disassembler (SHIFT-F4). Here's how it works... 1. Convert the file from C64 to Binary format. This funtion only works when the file is in binary. 2. Enter the start address for the program (F12). You will not be allowed to do very much until you do. 3. Go over the code, looking for all references to byte tables (look for LDA $xxxx,y or STA $xxxx,y or CMP $xxxx,y, etc. Any ABSOLUTE address reference (indexed or not) that falls in the program range, and is used for lookup or modification, is a table reference. You can spot them because they will be highlited if they have no label or table reference. Set up the tables throughout the program (F7) 4. If you wish, you can enter any labels you want (F5). 5. Once *all* the tables are found and entered, you can do all the rest of the labelling automatically (F3). This is a dangerous command, since there is no going back from it (well, you can, just make sure to save (F4) the OVerView file first). It will automatically determine *all* the JMP, JSR, indexed and branch addresses and label them. If you don't like the results, don't save the OVerView file, and you can then go back to the previous label structure. 6. Once this is done, check over all the code again, and make sure no "???" opcodes exist. If they do, make sure no tables were missed. * Added in a BASIC detokenizer (SHIFT-F3). Here's how it works... 1. Position the bar over a DOS binary filename (this function only works on DOS files, so convert any file from C64 to BIN). 2. Press SHIFT-F3, and the specify whether you want to dump it to screen or disk. If it is going to disk, it will create a file called .BAS. You can then look at it with a TEXT editor. Dumping to screen will dump one screen at a time, with a pause in between. You can press ESC any time to cancel. * Added in the CheckTape code. It only checks for a few things, since the format for T64's does not allow for much repairing. No data is removed from the archive, only directory entries. For now, I repair/check for the following things: 1. Bad offset values in the directory entry. If the value is illegal, the dir entry is removed. 2. Incorrect "entries used" counter. Many times, this counter will be completely wrong, and I check for the number of used entries to set it back to normal. * Fixed error in Rename/Move where the copy would generally fail after one use. * Fixed an error in the SHIFT-F6 (Rename C64) where T64 directory entries could not be changed. * Fixed a bug in the text output of the windowing code. Don't worry, you likely never saw it. * Fixed it so you can again specify "MODE CO80,25" to change the screen size. When I rewrote the video section (to allow for user selectable defaults), I neglected to allow you to change it on the command-line. I also broke the defaults... if you set the video mode to always be mono, when you shelled and re-entered, the video mode went back to color. * Added another Configuration option: CheckDisk command-line. This allows you to customize the DOS ALT-F3 checkdisk with whatever you want it to run, other than CHKDSK, like SCANDISK, NDD, etc. I also added in a confirmation on the ALT-F3 (DOS) CHKDSK. Now, it will ask before running the DOS checkdisk. * Added another Configuration option... "Log DOS Copy/Move disk errors". Now, if an error occurs while reading a disk (only in DOS mode), a box will not come up but instead the error will be logged to a file that you specify. At the end of the copy you will be informed that some files were skipped due to errors encountered. This is a feature I don't expect too many people to use since it is primarily for myself. I use the program for DOS disk recovery, and it will be *very* useful for me to know what files failed to be recovered by checking the log file. * Added Save and Restore Colors to Color Config window. Now you can save the color configuration to the file 64COPY.CLR and restore it later, especially after I change the .INI file and you lose your custom color configuration. * Changed the look of the CheckDisk and CheckTape windows... they are now almost full-screen, with better contrast between the checking window and the error messages that invariably come up. They use the Viewer color, if you want to know to change it. * Added a multi-module screen saver. It allows you to set the time from "off" to 30 minutes. For now, there are three savers that will be randomly selected from. One is the standard "Starry Night", one is "Maze", and the third is "Snake". If you have any ideas for other savers, let me know (but describe it in great detail). I can easily add them in, as long as the resulting code is of reasonable size. ------------------------------------------------------------------------------- Summary of changes from release 2.07 to release 2.08 (a *LOT*) -------------------------------------------------------------- * Made many changes to the Hex editor: 1. Removed the "Are you sure you want to quit" box when you exit. 2. Added "Status: " to show if a sector is allocated or not. 3. Can now tag sections (using ALT-T) for copy/paste. 4. Removed the "Are you sure..." from the paste (F12) 5. The panel listings are now updated after exiting (in case of changes). 6. Added better checking for valid track/sectors in the Next Sector (F7) 7. Completed the ASCII (F5) and HEX (F6) search engine. The two have separate search strings, and the HEX search data can be entered in virtually any way (as long as it is groups of two hex chars). 8. Editor will now start at the track/sector that the file you have selected in the panel points to. 9. Changed Zero Sector to Zero Area. It will clear out either what you tag or the whole sector. 10. ASCII edit will now flip the characters case, so that text entered in lower/upper case will appear that way on the C64 as well. * Added seven new configuration options (and rearranged the Config Screen as well)... 1. Change sector interleave (range 1-15). Allows you to change the default interleave of 10 to what you think would be better. 2. "Welcome To.." box on startup. You can turn off (or on) the "Welcome" box that would normally be displayed. If you have selected it to be displayed, it can still be overridden by the command line option '/quiet' to turn it off. 3. Starting color mode. You can now set the program to work in either Mono or Color at all times. It can still be overridden by the command line option '/mono' or '/color' to force a color or mono mode. This mode might be a little confusing, since if you are on a mono screen, you cannot force a color mode, since to do so would be fruitless, but you can force a mono color scheme on a color monitor. 4. Default entries for T64's created in the F11 Convert routine. This does not apply to T64's created by CTRL-F12, only those converted from other formats. It will always default to 30, with an allowable range of 1-1499. 5. Default screen line mode. Now you can specify how many lines per screen you want to always see when you start up 64COPY. It will default to 43 line upon startup (with no .INI file), and no matter what video mode you are in, it will go back to this specified value upon execution. 6. Convert default filetype. When you press F11 when in an emulator file, or on a DOS file, usually the default for conversion will be P00. Now you can select from D64, T64, P00, Binary and X64. 7. Convert Filenames. This will allow you to auto-create DOS filenames that you are converting from other C64 files. Instead of asking you for a confirmation for each one, it will create it for you, and only inform you when a duplicate name occurs. * Changed the handling of DIR separators ("-----------------" files). They are identifiable by their starting sector (either 18,0 or 18,1) 1. You can create DIR separators by SHIFT-F7. It will be inserted after the file you are presently on. 2. Keypad +/-/* will no longer select them, making conversion easier. 3. You can delete them by either the F8 or SHIFT-F8, and any contents they refer to will not be de-allocated. I would recommend running CheckDisk after such a delete. * Changed the bar graphs in much of the program... a. Added a dual bar graph to the Copy/Move and Convert routines. The top one shows the % completion of the file copy and the bottom one shows the overall % completion. Note this also applies to the LNX/ZipCode/D64 conversion as well. b. Added a % graph to the Delete files. c. Added bar graph to Change Attributes. * Added "Undo to User Settings" to the Color Configuration (installed under F2). Now, if you make changes, but want to return to *your* settings, use F2. If you want complete defaults, still use F9. * Removed "window flashing" if you run 64COPY windowed (either in OS/2 or Windows). You could see this in full-screen as well if you watch the bar-graph very closely... during operations it would be erased and redrawn very quickly, but it was nowhere near as obvious. * Removed the autodetection of filetypes in the UnLynx code, since it was getting fooled into creating some *really* strange filetypes. Now all files created are either ZipCode (#! files) or P00's, no more .SFX, .SDA etc. You will have to convert them out of P00 after the conversion. * Improved checking for when to convert files (F11) to/from ZipCode and LNX. Now, if you have selected various files, some of which are not ZipCode, D64/X64 or LNX, the Convert routine will assume you want to convert them only, and not do anything else like UnZipCode. If you have *only* selected the proper files, then *only* ZipCode, LNX or UnZipCode will be executed. Remember, in order to convert ZipCodes, D64's or LNX files, it must be done through the F11 key. If you select DIR's, they will be untagged, since you cannot convert directories. * Conversion to ZipCode will now retain the full filename. Before, a file like "impossib.d64" would be ZipCoded to "1!imposs", losing the last two letters of the name "ib". They are now retained as part of the extension. * You can now select a group of files inside a T64/X64/D64/P00 and do an ALT-F5 Tagged Size, and a you will receive a % useage box. Different C64 files will return different info. * Added display of free blocks when files have been tagged in a D/X64. Before, it would just say "xxx blocks in xx files", now it says "xxx blocks in xx files (xx free)". * Added display of free entries in a T64 file (both with and without files tagged). Note, this amount may be wrong, depending on what program created the T64. * Fixed the percentage calculations in the ALT-F5 (Tagged Size totalling) and CTRL-L (Drive useage). Sometimes, they could be thrown out by a good number (see what CD-ROM's still does to it!) * Files converted to P/S/R/U00 from illegal file types (e.g. "!!!") will now be created as PRG (P00) files, and not !!! (!00) like it use to. * Added the size and number of the items you are going to delete in the delete dialog box, instead of just the number of items. * Modified the way that CTRL-U (Swap Panels) works. Now, it just swaps the info, whereas before it would remove the panels, reread the info, and re-display the panels. Tha old way was slower, and I didn't swap half of the panel markers (hilite position, C64 mode, etc). It should be a lot better. * Once again I altered the way D64/X64's are recognized as valid. I discovered some disks that still were incorrectly identified as *not* being D64's when they were. I hope this is the last time I have to change this. * Added command-line option shortcuts... '/M' for '/MONO', '/Q' for '/QUIET' and '/C' for '/COLOR'. These were easier to type in. These options override (but won't change) any default setting you have in the .INI file. * Removed error window about creating duplicate Pxx files in the Convert Routine. They will now be created automatically (up to 99 duplicates). * Fixed the auto-create for D64 because it was never asking you for a confirmation for creating the files. It always skipped that part. * After investigating the way that the 1541 does its sector interleave, I have had to rewrite most of the algorithm. My old method was close (and likely won't cause any speed problems on a real C64). but I felt that being as accurate as I could get would be the best. (I was doing several things wrong... a) When I went past the end of the track, I went to the wrong sector b) When I had to change tracks, I went to the wrong sector c) When I reached one end of the disk (track 1 or 35), I didn't go searching for the next sector correctly. Most of the errors are not large (only a few sectors off), and didn't affect the whole file, only small sections of it. Errors 'a' and 'b' would be the most obvious for speed. It now seems to work the way a real 1541 does, but I might find something in the future that needs fixing again. * Fixed bug in the History (ALT-F8) where if you shelled out by doing a F4 (Edit), and came back, the history would be full of empty entries. This was a very hard-to-duplicate error, and you may not have seen this, but its gone now. * Fixed a bug (likely introduced in 2.07) where, if you tag only 1 file, move the hilite bar to another entry, and press F11 (Convert), no conversion would take place. * Fixed a bug in the Create Images (for D64/X64) where the *complete* filename (including path) was being put into the header as a disk name, not just the filename, and was overwriting too much area. It is not too crucial, but looked stupid. This only applied when you were converting (F5/F6/F11), and not to the Create D64 (F12). Now it just uses the filename, without the extension. * Fixed another bug in the Convert section where if you tried to convert a file (any file) to T64. and you were already in a T64 in the opposite panel, the file would not be converted but it would look like it was being copied instead. * Fixed an error in the window sizing and window text output in the Directory Delete routine where the text could sometimes end up outside the window. It was very hard to duplicate. There is bound to be more changes than what I have listed here, but these are the most important ones. ------------------------------------------------------------------------------- Summary of changes from release 2.06 to release 2.07 ---------------------------------------------------- * Added a Directory Compression routine to the CheckDisk section. What this does is eliminate the empty entries in the physical directory, and pack them all together, then de-allocating the now unused sectors left over. This can be useful if you have turned on the option to use track 18 as file space. If there is a lot of unused space in the directory, and you need to have more file space, this might get a few extra sectors for you. * Fixed a bug where the name in the status line would go lowercase if the other panel was in C64 mode, and certain operations were performed. * Fixed a *major* bug in the T64 routines (introduced back in 2.06) where the first few entries in the T64 will not be read due to my reading the Tape Label, and failing to reset the file index pointer to the beginning, thereby missing the first two directory entries. My sincere apologies for this. It does not cause any damage, except that the first entries are missed. * Re-introduced the "Press any key..." message when, after shelling out to do something, you re-enter the program. This was in earlier versions, and still does this when you run 64MAIN.EXE by itself. * Added a check for REL file side-sector info into the CheckDisk routine. If you checked a disk with a REL file on it (before this addition), the file size would not be correct (it would be 1-6 sectors short), since the side sectors were not being counted and instead would be de-allocated (if you said "Yes" to correcting the BAM and Block Count.) * Added in the Rename function for D64 and T64 directory entries, as well as PC64 files (P##/S##/U##/R##). I use to have this code in a much earlier version but, due to design changes, it was removed. It is now installed under SHIFT-F6. An added bonus here is it will also change DOS filenames (both files and directories, but only the name under the cursor, no tagging.) * Added deletion of REL file from D64/X64 types (had to add the removal of side-sector info). * Added error messages regarding REL file if errors occur while removing or checking the side-sector info. * Now, when you change the options "Show Hidden/System Files" or "Use D64 Track 18...", the file listings will automatically get updated, instead of making you do a re-read. ------------------------------------------------------------------------------- Summary of changes from release 2.05 to release 2.06 ---------------------------------------------------- * Added ZipCode creation. Now you can create ZipCode files from D64 and X64 archives. Just position the cursor over the D64/X64 file, press F11, and the rest is automatic. * Allow creation of X64 files in the Zip2D64 code. Now, when converting ZipCode files to D64, if you change the extension of the destination file to X64, an X64 file will be created, instead of a D64. * Moved (actually more like crowbarred) the ZipCode-D64, D64-ZipCode and Unlynx routines partially into the main Convert code. Now, if you have a group of D64/X64's, ZipCodes and/or LNX files tagged, they will get converted as a group. However, if you also include some other files (i.e DOS files), things get very strange. Just don't do that. * Found another bug in the T64 creation routine (but I think this one is not very serious.) The "Tape Name" area in the header was 2 bytes early from where it was supposed to be. It has been corrected, but if you view the tape header, the name will not look right. This error did not overwrite any important data (I think), since the bytes it was overwriting were, in the T64 specifications, unused. * Added displaying and changing of Disk (D/X64) and Tape (T64) labels. Now, when you go into a disk or tape image, the label is displayed on the bottom of the screen, where the "Disk Free" line usually is. You can change it using the ALT-F10 key, now assigned "Change Label". ------------------------------------------------------------------------------- Summary of changes from release 2.04 to release 2.05 ---------------------------------------------------- * Added a screen size and video mode display to the top line. Now you can see what size of screen (80x25 or 80x50) you are on, as well as the video mode (mono or color). * If you now press ESC when the prompt line is empty, all the panels will be turned off automatically. This might be *very* disliked for a while, but once you get use to it, it is a very good shortcut to see the screen versus using CTRL-O all the time. Most of the newer Norton clones (Volkov Commander, and Star Commander are the ones I know of) support this. It will take some getting use to. * UnLynx and UnZipCode, when they finish, will now position the highlight bar back over the file that was being worked on. * Altered the way that the panel highlight bar gets updated after an operation that might affect its location. Before, if you UnLynx'd a file, the whole panel listing would be redrawn, with the highlight bar in the center, but now, it will only re-position if it has to, not by default. * Fixed a bug in the UnLynx code where if a file had a bad Lynx header, the file would (of course) not be Unlynx'd, but the progress-bar would be drawn anyways, overtop of one of the panels. * Significantly changed the color scheme and panel layout to look more like Norton Commander. It's not exactly the same, but it looks much closer. * Panel display now shows (and sorts together) all hidden and/or system files with the "±" character, as I thought I was doing all along. * Filenames converted from Lynx format had there case inverted (lower to upper and vice versa). Now they are always converted as the name is stored in the archive. Apologies to those who might have experienced this. * Still cleaning up some lingering bugs dealing with shelling out of the program to execute commands on the 64COPY command-line. The prompt was not restored properly if the highlite bar was in the right panel... it was always being restored as though it was in the left panel (when the panels were off). Also the first history command (ALT-F8) was being overwritten. * Changed the panel display to read "UP--DIR" for ".." directories and "SUB-DIR" for regular directories. I didn't realize that Norton Commander did this. * Added SHIFT FKeys (but nothing assigned to them yet). I actually didn't know Norton Commander had these keys assigned as I never tried them before. * Fixed an error in the Change Video Mode (F9) routine, where if the video mode could not be changed to a higher lines/screen, the error would say "Could not change to 0 lines", rather than the lines/screen of what was attempted. * Added in a D64 HEX editor (ALT-F4). When you are in a D64, the internal editor will always be selected. When you are in non-D64 (DOS) mode, the external HEX editor will still be called (for now). * If mouse is active, when the program is entered, the mouse is now at the top left corner of the screen and out of the way instead of being in the middle. * Sped up the file list drawing by removing terribly some unnecessary code. * Finally added the Color Configuration window (CTRL-F6). Now you can make the program as ugly as you want. Check it out. * Changed the Configuration screen. You now have some user options you can change from the Config panel, such as the editor names, and some confirmations. Since I added in both the Config and Color screens, I changed the layout of the INI file again. The old one is no longer valid. However, since you now have color manipulation (and changeable options), I don't think I will be changing the layout much more. All I want to put in there is now there (I hope!) * Fixed a whole mess of problems dealing with C64 files that start with the "." (except the ".." Up-Dir filename) character. If such a file existed, many (if not all) of the regular functions like Copy, Move, Delete and Convert would not work at all. I hope they are all operating properly now. * Fixed a bug where if you hit return on a file when in an emulator file, it would be treated like a DOS file. An attempt would then be made to find a match in the .EXT file, and the associated command would then be executed. You should never be able to associate commands to things inside emulator files. ------------------------------------------------------------------------------- Summary of changes from release 2.03 to release 2.04 ---------------------------------------------------- * Improved RENAME function to allow for deleting of destination file if the name you want to rename to already exists. * Split the program into two parts. The first program is still called 64COPY.EXE, but it is just a loader program for the main code which is now contained in 64MAIN.EXE. When you execute 64COPY.EXE, 64MAIN.EXE is then loaded, and control passed to it. When you execute a command-line command, 64MAIN.EXE is unloaded, control is passed back to 64COPY.EXE, the command is executed, and 64MAIN.EXE is reloaded. Now, when you execute commands, instead of 64COPY taking up almost 230k of memory, it is down to 24k. A great improvement to running programs from the 64COPY command line. If you wish, you can run 64MAIN.EXE separately, but you don't get the advantage of reduced memory useage, since if the loader is not used, it will not unload itself but just execute the command. The only drawback is the time taken to reload 64MAIN.EXE. On my machine it is anywhere from 2-4 seconds. I am working on improving this. * Modified the ALT-F1 and ALT-F2 (Change Drive) selection boxes. If you had more than 24 drive letters (and don't we all), the list of drives would exceed the width of the window, and wrap to the next line. Now, when the number of drive letters exceeds 14, the display will narrow up, making room for more. * Show how many files are contained in a LYNX file (displayed in thge dialog box) when you press F11 on the filename, just so you know how many files you will be converting. * Fixed progress bar in File Search (it usually wouldn't display any movement at all). ------------------------------------------------------------------------------- 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 (but it will also likely result in garbled panel displays when trying to display character and scenery disks which contain no directory). * 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 or other LNX 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 .CHK, where 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 (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 than ~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 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. -------------------------------------------------------------------------------