The MMS 77320 is a SASI drive interface. In original hardware, this interface connected to up to eight SASI controllers (each usually mounted on a hard drive) each allowing access to at least one hard drive (optionally two). This level of connectivity is not fully supported by the virtual device, nor was it fully supported by MMS CP/M software (at least CP/M 2.24).
This device includes the 3 standard serial ports.
The following properties are recognized:
|Z67IDE_xG||Dual xGB CF Cards|
Unless otherwise specified, all controllers are XEBEC S1410 and default to 512 byte sector size (as if the "SS" jumper were installed). Capacities are shown for 512 byte sectors. A pre-existing disk image will override sector size.
"Z67IDE_xG" selects Norberto's Z67-IDE+ controller with two xGB CF cards installed (1, 2, 4, 8, or 16) and 256-byte sectors, accessible as 128M (max) manually-selectable logical drives.
A short string may follow the controller/drive, which will be used as the drive name in menus and on the front panel LEDs.
In addition, when using the Z67IDE_xG controller option, the property "z67ide_jukebox" may be set to "true" to enable the reserving of the top 512M of each CF card for use by special software. Using the value 018H in the control byte of the SASI DCB (command) enables access to this area for that command. Clicking on the H89 front panel LED for this device will also pop up the Z67-IDE control panel, which allows write protection as well as selecting the current pair of logical drives. It also includes a menu for utility functions, similar to what is available using the serial port on the Z67-IDE. See Z67-IDE+ utility documentation for standard functions. "Cross-Copy" is a single logical drive copy utility for any combination of LUNs and logical drive numbers.
The activity LED will light solid if the selector switches represent an invalid logical drive for the CF card capacity (taking into account the jukebox option as well).
The GenericSASIDrive format is as follows:
Image files may be created with the "fmtsasi.jar" utility. Invoke as:
java -jar fmtsasi.jar [options] <image> [format-options]
Invoke with no parameters to get help message:
Usage: fmtsasi [options] <image> [format-options] fmtsasi list fmtsasi dump <image> Options: list = List all drive types and capacities, then exit dump = Show format of existing image bsh=n = set minimum BSH for CP/M DPBs drm=f = factor of dir entries to min, >= 1.0 lat=n = describe sector latency layout (unused) par=size = add partition size <size> sectors Last may be 0 for reset of disk files=[p,]d = preload image (partition 'p') with files from directory 'd' force = overwrite an existing image nopart = Do not create MMS partition table (magic sector) repair = overwrite only partition info of existing image conv=image = Convert image to new sector size (via 'SS') format-Options: XEBEC_ST506 | XEBEC_ST412 | XEBEC_CM5206 | XEBEC_CM5410 | XEBEC_CM5616 | XEBEC_RO201 | XEBEC_RO202 | XEBEC_RO203 | XEBEC_RO204 SS Where: SS = Sector Size 512 (default 256) Partition default is a single partition full disk
The <image> file must not exist, unless using the "force" option or an operation that reads existing images.
The "list" option lists the recognized controller-drive names with their capacities.
The "dump" option reads the partitioning information from an existing image and dumps the data.
The "files=" option allows you to add local files to a fresh formatted image partition. Specify the directory containing the files. All files in that directory will be added. The files should conform to CP/M 8+3 (case insensitive) filename standards. Note that line endings are not modified, but files who's size is not a multiple of 128 bytes will be padded with ^Z (assumed to be text files). No file attributes are transferred, no CP/M-Plus features used, and no checking is made for duplicate file names. A file that begins with "#:", where "#" is a number 0-31, will be created under the specified CP/M user number. Files with no prefix are put in user 0.
The program attempts to build reasonable CP/M DPBs based on the partition size. At present, only a few options are provided to guide DPB creation.
The "bsh=" parameter specifies the minimum BSH (Block Shift) to be used. Default is 3 (the CP/M minimum). See CP/M documentation, but basically the default value yields very small allocation blocks and is generally undesirable for large disks. However, large disks often cannot be represented using the smallest block size and so a larger block is forced.
The option "drm=" specifies a factor of enlargement for the directory. The default value of "1.0" will create a directory large enough to create full directory entries for every block. However, most files do not fill their directory entry and thus more directory entries may be required.