Summary of changes from 4.41 to 4.42 ------------------------------------ * If the screen height (line count) is changed when a command is executed on 64Copy's command line, the old video size is restored when 64Copy reloads. For example, shell out when the line count is 50, an external command changes the height back to 25, then 64Copy will restore the video height back to 50 lines. Combine this with the retaining of the video information (below), and you lose almost nothing on screen. * When switching between video modes (25, 43, 50 lines), either using Alt-F9 or through some external command that changes the mode, the text information in the DOS window under the panels is now saved and restored to the new window. For example, when you switch down from 50 line to 25 line, 25 lines of text from the bottom of the DOS window are retained and transferred to the new 25 line window. Also, when going from a 43 to a 50 line screen, the 43 line screen is retained and transferred to the 50 line screen. This way, information that exists on the DOS window will be retained for viewing and not lost in the line switch. * D81 images were not being created correctly. Some important DOS bytes were missing from the BAM sector at 40/2, but were present in the next BAM sector at 40/3. This would result in unusable images in VICE or on a real drive. * The rules for detecting disk image SEPARATOR files has been modifed. Now it is thusly: - Files must have a 0 block size in its directory entry - The track/sector pointer must be 18/0 or 18/1 (actual track depends on image type) or an illegal track value (like 0, or too high) * Convert changes: - New rules for detecting SEPARATOR files (above) have been implemented. - DOS filenames were being truncated too short when copying into an image, with the switch "remove DOS extensions" enabled. This was only evident on longer file names, where the name+extention was over 15 characters long. - SEPARATOR files were losing their track and sector references. If one was pointing to 18/0, it would be recreated with 0/0. * CheckDisk changes - New rules for detecting SEPARATOR files (above) have been implemented. - Important DOS descriptor bytes are now being checked. If they are not correct (like the DOS version byte in the header sector), you will be asked if they can be corrected. - The displayed load address of the file being checked was incorrect. I don't know when I could have broken this. - Added a new switch "Skip SEPARATOR files". There used to be one with the same name on the main CheckXXX window, but this one does a different job. I've added the switch called "Check for dir x-link" which scans for any file cross-linked with the directory chains, but enabling "Skip SEPARATOR files" will ignore those that match the disk image SEP rules. - Updated the CheckXXX Configuration window and the main CheckXXX check window with the new switches. - It used to be that if you enabled "skip SEPARATOR files" on the CheckXXX check window, ALL files that were crosslinked with the directory would be skipped. This included those files that were real files, and not just SEP files. Now SEP files are detected separately from those that are real files. - SEPARATOR files no longer show a load address, since they don't have one. - Recovering a named deleted file (not an unnamed file chain), could cause directory corruption and truncation depending on where the file was located in the directory. * You can now (again) enter the disk label, ID's and DOS version bytes when creating new images using F12. The names and ID's are auto-filled with proper values if you don't want to change them. This change also involved modifications in Convert and Format Images code. * Re-arranged the menu on F12, Create Images. They are now grouped better and not so haphazard. * When a data line (BYTE table) was being displayed in the Disassembler, and a single-line comment existed for that line, there was no indication that a comment existed, no ";" or "" characters unless you went to edit it. Now you will at least see a ";" to show that a comment exists. * The track column in CheckGCR only contained the track location once in a while so it was hard to know what track was being displayed. I've added the track display to almost every line. * When the GCR conversion routines were written, the memory requirement was quite large. I've reduced it down somewhat, which allowed me to reduce the STACK size for the linker from 15000 bytes to 10000. Hopefully this doesn't break something. If it's an issue, the program will crash with STACK OVERFLOW errors. * Added a Panel Defaults option to the Options pull-down menu, right underneath the Panel Layout entry. This is the same function as in the Panel Layout Editor, F5 "Reset All Panels". There was no other simple way to reset the panel layouts in the event that they got messed up, so now there is.