CBMXfer (C)2007-2016 Steve J. Gray (sjgray@rogers.com)  www.stevegray.ca
======= V0.41 - Mar 12,2016

CBMXfer is a freeware file transfer program for the PC which lets you transfer files to
and from a Commodore IEC or IEEE drive attached to the PC via X-Cable (OpenCBM compatible
cable, including Zoom Floppy USB) or CBMLink cable. It is also a Commodore file viewer.

CBMXfer is a front-end (GUI) to several command-line utilities including:

 * OpenCBM.... Device driver and utilities to connect a Commodore IEC drive via "X-Cable"
		 or USB (Zoom Floppy adapter)
 * CBMLink.... Talks to a Commodore computer via serial cable
 * Vice....... Emulators plus C1541 utility - Works with Commodore Disk Image files (like D64)
 * NibTools... Low-level disk "nibbler" utilities using parallel port cables

 CBMXfer will have limited use without at least one of the above utilties. Please see
below for installation instructions!

CBMXfer is based on GUI4CBM4WIN by Leif Bloomquist, Wolfgang Moser, and Spiro Trikaliotis.
GUI4CBM4WIN Version 0.4.1 sourcecode was used as the base. CBMXfer also includes portions
of CBM2BMP v1.1 by Peter Weighill.


Intro
=====

 I purchased an XM1541 cable to backup my Commodore disk collection and preserve some of the
old software and files from the old days. I also have some 8050 and SFD disks that I want to
back up. Unfortunately, because these are IEEE devices they are not usable with the XM1541
cable and GUI4CBM4WIN ("G4C" from now on). 

 I didn't want to mess around with DOS or DOS-based utilities like STAR COMMANDER and wanted
to do everything in Windows. I found G4C 0.4.1 and started playing with it. It was okay but
I found it lacking in some areas.

 As a VB6 programmer I wanted to fix it up. Then I found it had been converted to VB.NET.
Unfortunately I do not have VB.NET and I also find it too different and bulky for my tastes,
so I decided to stay with VB6.

 Having two different development forks for G4C makes no sense so I decided to rename mine
to CBMXfer, a much easier name. CBMXfer has additional features that set it apart
feature-wise from G4C. 

In 2011 I purchased a Zoom Floppy adapter with IEEE connector and parallel cable for the 1541.
The Zoom Floppy allows you to connect your drives via USB. For new computer users this might
be your only option. The parallel cable allows you to backup copy-protected disks very quickly.

I look forward to user feedback. Please email me your bug reports, and ideas to help me
improve the program! Enjoy!

Steve J. Gray
	Email.......: sjgray@rogers.com
	Web.........: http://www.6502.org/users/sjgray/index.html
	CBMXfer Page: http://www.6502.org/users/sjgray/software/cbmxfer/cbmxfer.html


Installation
============

Download the following additional programs: 

	OpenCBM  (For X cable or Zoom Floppy. ZF users make sure to use the correct version!)
		SEE NOTE BELOW
		http://sourceforge.net/projects/opencbm/files/opencbm/

	CBMLink  (If you want to use CBMLink Cables)
		http://zimmers.net/anonftp/pub/cbm/crossplatform/transfer/CBM-to-PC/index.html

	Nibtools (For ZF or X cable with parallel option)
		http://c64preservation.com/files/nibtools/

	WinVice  (2.3 or higher recommended. Includes C1541 utility - See Note!)
		http://vice-emu.sourceforge.net/

	ImgCopy  (Now included in OpenCBM 4.99 or higher. Required to support D80/82 and D81 images) 
	

I recommend installing OpenCBM and WinVice first, rebooting, and making sure they work
properly. Next, copy the CBMXfer files to the OpenCBM folder. Now copy the "C1541.EXE" file
from the WinVice directory to the same. If you want to use IEEE drives, copy the
"CBMLINK.EXE" file there too. Finally, if you have a Zoom Floppy with parallel cable copy
the NibTools EXE files (nibread, nibwrite, nibconv) and/or the ImgCopy utility as well. 

Note: The OpenCBM drivers are not signed which will cause issues in 64-bit versions of
      Windows VISTA and higher. OpenCBM 4.99 now has special installation instructions.
      Please refer to the OpenCBM documentation.

 For earlier OpenCBM versions there are workarounds. Please see:

	http://www.techspot.com/community/topics/how-to-install-use-unsigned-drivers-in-windows-vista-7-x64.127187/

or	http://awesome.commodore.me/forum/showthread.php?672-GUIDE-How-to-install-ZoomFloppy-(Also-Win8)


Note: The "C1541.EXE" from Vice 2.2 seems to have a bug. I recommend installing 2.3 or higher.


Program Configuration
=====================

 When you start the program for the first time you will be taken directly to the options
window where you can set the program options. On the left are the available option
categories. Selecting one will change which options are visible.

 Click OK when you are done. The next time the program runs you will go to the main screen and won't see the
option screen unless you click the "Options" button.

General:

  Default Destination Mode.. Selects which will be the default view in the right pane.
  Log all commands.......... Writes exact command to logfile. Use the "Show Log" button to view the log.  
  Check for EXE's........... Not implemented yet.  
  Write P00 files........... Determines if a DOS filenames or P00 files are created when copying from within disk images.
  Show CMD output window.... View results of commands
  Automatically refresh..... Normally checked
  Confirm D64 creation...... Asks confirmation
  Treat Dxx files........... Normally unchecked. Disables image writing
  Start with DAD............ Opens the DAD window and minimizes the main window at startup

Paths:

  Source Directory.......... Default folder of your files (probably images). Click "..." to select.
  Destination Directory..... Default folder of right-side Local PC. Click "..." to select.
  Use Current Button........ Take the current path as the default
  Clear History Button...... Clears the Path History drop-down menu
  Auto add to History....... Automatically adds new paths to the History drop-down


X-Cable:

  Default Device Number..... Usually 8
  Mode...................... The protocol used to communicate (see opencbm manual).
  Disable warp mode......... Check if you have trouble (see opencbm manual).
  Detect Drive Button....... Shows you the ID's of all connected drives.
  Reset Bus Button ......... Does just that.

CBMLink:

  Default Unit.............. Normally U8,D0 (Device 8, drive 0). Many IEEE drives are dual
				units, so you can select drive 1 if desired.
  Connection String......... Specifies the port and speed, usually "serial 19200,com1".

Vice:

  Enable for Dxx............ Enable if you want to run Vice for commodore files
  Path to Vice folder....... The path only, NOT to a specific emulator. Use the "..." button to select.
  For D64/D71/D80 (3 items). Specifies the emulator to run for specific image types. For example,
		       	     D64's are probably C64 disks, but D80's are probably PET disks. Use the
			     drop-down menu to select the proper emulator from the list. Select "NONE"
			     to disable, or select "ASK ME" to be prompted to select one manually.
  For PRG Files............. For PRG file they could be for any machine. Select whether to always run
			     a specific emulator (as above), or have the program read the
                             load address of the file and select the matching emulation.

NibTools:

  Enable NibTools........... You will need a parallel cable for these options
  Create NIB / NBZ.......... These are ALWAYS created since NIBREAD does not create G64/D64 directly.
			     If not selected the NIB/NBZ file will be deleted after conversion.
  Create G64 / D64.......... These are created by NIBCONV using the NIB file.
  Start/End Track........... Optional. Overrides defaults if selected.
  Switches.................. Common NibTools option (see NibTools documentation for details).
  Additional Options........ Optional. Specify addition switches here (not checked for validity).

Filenames:

  When CBM filenames........ Commodore filenames can contain characters that are not allowed in DOS.
			     These must be fixed before saving to the local PC.
	- Leave as-is....... Lets you edit the filename manually (forces Confirm/Edit filename)
	- Remove invalid.... Removes all invalid characters (caution: May remove entire filename!)
	- Replace invalid... Replaces with specified character(s).
        - Confirm/Edit...... Enable to allow additional editing after any substitutions above

       Note: if the Commodore application requires specific filenames that contain invalid DOS characters
             it is recommended that you create a disk image rather than copying the files to the local PC.
	     Alternately you can enable the "Write P00" option to create P00 files. P00 files contain a header
	     that preserves the true CBM filename in the header but uses a DOS-friendly filename on disk.

Batch Imaging:

  Enable Batch Disk Imaging.. Enable Batch mode
    - Manual Filename Entry.. Asks for label for each disk
    - Use Disk Label......... Uses label from disk header... Caution: Duplicate headers will overwrite previous
    - Numbered, Starting at.. Numbers the disk from starting number entered
	- Double-sided....... Adds both sides of a "flippy disk". 
	- Filename format.... The template for image names.Uses the following special characters for variable
				#=Disk Number digit placeholder (If you want a 3-digit number use 3 #'s)
				%=Disk Side a or b (lowercase)
				^=Disk Side A or B (uppercase)
				*=Disk Side 1 or 2

    Log Disk Labels.......... Not Implemented. Looking for suggestions!
    Log Disk Contents........ Not Implemented

Fonts:

    Use 'C64..' font......... Uses alternate font. Must be installed in your system fonts directory


Basic Operation
===============

The main window is divided into three areas;

 * Left/Local/Source (PC) pane.
 * Centre area for mode and transfer operations.
 * Right/Remote/Destination (Commodore) pane.

 The LEFT side is where your "Local" PC files are, where you can work with disk image files,
and also to view files.

 The RIGHT side displays the directories from remote Commodore drives that are connected
via an X-Cable, Zoom Floppy, or CBMLink cable. You can also view the local PC as well, for copying files
within disk images, or just for convenience.


Centre Section
--------------

 The centre section contains the two main transfer buttons, and a few other buttons.

  * Options button............. Brings up program options window (see above).
  * Results button............. Displays output from last CMD operation.
  * About button............... For program information etc. 
  * Help button................ Displays this Help text file.
  * DAD button................. Opens the "Drag And Drop" window.

  * Right Arrow ("->") button.. Copies from the LEFT to the RIGHT.
  * Left Arrow ("<-") button... Copies from the RIGHT to the LEFT.

 Also at the top left and bottom right are two expander buttons (">>" and "<<") that expands or hides elements
on the left and right.


Left Pane
---------

 The LEFT pane is your "Source" pane. At the top are two coloured buttons to select
which information is displayed:
 
  * Local PC.... Standard PC files; Floppy, Hard drive, or Mapped Network drives. 
  * Disk Image.. The contents of a Commodore Disk Image (D64, D80, NIB etc).

  The selected button will have the name in bold white text. Un-selected buttons have black text. You may
also click the ">>" button in the top centre section to expand the left pane to dual view and show BOTH
local PC and Disk Image. Click "<<" to return to single view. You can still use the top buttons to select
the source when transferring to the right side pane.

Note: When in dual view, clicking on a supported image file on the left side listing will automatically
      open it in the right side.

Local PC:

  When "Local PC" is selected you will see the current directory. At the top is the directory
  path. Click the "..." button to select a new directory to view. Type here to change directly
  to a specific directory, then press ENTER. You can also drag and drop a folder icon here. The ">>"
  control lets you toggle separate drive and path controls. Click "<<" to hide them again.

  The "v" button brings up a drop-down menu to work with the paths:

  * Explore Source................ Opens the Source directory in an explorer Window
  * Explore Destination........... Opens the Destination directory in an explorer Window
  * Swap Source and Destination... Swaps Source and Destination paths.
  * Set Source.................... Makes the Source path the same as the Destination path.
  * Set Destination............... Makes the Destination path the same as the Source path.
  * Add Current Path to History... Adds the path
  * Remove Current Path........... Removes the path
  * Clear History................. Clears the Source Path history list.
  * Create New Folder............. Prompts for new folder name and creates it in the current folder

  NOTE: You can enable "Auto add Path" in the Options/path tab to automatically add new paths to the
        drop-down menu. Paths will be saved on exit.


  Below those buttons are the files from the selected directory. At the bottom are the file-related
  buttons and totals KB and Blocks for any selected file(s).

  * Refresh...... Refreshes the file list

  * Rename....... Rename selected file(s). If multiple files are selected it will prompt for each file. To
		  abort click the "Cancel All" button.

  * Delete....... Delete selected file(s)
  * New Dnn...... Creates a new, blank disk image. The extension determines the type.

  * Run.......... Smart button. Runs EXE files, edits TXT files, or runs VICE
  * View......... Smart button. View Commodore files.

   The "File Filter" lets you pick which types of files to view. So, for example, if you set it to
  "D64" then you will only see files with an extension of "D64". Some options show files of a single
  file type and others show groups of related files. For example, "image files" shows you all image
  types such as D64,G64,D71,D80,NIB etc.

   You can select one or more files in the usual Windows method (shift/ctrl). The size and "blocks"
  (Commodore drive blocks) will be shown for all selected to help you figure out how much will fit
  on a disk when copied.

  If you click on a file with the extension "PRG","SEQ" or NO EXTENSION you can view
  the file on the built-in CBM Viewer. See "File Viewer" below.

  If you click on a "Dxx" or "G64" image file then click "Run", you can load the image into a
  specific VICE emulation chosen for that image type. The emulator will load and attach the image
  and autorun the first file inside the image.

Disk Image:

  This tab lets you view the contents of any supported disk image file.

  If you click on a "Dxx" image file then click "View" the Dxx file will be opened and you can view
  the contents of the disk on the LEFT side. When you are viewing an image file you can copy files
  from inside the image to the RIGHT pane or view files in the file viewer! Clicking "Run", loads
  VICE, attaches the image, and runs the selected file.

  If you click on a "NIB" or "NBZ" image file then "View" you will be prompted to
  convert the file to D64 first before viewing.

  You may also view an Image File by first clicking on the Disk Image button at the top, then
  dragging and dropping the file to the file list area. Only one file may be dropped at a time.

  The following buttons are available:

  * All/None..... Selects ALL files in the list, or deselect ALL files.
  * Delete....... Removes the file from the image.
  * Refresh...... Re-read the image file.
  * View......... Displays the file in the File Viewer. Files are extracted to a temporary file
                  in order to be viewed.
  * Run.......... Starts the appropriate Vice emulator, attaches the current image and autoruns
		  the selected PRG file. 
  * "v".......... Drop-down menu with options to save the disk directory as a text file, add it to the
                  Catalog, and to view the Catalog.

   To return to the normal PC directory click on the "Local PC" button at the top. You can freely
  swap between the Local PC directory and the Disk Image.


Right Pane
----------

   This lets you view directories on Commodore drives connected via OpenCBM or CBMLink.
  Click on the coloured button at the top to select which to view.

CBM Drive on X-Cable / Zoom Floppy (USB):

  The X-cable connects a Commodore IEC drive (1541, 1571, 1581 etc) or other drive
  (1541-III, uIEC) to the PC via the printer port and uses OpenCBM for communication.

	IMPORTANT!: There are several different types of X-Cables. I recommend you use an "XM"
		    or "XA" type for use with windows. Other types may not work.

  You can also use the Zoom Floppy (ZF) adapter via USB. The ZF adapter might be your only option
 if you have a newer computer with no printer/parallel port. The ZF adapter also supports
 "parallel cable", which is a modification to the Commodore drive to add a fast parallel data
 connection. With the parallel cable you can backup many protected or non-standard disks using the
 NibTools utilities.

	Note: Make sure you are using the latest release of OpenCBM that includes
		Zoom Floppy support!

   From top to bottom, in blue, are the Disk Title and ID, Files, Blocks free, and drive status. To
  the right are the buttons plus one drop-down menu to select the device number (normally 8) of the
  drive you want to use. Below that is a box to show the drive model#. Clicking the box will do a 
  re-scan of the devices on the bus. If a 1571 drive is detected as the current device it will ask
  you if you want to use double-sided mode.

  * Directory......... reads the disk from on the currently selected drive unit
  * Format............ Formats the disk
  * Init.............. Initializes the disk (like re-reading)
  * Val............... Validate the disk (re-calculate BAM)
  * Rename............ Rename files
  * Scratch........... Delete files
  * View.............. Display the File Viewer window.
	         	Supports BASIC, SEQ, BINARY, CHRSET and ML files.
  * Root.............. Return to Root partition of 1581 disk (*)
  * Sel............... Enter/Select highlighted 1581 disk partition (*)
  * All............... Select ALL files
  * None.............. De-select ALL files.

  Note: (*) these buttons are only visible when a 1581 disk directory is shown.


CBM Drive via CBMLink:
  
   The CBMLink (or PRLink) cable connects a PC to a Commodore computer via the PC's serial port.
  This cable usually attaches to the Commodore machine's cassete port, but may also be connected to
  a serial port if available. The Commodore drives are connected to the Commodore computer as usual.
  The CBMLink program must be loaded on the Commodore computer. There is a version specific to each
  Commodore machine.

  Once CBMLink is running, any drive that is attached can be accessed. CBMLink is commonly used on
  the older PET machines to access IEEE drives (4040, 8050 etc).

  At the top is a drop-down menu to select the device number and drive number (to accomodate dual
  drive units).

  Make sure that the correct speed and COM port are set in the CBMXfer options!

  The layout is very similar to the X-Cable, minus the 1581 buttons. The drive selector
  drop-down menu has additional options for dual drive units.


Local PC:

    Similar to the Local PC on the left side, but with only basic file functions. The "Make Dir" button
  lets you create a new directory (folder).


DAD Window
==========

  The DAD (Drag And Drop) window can be opened by clicking the "DAD" button on the main screen,
 or by setting the "Show DAD.." option. The DAD window allows you to use Windows Explorer as your interface
 for Image file creation, disk imaging, and file viewing. You can Drop any supported image file or files to
 this window and the image will be written to the currently selected drive on the X-cable interface. If you
 drop a supported PRG, SEQ, or picture file then it will be viewed (if multiple files are dropped only the
 first will be viewed).

 By clicking in this window you are prompted to Create an Image File from the current disk in the selected drive.
 Images are saved to the currently selected path on the left side (source).


File Transfer
=============

  NOTE: There are 12 possible combinations for file transfer. Currently only 9 are supported!
	Please email me if you need the remaining 3 ;-)

  Basically, you select the file or files you want to copy and click the "->" or "<-" button in the
centre section that points in the direction you want to copy. To select multiple files use the
standard windows convention of SHIFT to select a range, or CTRL to select individual files.

  To write D64 images (and others) to disk, select the image file in the LEFT pane and Commodore
drive in the RIGHT (ie: X-Cable or CBMLink cable) then click the "->" button. If you select multiple
images on the left then you will enable BATCH mode. You will be prompted to insert a new disk for
each image.

 IMPORTANT: Writing images will ERASE any data you have on the disk!!!

  To make a D64 image from a disk, make sure NO files are selected in the RIGHT pane then click the
"<-" button. You will be asked for a name to save the image (the Disk Title will be the default).
If you have a 1571 dual-sided floppy, simply change the extension to D71.

  If you have a parallel connection in your Commodore drive you can enable the "Use NibTools"
option and create additional image types NIB, NBZ or G64 in a similar fashion. NibTools has many options,
so please refer to the Nibtools documentation for correct usage of the various switches.

  When transfering files from Commodore disk, PRG and SEQ extensions will added automatically to the
filename on the PC. When PRG and SEQ files are written to Commodore disk the PRG and SEQ will be
removed but will appear properly as PRG or SEQ in the directory listing.

 NOTE:	Commodore uses PETSCII characters. This is a different standard than ASCII on the PC!
	Some Commodore characters or symbols may not have a matching ASCII equivilent and you may
	be asked to enter a new filename when transferring files to the PC. If you wish to preserve the
	Commodore filename then you can enable the "Write P00" option.


File Viewer
===========

 The file viewer is designed to view various Commodore files. Since Commodore DOS doesn't use EXTENSIONS
like the PC, there are only two Commodore file types you can view... PRG and SEQ (USR and REL are not
supported at the moment). You can also view BIN files, which are commonly used for ROM contents. We can
assume SEQ files are plain data, probably text. However, without an extension we don't know what
type of file a PRG might be. There must be a way for the user to change how the file is viewed. At the
top of the viewer window are coloured buttons to select the view mode. You can select:

 * BASIC.... Displays tokenized Commodore BASIC files.  Most dialects and versions are supported.
 * SEQ...... Displays as text.
 * BIN...... Displays Binary file as HEX values plus Text (non-printing characters are shown as ".")
 * CHR SET.. Displays as 8x8 (normal) or 8x16 (CBM-II) format Character ROM file
 * ASM...... Displays 6502 Assembly code with various formatting options.
 * BITMAP... Displays supported CBM format picture formats such as KoalaPainter and GeoPaint files.

 The file viewer window is scalable. It can also be left open while you work on the main window. Clicking
the "VIEW" button in the main window will update the view in the Viewer window.

 You can split the view into two by clicking on the "+" button to the right of the view mode buttons. When
you do this you can view the same file two different ways at the same time. A ">" button will appear.
Clicking this button toggles it between "<" and ">" to let you select the view mode for the left or right.
Note now that the "+" button becomes a "-". Clicking it returns you to single-view mode.

Normally when viewing PRG, SEQ or BIN fles the view will change to BASIC, SEQ or BIN automatically. The
"Lock View" option overrides this behaviour. You can also view "P00" files. The header will be skipped automatically.
If you select a file that is not recognized you will be prompted to choose the either the CBMXfer built-in
viewer, or the application associated with the file extension.

The different views are:

BASIC:

  Takes a tokenized Commodore BASIC file in any CBM dialect. The default mode is "Auto", which
 reads the load address from the file to determine which dialect to use. Most common load addresses
 are supported, but if the basic file has been relocated you may need to select the dialect manually
 from the drop-down menu. The load address is displayed along with the target machine name. There
 are several formatting options:

  * Reverse Text.......... Switches upper and lower case (needed for some early PET files)
  * Use CBM Font.......... Switches to either "CBM 64" font or "CBM FONTS" Windows font. These
				must be installed in the system fonts folder.
  * Expand Special........ Converts 'special' formatting characters to readable descriptions.
				IE: Reverse R =  {rvs}, Reverse Heart = {cls}
		             	Use the UCase option to make them Uppercase, ie: {RVS} {CLS}		
  * Break Multi........... Breaks multiple statements to separate lines
  * Pad Tokens............ Adds additional spaces between tokens to improve readability

  * To Clipboard Button... pastes the listing to the clipboard.
  * Export................ saves the listing to a text file.


SEQ:

  Displays the file as a data file, and assumes it is readable text. Non-printable text is not
 displayed. If the file contains non-printable text you might consider changing to the "BIN"
 view below.

  * Use 'SEQ Viewer' C64 Font... Uses a font called "SEQ Viewer".


BIN:

  Displays the file as binary, using four-digit hex offset and two-digit hex values (with 16 bytes
 per line). If the "Show Printable" option is enabled it will also display the ASCII equivilent
 characters. Unprintable characters are represented with a "." character. If you de-select the
 "Show Printable" option only the hex values will be shown (with 32 bytes per line).


CHR SET:

   For viewing Character Set ROMs (no checking is done to verify the file contents). 

 At the top left is the selected character. To the the right, is the character set.
 Click on a character to select it, or use the "<" and ">" buttons. The character number is displayed.
 Many ROMs contain multiple character sets. You can select between '8x8' or '8x16' pixel format. Most character
 sets are 8x8. The CBM-II machines use 8x16 format. At the top are the 1,2 and 3x zoom buttons. The colour scheme
 menu let you pick the foreground and background colours as used on various machines. You can also click on the
 colour boxes to choose a custom color. Click the "Borders" checkbox to add a border around each character.


ASM:

   This is an interactive 6502 machine code disassembler. You can select different formats from the Format
 drop-down menu. Check the 'Load address in File' option if the first two bytes of the file are the
 load address. They will be skipped. Otherwise, enter the address manually.

 Click the "To Clipboard" option to paste the code to the clipboard.

  The output can be enhanced with the use of Symbol Tables and Data Tables. The Symbol Table is
a list of special addresses, their names, and comments. When the viewer sees an address that matches
one in the table, the symbol name will be substituted and the comment will be added. The Data Table
is a list of address ranges. Any bytes inside this range will be treated as data rather than machine code.
Bytes will be listed according to the type code. This is commonly used with lookup tables or text strings.

  At the top is a box that indicates errors. Yellow for errors (invalid opcodes) or Green for All-ok. Clicking
the box jumps to the next line with an illegal instruction. Beside that is the Refresh button to disassemble again.
The "Find" button lets you enter any string to search for, and the "Next" button repeats for the next occurance.

 Click on the ">" button to show or "<" to hide the Symbol and Data Tables.

 For both the Symbol and Data Tables there are 5 buttons:

  * Load.. Load a SYM or TXT text file.
  * Save.. Save the current table to a file.
  * Add... Adds an entry to the table.
  * Del... Deletes the currently selected table.
  * Find.. Finds the next occurance of address in the selected line

   Click the "Load" button to load a Symbol or Data Table file. The files must be in a specific format.
   - Symbol Table format: $HHHH,SYMBOL,comment
   - Data Table format: $SSSS,$EEEE,TYPE,comment

    where, $HHHH is the hex address and SYMBOL is a string name.
    where, $SSSS and $EEEE are the start and end hex addresses.
	   TYPE defines the block formatting (B=BYT,W=WORD,S=ASCII String,X=Hide)

  Click the "Save" button to save the table to a file.

  Click the "Add" button to add an entry to the selected table. Use the formats shown above. You may also select
  a line (symbol list) or a range (table list) from the ML listing and the appropriate addresses will be filled
  in for you automatically (note: only works when the line begins with a hex address).

  Click the "Del" button to delete the currently selected entry.

  Double-click an entry to edit it.

  ******* Note: This is a work in progress! ****************
  **
  ** I still have some bugs to work out in the disassembler.
  ** I am also looking for feedback to see if this
  ** is useful for people and if so what types of outputs
  ** and features would be needed. Please contact me if you
  ** wish to see this feature improved/expanded. Thanks!
  **
  **********************************************************


BITMAP:

   Displays supported CBM picture files. Pictures are automatically identified and displayed. If the
 file is not known a generic B/W 320x200 pixel image will be shown. Currently supported formats are:

	* Art Studio (ART)
	* Doodle
	* Image System
	* Advanced Art Studio
	* Artist 64
	* Blazing Paddles
	* Koala Painter (KOA)
	* Image System
	* Vidcom 64
	* CDU Paint (CDU)
	* GeoPaint (GEO)

   CBMXfer recognizes files with an ART, KOA, CDU or GEO extension in the LocalPC directory. Other
 formats will require that you specifically select the BITMAP view mode button. If a format is recognized
 the name will be displayed, as well as any internal comments. To save the currently displayed image
 to a Windows BMP file, click the "SAVE..." button.
 
 Note: The bitmap viewer contains portions of code from CBM2BMP by Peter Weighill.

 
 Note: The files "tokens.dat", "6502opcodes.txt", and "picformats.txt" are required for the viewer.


Vice Support
============

  CBMXfer supports the Vice emulator (as of VICE 2.4 - available at VICETEAM.ORG). CBMXfer can be a
convenient front-end for running the various machine emulators. There are three ways this can work.

  * Disk Images:
	Any D64, G64, D71, D80, D81 (and others) contain the data for a complete Commodore floppy
	disk in various formats for various disk drives. Inside the disk images can be one or more
	files in Commodore format. Clicking a disk image from the Local PC list and then clicking
	"Run" will run the emulator specified (you may be prompted), attach the disk image then run
	the first file in the directory (as if you typed LOAD "*",8,1:RUN).

	You can select which emulation is run for various disk images by clicking "Options", then
	"Vice" and picking the one you want from the drop-down menu. If you prefer to select the
	emulator manually then choose the "ASK ME" option.

  * Selected File in Disk Image:
	As above, but instead of clicking "Run" you click "View". The disk image will be loaded and
	displayed. You can then select the file you want to run then click the "Run" button.

  * PRG File:
	In the Local PC view, if you have Commodore files with a PRG extension (ie: NOT inside a disk
	image) you can click on it and select "Run". Since the PRG file is not inside a disk image
	it could be for ANY system. So there are two choices:
	
		* Run specified emulator..... Selected from drop-down list. The "ASK ME" option
						probably makes the most sense.
		* Use Load Address........... Probably an even better option. Reads the file and
						calculates the Load Address from the first two
						bytes. This will determine which machine it is for.

   If you select "ASK ME" then a window will be displayed with the various emulators listed. Click the
  one you wish to use. Note: You will need Vice 2.3 or higher to select the "C64 sc" emulation, and Vice 2.4
  or higher to select the "P500" emulation.


Tips and Tricks
===============

* For parallel port use an XM or XA cable, as these are the only cables supported by OpenCBM.
* For USB use the Zoom Floppy adapter (recommended)
* Make sure the X-Cable is plugged in and the drive ON before turning on your PC!
* Check for the latest releases of Vice, OpenCBM and CBMLink
* Set your paths to your Commodore files in the options


Change Log
==========

0.41.1 Mar 15,2016
   * Added support for copying .P00 files to/from disk images. Check "Write P00" option to enable P00 creation.
   * P00 files can now be viewed.
   * Removed "show CMD window" option.
   * Add "Create new folder" option in drop-down menu
   * Enable "Cancel All" option for multi-file rename
   * Fix "Lock View" in viewer
   * Add 16/32 character wide font view option
   * Temp fix for TRUE/FALSE settings in INI not recognized in non-english Windows
     (German,French,Spanish now recognized - Will need to properly change INI save/load routines at some point)
   * Add option to remember/use SRC/DEST paths 
   * Config options/settings are now automatically saved when you click OK and when you exit the app
     (removed "Save as Default" button)
   * Window layout (sized using ">>" buttons) are now remembered
   * Fix for "1571 (XM1541)" return string
   * Viewer: fixed dual view refresh
   * Fix for copying files into images
   
0.40 Aug 12,2014
   * Added DAD window and option
   * ML: Add "Find" buttons to SYM and DT lists. Select an entry then click to find the next occurence
   * ML: Click status box to find next "???" (unknown instruction)
   * Changed directory listings to lowercase so graphics characters now appear as uppercase letters
   * Changed Default fonts in lister to be courier fixed-width
   * Click drive model box to detect drives. If 1571 is found will ask if you want double-sided mode.
   * Re-wrote progress bar code to parse output file. Shows track details.
   * Fixed not checking for existing image file. now asks if you want to overwrite
   * BIN: Added checkbox to view as "7-bit". Strips off top bit in printable area.
   * Fix "Preview Commands" option not being saved/restored.
   * Fix transfers from inside disk images
   * Fix scratch and rename via x-cable
   * Added option to use 'C64 USER MONO' truetype font in cbm file lists. Download from:
	http://style64.org/release/c64-truetype-v1.0-style#attachments
   * Improved support for CMD FD drive images (D1M, D2M, D4M)
   * CSET: Added Save as BMP function
   * Add ability to switch 8250/SFD-1001 to single-sided mode
   * Fix "Help" button.
   * Added ">>" button to expand left side to show both LocalPC and selected disk image.
   	When expanded clicking a supported image file automatically views it
   * Added catalog file
   * Added drop-down menu to allow saving disk image as text file, adding to catalog, or viewing catalog
   * Viewer: Added dual view mode
   * Add ">>" to display Drive and Path elements to change directory in both LocalPC panes
   * Re-arranged some buttons so that path and file lists are wider
   * Implemented "Delete" from image file
   * Implemented "Rename" and "Make Dir" on Destination PC pane
   * Add Filter to Dest LocalPC pane
   * Implement Operation 9 of 12 - Copy file from LocalPC to inside disk image file
   * Better handling of large files in viewer (no overflow errors)
   * VICE emulator selector is now closable
   * Reading disk images no longer shows progress window, which is good for dual-view mode.

0.32.2 Feb 12,2013
   * Fix Path History saving bug.
   * Updated documentation to match new features.

0.32.1 Feb 11,2013
   * Add UP button to Source Path
   * Update viewer top-row button behaviour to match main form
   * Add Path History option, Add/Remove options from dropdown
   * Add BATCH image writing
   * Add NIB writing for D64 and NBZ

0.32 Feb 8,2013
   * Change check for disk type. Allow non-standard disks to be imaged with nibtools if enabled.
   * Better 1581 progress bar
   * Fix Hex viewer missing bytes
   * Fix ASM calculating wrong relative branch address, Added Symbol Table 
   * Formatting single-sided on 1571 drive now uses fast format again. Double-sided uses cbmdos command.
   * Handle unknown disk ID's with prompt
   * ASM-Loads faster, bug fixes
   * ASM-Adding Load/Save/Add/Delete and Edit for tables 
   * ASM-Now shows SYM and DT on left, disassembly on right when ">" clicked
   * ASM-First tries to load matching SYM and DT files (ie: filename.sym and filename.dt)
           If not found then "default.sym" and "default.dt" from cbmxfer directory
   * ASM-Added Status box (Yellow=problems, Green=good)
   * ASM-Fix overflow with large files
   * BIN Viewer-Added "Load Address in file" option
   * Double-click on Source file entry defaults to VIEW the file
   * Double-click on Disk Image file entry defaults to VIEW the file
   * Add support for CMD floppy images (D1M,D2M,D4M) in file filter
   * Add support for VICE xcbm5x0 emulator
   * You can now drag and drop a folder to the Source or Destination Path to change to it
   * Fix bug causing crash if you click on a file in source directory that was renamed or deleted (refreshes list)
   * Added Source Directory dropdown menu for path history
   * CHRSET-rearranged elements, Added Zoom buttons
   * CHRSET-fixed color picker not recognizing CANCEL button
   * Top mode-selector buttons now have white text when selected and black when not selected
   * Replace EXPLORE,SAME,SWAP buttons with drop-down menu

0.31 Jan 18,2012
   * Added Batch Disk Image creation. New options frame.
   * Fixed bug in options, not saving x-cable transfer mode (always returned to 'auto')
   * Added main window right pane hide/show button ("<<")
   * Added refresh button to Disk Image view (by request)
   * Made progress window movable
   * Added check for TMP environment variable if TEMP does not exist
   * Added color schemes to chrset viewer plus grid lines option
   * Added support for IMGCOPY (beta release) for Zoom Floppy adapters with IEEE option.
   * Added Help button to display CBMXfer.txt file
   * Added Drag and Drop of Image files to Disk Image Viewer
   * Added Nibtools "-s" option for 1571 fast serial mode
   * Enhanced Drive Detection
   * Added drive model# for XCable
   * Supports 1571 dual-sided formatting
   * Supports formatting on non-1541 drives

0.30 Mar 20,2011
   * Removing the "BETA" tag. I don't want to discourage use of the program because it's "BETA".
   * Expanded documentation
   * New look, cleaner more functional layout
   * Add support for NIBTOOLS
	* Support for NBZ
	* Create G64 and/or D64
	* Support Track start/end, Error Retries, and most common switches
	* Prompt to convert NIB to D64 for viewing
   * Re-work source directory filter
   * Add command Logging, EXE Check disable (for people with binaries in $PATH)
   * Additional filename conversion options for illegal MS-DOS filenames
   * Re-work text/options for Zoom Floppy
   * Reorganize Config window - Now with selector on left side. Now opens centered on main window.
   * Enhanced VICE support - Multiple machine selection options, including prompting to select
   * Viewer:
	* Fixed viewer not clearing lists, implemented binary view.
    	* Fixed SEQ viewer not handling characters in $C0-$DA range
	* Added BITMAP viewer (using code from CBM2BMP by Peter Weighill)
	   
   * Additional ToolTips and fixes to some
   * Added option to treat image files as normal file (allows copying D64 files to large media
	ie: 1581 or uIEC disk)
   * Additional checks to make sure files transferred properly from images
   * Added support in X-Cable for selecting 1581 Partitions and returning to the root partition
   * Added support for Vice 2.3 x64sc emulator
 

0.28 BETA (Apr 28,2010... Released to web Nov 14,2010)
   * Fix Dxx creation path problem


0.27 BETA (Nov 30,2009)
   * Added additional ALT+key shortcuts to buttons
   * Split "View/Run" into two buttons
   * Source window "Run" button now can run Disk Images using VICE
   * Disk Image Viewer now has "Run" button to run PRG files INSIDE images using VICE


0.26 BETA (work in progress)
   * Improved support for D71 files
   * ML Viewer:
       * Fix addresses >$8000,
       * Add missing space after branch instructions
       * Add copy to clipboard button


0.25 BETA (Nov 30,2008)
    * Version Number format change.. I don't need so many digits ;-)
    * Added "Open Directory" button in Explorer to Src and Dest folders
    * Added X-cable and CBMLINK enable checkboxes to options
    * Improved error handling (still needs work. Thanks to Kees Zaaijer for feedback!)
    * Changed Basic Lister to Multi-format viewer
	 - View as: BASIC, Font, SEQ, Disassembler
	 - Not Working: Binary viewer
    * Changelog file now in this readme    
    * Preliminary Documentation - Let me know what topics need more attention ;-)


0.0.1 BETA (Feb 17,2007) Initial Release

    * Fix INI Options not saved or loaded (PreviewCheck)
    * Added Confirm D64 Creation option
    * New layout for Options window
    * Changed Dir load so "blocks free" is in separate area
    * Added Select All/None buttons
    * D64 creation filename defaults to name of CBM disk header string
    * Added D71 image writing to X-Device (real drive on X cable)
    * Added "clear" box to prompt
    * Removed message to check options.. it goes there anyway
    * Removed startup check for EXE's. Changed to when called
	(so users are not forced to download EXE files they don't need)
    * Added Drag-and-Drop copy to CBM drive
    * Fixed Blocks-free/KB overflow error on large files
    * Cleaned up source to make more readable
    * Renamed GUI elements to conform to VB naming convention
      (ie: Labels start with lbl, Buttons with cmd)
    * Fixed operations so Current Directory is not changed every time
    * Added File Filter menu
    * Added separate SOURCE and DESTINATION directories
    	* Path Swap/Copy functions
    * Added support for Vice Team's C1541 commandline utility to work with Disk Images
	* View Image Directory
	* Create new Image
	* Copy files from Image to Local PC or X-Device
    * Added support for CBMLink command to talk to Commodore Machines via serial port link
    * Reword Frame header text since there is more than one "CBM Drive"
	(ie: Distinguish drives on "X-Cable" or via "CBMLink")
    * Toggle between X/CBM/LocalPC destinations
    * Added Tooltips
    * Added Keyboard shortcuts to some buttons
    * Added function to convert CBM filenames to PC-friendly filenames
    * Added CBM BASIC Lister
	* Requires "tokens.dat" data file
	* Supports all released version Tokens
	* Autodetect correct BASIC version (override with dropdown menu)
	* Displays Load Address and Best-guess of target Machine
	* List Formatting options
		* Select Text/Graphic mode
		* Use CBM font if available (must be in system fonts dir)
		* Expands special characters (ie: {RVS} )
		* Break multi-statement lines
		* Pad tokens with spaces
	* Resizable window
	* Export to clipboard
	* Export to text File
	* View with PRG files on LocalPC,inside Image or on X-drive

    * This release 8 of 12 possible copy operations are complete (The others display a "sorry" message)


To-Do and Requested Features
============================

* Option to ignore unknown disk ID's and assume 1541
* Better support for C64 fonts for disk listings etc

