I apologize for my English - I'm from Russia :) This file is updated periodically and there may be discrepancies with the posted version of the program :) ImageUtilsN - Directory with a program for .NET 4.0 and later in the .NET 4.x branch. Theoretically, it works starting from XP ImageUtilsX - Directory with the program for .NET 7.0 The programs are identical in functionality, but ImageUtilsX works better with long full file names. Throughout the text, the name ImageUtils is used, meaning either of the two options MiniHelp !!!!! The main thing is - due to the peculiarities of command line parsing (I didn’t write it :)) - !!!!! key commands are processed and executed as soon as they are encountered. !!!!! Also, because of the key parsing module, there is a concept - !!!!! a short name and a full name of the key. Either short or full. If you run ImageUtils without arguments, the built-in miniHelp will be displayed A complete list of keys and their equivalence. help errorlog size pack unpack from to squeeze directory ? == help The command name can be shortened until it is unambiguous among other commands. At the moment, this means that the first letter is enough. ! after the key - the parameter is required! ? after the key - the parameter is optional There are three main commands: - pack - create image - unpack - unpack the image - from-to - pair to convert the image at the physical level pack !!!! SO FAR ONLY FOR FS RT-11. !!!! Overall, considered an EXPERIMENTAL feature for now. ImageUtils -pack unpack ImageUtils -unpack Image file name, possibly along with directory and drive name directory on the PC where the image will be unpacked or files from will packed. !! First, ALL(!) contents of the directory will be deleted !! If the program (on unpack) cannot remove the contents and/or write files to it from the image, most likely (I don’t remember exactly) it will terminate by error. WinFS, CPM, CAPS11, DOS11, XXDP, RT11, OFS1 (RSX) File system name. Can be shortened to make the choice unambiguous. Letter case does not matter. Support for CPM FS is extremely experimental - it is implemented only for one of the variants of 8-inch floppy disk images. dos11 and xxdp11 are very similar, the main difference (discovered so far) is that dos11 supports subdirectories, while xxdp essentially has only one directory One of the supported devices (for the selected FS) from the media from which the image was taken (full list below) or for the media for which the image is being created. If the parameter is not specified, the "Generic Disk" device is assumed to be selected Necessary in three cases: - If an image is being created (in addition to possible interlacing), it determines the size of the image. In the future, setting the size will be simplified. !! SOME DEVICES ARE VARIABLE SIZES! CREATING IMAGES FOR THEM !! IN THIS VERSION OF THE PROGRAM IS IMPOSSIBLE! - If dos or xxdp is selected (FS data specific) - If the device uses software interlace. Example - DX, DY, RX50 Technically, there are still devices whose physical sector size is not 512 bytes, but this factor becomes important only for dos11 or xxdp file systems (but they also require a device indication) or for devices with interlace (but they also require an indication devices). For rt11 and rsx file systems and devices WITHOUT interlace, the size of the physical sector does not matter. Additionally, for unpack you can specify a file with information about reading errors when creating an image - via the err key. The main thing(!) is for the key to be taken into account - it MUST(!) meet BEFORE(!) the unpack key!! Indication options ImageUtils.exe -err -unpack The program assumes that the log file is called (image file name without extension).log ImageUtils.exe -err -unpack The program does not assume anything - the log file is called A nuance with err. So far the program understands only two versions of files with error descriptions: - based on the PHYSICAL structure of the carrier. Plus it was for media with interlace. So how will the program behave when the media is without interlace and, perhaps, will be called without specifying the device - who knows :) If such a situation suddenly arises, contact me and we will solve the problem :) - error description files from the Cat (KOSHKA) program from-to ImageUtils -from -to ImageUtils -from -to Description of parameters is similar to pack/unpack The logic of the job is to convert an image from the format of one device to the format of another. So that the program does not turn out to be a dummy (just copy one file to another), at least for -from or -to the device must be specified! :) Nuance. If the device is specified for -to, this will also determine the size of the image. And if the input image is larger, some of the information will be lost. Sorry :) This pair is useful primarily when you need to convert an image with interlace into an image without it or vice versa. Device list Nuances. Not all file systems are supported on all devices (xxdp and dos11 especially suffer in this regard!) If for some type of device there is no FS xxdp and dos11, it means that such an image was not found or there is no information in the documentation - since the position of the service information for them on the disk is very strictly defined :) If for some type of device there is no FS rt and/or rsx, it means that there are no fundamental features in this type of device for rt and/or rsx - the corresponding image may be unpacked without specifying the device. NAME DESCRIPTION NoDev NONE TA11 CT - TA11 TM11 * MT - TM11 TU56 DT - TU56 TU58 DD - TU58 RX01 DX - RX01 RX01N DX - RX01N noninterlaced RX02 DY - RX02 RX02N DY - RX02N interlaced R8X01 * OS8 RX01 (??) R8X01N * OS8 RX01 noninterlaced (??) FD1 * FD1 (RX01 from SMS http://bitsavers.org/bits/SMS ??) RX50 DZ - RX50 RX50N DZ - RX50N noninterlaced RX50S * DZ - RX50S nonnterlaced, but with cylinder shifts DSRX50 * DSRX50 double (with 2 heads) RX50, second head blocks after first head blocks (spanned) DRX50N * DRX50N double (with 2 heads) RX50 deinterlaced, but with 1 cylinder shifts DRX50N2 * DRX50N2 double (with 2 heads) RX50 deinterlaced, but with 2 cylinder shifts OSA0 * OSA0 MS0515 double sided disk - head 0 OSA1 * OSA1 MS0515 double sided disk - head 1 OSAH0 * OSAH0 MS0515 double sided disk - only head 0 read OSAH1 * OSAH1 MS0515 double sided disk - only head 1 read APPLE * Apple APPLEN * AppleN deinterlaced APPLE0 * Apple0 double sided - head 0 APPLE1 * Apple0 double sided - head 1 R8X50 * OS/8 RX50 R8X50N * OS/8 RX50N noninterlaced RF11 DF - RF11 RS034 ?? - RS RS03 RS04 RK035 RK - RK035 RK03 RK05 RL01 DL - RL01 RL02 DL - RL02 RL02V2 DL - RL02v2 for XXDP v2.x RL02V3 DL - RL02v3 for XXDP v2.x RK067 DM - RK06 RK07 RP0456 RP0456 - RP04 RP05 RP06 RM03 RM - RM03 DU DU - MSCP RD PRO RD HX * HX (from VT52/DWK emulator) RDDWK RD from DWK MY MY from DWK, MZ from UKNC * Support for this device has not yet been implemented or this device is very specific and can only be used at your own risk :) Miscellaneous Modification for MS 0515 If the disk was used as a single-sided one (that is, 80x1x10), rx50 works quite well, for example: ImageUtilsX.exe -unpack dump-OSA.dsk @dump-OSA.dsk rt11 rx50 If the disk was used as a double-sided disk (that is, 80x1x10, but head 0 is one media, and head 1 is the second media), then: ImageUtilsX.exe -unpack x1.dsk @0-x1.dsk rt11 osa0 ImageUtilsX.exe -unpack x1.dsk @1-x1.dsk rt11 osa1 APPLE and its variants - Apple floppy drive (35x16x256 with interlace, single-sided), met on the Polish RT-60