Tool - Disk Editor
Author: Copyright (C) 2014 by CiderPress authors

Disk Viewer

The Disk Viewer provides an interface similar to "disk zap" utilities on the Apple II. You can view the contents of a disk as a collection of 256-byte tracks and sectors, as a series of 512-byte blocks, or (for nibble images) raw track data. The current version of CiderPress does not allow sector or nibble editing, so the "write" button is always disabled.

Start the viewer by selecting it from the menu or by clicking on the toolbar icon that looks like a 5.25" floppy. Select whether you want to open a disk image file or a Windows volume. (The 3rd choice opens the disk image you currently have open in the file viewer. If nothing is open, or you've opened a file archive, the 3rd button will be greyed out.) Choose a disk image or volume to open. In most cases, the viewer opens immediately.

If CiderPress can't identify the filesystem, or if you have "Confirm disk image format" selected in Disk Image Preferences, you will be allowed to review and change the disk image characteristics before the image is opened. If the disk doesn't have a filesystem that CiderPress recognizes, you can use one of the "generic" entries to specify how the sector ordering should be handled. (If it's a 140K disk, you probably want "Generic DOS"; if it's an 800K disk, you probably want "Generic ProDOS" and "View data as blocks".) CiderPress may have been able to guess at the image sector ordering from the filename or file format, so if it's not set to "unknown" it's probably best to leave it alone.

CiderPress will automatically choose between displaying 512-byte blocks or 256-byte sectors based on the filesystem of the image you're opening (sectors for DOS disks, blocks for everything else). If CiderPress can't identify any sectors on a nibble image, only the track nibble viewer will be available. You can override the setting from the "Confirm disk image format" dialog described above.

The viewer opens on track 0/sector 0 or block 0. Data is read into the buffer and displayed as a hex dump. The ASCII on the right half of the window represents the data after a "High ASCII" conversion (technically: the high bits have been stripped off).

You can move to another location on the disk by adjusting the track/sector/block numbers and clicking on the "Read" button. You can also use the "Read Next" and "Read Prev" buttons to move forward or backward. If you prefer your numbers in hex, just hit the "Hex" checkbox to change how they are displayed and interpreted.

The disk viewer will allow you to see every block on the disk, including those that are part of sub-volumes. If you want to open a sub-volume as a disk, click on the "Sub Volume" button and choose the volume from the list. (If a disk has no sub-volumes, the button will be disabled.) Learn more about DOS sub-volumes.

You can also choose to open and follow a file. Click on the "Open File" button to bring up the file selection box. Type the full pathname of the file as it appears when you open the disk with the CiderPress "Open..." menu item. For a ProDOS disk, this means typing the full path with subdirectory names separated by colons (':'). If you want to try to open a resource fork, click the "Open resource fork" checkbox. (NOTE: this feature does not currently work for HFS disks.)

Move through the file with the "Read Next" and "Read Prev" buttons. The track/sector or block number will update automatically as you move.

You can't open files stored in embedded sub-volumes this way. Instead, you need to open the sub-volume, and then open the file.

Bear in mind that what you are seeing is the actual sector or block data from the disk, not just part of a file. In some cases you will see junk after the end of the file. Also, attempting to view files on a DOS 3.3 disk while in 512-byte block edit mode will produce strange results, because two adjacent 256-byte sections of a file might be in completely different parts of the disk. You will be shown the block that holds the first half of the 512-byte section of the file. (If this doesn't make sense, don't worry about it -- just leave the default settings alone and view DOS disks as 256-byte sectors.)

DOS and ProDOS disks can hold "sparse" files, where some blocks filled with zeroes aren't actually stored on the disk. If you move into a "sparse" block, the sector display will be replaced with a status message and the block number will be set to zero. You will see one of these for every sparse block in the file. On CP/M disks, empty files are stored without any block allocation, so if you try to follow an empty CP/M file you will see an appropriate message.

RDOS uses a sequential sector format, similar in structure to Pascal, but it's unusual in that it does not know how to "give up" storage. In some cases you may find a few sectors allocated past the actual end of file, notably in some BASIC programs that apparently had some debugging statements deleted before the disks were shipped. For "RDOS 3" disks, only the first 13 of 16 sectors on each track are used.

Nibble images are simply raw track data. Identifying sectors on a disk requires interpreting that data. CiderPress takes its best guess at the format of the disk, but if it can't find a reasonable number of readable sectors it gives up and only shows nibble data. For cases where valid sectors were found, you will be able to choose between several sector formats in the sector or block display from a drop list in the lower right corner. The "Patched" versions of DOS 3.2 and DOS 3.3 are like "standard" but they ignore epilog bytes and address field checksums, so using these should allow you to read disks with mild forms of copy protection.

Not all sectors on a nibble image will be readable. Those that aren't will show an error message. In some cases, changing the sector parameters with the drop-down list at the bottom right of the dialog will let you see more. (One interesting example: floppy disks that were bootable under both DOS 3.2 and DOS 3.3 have two different copies of track 0 sector 0. Switch from "DOS 3.3" to "DOS 3.2" and back again to see what's there.)

Click on the "Done" button to close the editor.

Some interesting places to visit:

DOS: catalog usually starts at track 17, sector 15, and goes down to track 17, sector 1.

ProDOS: volume directory in blocks 2 through 5.

Pascal: volume directory in blocks 2 through 5.

CP/M: volume directory in blocks 24 through 27.

RDOS: catalog starts on track 1 sector 0.

RDOS actually includes all of tracks 0 and 1 in a file called "RDOS 2.1 COPYRIGHT ...". On nibble images of 13-sector disks, this file may be partially unreadable.