DroiD64 v${project.version} User Manual

Contents

  1. Introduction
  2. Disk image formats
  3. Plugins
  4. Operations
  5. Database
  6. 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


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:

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:

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.