C P / M 2 . 2 --------------- SDSystems Release 4 - 11/3/81 Preliminary Documentation I. Introduction History CP/Mtm has been available for some time for SDSystems hardware, but has taken a back seat in marketing over the more full-featured proprietary SD-OS operating system. However, recent marketing reevaluation has resulted in the decision to emphasize standard operating systems, such as CP/Mtm, MP/Mtm, and OASIStm, for both current and future hardware and networking systems and Dealers and users are being encouraged to consider migration to these systems. No further enhancements are planned for SD-OS or COSMOS, though one final maintenance release for COSMOS is being considered. Software development effort will be concentrated on customizing new releases of the standard operating systems for SDSystems products, incorporating additional utilities and productivity tools to make these systems more user-friendly than even SD-OS and COSMOS. We think you will like the results! Overview Release 4 incorporates support for all SDSystems products, including Winchester and CDC hard disk systems, and the new MS-610 system. A number of new functions and utilities have been provided, to simplify and automate the configuration process and to make the customized system more productive for the user. Some of these are: * MAKCPM - A menu-driven CP/M configuration generator that customizes the distribution sytem for your exact hardware requirements in only a few minutes. * BSET - A turnkey applications tool, that sets up CP/M to automatically execute one command whenever the system is warm-booted: this command can be a SUBMIT, allowing the user to start a batch jobstream, or the name of an application program or menu to be invoked. This command is put into a file creatable by any editor and called "STARTUP.SUB". * DSET - A utility to display and optionally to change floppy and/or hard disk unit 1 assignments without having to reconfigure the entire system, or even to interrupt work in progress. This is analogous to the SETPRNT utility, which allows dynamic reconfiguration of the system printer (for users with multiple printers of differing baud rate requirements, parallel/serial, etc.). One apology: we couldn't change these: DEL Key - standard CP/M implementation - each time pressed the character deleted is echoed to the screen. This is hard coded in CP/M, and dates back to the days when electromechanical teletype machines were common. If you prefer the more natural backspace-cursor delete, use the left arrow (<-) key as your delete key. Diskette change recognition - CP/M REQUIRES you to type CTRL C whenever you change a diskette or hard disk cartridge, or you risk loss of files. Release 3 to Release 4 Differences: Release 4 is totally upward compatable with Release 3, with additional support and features added as described herein. Compatability SD-OS - most user programs and data files should work fine under CP/M. Programs that make special SD-OS System Calls may need to be modified to conform to CP/M's System Call numbers and register conventions. Note that SD-OS is generally CP/M 1.4 compatible. COSMOS - Diskettes: Most user programs and data files should work fine under CP/M. Programs that make special COSMOS System Calls may need to be modified to conform to CP/M's System Call numbers and register conventions. COSMOS is generally CP/M 2.2 compatable. COSMOS - Hard Disk: COSMOS uses a unique hard-disk directory format that CP/M doesn't recognize: COSMOS programs on hard disk must be copied to diskettes or other media under COSMOS, and then copied to CP/M hard-disk under CP/M. a. If you intend to make only limited use of CP/M and then return to COSMOS, use of a diskette CP/M system is recommended; 2 files developed under CP/M on diskette may be transferred back to hard disk later under COSMOS. b. If you intend to make moderate use of both CP/M and COSMOS, you may wish to create separate hard disk systems for each: on SD-610 or MS-610 systems, for example, use A: for COSMOS's "A:" and B: for CP/M's "A:" (be sure to specify Physical Unit 1 in MAKCPM); on SD-700 systems use one or more platters for CP/M and the rest for COSMOS. You will not be able to access CP/M platters/units while booted under COSMOS, or COSMOS platters/units while booted under CP/M: you must still use diskettes or other media to transfer user programs or files from one to the other. Note: be sure to back up your COSMOS system before starting to build your CP/M system! MP/M - CP/M 2.2 files and programs generally will work fine under MP/M 1.1 and MP/M II. OASIS - limited compatability is provided by an OASIS utility that can read CP/M files and store them in OASIS files. System Calls and register conventions are radically different, as are diskette and hard disk formats. Many programs would require extensive modification to run under OASIS ... it is usually better to buy or create specifically for OASIS or for CP/M and MP/M. Hardware Requirements Memory: 64K minimum. Additional memory may be present, but will not be utilized by CP/M at the present time. Board Revision Levels: COSMOS level or later (see attachment). CP/M utilizes the interrupt-driven keyboard for type-ahead. MPC-4 Board - not supported by CP/M at the present time. SBC-200 EPROMS Note: all are switched out by CP/M after booting. SDMONR or MSMONR - Monitor, transfers control to DDBIOS EPROM for booting. DDBIOS - Boots from a diskette; also recognizes and transfers control to either of the following EPROMS as appropriate: CDBIOS - Boots from a CDC hard disk. WDBOOT - Boots from a Winchester hard disk. 3 Enhancements: BSET - "Batch Flag" Set - execution of this program causes CP/M to invoke the startup option command line (see "SUBMIT MAKCPM") on the next warm boots. This may be used to execute your favorite command, start up an application or application menu program, etc. "STARTUP.SUB" may be created with any editor or application program, and may contain one or more complete command lines (exactly as you would enter them normally). DSET - Disk Set. Displays your currently configured hard disk and/or diskette setup, and, optionally, allows you to reconfigure it (see "Advanced Topics" for details). Note: this reconfiguration is in effect only until the next cold boot; to make it permanent, do a "SUBMIT MAKCPM" to generate a new system configured to your new requirements. DTYPE - Disk Type. Displays the type of disk/diskette currently mounted in each drive of your system. Particularly usefull in determining whether an unknown diskette is single or double sided, single or double density, etc. The CP/M command "STAT DSK:" can also be used, but requires some interpretation. Note: DTYPE may hang if you don't have a disk/diskette in every drive when you issue the command. This may be avoided by using "DSET" to deactivate any drives you will not be using. CLEAR - for SD-200, SD-600, SD-700 and other systems using the SDSystems VDB-8024 Video Board. Resets all video parameters (flashing, inverse, underline, etc.), but does not clear the screen. Useful to recover when you have inadvertantly TYPEd a file containing video control characters. Users of video display terminals such as the Visual 200 or others could construct a similar program, unique to the brand and model of the terminal to be cleared. EOP - for printers. Typing "EOP" causes a page eject to occur; typing "EOP n" causes n page ejects. Also useful in "SUBMIT" files. EDIT - This is a CP/M version of the SD-OS/COSMOS Editor for those who prefer it over CP/M's ED. FORMAT - Diskette formatter. Used to initialize brand new diskettes before their first use 4 (mandatory), and to re-initialize used diskettes or to change their format (go from single to double sided, single to double density, etc.). Note that use of this program always erases all data and programs from the diskette! MCOPY - Diskette copy program. A fast full copy of any diskette format to another diskette of the same format only. Includes optional format capability. Note that use of this program always wipes out any files or data previously on the "TO" diskette! To merge files, or to copy files to a disk or a diskette formatted differently, use the standard CP/M PIP utility. PAUSE - Displays a message and waits for a carriage return. Useful in "SUBMIT" files to allow the user to examine the screen contents before proceeding. SETPRNT - Modifies printer specification from Serial to Parallel or Parallel to Serial and/or change baud rate. Provides option of making change temporary (until next cold boot) or permanent (updates CP/M System disk). ZASM - CP/M version of the SD-OS/COSMOS Z-80 Assembler. LINK - CP/M version of the SD-OS/COSMOS Linker. MENU - Sample program to create a "STARTUP.SUB" file from a menu, invoke BSET, and do a cold boot. You could use this example to create your own turn-key application. CDINIT - Initialization program for CDC disk drives. This program normally need be run only once, and should not be run if you have good data or programs on your drive ... it will erase them! This program erases and formats all tracks, checks for bad sectors and marks them if needed to prevent inadvertant use. When completed, the disk is ready for use. WDINIT - Initialization program for Winchester disk drives. See CDINIT above. MAPBAD - for CDC, Winchester, and diskettes. Reads every sector on the disk/diskette. If a sector is bad it is marked bad (a special file is created in the CP/M directory preventing future use). This program is non-destructive and may be run anytime you suspect a problem. As disks/diskettes age, contamination and oxide flaking sometimes cause bad sectors to appear ... if excessive bad 5 sectors show up, the hard disk may need servicing or the diskette should be replaced. Note: ZASM, LINK, EDIT, FORMAT, MCOPY, DTYPE, DSET, WDINIT, CDINIT, MAPBAD, MAKCPM, SETPRNT, and the SDSystems source and object files and their derivatives are proprietary to SDSystems. EOP is from the CP/M Users Group. All other files are proprietary to Digital Research, Inc. Disk Formats The following formats are currently defined: Format Bytes/ Type Size Sides Density Sector ------ ----- ------ ------- ------ 0 8" Single Single 128 1 8" Double Single 128 2 5.25" Single Single 128 3 5.25" Double Single 128 4* 8" Single Double 128 5* 8" Double Double 128 6* 5.25" Single Double 128 7* 5.25" Double Double 128 C 8" Single Double 256 D 8" Double Double 256 * These four Format Types will be dropped from the next release of CP/M, and two new formats added. All single density diskettes will then be 128 bytes/sector and all double density diskettes will be 256 bytes/sector. Users are encouraged to plan moving to one of the supported formats to ease migration and insure future compatability. The two new formats planned for the next release will be: Format Bytes/ Type Size Sides Density Sector ------ ----- ------ ------- ------ E 5.25" Single Double 256 F 5.25" Double Double 256 See attachment for a detailed discussion of format types, diskette capacities, and other factors to consider. 6 II. Standard Configurations CP/M Logical Drive Addresses / Physical Unit Addresses Logical Drive Addresses are A:, B:, C: ... P:. A maximum of 16 logical drives of up to 8 MB each may be supported by CP/M 2.2. The boot drive / CP/M Systems Disk must be logical drive A:, which may be either a hard disk or a diskette drive. Physical Unit Addresses are 0,1,2,...,11 and start at 0 for each controller. For example, an SD-700 system with 96 MB and two diskette drives would have diskette unit addresses 0 and 1, and hard disk unit addresses 0 and 1 for the removable cartridge, plus 2 thru 11 for the non- removeable portion. One physical unit address can contain at most 8 MB for CP/M 2.2. Logical Drive Addresses may be mapped to Physical Unit Addresses in any order, using either "SUBMIT MAKCPM" (permanent) or DSET (temporary). "Standard" Configurations (CP/M System Diskette-resident) (Notation: "K:,6" means Logical Drive K: is assigned to Physical Unit Address 6): Model Diskette Winchester CDC 9448 -------------- --------- ----------- ------------------- MS-20 A:,0;B:,1 OPTIONAL OPTIONAL MS-610 A:,0 E:,0;F:,1 OPTIONAL SD-200 A:,0;B:,1 N/A N/A SD-600 A:,0 E:,0;F:,1 N/A SD-700 32 MB OPTIONAL N/A E:,0;F:,1 Remov. (A:,0) G:,2;H:,3 Fixed SD-700 64 MB OPTIONAL N/A Above, plus (A:,0) I:,4;J:,5 Fixed K:,6;L:,7 Fixed SD-700 96 MB OPTIONAL N/A Above, plus (A:,0) M:,8;N:,9 Fixed O:,10,P:,11 Fixed "Hard-Disk" Configurations (CP/M System Hard-Disk-resident): Model Diskette Winchester CDC 9448 -------------- --------- ----------- ------------------- MS-20 See Standard MS-610 C:,0 A:,0;B:,1 OPTIONAL SD-200 See Standard SD-600 C:,0 A:,0;B:,1 N/A SD-700 32 MB OPTIONAL N/A K:,0;L:,1 Remov. (M:,0;N:,1) A:,2;B:,3 Fixed SD-700 64 MB OPTIONAL N/A Above, plus (M:,0;N:,1) C:,4;D:,5 Fixed E:,6;F:,7 Fixed SD-700 96 MB OPTIONAL N/A Above, plus (M:,0;N:,1) G:,8;H:,9 Fixed I:,10;J:,11 Fixed 7 Diskette Drives It is important to specify the correct brand of disk drive when you configure your system because each has different track to track stepping times which must be known to CP/M's CBIOSB driver: specifying too short a stepping time might work, but the drives might be noisier, and occasional CP/M BDOS errors might occur; specifying a longer time than necessary will result in performance somewhat less that optimal. If you are not sure of the brand, remove the top cover and look at the label on the drive(s). Stepping times (for your info) are: Qume - 3 ms. MFE - 6 ms. Shugart - 10 ms. III. Configuration Process Before you start: make two copies of your CP/M distribution diskette, and put the original away. Label the first copy "Unmodified Original" and keep it handy in case something happens to the second copy while you are configuring it. If a replacement second copy is needed, copy from the first copy (not the original). You may copy using SD-OS / COSMOS / CP/M / MP/M if you have one of these up and running; if not, and you can boot the distribution diskette, use MCOPY, else see your dealer for assistance or call the SDSystems HotLine. Disk/Diskette Initialization/Formatting If you have a hard disk system (SD-600, SD-700, or MS- 610) and it has not been pre-configured for you, you will first need to configure a CP/M system on diskette that has hard-disk support. To find out if your system is pre-configured, try booting it: press reset and type C 4 (press reset, hit return on the terminal for an MS- 610, then type C 4). If there is no response after a few seconds, the system has not been pre-configured, in which case run one of the following utilities: WDINIT - SD-605, SD-610, MS-610 CDINIT - SD-700 MAKCPM To customize your CP/M system for your hardware, insert the second copy of your CP/M distribution diskette, boot it up, and type "SUBMIT MAKCPM". This starts an automated menu-driven process (see attachment for printed example) the result of which is one of the following files: Model File Created ------- ------------ MS-20 MS-20.COM MS-610 MS-610.COM 8 SD-200 SD-200.COM SD-600 SD-600.COM SD-700 SD-700.COM This file is then specified to the folling step, SYSGEN, to complete the process. Details of what MAKCPM does and why are included under advanced topics for those who need to know. SYSGEN After MAKCPM successfully completes, the following step installs the new system: SYSGEN model.COM For the Destination Drive question, respond either "A", to update your diskette, or "E", etc., to update your hard-disk. If creating a hard-disk system, you will need to transfer other files from the diskette as well (do this booted on the new system) e.g.: PIP E:=A:*.*[V] Transfers all files from the diskette to the hard disk, and verifies. Your diskette is no longer needed if you have built a hard-disk system, and may be marked "Configured CP/M Systems Diskette" and filed away for backup. If you are going to use a diskette CP/M system, you should make a backup copy and use that, filing away your "Configured CP/M Systems Diskette" for backup. Now power off your system, power it on, and verify your new system does indeed boot and run properly. Note that only a few of the files are needed for normal operation of CP/M; e.g. for an applications package, you might wish to prepare minimum CP/M System Diskettes as follows: FORMAT a blank or used diskette SYSGEN a copy of the CP/M system itself PIP the following files: *B:=A:PIP.COM[V] The CP/M file copy utility *B:=A:STAT.COM[V] The CP/M STAT Command *B:=A:SUBMIT.COM[V] The CP/M SUBMIT Command *B:=A:XSUB.COM[V] Used with the SUBMIT Command *B:=A:EDIT.COM[V] If you want the SDSystems Editor Other files you might want are: *B:=A:DTYPE.COM[V] The SDSystems Disk Type Command 9 *B:=A:DSET.COM[V] The SDSystems Disk Set Command *B:=A:FORMAT.COM[V] The SDSystems Disk FORMAT Utility. *B:=A:MCOPY.COM[V] The SDSystems Disk Copy Util. *B:=A:PAUSE.COM[V] Pause command for SUBMIT *B:=A:EOP.COM[V] Printer Eject command *B:=A:SETPRNT.COM[V] Printer reconfigure command *B:=A:CLEAR.COM[V] VDB-8024 Reset command If you are using the Turnkey feature you might want: *B:=A:BSET.COM The SDSystems "Batch Flag" Set Command *B:=A:STARTUP.SUB Turnkey Command File IV. Advanced Topics: Turnkey applications: When "SUBMIT MAKCPM" runs, it asks the question: "Do You Want AUTO-STARTUP Option (Y/N)". If you reply "Y" you have selected the Turnkey feature, otherwise read no further. The next question is "Default Program Is 'SUBMIT STARTUP' Ok? (Y/N) ". If you reply "Y", every time the system is cold booted, file STARTUP.SUB is SUBMITed; this file can contain one or more complete CP/M command lines as you would have typed them from the console. STARTUP.SUB can be created with any editor, such as ED,EDIT, WM, WS etc. If you reply "N", you are asked to enter one command line to be executed on every cold boot. In this case STARTUP.SUB is not used. BSET activates the Turnkey feature. MENU is a sample progran that creates a STARTUP.SUB file, runs BSET, cold boots to run STARTUP.SUB, and then returns to MENU. Disk/Diskette Utilities DSET - Displays, and optionally sets disk and/or diskette drive to Physical Unit Addresses. Examples of use: 1. SD-200 system with defective drive A:. To run CP/M and get the Payroll done (you don't have time to get the machine fixed first): boot up with the Systems disk in drive B: by using the monitor command "C 1", then type DSET and change drive A: from unit 0 to unit 1, and 10 drive B: from unit 1 to unit 0. Now drive B: is drive A: and vice-versa until the next cold boot. 2. SD-700 system with client x records on platter H:, client y records on platter I:, and client z records on platter K:, and one lengthy SUBMIT file with several hundred references to platter H: but otherwise suitable for processing any of the clients records. You could edit the file, globally replacing all the platter references, or use DSET to change the physical unit addresses making each platter in turn logical drive H: and using the same SUBMIT file for each client. Using USER n CP/M 2.2 supports a form of "sub-directories" called USER numbers, which are useful for storing related groups of programs and/or files together, such as all work for a certain customer or department, or all programs belonging to a certain sort package, etc. This feature is also compatable with MP/M. To set up USER numbers: 1. Type DDT PIP.COM This brings PIP into memory. Type G0 This exits DDT. 2. Type USER 15 Type SAVE 30 PIP.COM This saves PIP from memory to disk under USER 15. 3. Repeat Step 2 for USER 14, 13, ..., 1. Note: USER 0 is the default user number, entered on every cold boot, and is normally used for system files, i.e. commonly used CP/M commands and utilities. 4. To move files from diskette drive B: to USER 12 on diskette drive A: for example: a. Type USER 12 b. Type DIR and verify that PIP.COM is there. c. Type PIP A:=B:*.*[G0] (if the diskette in B: has files in USER 8 that you want, type PIP A:=B:*.*[G8] etc.) To see what USER numbers are in use on disk or diskette B: type: B: Change logged drive to B: A:STAT USR: Get STAT Command from drive A: ACTIVE USER : 0 ACTIVE FILES: 0 3 12 which says the last typed user number was USER 0 (default) and there are files for USER 0, USER 3, and USER 12. Note: a copy of STAT.COM must be PIPped to any USER number that wishes to run it. 11 Copying diskettes from software houses & distributors The most common format these are distributed in is Single Sided, Single Density, No Operating System. It is good practice to immediately make a backup copy, file the original away, and use the backup copy to install the package. Diskette-only systems, or hard-disk systems with two diskette drives: MCOPY usually cannot be used for this purpose, since it often balks at copying the first two tracks of such disks (it expects an operating system or formatted blank tracks there); the easiest way to make a copy is to use PIP: 1. Run FORMAT to initialize a disk to receive the copy. 2. Copy CP/M to the newly formatted disk by typing SYSGEN. 3. Copy PIP to the newly formatted disk by typing: PIP B:=A:PIP.COM[V] 4. Put the new disk in A: and boot it. 5. Insert the diskette to be copied into drive B:. 6. Type PIP A:=B:*.*[V] and hit RETURN. All of the files will be copied and verified. Hard-disk systems, with one diskette drive: If you have enough free space on your hard disk, a convenient way to make a working copy of a diskette is to use the CP/M 2.2 USER facility to store all the files from the diskette into a "sub-directory"; e.g. USER 15. 1. Type USER 15 Type DIR (or DIR B: etc.) If this "sub-directory" is free, you should see just one file: PIP.COM (if this file is not there, see "Using USER Numbers"). 2. Type PIP A:=C:*.*[G0V] This will copy all the files from the diskette in drive C:, USER 0, to hard disk A:, USER 15 and verify them. Type DIR to verify the files have been copied. 3. If you wish, a diskette backup copy may be made as follows: 12 a. Type USER 0 b. Place a blank diskette into drive C: and run FORMAT. c. Type PIP C:=A:*.*[G15V] This will copy all the files (and PIP.COM) to the diskette. d. Type DIR C: to verify the files have been copied. e. Type ERA C:PIP.COM if you wish to erase PIP.COM from the diskette. 4. To be able to access these files from USER 0: a. Type USER 0 b. Type PIP A:=A:file.ext[G15] for each file you want to move. Disk Format Technical Details: Cluster Size: this is the "atom" of disk/diskette space ... i.e. the smallest increment of space that can be allocated by CP/M for a file, and the increment by which a file grows. CP/M directory entries are limited to 248, so a single sided single density diskette could have no more than 248 1K files allocated, a single sided double density diskette could have no more than 248 2K files allocated, and a double sided double density diskette could have no more than 248 4K files allocated. Hence, the following cluster sizes have been chosen and used for some time by SDSystems SD-OS, COSMOS, and now CP/M and MP/M: Diskettes Single Density, Single Sided - 1K Bytes Double Density, Single Sided - 2K Bytes Double Density, Double Sided - 4K Bytes Hard Disk (CDC and Winchester) - 4K Bytes The CP/M STAT *.* Command shows filesize allocated, so even the smallest file will show a minimum file size equal to the cluster size for that disk/diskette. Note that this is the same amount of space allocated under SD-OS or COSMOS; however the SD-OS/COSMOS XDIR Command shows file size used, not allocated, with a 1K minimum regardless of cluster size. The SD-OS/COSMOS XSTAT Command shows total file sizes allocated, however, and is typically 100K-300K larger than the XDIR total for a full D Format diskette. Note that CP/M does not support the XDIR or XSTAT Commands. 13 Current format type codes derive from coding of the UNIT byte: Bit 7 - 1=256 byte sectors 0=128 byte sectors Bit 5 - 1=Double Density 0=Single Density Bit 6 - 1=5.25" diskettes 0=8" diskettes Bit 4 - 1=Double Sided 0=Single Sided Bits 0-3 - Unit Address 0-16 The following formats are currently defined: Format Bytes/ #/ # Bytes/ Total Type Size Sides Dens Sector Trk Trk Track Bytes ------ ----- ----- ---- ------ --- --- ------ ------ 0 8" SS SD 128 26 77 3,328 256K 1 8" DS SD 128 26 154 3,328 512K 2 5.25" SS SD 128 18 35 2,304 80K 3 5.25" DS SD 128 18 70 2,304 160K 4* 8" SS DD 128 50 77 6,400 492K 5* 8" DS DD 128 50 154 6,400 985K 6* 5.25" SS DD 128 29 35 3,712 129K 7* 5.25" DS DD 128 29 70 3,712 259K C 8" SS DD 256 26 77 6,656 512K D 8" DS DD 256 26 154 6,656 1,025K E** 5.25" SS DD 256 18 35 4,608 160K F** 5.25" DS DD 256 18 70 4,608 320K * These four Format Types will be dropped from the next% ! ! ! J release of CP/M. Users are encouraged to plan moving to one of the supported formats to ease migration and insure future compatability. ** These two Format Types will be added to the next release of CP/M. A new definition of the UNIT Byte has been proposed for the next release of CP/M, to incorporate hard disk definitions, and standardize on 128 byte sectors for single density, and 256 byte sectors for double density. This will result in a renumbering of the format type codes: Bit 7 - 1=hard disk 0=diskettes for diskettes: 14 Bit 6 - 1=Double Density, 256 byte sectors 0=Single Density, 128 byte sectors Bit 5 - 1=5.25" diskettes 0=8" diskettes Bit 4 - 1=Double Sided 0=Single Sided for hard disks: Bit 6 - 1=CDC 0=Winchester for CDC: Bit 5 - reserved for Winchester: Bit 5 - 1=5.25" platter 0=8" platter Bit 4 - 1=Fixed platter 0=Removable platter Bits 0-3 - Unit Address 0-16 The following formats will be defined in the next release: Format Bytes/ #/ # Bytes/ Total Type Size Sides Dens-Sector Trk Trk Track Bytes ------ ----- ----- ----------- --- --- ------ ------ 0 = 8" SS SD-128 26 77 3,328 256K 1 = 8" DS SD-128 26 154 3,328 512K 2 = 5.25" SS SD-128 18 35 2,304 80K 3 = 5.25" DS SD-128 18 70 2,304 160K 4 (C) 8" SS DD-256 26 77 6,656 512K 5 (D) 8" DS DD-256 26 154 6,656 1,025K 6 (E) 5.25" SS DD-256 18 35 4,608 160K 7 (F) 5.25" DS DD-256 18 70 4,608 320K (Where changed, old format types are shown in parentheses) Internals of "SUBMIT MAKCPM" Process: 1. SUBMIT MAKCPM starts CP/M execution of the submit file MAKCPM.SUB which has two statements in it: MCBIOS SUBMIT LINKSYS The first statement runs program MCBIOS.COM which is a 15 menu-driven program that gathers information from the user on the configuration to be supported and options desired, and then outputs six files as input to subsequent steps: LINKSYS.SUB - Contains customized steps for the remainder of the process. CTYPE - INCLUDEd in CONIO assembly. ORGBIOS - Assembly source file. STEPPING - INCLUDEd in DDBTBL assembly. TYPSYS - INCLUDEd in CONIO assembly. VPARS - INCLUDEd in COLD assembly. (Since these files are recreated each time, they may be ERAsed at the end of the process, if desired, to reclaim the disk space used.) The second statement starts CP/M execution of the submit file LINKSYS.SUB which contains customized steps to perform the remainder of the process. 2. The sophisticated dealer or user may bypass the above process, and, using a sample run as a guide, modify, assemble, and link just those portions required to accomplish their objective. Note that SDSystems support extends only to the full, automated process; problems encountered in modified systems may be supported only on a "best efforts" billable support charge basis, and then only if support personnel are available (any travel and accommodation charges also billable). 3. Following is a list of files used and a narrative: CBIOSB - SDSystems CP/M BIOS INCLUDE DSKCNV - Logical/Physical Unit Conversion INCLUDE DEBLOCK - Disk/Diskette Blocker/Deblocker INCLUDE BLOAD - Multi-sector Loader This module is furnished pre-assembled as CBIOSB.OBJ. COLD - SDSystems Cold Boot INCLUDE VPARS - generated by MCBIOS This module is assembled every time. CONIO - SDSystems Console I/O INCLUDE CTYPE - generated by MCBIOS INCLUDE TYPSYS - generated by MCBIOS This module is assembled every time. DDB - SDSystems Versafloppy Diskette I/O Driver (Ram Resident) This module is furnished pre-assembled as DDB.OBJ. 16 DDBTBL - Command tables for DDB INCLUDE STEPPING - generated by MCBIOS This module is assembled every time. DSKTBLS - Sector Translation / Interleave Tables. This module is furnished pre-assembled as DSKTBLS.OBJ. ORGBIOS - generated by MCBIOS. This module is assembled every time. NOHDALV - "No Hard Disk (Diskette only)" Allocation Vector Tables This module is furnished pre-assembled as NOHDALV.OBJ. CDCALV - CDC Hard Disk Allocation Vector Tables This module is furnished pre-assembled as CDCALV.OBJ. CDCDRV - CDC 9448 Hard Disk Driver (32/64/96 MB) This module is furnished pre-assembled as CDCDRV.OBJ. WDALV - Winchester Hard Disk Allocation Vector Tables This module is furnished pre-assembled as WDALV.OBJ. WDDRV - Winchester Hard Disk Driver (5/10 MB) This module is furnished pre-assembled as WDDRV.OBJ. 4. Following is a sample LINKSYS.SUB, for a MS-610 system: ZASM ORGBIOS /K ZASM COLD /K ZASM CONIO /K ZASM DDBTBL /K ERA COLD.HEX REN COLD.HEX=COLD.OBJ LINK ORGBIOS,CBIOSB,CONIO,DDB,DDBTBL,WDDRV,DSKTBLS, WDALV /CU MOVCPM 62 * SAVE 35 MS-610.COM XSUB DDT MS-610.COM 17 ICOLD.HEX R880 IORGBIOS.HEX R3980 G0 SAVE 48 MS-610.COM 5. Special Memory Locations: Low Memory: 0000 - 00FF shared with CP/M. 0008 - Printer flag. 0042 - Current diskette Unit byte (BIOS only - not used by CP/M itself). High Memory: FF80 - FFFF are reserved for SDSystems use. FF80 - FF88 - Interrupt Table. FF89 - FFBF - unused. FFC0 - FFC1 - UNITNO - Disk Allocation Tables. FFC2 - FFC3 - HDDRIVER. FFC4 - Batch Flag (Set by BSET to -1). FFC5 - FFFF - unused. V. Bibliography: CP/M 2.2 Manual set, by Digital Research, Inc. Text Editor / Z80 Global Assembler / Linker Operations Manual, by SDSystems, Part Number SD # 7140028. CP/M by Thom Hogan, Osborne Inc. (Textbook) 18