| |
64Copy V4.3 Beta 3 [2007] |
Website :
http://www.64copy.com
Credits :
Download :
Look for downloads on external sites:
Pokefinder.org
Summary Submitted by Scout on 18 May 2007
Summary of changes from 4.2 to 4.30b3
-------------------------------------
* I've had outstanding requests to add support for D80 (8050), D82 (8250),
D2M (FD2000), DNP (CMD hard disk) images as well as GEOS/VLIR files and
proper REL support. Work had started on some of these over three years
ago but the v4.2 disassembler rewrite took priority. I also had to stop
because I found out that over the many years of 64COPY's development,
almost all of the disk image routines had been coded to use DIRECT ACCESS
into the image (very lame)! This meant I had to rewrite many different
functions.
The D80 & D82 image support appears to be complete. D2M and DNP are not
complete but enough is done to warranty usage and testing. They still
require some changes and new functionality to be complete. GEOS & VLIR
files are now supported, and REL is now handled properly as well.
The list of changes done so far is detailed below:
- All the direct access routines had to be changed over to use sector
reads/writes through a central routine.
- All disk-related functions have been modified or re-written (Make
Image, Swap C64 Files, Change Label, Rename C64 File, Format Image,
Change C64 File Attributes, all D64-related core code, Directory
Editor, etc). The BAM and ERROR BYTE editors were radically altered to
allow for easier additions of new disk image types.
- The Format Images and Make Images functions have changed radically as
well. I used to create and format by calling the C function CHSIZE to
create a blank file (all zeros) of a specified size, but have removed
this method in favor of writing the new image (or formatting the
existing image) sector by sector. It will be slower but more
compatible.
- In the process of adding D80 & D82 support, I also restuctured the
support for container images, like X64 and D2M, those that have other
images inside them: X64 contains a header that defines the type of
image it contains and D2M can contain D64, D71 and D81 images as well
as native partitions. These changes will facilitate support for more
X64 variants (and not just the D64 one I support now), along with D2M.
- Convert required major changes to the disk support to allow for copying
VLIR records and GEOS info sectors. The convert code goes back to when
I first wrote 64Copy (1994) and therefore was tricky to change without
breaking something. Things did end up breaking, so I hope I got all of
the problems fixed. GEOS & VLIR files are supported in all disk
formats, even D80 & D82.
- Convert now also works with REL files properly. Instead of relying on
the sequential data track and sector chains being correct and matching
the side-sector chain data, I now read the side-sectors and read the
data sectors from them. REL files can only be converted/copied into
disk images, DOS binary, ARK, LNX and PC64 (R00) formats.
- I've had some issues with REL conversion to ARK files which was
reported to me many years ago. The calculations for the side sector
block counts and last side sector usage stored in the ARK were
sometiomes wrong. Also, conversion was sometimes incomplete where some
data was getting lost at either the beginning or the end of the file
being copied. Hopefully these are all cleared up now.
- Restrictions have been placed on the conversion/copying of T64 FRZ
(memory snapshot) files. They are special file types, and can only be
converted/copied to another T64. An error window will be put up if any
other image type or destination is chosen. No such restriction exists
for VICE VSF files as they are simply DOS files and don't require a
specific file to reside in.
- If copying files into a GEOS-formatted disk and the normal directory
track gets full, you will now be asked about copying into the GEOS
border sector.
* When I wrote the LFN functions a few years ago, I neglected to enhance
the PC64 filename conversion algorithm. Basically, when a filename was
converted from any C64 source to a DOS binary I was always going to the
short name 8.3 functions. I've now made it so that going to any non-PC64
LFN destination will convert the filename to an LFN name, as close to the
source name as possible (upper/lower, spaces). A PC64 destination or a
non-LFN-enabled filesystem destination will always use the non-LFN 8.3
functions.
* 6502 Disassembler changes:
- Set Table user settings are now retained between uses. No more needing
to key in the same table values for each successive table. The region
setting was also not user changeable.
- Single-line comments (not custom code segments) are now shown at the
end of the opcode line, without any different color (it is too
complicated to do multiple colors on one line). This allows small
comments to not break up the disassembly flow. Multi-line comments are
still displayed in a different color before the assigned opcode line.
- Added extra check when loading older project (OVV) files with newer
comment (CMT) files to prevent empty comments from being set in an
entry.
- Most of the menu entries dealing with deleting items did not work
right. The assigned Fkeys were wrong and you would end up getting
another smaller pop-up menu and be forced to choose the menu option
again. It was very frustrating.
- Added a new config switch (to the Edit menu) to disable/enable the
display of lines which need destination links added or have bad
opcodes. This option is always on by default whenever you enter the
Disassembler. This switch allows the code to be shown without any
visual distractions.
- Ctrl-END would sometimes not bring you to the exact end of the file, in
some cases it would be fileend-1.
- Sometimes tables would be created with LBL instead of the TABL header
for the label name.
- The hex numbers (address and data) displayed in the Database Editor
were a mixed bag of upper/lower case. They are now all the same case.
* Changes to the G64 (GCR) conversion code:
- My detection of the track count in a G64 was wrong, and always
defaulted to 40 tracks. I now correctly detect the highest track seen.
- Added a switch to the G64 conversion window called "Limit dest to 35
tracks", which is disabled by default. This will keep the resulting
ZipCode6 or D64 to no more than 35 tracks, even if the source G64
contains 42 tracks.
- I now warn the user of conversion problems and set the track size
accordingly, assuming you haven't set the "limit dest..." switch from
above:
a) when half-tracks exist as they won't get converted
b) when less than 35 tracks exist, the output size is set to 35 tracks
c) when more than 40 tracks exist as track 41 and 42 won't be
converted, and the output size is set to 40 tracks
d) when the track count is between 36 and 39, the output size is set to
40 tracks
* More HELP changes:
- Added extra information to topic 73 "Memory Requirements" about
64Copy's RAM requirements and how to get the most free memory when
running in a DOS box under Windows 2000/XP.
- Many other topic updates
* Formats document updates:
- Updated the D80-D82 document with more info on the BAM breakdown,
interleaves, etc.
- Updated the CRT document with new CRT types (#19-27). Thanks go to
Marco Van Den Heuvel for the new CRT type info and samples.
- Updated GEOS.TXT
- Renamed D2M & to D2M-DNP and extensively updated with new info on the
DNP native partition layout.
* Button Controller changes:
- One long-standing bug is finally gone. A good example of how it worked:
If you are in the Alt-F6 Configuration window, if you changed the
active button at the bottom of the window to CANCEL and then went back
to select a topic and hit return, you would be allowed to make changes.
Now the CANCEL button will be honored when you press ENTER and the
dialog will be exited.
- Somewhere along the line I broke support for buttons in a window that
were not in the "confirmation" area at the bottom of the window (i.e.
the "OK", "Cancel" area. See Alt-F6, Screen Savers panel for a good
example. It contains a Test and Config button outside of the
confirmation area). If you tried to double click either the Test of
Config buttons, the window would simply be dismissed. You could get the
button to work by typing the hot key (the upper-case letter in the
button title).
- Added a new button type called "Button Unchangeable". It is not used in
64Copy as of yet but was added to support another project I am working
on.
- Added a new button type called "Supress Zeros" which will make all 0
values (in both decimal and hex input areas) to show an empty input
area. This button is not yet used in 64Copy.
* The panel header display when in an image file (e.g. D64, D2M) no longer
shows the DOS drive and path. Instead you now get just the image name and
track size of the image. If you are in a D81, D2M or DNP then you see
some extra info regarding directory depth, partition info etc.
* When creating sub-directories in a D81 image, you can now specify what
track to start the it on. The default values will be the largest free
space and its track location.
* The character set used to draw the panel borders (single or double width)
is now unified into a comprehensive array. This may not sound like much
but I had code bits scattered all over which were hard-coded with the
parts of the character sets used to draw the borders. Now that they are
all centralized, I can modify the sets much easier.
* I've always had four (yup, four) different routines for drawing a scroll
bar at the right side of a window (HEXEDIT, VIEWER, HELP and the main
panel display). I've finally unified them all together into a common
window function. They also access a new unified scroll bar character set.
* Saving a new file in the Text Editor, but entering an illegal filename
would result in an error window about the illegal filename, but then the
editor would exit without saving the file.
* An annoying bug has finally been squished in the Delete Files function.
At random, if you pressed F8 to deleted any files (tagged or otherwise)
you would not be presented with a dialog, and nothing would happen.
Shelling out or quitting & restarting would clear up the problem.
* Added the file offset to the alternate T64 panel display layout. This
shows the real offset into the T64 that the selected file starts at.
* In the Panel Editor, added "Restore All Panel Defaults" to F5. This
restores all the panel layouts to the program defaults. This can be
helpful if the panel layouts have changed, but the changes are not being
reflected in the layouts.
* The command Show Tagged Size (Alt-F5) was missing from the main menus so
it was added to the Command menu.
* Cancelling a CheckDisk at just the wrong time would generate a false
"invalid BAM" message.
* Depending on when I changed the overlay layout, error windows that were
supposed to show a message and a filename (in quotes) would not show the
correct message.
* The Shift-F1 key still said "FormatMake" even though it no longer
supports Making new images. Also the F12 key was labelled "MakeArchiv"
even though the files it creates are called Images.
* Color Config was missing one title (Underline text), making the titles
from Full-screen down off by one, and not likely making much sense.
* Removed the FAQ portion from the README.TXT and created a FAQ.TXT
document.
* More code cleanup. I've removed a bunch of "ifdef/ifndef" statements for
defining customizations and commented code segments that are no longer
applicable. Hopefully nothing broke in the process. |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|