DirMaster: Documentation

Introduction

DirMaster is a Windows-based GUI tool useful for the management of common (and uncommon) emulator formats (such as .d64, .d81, .d2m, etc) as well as native archival formats (such as .arc, .sda, .lnx, etc). DirMaster differentiates from and surpasses competing GUI tools with its focus on usability - a perfect blend of familiar appearance (e.g. natural looking disk image contents using the CBM character set) with modern GUI functionality (e.g. drag and drop, working with multiple disk images at once).

System Requirements

DirMaster was tested on Win2k, WinXP, Win2k3, and Vista. Some aspects of DirMaster will probably work under Win98, you're welcome to discover this on your own. You'll need to install under an administrator privilege in order to install the needed CBM font.

Installation

Install DirMaster using the setup.exe; after installation you can locate a DirMaster shortcut on your desktop or in your your "X:\Program Files\Style\DirMaster" directory. An updated, improved CBM font file is also included in the installation and placed in your system fonts folder. File associations will be made automagically for all supported file extensions that do not already have an association. If you have already installed DirMaster v1, then the v2 installation should overwrite the older version's files.

General Operation

DirMaster launches as a typical multi-document interface. Disk images that you open, are opened as sub-windows of the DirMaster main window. Menu items are relevant for whatever disk image is the currently active (selected) sub-window. The quickest way to open a disk image is to locate it in the file system and double click - if DirMaster is not already running, it will run and open the clicked image. Note - an option to toggle whether images opened from Explorer are opened in a new DirMaster instance or in a single instance can be found under "Disk -> Options...".

Disk images can also be opened by dragging the file from Explorer onto the main DirMaster window. If the file is a supported disk, it will be opened as a new sub-window. If the file is a supported tape image or native archive format, then a new .d64 disk image will be created with the extracted contents of the tape image or archive file. Multiple files can be opened at once by selecting them in Explorer and then dragging them as a group. Opening several hundred images at once is entirely feasible, although memory usage will rise accordingly. Note - an option to extract archive/tape contents to a .d81 image by default instead of a .d64 image can be found under "Disk -> Options...".

Finally, disk images can be opened using a standard file dialog accessed through the "Disk -> Open" menu item.

Disk images that have been modified (as well as new images created within DirMaster) indicate their unsaved status by appending an asterisk to the disk image filename that appears in the image sub-window's title bar. Note - an option to toggle whether DirMaster forces a confirmation when attempting to close an image with unsaved changes can be found under "Disk -> Options...".

Managing File Associations

DirMaster v2 allows you to manage file associations one by one. The "File Associations" dialog is accessed through the "Help -> Set File Associations..." menu item. Any current association for each extension is shown; checking an extension will associate DirMaster with that extension once you click "OK".

Creating New Disk Images

You can create newly "formatted" disk images for .d64, .d71, .d81, .d80, .d82, .d2m, .dfi, and .dnp.

To create new blank disk images use the sub-menu found under: "Disk -> New". Keyboard equivalents are 6, 7, and 8 for .d64, .d71, and .d81 respectively. The new disk image will appear as a sub-window. Note that at this point the disk image is unsaved and only exists within DirMaster - it must be saved or all changes made to the new image will be lost when it is closed.

Typical Disk Operations

Most functionality that applies to an entire disk image can be found under the "Disk" menu. Additional disk-level operations can be found under the "Edit" menu. Possible operations include:

Validate:

"Disk -> Validate"; same as the typical CBMDOS validate command.

Compact:

"Disk -> Compact"; eliminates deleted file entries from the actual directory structure on disk (i.e. track 18 on a .d64).

Show deleted files:

"Disk -> Show Del Files"; a toggle that can be checked to show deleted file entries. Note that because the native directory structures allocate by sector, the end of a directory listing will display between 0 and 8 blank entries which may not necessarily have been the result of a file deletion.

Fill free sectors:

"Disk -> Fill Free Sectors"; all free sectors (as determined by the BAM) are filled with the fill byte, which can be set on the Options dialog found under "Disk -> Options...".

Directory List:

"Disk -> List Dir" / key '$'; display the disk image directory in the same way as it would be seen in the output of a CBMDOS '$' listing. This attempts to take into account control characters and colors, such as were common on, for example, many Electronic Arts game directories. The resulting directory list is displayed as a SEQ file, and can be exported to a .seq, .txt, .csv, or .bmp using the "File -> Export" menu item or the "Export" item in the right-click context menu.

Sort directory:

"Disk -> Sort"; either ascending or descending sort by filename.

Rename disk:

"Edit -> Rename Disk"; edits the disk image name, "in place" on the image sub-window itself.

Edit disk ID:

"Edit -> Edit Disk ID"; edits the five character disk image id, "in place" on the image sub-window itself.

Save as:

"Disk -> Save As"; generally used to save an open image under a different filename, but pay close attention to the save dialog: the "Save as Type" drop down will reflect the disk image type (i.e. .d64, .d81) by default, but you can change this to .txt, .csv, and .bmp, each of which saves a representation of the image directory in the specified format.

See also the "Disk -> Save", and "Disk -> Close" menu items which act as one might expect...

Typical File Operations

Within a single disk image, each file can be manipulated using several functions gathered under the "File" menu, such as:

Rename:

"File -> Rename" / key 'e'; edits the currently selected file, "in place" on the image sub-window itself.

Insert:

"File -> Insert"; insert a file entry above the currently selected file - the file is zero length and no actual file is created on disk by this action, only an entry in the directory structure.

Remove:

"File -> Remove"; deletes the currently selected file entry. Note that this does not actually erase the file data on the disk, rather the entry is removed from the directory structure and the BAM entries for the file itself are set to free - one could invoke "Disk -> Fill Free Sectors" in order to completely remove the file data after removing its entry.

View file:

"File -> View File" / key 'v'; if the currently selected file has an associated viewer, invoke it. Currently, SEQ files and BASIC programs can be viewed - the former displays the SEQ file in a new sub-window, the latter lists the BASIC program in a new sub-window. In either case, the listing can be exported to the file system by using the right click context menu; exported file can be saved as a .seq, a .txt (converted to ASCII), or as a .bmp. 40/80 column window sizing can also be toggled using the context menu. Note also that selecting text and then copying with "copy" in the right click context menu (or CTRL+C as a keyboard shortcut) will fill the current copy buffer with the ASCII translation of whatever text has been selected. Pressing CTRL-A while a SEQ file is being viewed will select the entire SEQ file text buffer.

Uncompress:

"File -> Uncompress" / key 'z'; if the currently selected file is a supported archival format, then extract that file's contents onto a new, blank disk image (defaults to .d64 but uses a .d81 is the extracted files require more than 664 blocks or you have toggled the "Decompress to D81" checkbox on the Options dialog. In the case of zip/4 sets, which consist of four files with traditional "1!...", "2!..." naming scheme, you can select any one of the zip parts and uncompress: DirMaster will extract the disk itself and open it as a new (and unsaved) .d64 image sub-window. Note also that uncompressing can occur from disk images that have not yet been saved - therefore a sort of recursive extraction could take place, for example, if you decompress a zip/4 set, and the decompress a lynx file that was on the decompressed .d64, etc.

Create sub-directory:

"File -> Create Sub Dir"; for disk images that support sub-directories, this creates a new sub-directory above the currently file.

Align filename:

"File -> Align -> ..."; the Align sub-menu lets you right or left justify filenames, or center them; keyboard shortcuts are 'r', 'l', and 'c' respectively. Filenames are expanded to the full 16 character length and padded with spaces. The expand menu item (key: 'x') simply toggles the filename between an expanded (16 character, space padded) and unexpanded version.

Run in emulator:

"File -> Run In"; send the currently selected filename to an external program, typically an emulator although nothing forecloses the opportunity to invoke any program capable of working with a disk image and/or a specific file on the disk. To set up emulators or other programs, click the "Run in Emulator..." button found in the Options dialog ("Disk -> Options..."). There are 8 slots available: each can be named and configured to run an external program. Arguments can be constructed using placeholders for the disk image filename, the CBM filename of the currently selected file, and the index (starting at 1) of the currently selected file in the directory. DirMaster v2 should install with default examples for VICE and CCS64. Note that CTRL+1 through CTRL+8 are keyboard shortcuts for activating each slot's target.

Change file size:

"File -> Change File Size"; edits the currently selected file's block size, "in place" on the image sub-window itself.

Auto file size:

"File -> Auto File Size"; follows the currently selected file's sector links to determine the actual file size in blocks on the disk image, and then sets the directory entry block size accordingly.

Splat file:

"File -> Splat" / key '*'; makes the currently selected file a so-called "splat" file (denoted by an asterisk next to the filename in the directory listing).

Lock file:

"File -> Lock" / key '<'; locks the currently selected file (denoted by a less than symbol to the right of the file's type in the directory listing).

Change file type:

"File -> File Type -> ..."; alters the file type for the currently selected file; keyboard shortcuts for del, prg, seq, usr, and rel are 'd', 'p', 's', 'u', and 'r' respectively.

Move file up/down:

"File -> Move File Up" and "File -> Move File Down"; rearranges the directory by moving the currently selected file up or down in the listing. Fast keyboard shortcuts for this are SHIFT+UP and SHIFT+DOWN.

Export file:

"File -> Export"; displays a save file dialog that lets you save the currently selected file to the file system. Note that when exporting a SEQ file, choosing a filetype of .txt will translate the exported file into ASCII.

Import file:

"File -> Import"; displays a load file dialog that lets you select a file in the file system which is copied onto the disk image and inserted into the directory above the currently selected file.

A sequence of multiple files can be selected on a disk image by using the SHIFT key to set a selection range.

Double clicking a file entry will attempt to "view" it, see "View file" above.

Pressing 'j' will open the sector editor and jump to the first sector of the currently selected file. When the currently selected file is a GEOS file, pressing SHIFT+J will open the sector editor and jump to the GEOS file side sector.

Finally, note that many of the file based functions, like "Run in Emulator", are also accessible through the right click context menu that can be invoked on a file entry in disk image sub-windows.

File Properties

Invoke the "File Properties" dialog through the "View -> Show File Properties" menu item. The dialog displays additional information about the currently selected file, such as starting track/sector, splat/lock status, timestamp (if present), etc. For GEOS files, additional information is displayed including the icon, GEOS file type/struct id, class/author/creator fields, and so on. All of these properties can be changed from this dialog (with the exception of the GEOS file icon).

Separator Tool

Invoke the "Separators" dialog through the "View -> Show Separator Tool" menu item. DirMaster installed with a default set of simple, classic "separator" style file entries. While the "Separators" dialog is open, you may drag entries from it onto disk images to place separators in the directory. Simply clicking a file entry in the dialog will also insert it immediately into the active disk image above the currently selected file. Right clicking over the dialog allows you to rearrange the order of entries ("Move Up", "Move Down"), delete entries ("Delete"), insert new entries ("Insert") and edit an entry.

Disk-to-Disk Operations

With DirMaster, copying files between disk images is as easy as dragging and dropping the file between any two opened images. You may copy files between different image types, like from a .d64 to a .d81. When a file is copied, the file is written to the destination disk using a standard sector interleave and the destination BAM is updated accordingly.

WYSIWYG Editing

When editing file names and most any other editable string (disk names, ids, search strings, etc), the editing is done in a "WYSIWYG mode", allowing you to type in the full range of CBM characters including special graphics symbols, although most unprintable control codes (such as color codes) wont actually alter the displayed disk image directory (i.e. actual colors and cursor movements).

In the edit mode, cursor keys (left/right) allow selection of individual characters. The 'insert' key toggles character over-strike or insert modes, and the cursor updates to reflect the current mode. The 'backspace' and 'delete' keys also operate as you would expect...

To assist in using the full range of PETSCII characters, invoke the "CBM Charset" dialog through the "View -> Show CBM Tool" menu item. This dialog is only active when you are editing a file name, disk name, or disk id. Click any PETSCII character in the dialog to insert it at the current cursor location where you are editing.

Finding Files on Disks

It is possible to recursively search very large disk image collections, through the "Disk -> Find in Disk..." dialog. The search term can contain '*' (matches any 0 or more characters) and '?' (matches any single character). Select a directory to search in with the "Look In" field, toggle recursive search with the checkbox below it. Once searching begins, search matches will begin filling in below - double click a match to open that image or file in DirMaster even while the search is progressing.

Searches hunt directory entries on supported disk and tape images as well as files contained inside all supported native archive formats. Search speed? In testing, over 82,000 disk images are searched in approximately 10 minutes.

Batch Disk Operations

Two functions are available using the Batch dialog accessed through "Disk -> Batch Processing...": saving representations of the disk directory in .txt, .csv (with optional MD5 file hashes), or .bmp as well as exporting all disk contents to the file system as .prg (or .p00) and .seq (or .s00) files.

To use batch operations, first select a source directory and specify whether the batch operation should operate recursively by toggling the "Include Subfolders" checkbox.

When saving as a .csv/.txt/.bmp, toggling the "Include Sub Directories" checkbox will determine whether the directory representation is created in the same sub-directory as the disk image, or whether all files are created in the source directory (of course this has no effect if the batch process is not recursive. When saving as a .bmp, toggling the "Upper Case/CG" checkbox will determine what character mode the directory is displayed with when writing to the output image file. When saving as a .csv, toggling the "Save As Single File" checkbox will switch between creating a separate .csv per image, or creating one unified .csv for all disk images that are processed.

When extracting files, use the drop down button to choose an extraction mode: extract as .prg/.seq, or .p00/.s00, or choosing "SEQ as ASCII" will limit the extraction to only SEQ files which are translated into ASCII and saved as .txt files.

BAM/Sector Editing

For any open disk image, access the BAM dialog through the "View -> BAM Editor" menu item or by clicking the BAM icon in the toolbar. The BAM dialog shows free sectors (according to BAM) as green dots, and used sectors as red dots. You can edit the BAM by right clicking sectors (represented by dots) to toggle their free/used status.

For disks with extended error sector information, the BAM dialog will display the CBMDOS error number (e.g. 23 for a data block checksum error) on top of the sector dot. Also, the right click behavior is altered for any image with error track data: right click brings up a context menu from which the free/used status can still be toggled, but in addition, the error number can also be changed. You can toggle whether the current disk image uses error information through the "Disk -> Extensions -> Sector Errors" menu item: you can therefore use this to add error information to a disk that did not previously contain it, or to strip error information from a disk that previously had it.

Error data can be written to image files in one of two ways... either as the CBM disk drive interface processor codes (i.e. 20-29 or 0 for no error; same as the number read from error channel after a DOS error) or as the floppy disk controller code (i.e. 2 to 11 or 1 for no error; codes internal to the drive). Toggling the error data scheme is done through the "Disk -> Extensions -> Write Error Numbers" menu item, which, when checked, will write error data in the first format described above.

Left clicking on any sector in the BAM dialog brings up the sector editor. Sector editor shows the current sector in both hex notation and PETSCII. Editing can take place in either representation: use the mouse to place the cursor on either hex values or PETSCII characters. The currently active cursor location is shown as a flashing yellow cursor, and the corresponding byte in the other representation is shown by coloring the byte (hex value or PETSCII character) in red. Editing is done in place by using the keyboard to modify hex values or PETSCII characters.

Cursor keys can be used to reposition the cursor within the sector data display. Other keys, which have corresponding iconic buttons above the sector data display, are:

  • J: jumps to the next linked sector
  • SHIFT+J: jumps to whatever the previous sector was; multiple sectors are stored while navigating to allow convenient multiple backwards navigation.
  • G: jumps to the sector represented by the two bytes at the current cursor location - therefore this could be used to, for example, jump to GEOS record sectors or to the start of files when examining the directory sectors.
  • CTRL+UP/DOWN: jumps to the previous or next track.
  • CTRL+LEFT/RIGHT: jumps to the previous or next sector.
  • PAGE UP/PAGE DOWN: jumps to the previous or next sector.
  • ALT+LEFT/RIGHT: moves the active cursor between the hex and PETSCII data displays.
  • HOME: moves the active cursor to the first byte on the current data display line.
  • END: moves the active cursor to the last byte on the current data display line.

While editing a sector, the menu item, "Edit -> Fill Sector" can also be used to quickly fill the current sector with the configured fill byte.

Also note that changes made in the sector editor take immediate effect. Saving the disk image will save all changes made through the sector editor. However you may use the undo function (see below) to rollback multiple consecutive changes.

Multi-level Undo

DirMaster keeps track of multiple undo points separately for each open disk image. Use 'CTRL+Z' to invoke the undo function (or invoke it using the "Edit -> Undo" menu item). Almost every operation that results in a change to the disk image can be undone using this feature.

Miscellaneous

On most windows including disk images, SEQ files, and the sector editor, the CBM character set case can be toggled using "View->Toggle Case" or by clicking the "Toggle Case" icon in the toolbar immediately below the main menu.

Extended track disk images can be loaded and saved when the "Disk -> Extensions -> Extended Tracks" feature is enabled. With extended tracks, a D64 image with tracks 36 to 40 can be manipulated and saved. However, other than direct sector and BAM editing, the extra tracks are not currently supported when copying/writing files.

The character set mode used can be toggled with the "View -> Toggle Case" menu item, or by clicking the "Toggle Case" button on the toolbar, or by pressing CTRL+SHIFT. The mode can be set for each open disk image independently. Set the default character mode for newly opened/created disk images with the "Default to CG Graphics" checkbox found in the Options dialog.

The SEQ file viewer will attempt to display any special color codes and some other "special" characters in the same manner as they might be displayed by usual SEQ viewers on a real CBM system. To toggle that off/on, use the "CLR" button on the toolbar - when off, the SEQ file will display whatever printable character code corresponds with the special character.

If you prefer a different color scheme for displaying disk directories, SEQ files and so forth, you can change the background and foreground colors using the color drop downs on the right side of the toolbar.

Executing "DirMaster.exe -a" from a command prompt will also associate any un-associated file extensions that DirMaster supports with DirMaster.

Credits and Contact

  • The Wiz/Style: all coding, ideas
  • Elwix/Style: ideas, testing, documentation
  • saehn/Style: graphics/icon design, testing
  • Six/Style: testing
  • Massive Onslaught/Style: testing
  • Warnock/Style: testing

Coding c64? Check it out...

The Turbo Assembler Homepage

Your best source for Turbo Macro Pro information and the famous Turbo Assembler archive

 

Codename: Xider

Stay tuned.

Coming soon...