This is a quick and dirty implementation of a System V68 filesystem reader and a VersaDOS filesystem reader. Neither writes to the disk image. I needed it so i could look at  the System V68 files, to help in implementing a VME10 Emulator..

Both use the same code from the Z80 Emulator to access IMD disks. Only IMD disk images are supported, since raw images with multiple track densities are difficult to work with. 

The UNIX Filesystem used for the VME10 is simular to the UNIXFS

In the folowing ASCII Art, Ux represents UNIX track numbering on an IBM format disk, and Cx represents CPM 68K track numbering on a CPM formatted disk. 

The Motorola Firmware, used to boot load an OS, requires that Versados Logical sector numbers be used to access the Initial Program Loader (IPL), so both Unix and CPM uses a trick to make a disk bootable. 

UNIX uses Block numbering to access a disk. For some reason the Block numbers for Block 0 and Block 1 appear to be 512bytes, while the rest of the block numbers are 1k.(i assume to be compatible with something that only understands the original 512 block numbering, while newer disks can use 512, 1k or 8k blocks) Block 0 (512)contains the Versados Volume ID(256bytes) and the IOS configuration data(256bytes), required for booting. Block 1 (512) contains the UNIX Superblock. Block 2 is the start of the Inode Table (but as though it is a 1k block, so it is in U1). The remainder of U0 is the IPL program.(which depending on your veiwpoint is either Blocks 2-3 (512) or block 1 (1k)) (actually,for the boot firmware, which uses Versdos logical sector numbering, the IPL is at LSN 4, which is why the IPL start, in the VID, is 4.(so 3 different numbering systems used.)


          Side 0     Side 1
        |----------|----------|
 Cyl 0  | U0  C0   | U1  C159 |   U0/C0, is always FM
        |----------|----------|
 Cyl 1  | U2  C1   | U3  C158 |   For Versados and Unix U1-U159 are MFM 16 256 byte SPT
        |----------|----------|
 Cyl 2  | U4  C2   | U5  C157 |   For CPM 68k C1-C159 are MFM 8 512 byte SPT
        |----------|----------|
        | .......  | ........ |
        |----------|----------|
 Cyl 78 | U156 C78 | U157 C81 |
        |----------|----------|
 Cyl 79 | U158 C79 | U159 C80 |
        |----------|----------|



The Versados/SystemV68/CPM68k 5 inch disk format always formats Track 0 (U0) (cyl 0 head 0) as 16 128 byte FM sectors(2k/trk). For VersaDOS, and UNIX the rest of the disk is formatted 16 256 byte MFM sectors(4k/trk).  For CPM the rest of the disk is 8 512 byte MFM sectors. (The Z80 emulator will read and write CPM VME 10 disk images.)

The System V68 viewer does not support the Versados filesystem, nor the CPM filesystem.

The Versados viewer does not support the SYSTEM V68 filesystem, nor the CPM filesystem.

The CPM 68K filesystem can be read using the Z80 Emulator, by running CPM80 V2.2 and using the DC.COM program to reconfigure a Drive for the VME10 format.

UNIX files appear very simular to DOS files, so it is easy to convert and save them for use on a PC (DOS, Windows or Linux/BSD). All files are saved AS-IS, with NO conversion. This means that text files will use a single LF as a delimiter as is used by Unix/Linux, NOT CR LF as is used by DOS/Windows.

Clicking on any filename(or directory name) causes the current file(directories are just files) to be read , converted and placed into a Rich Text Box control used for display. This can take a while, so there's a STOP button if it is wasting your time.

Double clicking on a directory, will change the list boxes to display that directory.

The display area can display a file's Inode Info or the file contents as plain data, (ascii) or the file as hexadecimal.(or, for directories, the filenames and pointers to inodes for each file in the directory)

The Save Display menu option will save whatever is currently displayed in the RTF box display area.  However, control characters will have been converted to user readable codes. Like...<EOT> 

Another way to save a file is via the menu, Save File.  All file contents will be saved as-is.

FIND the IMD disk imaging utility suite at dunfield.com.