PRO-CURE/CONV-CPM - CP/M to DOS File Transfer Utility Authored and copyrighted 1981, 1983 by Richard N. Deglin and Roy Soltoff. All rights reserved. PRO-CURE/CONV-CPM is published by MISOSYS, Alexandria, VA. TABLE OF CONTENTS General Information 2 Distribution Diskette 2 Supported CP/M Disk Formats 3 The PRO-CURE/CONV-CPM Menu 4 Command Details 5 Running PRO-CURE/CONV-CPM From DOS Ready 12 Error Messages 15 Note: CP/M is a trademark of Digital Research, Inc. IBM is a trademark of International Business Machines Corp. LDOS is a trademark of Logical Systems Incorporated MAX-80 is a trademark of Lobo Systems, Inc. TRSDOS and TRS-80 are trademarks of Tandy Corp. GENERAL PRO-CURE/CONV-CPM is a powerful tool which allows you to transfer files from various CP/M-formatted diskettes onto selected TRSDOS or LDOS-formatted disks. Nineteen different CP/M formats are directly supported under the PRO-CURE/CONV-CPM transfer utility. You can obtain CP/M disk directories, transfer files, and execute DOS commands easily and rapidly from the program's menu; these functions are also executable directly from DOS Ready. DISTRIBUTION DISKETTE This documentation covers the operation of both the LDOS 5.1 version (CONV-CPM) and the TRSDOS 6.x/LDOS 6.x version (PRO-CURE). The CONV-CPM utility is provided on a 35-track single density data diskette and is operational, under LDOS 5.1.x, on the TRS-80 Models I, III, and 4, and on the Lobo MAX-80. Certain CP/M formats may not be supported on the Lobo LX-80 Model I expansion interface [specifically 512-byte sector formats]. The PRO-CURE utility is provided on a 40-track single density data diskette and is operational under TRSDOS 6.x on the TRS-80 Model 4 only. SUPPORTED CP/M DISK FORMATS The following CP/M single-sided diskette formats are directly supported by PRO-CURE/CONV-CPM. No double-sided formats are readable. All formats are 5-inch mini-floppy, 35- or 40-track, unless specifically noted otherwise. 1) Cromemco Z-2 double-density 2) DEC VT-180 double-density 3) Heath/Zenith H89 single-density, soft-sectored 4) Heath/Zenith Z100 double-density 5) Holmes VID80 double-density 6) IBM Personal Computer CP/M-86 double-density 7) Kaypro II double-density 8) LNW80 double-density 9) Lobo MAX-80 5-inch double-density 10) Lobo MAX-80 8-inch double-density 11) Memory Merchant Shuffle Board double-density 12) Montezuma Micro Model 4, double-density, 256-byte sectors 13) Morrow Micro Decision double-density 14) NEC PC-8001A double-density 15) Omikron Mapper I single-density 16) Osborne One single-density 17) Standard IBM-3740, 8-inch single-density, CP/M format 18) Xerox 820-1 single-density 19) Xerox 820-2 double-density THE PRO-CURE/CONV-CPM MENU The PRO-CURE/CONV-CPM utility is executed from DOS Ready by simply typing the following command: CONVCPM [LDOS 5.1.x] or PROCURE [TRSDOS 6.x] The PRO-CURE/CONV-CPM command menu will then be displayed: CP/M disk type is not set Control function : et CP/M disk type isplay CP/M disk directory ransfer files from CP/M to DOS ommand DOS xit to DOS (S,D,T,C,E)? > The first line of the menu indicates which CP/M format you have selected for operations. Initially, this type is not set. Commands are entered on the prompt line. They may be typed, in either UPPER-case or lower-case, as any one of the single letters surrounded by brackets "<>", followed by . The and keys may be used for correction as necessary. C0MMAND DETAILS The following sections describe the function and operation of all PRO-CURE/CONV-CPM commands identified in the menu. et CP/M disk type The et command clears the screen and displays a menu of CP/M formats, any one of which may be selected for subsequent operations: Standard CP/M; SSSD,8" Omikron Mapper I; SSSD,5" Xerox 820-1; SSSD Xerox 820-2; SSDD Lobo MAX-80; SSDD,5" Lobo MAX-80; SSDD,8" Kaypro II; SSDD Osborne-1; SSSD DEC VT-180; SSDD Montezuma Model 4; DD,256 IBM PC CP/M-86; SSDD NEC PC-8001A; SSDD Heath H89; SD,soft-sector Zenith Z100; SSDD Cromemco Z-2; SSDD LNW80; SSDD,5" MM Shuffle Board; SSDD Holmes VID80; SSDD Morrow MicroDecision; SSDD Enter type mnemonic? > The term "SSSD" refers to single-sided single density media while the term "SSDD" refers to single-sided double-density media formats. Enter the desired diskette type by keying the appropriate two-letter mnemonic [the mnemonic is illustrated within angled brackets "<>"] followed by . You may use to correct your entry. If you have typed a recognizable entry, you will be returned to the main menu, and the selected format will be noted at the top of the screen, above the menu. Any invalid entry will be ignored. Use the key to return to the main menu without changing the CP/M disk type. isplay CP/M disk directory The isplay directory command reads the target CP/M diskette and then displays a directory of all or some of the files on that diskette, sorted by USER AREA and FILE NAME. PRO-CURE/CONV-CPM will first prompt you to: Enter CP/M drivespec or partspec? > You may answer this prompt in one of three ways. You can simply key in the number of the drive in which the CP/M diskette is mounted, for example <:1>. Alternatively, you may enter a CP/M partial filespec, such as . If you type , however, you will return immediately to the main menu. A Note On CP/M Partial File Specifications A CP/M PARTSPEC consists of the following fields: 1)An optional FILE NAME of up to eight characters; 2)An optional FILE TYPE of up to three characters, preceded by a period <.>; 3)A required DRIVE NUMBER (1 through 7), preceded by a colon <:>. The FILE NAME and FILE TYPE fields may contain the standard CP/M-style wildcard characters and <*>. The character will match any other character in its position. The <*> character must be the last character in the FILE NAME or FILE TYPE; it causes an automatic match for all positions in the FILE NAME or FILE TYPE including and following the <*> character. The FILE NAME or FILE TYPE, if not entered, will default to all spaces, unless both are omitted. In this case (i.e., when a CP/M DRIVESPEC only has been entered), they will default to , which is equivalent to <*.*>. The next prompt allows you to specify options in response to the prompt: Enter parameters or for none? > These optional parameters may be entered in a fashion similar to DOS command line parameters. For the isplay directory command, you may select a particular CP/M diskette USER AREA, and you can obtain a copy of the CP/M directory on your printer device. Simply typing will set the parameters to their default values. As before, keying will return you to the main menu. The parameters are entered as follows: USER=nn Select a directory for USER AREA nn, where nn = 0 through 15. The default for this parameter is all USER AREAs. Abbrev: USER=U PRINT=switch Select a printed directory listing. Entering , , or for switch will cause the directory to be printed; entering , , or will suppress the printout. The default for this parameter is OFF. Abbrev: PRINT=P At this point, PRO-CURE/CONV-CPM will read in the CP/M diskette's directory, sort it by USER AREA and FILE NAME/TYPE, and display all files which match the desired PARTSPEC and USER AREA. Each file is displayed in the following format: u>nnnnnnnn.ttt sssK where: "u" represents the USER AREA, in hexadecimal (0-9, A-F); "nnnnnnnn.ttt" represents the FILE NAME and TYPE; and "sssK" represents the FILE SIZE in kilobytes (x1024). Up to three files will be shown on each display line. If the PRINT parameter is OFF, PRO-CURE/CONV-CPM will pause when the screen fills and wait for a keystroke; you may type to continue the display with the next screen, or to abort. If the PRINT parameter is ON, the directory display will scroll continuously without screen pauses. If the CP/M diskette does not contain any files which match the desired PARTSPEC and USER AREA, the following message will appear: No file(s) found! In any case, when the directory display is complete, you will be prompted with the message: Press any key to continue... When you have done so, PRO-CURE/CONV-CPM will clear the screen and return you to the main menu. ransfer files from CP/M to DOS The ransfer files command allows you to move files from your CP/M diskette to the DOS disk. This is the most powerful command in PRO-CURE/CONV-CPM. The first prompt of this command is: Enter source (CP/M) drivespec or partspec? > This may be answered in the same way as the corresponding prompt in the isplay directory command; you can enter a CP/M PARTSPEC, a CP/M DRIVESPEC, or to cancel the command. The second prompt asks you to: Enter destination (DOS) drivespec? > Answer this prompt with the number of the drive onto which you want the CP/M files copied, such as <:0>. This must be an enabled DOS drive (hard disk or floppy). You may cancel the ransfer files command at this point by keying . Finally, you will be prompted: Enter parameters or for none? > Enter these optional parameters in a fashion similar to DOS command line parameters. For the ransfer files command, you may select a particular CP/M diskette USER AREA, transfer all OLD or NEW files, or have PRO-CURE/CONV-CPM QUERY you for the transfer of each CP/M file. Simply typing will set the parameters to their default values. As described above, keying will return you to the main menu. The parameters are entered as follows: USER=nn Select transfers from USER AREA nn, where nn = 0 through 15. The default for this parameter is all USER AREAs. Abbrev: USER=U OLD=switch Transfer only files which already exist on the destination DOS disk. Entering , , or puts this qualification into effect, while , , or causes the checking for OLD files to be skipped. The default for this parameter is OFF. Abbrev: OLD=O NEW=switch Transfer only files which do not exist on the destination DOS disk. Entering , , or puts this qualification into effect, while , , or causes the checking for NEW files to be skipped. The default for this parameter is OFF. Abbrev: NEW=N QUERY=switch Query the user as to whether any given CP/M file is to be transferred. Entering , , or puts QUERY into effect, while , , or disables this option. The default for this parameter is ON. Abbrev: QUERY=Q PRO-CURE/CONV-CPM will then read in the CP/M diskette's directory and sort it by USER AREA and FILE NAME/TYPE. Each file which matches the desired PARTSPEC and USER AREA, as entered above, then becomes a candidate for transfer. Next, PRO-CURE/CONV-CPM will check to see if the file exists on the destination DOS diskette. If the file does exist, and the OLD parameter is ON, PRO-CURE/CONV-CPM continues on to the next step. Similarly, if the file doesn't exist, and the NEW parameter is ON, the program continues. If neither case is met, the file is skipped. At this point, if the QUERY parameter is ON, you will be asked: Convert file u>nnnnnnnn.ttt? where "u" is the file's USER AREA and "nnnnnnnn.ttt" is the file's NAME and TYPE. Answering directs PRO-CURE/CONV-CPM to then transfer the file. Responding also directs PRO-CURE/CONV-CPM to transfer the file as well as turn the QUERY parameter OFF for all files remaining to be transferred. Any other response will cause the file to be skipped. If the QUERY parameter is OFF, the following message will be displayed: Converting file u>nnnnnnnn.ttt Since CP/M allows special (non-alphanumeric) characters in FILE NAMEs and FILE TYPEs, PRO-CURE/CONV-CPM must take exceptional action in such cases. If the QUERY parameter is ON, you will be. prompted with: Source CP/M filespec contains special characters Enter destination DOS filespec? > Type in the name of a DOS file, without drive number, into which you wish the CP/M file's contents to be copied. Typing a at this point will cancel the ransfer files command and return you to the main menu. If the QUERY parameter is OFF, the following question will be asked: Source CP/M filespec contains special characters Convert this file? An answer will cause the file to be skipped, while a answer will proceed to the next prompt: Enter destination DOS filespec? > This is to be answered as described above. Finally, if the OLD parameter is OFF and the QUERY parameter is ON and the destination file already exists, you will be asked: File exists -- replace it? Typing forces PRO-CURE/CONV-CPM to skip this file; typing will cause the existing DOS file to be overwritten with new data from the CP/M diskette. Now PRO-CURE will read the CP/M file's contents into memory and then write the data out to the DOS disk. If the destination DOS disk becomes full during this process, you will be notified by: Disk is full! - enter new output disk Mount a different DOS diskette (one that has sufficient free space on it) in the destination drive and press . PRO-CURE/CONV-CPM then will continue its file transfer process. There are two cases, however, when a full destination disk will terminate the ransfer files command: if the output drive is a fixed hard disk; or if PRO-CURE/CONV-CPM is executing as part of a DO command. The message: Disk is full - can't continue! will be displayed if this occurs. The above sequence of events will be repeated for each CP/M file which matches the desired PARTSPEC and USER AREA, until no more are found. The following message will then be displayed: File transfer complete Alternatively, if no CP/M files existed on the source disk which matched these qualifications, then the following message will be displayed: No file(s) found! In any case, you will be prompted with the message: Press any key to continue... When you have done so, PRO-CURE/CONV-CPM will clear the screen and return you to the main menu. Note that at any time during the file transfer process, pressing the key will abort the command after the current file has been completely transferred. ommand DOS The ommand DOS function provides access to operating system commands from the menu level. Your DOS requests should be limited to library commands [a summary of library commands is normally obtainable via the DOS command]. You will be prompted to: Enter DOS command? > After your command is keyed in, the screen will be cleared and your command line will be shown at the top of the video display. The DOS command will then be executed. At its completion, you will be prompted with the message: Press any key to continue... When you have done so, PRO-CURE/CONV-CPM will clear the screen and return you to the main menu. xit to DOS This command provides the means to terminate the PRO-CURE/CONV-CPM session and return to DOS Ready. RUNNING PRO-CURE/CONV-CPM FROM DOS READY Several functions of PRO-CURE/CONV-CPM may be executed directly from DOS Ready without going through the program menu. The command line syntax for obtaining the directory of a CP/M diskette is: (,DIR,,....) Type CONVCPM under LDOS 5.1.x Type PROCURE under TRSDOS 6.x This is REQUIRED and follows the rules given in the above description of the isplay directory menu command. This parameter is entered as any ONE of the CP/M formats listed in the CPM FORMAT TABLE, and is REQUIRED. DIR This parameter informs the program to execute the directory function, and is REQUIRED. Abbrev: DIR=D USER=nn Select a directory for USER AREA nn, where nn = 0 through 15. The default for this parameter is all USER AREAs. Abbrev: USER=U PRINT=switch Select a printed directory listing. Typing , , or for switch will cause the directory to be printed while entering , , or suppresses the printout. The default for this parameter is OFF. Abbrev: PRINT=P In all respects, this command executes identically to the isplay directory command obtainable from the program menu, except that upon completion you are returned to DOS Ready. The command line syntax for transferring files from a CP/M diskette to a DOS disk is: (,,,...) Type CONVCPM under LDOS 5.1.x Type PROCURE under TRSDOS 6.x This is REQUIRED and follows the rules given in the description of the ransfer files menu command. This is REQUIRED and follows the rules given in the description of the ransfer files menu command. This parameter is entered as any ONE of the CP/M formats listed in the CPM FORMAT TABLE, and is REQUIRED. OLD=switch Transfer only files which already exist on the destination DOS disk. Typing , , or for switch puts this qualification into effect while , , or causes the checking for OLD files to be skipped. The default for this parameter is OFF. Abbrev: OLD=O NEW=switch Transfer only files which do not exist on the destination DOS disk. Typing , , or for switch puts this qualification into effect while , , or causes NEW files to be skipped. The default for this parameter is OFF. Abbrev: NEW=N QUERY=switch Query the user as to whether any given CP/M file is to be transferred. Typing , , or puts QUERY into effect. Entering , , or disables this option. The default for this parameter is ON. Abbrev: QUERY=Q USER=nn Select transfers from USER AREA nn, where nn = 0 through 15. The default for this parameter is all USER AREAs. Abbrev: USER=U In all respects, this command executes identically to the ransfer files command obtainable from the program menu, except that upon completion you are returned to DOS Ready. The parameter, as used in the above DOS command lines, is entered as a mnemonic [or abbreviation of the mnemonic] for one of the nineteen supported CP/M diskette formats as illustrated in the CPM FORMAT TABLE shown below. CPM FORMAT TABLE Format Type Parameter Abbrev. Cromemco Z-2 CROMEM CR DEC VT-180 VT180 VT Heath/Zenith H89 HEATH H8 Heath/Zenith Z100 Z100 Z1 Holmes VID80 HOLMES HO IBM Personal Computer CP/M-86 PC86 PC Kaypro II KAYPRO KA LNW80 LNW80 LN Lobo MAX-80 5-inch L0805 L5 Lobo MAX-80 8-inch LOB08 L8 Memory Merchant Shuffle Board SHUFFL SH Montezuma Micro Model 4 MONTEZ M4 Morrow Micro Decision MORROW MO NEC PC-8001A NECPC NE Omikron Mapper I OMIKRN OM Osborne One OSBORN OS Standard 8-inch CP/M format STD8 S8 Xerox 820-1 XEROX1 X1 Xerox 820-2 XEROX2 X2 ERROR MESSAGES Any one of the following error messages may be displayed: Invalid CP/M filespec, or missing CP/M drivespec! An incorrect CP/M PARTSPEC or DRIVESPEC was entered in a DOS command line, or in response to a prompt requesting same. Invalid or missing DOS drivespec! An incorrect DOS DRIVESPEC was entered in a DOS command line, or in response to a prompt requesting same. CP/M drive can't be :0! You cannot read a CP/M diskette in drive 0. CP/M and DOS can't be same drive! A file transfer command requires the CP/M and DOS drives to be different. Invalid or missing CP/M disk type! One, and only one, of the acceptable CP/M format parameters was not entered in a DOS command line requesting a file transfer. Parameter error! An invalid parameter keyword was entered, or an ON/OFF-type parameter was given an illegal value. Drive is not 5-inch! or Drive is not 8-inch! The CP/M drive selected was not of the correct size, given the desired CP/M format. Not a floppy drive! The CP/M drive selected was not a 5-inch or 8-inch floppy. Not a double-density controller! The floppy controller in your system cannot support the double-density CP/M format selected. Invalid CP/M user area! The USER parameter was entered with a value not in the range <0 to 15>. Insufficient room for command execution! You attempted to execute a DOS command from the program menu, but there is not enough system memory available to do this. System error messages Various DOS system error messages may also be displayed; please see your DOS manual for an explanation if such occurs.