Contents
- Introduction
- Disk image formats
- Plugins
- Operations
- Database
- DroiD64 settings
1. Introduction
DroiD64 is an application used to work with disk images files from the Commodore 64, Commodore 128, Commodore VIC20, Commodore PET and various emulators of this family of computers.
DroiD64 is written in Java to be portable to the various platforms supported by Java. Java 8 runtime or higher is required.
This software works with disk images, and there might be technical deviations in the formats.
Sometimes on purpose by a developer of a certain software package and sometimes by rare Commodore hardware.
Having said this, it is impossible to test and verify every possible variation of disk images in use, so DroiD64 could have bugs and might damage your files.
Much efforts has been spent testing this software, but there could still be bugs left. Use DroiD64 with a little caution and keep a backup of your valuable files.
There are no guarantees for anything when using this software.
However, I use it myself and I have managed pretty well so far. Don't hesitate contacting us if you find any bugs.
The paths mentioned in this document are examples and may or may not match your computer.
1.1 DroiD64 command line
It is recommended, but not required, to increase the java heap size to decrease the risk of running low on java heap memory.
How to do this depends on your operating system and the way you start DroiD64.
Example commandline for Linux, UNIX and similar operating systems with a MySQL database driver:
java -Xmx1024m -classpath /opt/lib/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar:droid64-${project.version}.jar droid64.DroiD64
Example commandline for Microsoft Windows with a MySQL database driver:
java -Xmx1024m -classpath C:\mysql-connector-java-5.1.47\mysql-connector-java-5.1.47-bin.jar;droid64-${project.version}.jar droid64.DroiD64
2. Disk image formats
- D64 (C1541) The standard C64 5.25 inch floppy disks, single sided with 160 kB on each side. It has 35 tracks with between 17 and 21 sectors.
- D67 (C2040) A format similar to D64, but this was used by the first Commodore disk drive and has DOS version 1. It has 35 tracks with between 17 and 21 sectors.
- D71 (C1571) The double sided D64 format used primarily on the Commodore 128. It is organized as 70 tracks with between 17 and 21 sectors.
- D80 (C8050) A 5.25 inch format, single sided with 520 kB on each side. It has 77 tracks with between 23 and 29 sectors.
- D81 (C1581) A 3.5 inch format, double sided with 800kB in total. It has 80 tracks with 40 sectors.
- D82 (C8250) The double sided D80, with a total of 1040 kB. It is organized as 154 tracks with between 23 and 29 sectors.
- D88 (C8280) A 8 inch double sided format with 1001 kB in total. It has 77 tracks with 26 sectors on each side.
- T64 (C1530) The tape format used in several emulators.
- LNX The LiNX disk archive format.
- Zip Supported to allow you to browse contents of image files. When running plugins, the chosen image is extracted into the temp folder and is deleted after use.
- CP/M formatted D64, D71 and D81 images can be read. No write support at the moment, but it is on the to do list.
3. Plugins
Plugins in DroiD64 are used to call external programs on your computer.
This can be any kind of program, e.g. OpenCBM utilities to read/write images to and from real Commodore disk drives or the VICE emulator.
A plugin definition consist of several configurable fields.
The label which is the text on the button.
The command which is the program which will be executed.
The arguments which are command line arguments forwarded to your command.
The description which is the tooltip explaining what the plugin does.
The fork new thread checkbox, which when checked will make the plugin to execute in the background. Otherwise, DroiD64 will be blocked waiting for the plugin to terminate.
These are keywords which may be used in the arguments:
- {Image} - The filename of the disk image. E.g. "/some/where/image.d64".
- {Files} - The names of the selected files. E.g. "file1 file2 file3"
- {ImageFiles} - Similar to {Files} but each file is prefixed by the image: E.g. "/some/where/image.d64:file1 /some/where/image.d64:file2". When used with VICE it will autostart the selected file.
- {Target} - The path of the the other disk pane.
- {NewFile} - Opens a file dialog asking for a name for a new disk image.
- {ImageType} - Type of image (D64, D67, D71, D80, D81 D82, D88, T64, LNX).
- {DriveType} - Type of drive used for the image (1541, 1571, 1581, 4250, 8250, 8280).
Example:
Starting the VICE C64 emulator with disk image disk image mounted and autostart the selected file.
Label: | VICE 64 |
---|
Command: | x64 |
---|
Arguments: | -drive8type {DriveType} {ImageFiles} |
---|
Description: | Invoke VICE 64 emulator |
---|
Fork new thread: | [X] |
---|
4. Operations
4.1. Disk image operations
- Load Disk
- Opens a file dialog for selecting a disk image to be loaded into active panel.
- Unload/Parent
- Unload a mounted disk image, or change to parent folder.
- New Disk
- Opens a dialog for creating a new blank disk image.
- Mirror
- Opens the same folder/image as in the inactive file panel.
- BAM
- Open block allocation map. When double clicking a sector when in view mode, a hexdump of the sector will be shown.
The hex viewer has navigation fields at the top to allow you choose which track and sector to view.
If you select one byte in the table which is a valid track number and if the selected byte is directly followed by a value which is a valid sector number, then a button with the track/sector is enabled. Pressing this button jump to that block.
This is a convenient way to analyze a disk image.
When in edit mode you can toggle a sector between allocated and free.
- Validate Disk
-
The validation feature of DroiD64 will scan the opened disk image for problems. Problems like:
- Sectors which are allocated, but not used by any file.
- Sectors which are free, but used by a file.
- Cyclic sector references on directory track.
- Cyclic sector references within a file.
- A sector being referred to by more than one file.
- The free sector counter in the BAM doesn't match the sectors used by files.
DroiD64 is able to correct these problems, but on some disks these deviations are on purpose and required by the program(s) on the disk.
Some games, megademos and other copy protected software depend on these errors to work. When in doubt, make backups or leave the validation errors.
- Rename Disk
- Opens a rename dialog asking for a new name and disk ID for the mounted image.
- Print Directory
- Print the current file listing.
- Open same as other
- In the active file panel, open the same folder or image is in the inactive file panel.
4.2. File operations
- Copy File
- Copy selected file(s). If copying a CBM (partition) file, its contents is simply copied as one large data file. The BAM, directory blocks and track/sector pointers are not recreated when a partition is copied to another D81 disk image.
- New File
- Opens a dialog for creating a new empty file.
- Delete File
- Delete selected file(s).
- Rename File
- Rename selected file(s).
- MD5 checksum
- Print the selected file(s) MD5 checksum on the console. Useful to compare files.
- Makedir
-
Create a directory in local file system.
The D81 disk images supports partitions (CBM files), and if a d81 image is mounted, a new partition can be created.
4.3. View operations
- View Image
- Open selected file(s) in the Koala paint viewer.
- View Hex
-
Open the selected file in a hexdump viewer. The hexdump viewer can also show MOS 6510 disassembled code of the file. Including the illegal opcodes.
- View Text
- View the selected file as a text file.
- View Basic
- View the selected file as a BASIC listing. BASIC V2 to V7 is supported.
5. Database
To enable database support it is required to provide a jar file with the database driver, which is normally supplied by the database vendor.
DroiD64 has been found to be working with the databases mentioned in the following sub chapters.
The database support enables tracking of the contents on every opened image file and makes it possible to search for images files and the files on them.
You can still use DroiD64 without database support, but without the possibility to search for files.
Different databases use different drivers, connection URLs and syntax. These are the parameters which needs to be setup for DroiD64.
- JDBC driver class
- This is the driver implementation java class which is provided by the database vendor. Without this, DroiD64 will not know which driver to use. This is normally provided by a jar file which must be in the java class path for DroiD64.
- Connection URL
- The JDBC URL used to specify the location of your database. Typically it includes one or more of hostname, port number, file name.
- User
- The user name used to authenticate to your database.
- Password
- The password used to authenticate to your database.
- Limit type
- That syntax the database use to return a subset of all matching rows.
MySQL, H2 and PostgreSQL use "SELECT * FROM table LIMIT 10".
FirebirdSQL use "SELECT FIRST 10 * FROM table".
DB2 use "SELECT * FROM table FETCH FIRST 10 ROWS ONLY".
DroiD64 has been tested with MySQL, PostgreSQL, H2 and FirebirdSQL, but chances are good other databases work too.
If you manage to use DroiD64 with some other database, please mail me the details and this manual will be updated.
5.1. Searching
Once the database setup is done in DroiD64 will the Search top menu be available.
- Search
- Opens a search dialog
- Scan for disk images
- Opens a directory dialog asking for a folder, which to start search recursively for disk images files which are supported by DroiD64. It can take a while if there are many files and folders to scan.
- Sync database and files
- Check all disk image files in database and see if they still exists on your file system. Remove entries from database which no longer exists on file system.
5.2. MySQL
JDBC driver class: | com.mysql.cj.jdbc.Driver |
---|
Connection URL: | jdbc:mysql://localhost:3306/droid64 |
---|
User: | droid64 |
---|
Password: | uridium |
---|
Limit type: | LIMIT |
---|
Download the MySQL Connector/J JDBC driver from https://dev.mysql.com/downloads/connector/j/
and add its jar file to the java class path.
5.3. PostgreSQL
JDBC driver class: | org.postgresql.Driver |
---|
Connection URL: | jdbc:postgresql://localhost:5432/droid64 |
---|
User: | droid64 |
---|
Password: | uridium |
---|
Limit type: | LIMIT |
---|
5.4. H2
JDBC driver class: | org.h2.Driver |
---|
Connection URL: | jdbc:h2:file:~/.droid64.h2;INIT=RUNSCRIPT FROM '~/.droid64.sql' |
---|
User: | droid64 |
---|
Password: | uridium |
---|
Limit type: | LIMIT |
---|
You need to open the DroiD64 database settings dialog.
Press the Database SQL button and save it on your computer.
Modify the connection URL in the file you just saved.
The connection URL contains the path to the database file and the SQL script to initiate the database.
5.5. Firebird SQL
JDBC driver class: | org.firebirdsql.jdbc.FBDriver |
---|
Connection URL: | jdbc:firebirdsql://localhost:3050//var/lib/firebird/data/droid64?encoding=ISO8859_1 |
---|
User: | droid64 |
---|
Password: | uridium |
---|
Limit type: | FIRST |
---|
In Firebird SQL version 3, you probably need to edit your firebird.conf file and set "WireCrypt = Enabled".
6. DroiD64 settings
The configuration file (.droiD64.cfg) is usually stored in the user's home directory, which differs depending on operating system.
If it is missing, it will be recreated using defaults.
6.1. GUI
- Confirm Exit
- If checked, DroiD64 will ask for confirmation before closing the application.
- Look & feel
- Choose between different Java look & feels.
- Disk Image Grid distance
- Size of the rows in the file browser when an image is opened.
- Local Files Grid distance
- Size of the rows in the file browser when browsing the file system.
- Disk Image Font size
- Height of font used in file browser when an image is opened.
- Local Files Font size
- Height of the font used when browsing the file system.
- Window size and location
- The default position and size of the DroiD64 main window.
- System font
- Choose a TrueType font to use is file listing when browsing the file system. Check the check box to reset to the default font.
- Commodore font
- Choose a TrueType font to use when listing disk images. Check the check box to use the default bundled DroiD64 font
6.2. Files
- Left default image dir
- The path which will be opened in the left file browser when DroiD64 is started.
- Right default image dir
- The path which will be opened in the right file browser when DroiD64 is started.
- <ImageType> file extensions
- Semicolon separated lists of file extensions used to identify disk image files.
6.3. Colors
This setting page is used to configure the colors and color theme used in DroiD64.
6.4. Database
The settings for database connectivity. See section 5 in this document for more details.
6.5. Plugin <number<>
Configure the plugin buttons. See section 3 in this document for more details.
There is one sub tab for each of the plugin configurations available.