home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / FLOPPIES / 22DISK13.ZIP / 22NCE126.LZH / 22NICE.DOC < prev    next >
Encoding:
Text File  |  1990-04-09  |  50.3 KB  |  1,373 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                   22NICE - A NEW INSYSTEM CP/M 2.2 EMULATOR
  14.  
  15.  
  16.  
  17.                          Version 1.25, October, 1989
  18.  
  19.                 Copyright 1989, Sydex.  All Rights Reserved.
  20.  
  21.                                     SYDEX
  22.                             153 North Murphy Ave.
  23.                             Sunnyvale, CA  94086
  24.                                (408) 739-4866
  25.  
  26.  
  27.  
  28.                                    NOTICE
  29.  
  30.       THIS IS NOT FREE  SOFTWARE!   If you  paid    a  "public  domain"
  31.       vendor for this program,  you paid for the service of copying the
  32.       program, and not for the program itself.  Rest assured that noth-
  33.       ing  ever  gets  to  the  originators of this product from such a
  34.       sale.  You may evaluate this product,  but if you make use of it,
  35.       you must register your copy.
  36.  
  37.       We  offer  several inducements to you for registering.   First of
  38.       all,  you receive the most up-to-date copy of the program that we
  39.       have  --  and  we do update the product on a regular basis.   You
  40.       also receive support for 22NICE -- which can be quite valuable at
  41.       times.  And finally,  we have a few utilities not included in the
  42.       evaluation package.   Make no mistake,  however - this is a fully
  43.       functional version of 22NICE and not "crippled" in any way.
  44.  
  45.  
  46.                           REGISTRATION INFORMATION
  47.  
  48.       The non-commercial single-user registration  fee  for  22NICE  is
  49.       $40.00  US,  which  includes a copy of 22DISK,  our CP/M diskette
  50.       transfer utility.   The commercial and multisystem site  fee  for
  51.       22NICE (including 22DISK) is $150.00.
  52.  
  53.       Send a check or company P.O. for the appropriate amount to:
  54.  
  55.                                     Sydex
  56.                             153 North Murphy Ave.
  57.                              Sunnyvale, CA 94086
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.       Please  indicate  what product you are ordering and if you have a
  68.       requirement for 3.5" media.   We normally ship  5.25"  360K  dis-
  69.       kettes, but will furnish 3.5" 720K media upon request.  Customers
  70.       outside of the United States and Canada should add $5.00 for air-
  71.       mail shipping.
  72.  
  73.       If  you  are  a registered user of this product and desire an up-
  74.       date,  please send $5.00 for handling and we will ship you an up-
  75.       to-date  copy.    Please  add $10.00 for printed documentation to
  76.       cover duplication costs.
  77.  
  78.  
  79.                              DISTRIBUTION NOTICE
  80.  
  81.       This is "user-supported" software.   You  are  hereby  granted  a
  82.       license by Sydex to distribute this evaluation copy of 22NICE and
  83.       its documentation, subject to the following conditions:
  84.  
  85.       1.    22NICE  may  be distributed freely without charge in evalua-
  86.            tion form only.
  87.  
  88.       2.    22NICE may not be sold,  licensed,  or a fee charged for its
  89.            use.  If a fee is charged in connection with 22NICE, it must
  90.            cover  the  cost  of  copying  or dissemination only.   Such
  91.            charges must be clearly identified as such by the  originat-
  92.            ing  party.    Under  no  circumstances may the purchaser be
  93.            given the impression that he is buying 22NICE itself.
  94.  
  95.       3.    22NICE must be presented as a complete unit,  including this
  96.            documentation.   Neither 22NICE nor its documentation may be
  97.            amended or altered in any way.
  98.  
  99.       4.    By granting you the right to distribute the evaluation  form
  100.            of  22NICE,  you  do  not  become the owner of 22NICE in any
  101.            form.
  102.  
  103.       Any other use,  distribution or representation of 22NICE  is  ex-
  104.            pressly forbidden without the written consent of Sydex.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.       CP/M,  CP/M-80  and  CP/M 2.2 are trademarks of Digital Research.
  113.       MS-DOS is a trademark of Microsoft.  IBM PC,  PC-XT and PC-AT are
  114.       trademarks  of  International  Business  Machines.     V20,  V30,
  115.       uPD70108,  uPD70116 are trademarks  of  NEC  Electronics.    Some
  116.       products of Lear-Siegler,  Kaypro, Osborne and Televideo are also
  117.       trademarked.
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                               Table of Contents
  128.  
  129.  
  130.         22NICE IN BRIEF..............................................1
  131.  
  132.         QUICK INSTALLATION AND OPERATION OF 22NICE...................1
  133.  
  134.         ABOUT THE 22NICE CP/M EMULATOR...............................2
  135.  
  136.         HOW 22NICE WORKS.............................................3
  137.  
  138.         COMMAND SYNTAX CONVENTIONS...................................4
  139.  
  140.         INSTALLING 22NICE............................................5
  141.  
  142.         INSTALLATION AS A DEVICE DRIVER..............................6
  143.  
  144.         INSTALLATION AS A TERMINATE-AND-STAY-RESIDENT PROGRAM........7
  145.  
  146.         INSTALLATION AS A LOAD-ON-DEMAND PROGRAM.....................7
  147.  
  148.         THE GENCOM UTILITY - GENERATE A PRE-LOADER...................8
  149.  
  150.         LOCATING CP/M PROGRAM FILES.................................12
  151.  
  152.         A SAMPLE 22NICE INSTALLATION................................13
  153.  
  154.         USE OF CP/M SUBMIT AND XSUB.................................15
  155.  
  156.         USER NUMBER SUPPORT.........................................15
  157.  
  158.         SAVING MEMORY IMAGES - THE CSAVE COMMAND....................16
  159.  
  160.         MISCELLANEOUS TOPICS........................................17
  161.          Accessing I/O Ports........................................17
  162.          Accessing PC Memory........................................17
  163.          IOBYTE Support.............................................17
  164.          Physical Disk Addressing...................................18
  165.          Maximum Program Size.......................................18
  166.          Disk Drive Reassignment....................................18
  167.  
  168.         IN CLOSING..................................................19
  169.  
  170.         The Sydex Product Line......................................20
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.       22NICE IN BRIEF
  180.  
  181.       22NICE is a Z80/8080 CP/M 2.2 emulator for use  on  PC-compatible
  182.       computers.   The 22NICE CP/M Emulation package offers the follow-
  183.       ing features:
  184.  
  185.            *    Emulate 8080/8085/Z80 processors with  or  without  NEC
  186.                 V-series chip installed.
  187.  
  188.            *        Provides  terminal  emulation  for most common CP/M
  189.                 machines  with  terminal  types  for  Osborne,  Kaypro,
  190.                 Heath/Zenith,   Morrow,   Actrix,   DEC   VT-100/VT-52,
  191.                 Televideo 925 and LSI ADM-3X.
  192.  
  193.            *    Supports CP/M user number to DOS subdirectory  transla-
  194.                 tion.
  195.  
  196.            *        Allows  use  of DOS "pipes" and utilities with CP/M
  197.                 programs.
  198.  
  199.            *    Supports a complete set of BDOS and BIOS  function  in-
  200.                 terfaces, including direct disk read/write.
  201.  
  202.            *        CP/M programs are fully integrated into the DOS en-
  203.                 vironment;  the user is unaware that a program is CP/M-
  204.                 or DOS-based.
  205.  
  206.       All this for a nominal registration fee!  You'd easily pay over a
  207.       hundred   dollars   for  a  commercial  package  with  far  fewer
  208.       capabilities.   In addition,  we include the  22DISK  CP/M-to-DOS
  209.       conversion package with every 22NICE registration.
  210.  
  211.  
  212.       QUICK INSTALLATION AND OPERATION OF 22NICE
  213.  
  214.       To  use  22NICE to provide a CP/M environment,  you'll need to do
  215.       the following:
  216.  
  217.            1.    Copy the CP/M program files that you want  to  execute
  218.                 onto a DOS disk,  changing the ".COM" file extension to
  219.                 ".CPM".
  220.  
  221.            2.   Run the GENCOM utility on each ".CPM" file,  specifying
  222.                 the console, keyboard and processor type.
  223.  
  224.            3.   Copy the file 22NICE.COM to a directory within your DOS
  225.                 command search path.
  226.  
  227.            4.      Run  the  CP/M program(s) as if they were normal DOS
  228.                 programs.
  229.  
  230.  
  231.  
  232.                                    Page 1
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.       Detailed information and discussion of special cases is presented
  240.       in sections which follow.
  241.  
  242.  
  243.       ABOUT THE 22NICE CP/M EMULATOR
  244.  
  245.       The emulation of 8080 and Z80 processors  on  the  PC  is  not  a
  246.       recent  development.    Almost since the beginning,  co-processor
  247.       cards have been available for the PC  and  various  efforts  have
  248.       been  made  to  include CP/M 2.2 support in the general scheme of
  249.       things.   CP/M 2.2 on an MS-DOS machine is a tempting prospect  -
  250.       after all, MS-DOS was based on CP/M 2.2 (and not CP/M-86).
  251.  
  252.       In  1985,  NEC introduced a pin-compatible 8088 work-alike called
  253.       the uPD70108 or V20.   The curious thing about this chip is  that
  254.       it's  really  two  processors  in one - an 8088 for PC-based ("16
  255.       bit") software,  and  an  8080  for  the  older  CP/M  ("8  bit")
  256.       software.    Switching  between  the  modes  is done with special
  257.       machine instructions.   What could be a more natural product than
  258.       a CP/M emulator running on the PC?
  259.  
  260.       It happened that a lot of people got this idea and offered a host
  261.       of  packages  differing  in  appearance and function to do essen-
  262.       tially the same thing  -  emulate  a  CP/M  environment.    Sydex
  263.       developed  22NICE,  but decided against marketing it for or three
  264.       years,  primarily because of the number of similar  products  al-
  265.       ready being offered.
  266.  
  267.       The fuss has died down now.   Intel is still suing NEC on charges
  268.       of copyright infringement over the V20,  but by and  large,  CP/M
  269.       support is of no great interest.   The V20,  alas, would not emu-
  270.       late a Z80,  and it does have a few unfixed "bugs" in its  emula-
  271.       tion mode.   Besides, PC-AT clones are really selling now and you
  272.       can't drop a V20 into one of those.
  273.  
  274.       So Sydex has dusted off its emulator,  22NICE and put it  out  in
  275.       the  shareware  market.    22NICE offers the following advantages
  276.       over its competition:
  277.  
  278.            *    22NICE will use a V20 if it's present and  do  software
  279.                 emulation  if  it's  not.   This means that you can run
  280.                 your old CP/M programs on your PC-AT.
  281.  
  282.            *    22NICE contains an  emulator  for  both  8080  and  Z80
  283.                 processors.    In  addition,  22NICE has a "test" mode,
  284.                 which  will  allow  you  to  identify  the  appropriate
  285.                 processor that you need to emulate.   It will also tell
  286.                 you if your program will run afoul of one  of  the  V20
  287.                 bugs.
  288.  
  289.  
  290.  
  291.  
  292.                                    Page 2
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.            *    22NICE supports a user number-subdirectory mapping that
  300.                 allows  your  CP/M  program  to  access DOS's directory
  301.                 structure.
  302.  
  303.            *    22NICE contains terminal emulation routines for  a  few
  304.                 common  terminal  types which will usually allow you to
  305.                 run a program without re-installing,
  306.  
  307.            *    If terminal emulation isn't  important,  22NICE  allows
  308.                 your  program  to  use  DOS  console  input  and output
  309.                 facilities.  This means that you can use a CP/M program
  310.                 as part of a DOS "pipe".
  311.  
  312.            *    And finally,  22NICE fits CP/M into the DOS environment
  313.                 - CP/M programs use the DOS facilities and are not dis-
  314.                 tinguishable  from  other DOS programs.   This means no
  315.                 special CP/M-like command interpreter is needed.
  316.  
  317.       Together with the diskette data conversion programs,  support  of
  318.       CP/M 2.2 applications on a PC can really be painless.
  319.  
  320.  
  321.       HOW 22NICE WORKS
  322.  
  323.       There  are  several  ways  to implement a CP/M-like operating en-
  324.       vironment on a PC-class computer:
  325.  
  326.            (1)  Emulate an 8080 or Z80-based computer  system  and  run
  327.                 CP/M 2.2 more or less "straight out of the box".   This
  328.                 approach leads to difficulties in  making  use  of  DOS
  329.                 data files and system functions.  It also requires that
  330.                 you "shift gears" mentally each time you make the tran-
  331.                 sition from CP/M to DOS and vice-versa.
  332.  
  333.            (2)  Emulate the CP/M operating environment and provide 8080
  334.                 and Z80 emulation.  This might take care of some of the
  335.                 DOS  data interchange problems,  but "crossing over" to
  336.                 DOS is difficult and few of the benefits  and  resource
  337.                 of DOS are available to CP/M users.
  338.  
  339.            (3)    Support  the  CP/M I/O interface and provide 8080/Z80
  340.                 emulation, but leave DOS in control as the host operat-
  341.                 ing system.   This involves the greatest effort and re-
  342.                 quires an intimate knowledge of CP/M 2.2 and MS-DOS in-
  343.                 ternals  to  really  work properly.   However,  all DOS
  344.                 facilities are at your disposal and  "mixing"  of  CP/M
  345.                 and  DOS  applications happens naturally.   This is the
  346.                 approach taken in 22NICE.
  347.  
  348.  
  349.  
  350.  
  351.  
  352.                                    Page 3
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.       22NICE puts the bulk of the emulation in a DOS installable device
  360.       driver package called 22RES.SYS or the resident emulation program
  361.       22NICE.COM.   22RES and 22NICE not only contain support for  CP/M
  362.       functions,  but also provide software emulators for both the 8080
  363.       and the Z80 instruction sets.
  364.  
  365.       CP/M programs are loaded by having  DOS  first  execute  a  "pre-
  366.       loader",  which  provides information to 22NICE about the program
  367.       to be executed.   22NICE then  allocates  the  necessary  memory,
  368.       loads the CP/M program code, and begins emulation.
  369.  
  370.       A  CP/M  executable  file  normally  has a file name extension of
  371.       "COM".    This  creates  problems,  however,  with  existing  DOS
  372.       programs having the same extension.   DOS does no checking on the
  373.       contents of "COM" files -- executing a CP/M file in DOS 8088 mode
  374.       could lead to disaster.
  375.  
  376.       22NICE handles this by renaming all CP/M executable files with  a
  377.       "CPM"  file name extension.   CP/M programs,  therefore,  are not
  378.       directly executable by DOS.    The  "pre-loader"  for  each  CP/M
  379.       program carries the "COM" name extension and the name of the CP/M
  380.       program to which it is related.  The pre-loader is short -- about
  381.       400 bytes, but one is needed for each CP/M executable file.  This
  382.       can get to be a nuisance if you're not running with a fixed disk,
  383.       so  we've  also  provided a "bound" program form,  where the CP/M
  384.       program is combined with the pre-loader in a single program file.
  385.  
  386.       This "pre-loader" concept is very powerful -- it allows different
  387.       programs  to   execute    with  different  operating  parameters.
  388.       MicroPro's WordStar,  for example,  best runs in a mode where the
  389.       numeric keypad is re-mapped to provide WordStar  cursor  movement
  390.       codes.  CP/M system utilities, however, best run with no terminal
  391.       emulation,  allowing console input and output to be redirected if
  392.       desired.   One program may require Z80 software emulation,  where
  393.       another might not.
  394.  
  395.       22NICE  has been in use within Sydex for some time - currently we
  396.       have it running in AT's and XT's and on  at  least  one  CompuPro
  397.       8086 machine in modified form.
  398.  
  399.  
  400.       COMMAND SYNTAX CONVENTIONS
  401.  
  402.       In  order to discuss the general form of various 22NICE commands,
  403.       a number of conventions have been adopted in this document:
  404.  
  405.            (1)  All commands are assumed to be followed  by  depression
  406.                 of the ENTER key.  Sometimes this key is referred to as
  407.                 RETURN or CARRIAGE RETURN.
  408.  
  409.            (2)  All upper-case (capital) letters are entered exactly as
  410.                 shown in the command description.  For instance,
  411.  
  412.                                    Page 4
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.                      CFMT
  421.  
  422.                 is entered as depressions of the "C",  "F", "M" and "T"
  423.                 keys.   Actual case of the entered  characters  is  ir-
  424.                 relevant;  that is, either upper- or lower-case letters
  425.                 may be entered.
  426.  
  427.            (3)  Any item enclosed in quotes (") refers to a name  of  a
  428.                 particular  type  of  item  and  is  not  to be entered
  429.                 literally.  For example:
  430.  
  431.                      "CP/M file"
  432.  
  433.                 refers to a general CP/M file designator  and  NOT  the
  434.                 characters "CP/M file".
  435.  
  436.            (4)    Any item enclosed in parentheses ("(" and ")") refers
  437.                 to an item which may be omitted from the command  line.
  438.                 For example:
  439.  
  440.                      ("disk type")
  441.  
  442.                 refers  to  a disk type item which may be left out com-
  443.                 pletely from the command statement.
  444.  
  445.            (5)  Any blank character may be replaced by  more  than  one
  446.                 blank character.
  447.  
  448.       These  conventions will be used throughout this document with ad-
  449.       ditional explanations where required.
  450.  
  451.  
  452.       INSTALLING 22NICE
  453.  
  454.       The files associated with CP/M emulation are the following:
  455.  
  456.            22RES.SYS       the resident support driver
  457.            22NICE.COM      an alternate support program
  458.            RMVNICE         remove 22NICE from memory
  459.            CUSER.EXE       user number information utility.
  460.            GENCOM.COM      generate a DOS *.COM file.
  461.            CSAVE.COM       SAVE command a la CP/M SAVE
  462.  
  463.       Before you install 22NICE on your system,  you'll need to make  a
  464.       decision about the resident support program.  This program can be
  465.       employed in any of three modes:
  466.  
  467.            1.   As an installable device driver.  The file 22RES.SYS is
  468.                 installed as a device driver as described below.   This
  469.                 mode has the advantage that installation of  the  resi-
  470.                 dent  is  "automatic" and downward-compatible with ear-
  471.  
  472.                                    Page 5
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.                 lier versions of 22NICE,  but has the disadvantage that
  480.                 approximately  20K  of  memory  is  unavailable for any
  481.                 other use.
  482.  
  483.            2.   As a terminate and stay resident (TSR) program.  If the
  484.                 file 22NICE.COM is executed as a DOS command, the resi-
  485.                 dent will install itself in a manner similar to that of
  486.                 the device driver 22RES, above.   However,  this proce-
  487.                 dure  has the advantage that 22NICE may be removed from
  488.                 memory using the RMVNICE command, freeing up the 20K or
  489.                 so used by the resident.
  490.  
  491.            3.   As a load-on-demand program.   If you have a hard disk,
  492.                 this option is probably the most convenient.  With this
  493.                 mode,  22NICE  is loaded when needed for execution of a
  494.                 CP/M program and "unloaded" or removed from memory when
  495.                 execution of a CP/M program terminates.   This mode re-
  496.                 quires no additional memory for operation of 22NICE but
  497.                 incurs  the  expense  of  a  slight amount of "startup"
  498.                 overhead.
  499.  
  500.       The following sections describe installation of  22NICE  for  the
  501.       various modes.
  502.  
  503.  
  504.       INSTALLATION AS A DEVICE DRIVER
  505.  
  506.       To  install  22NICE  as a device driver,  you'll need to insert a
  507.       line in your CONFIG.SYS file on your boot drive.  The line should
  508.       read as follows:
  509.  
  510.            DEVICE=22RES.SYS
  511.  
  512.       A statement to insert the required text into CONFIG.SYS is:
  513.  
  514.            ECHO DEVICE=22RES.SYS >X
  515.            COPY /A \CONFIG.SYS+X CONFIG.SYS
  516.            DEL X
  517.  
  518.       You may also use any ASCII text editor,  such as  EDLIN,  to  ac-
  519.       complish the same thing.
  520.  
  521.       Make  sure  that  22RES.SYS  gets placed in the root directory on
  522.       your boot disk so DOS can access it.   You can  also  put  it  in
  523.       another  directory  and  include  the path specification with the
  524.       file name on the DEVICE= line.  For example,
  525.       The file 22NICE.COM is used to provide emulation facilities
  526.  
  527.            DEVICE=\CPM22\22RES.SYS
  528.  
  529.  
  530.  
  531.  
  532.                                    Page 6
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.       22RES needs two hardware interrupt vector slots to function.   If
  540.       you  don't  specify which interrupt to use,  22RES starts looking
  541.       for an available one beginning with interrupt 128.   If you  need
  542.       to specify the interrupts to be used,  the CONFIG.SYS line should
  543.       look like this -
  544.  
  545.            DEVICE=22RES.SYS ("i1") ("i2")
  546.  
  547.       where "i1" and "i2" are interrupt ordinals expressed  as  decimal
  548.       numbers.   If just "i1" is specified,  interrupt vectors "i1" and
  549.       the one immediately following ("i1"+1) will be used.   An example
  550.       of valid CONFIG.SYS lines for 22RES are:
  551.  
  552.            DEVICE=22RES.SYS
  553.            DEVICE=22RES.SYS 128 143
  554.  
  555.       At  this point,  it is assumed that you've gotten your CP/M files
  556.       over to your PC somehow.   Remember that CP/M program files  with
  557.       an  extension of "COM" need to be renamed to have an extension of
  558.       "CPM".   The 22NICE conversion utilities do  this  automatically,
  559.       but if you've used some other means to obtain your files,  you'll
  560.       need to rename them manually.
  561.  
  562.  
  563.       INSTALLATION AS A TERMINATE-AND-STAY-RESIDENT PROGRAM
  564.  
  565.       To install 22NICE as  a  terminate-and-stay-resident  program  or
  566.       TSR,  the file 22NICE.COM is executed as a DOS command.  The for-
  567.       mat of the invocation is:
  568.  
  569.            22NICE ("i1") ("i2")
  570.  
  571.       Where i1 and i2 are optional interrupt numbers  as  described  in
  572.       the preceding section.  22NICE will remain resident in memory un-
  573.       til removed explicitly with the RMVNICE command or until a system
  574.       re-boot.  Examples of valid 22NICE commands are:
  575.  
  576.            22NICE
  577.            22NICE 134 144
  578.  
  579.       RMVNICE  may  be used to remove 22NICE by executing the following
  580.       DOS command:
  581.  
  582.            RMVNICE
  583.  
  584.       INSTALLATION AS A LOAD-ON-DEMAND PROGRAM
  585.  
  586.       This is perhaps the simplest way of using 22NICE.   Copy the file
  587.       22NICE.COM into a directory which lies in the command search path
  588.       for  your  installation.    For details on specifying the command
  589.  
  590.  
  591.  
  592.                                    Page 7
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.       search path,  consult the DOS reference manual on the PATH inter-
  600.       nal  command.   Run GENCOM for each of the CP/M programs that you
  601.       wish to execute, as described in the next section.
  602.  
  603.       Unlike the two installation modes described above,  no  interrupt
  604.       ordinals  may  be  specified;  22NICE will search for and use the
  605.       first two that are available.   Neither may the SAVE  command  be
  606.       used in this mode.
  607.  
  608.  
  609.       THE GENCOM UTILITY - GENERATE A PRE-LOADER
  610.  
  611.       At  this point,  it is assumed that you've gotten your CP/M files
  612.       over to your PC somehow.   Remember that CP/M program files  with
  613.       an  extension of "COM" need to be renamed to have an extension of
  614.       "CPM".   The 22DISK conversion utilities do  this  automatically,
  615.       but if you've used some other means to obtain your files,  you'll
  616.       need to rename them manually.   Consult the RENAME internal  com-
  617.       mand discussion in your DOS reference manual for details.
  618.  
  619.       The  GENCOM  utility  is  used to create "COM" files which can be
  620.       loaded and executed by DOS.   These files interface to the  22RES
  621.       driver  and  serve as pre-loaders for execution of the associated
  622.       CP/M program ("CPM"-type) files.
  623.  
  624.       GENCOM produces a very short (about 500 bytes) DOS  program  file
  625.       which, when executed, performs the following actions:
  626.  
  627.            (1)  Determines if the 22NICE resident has been loaded.   If
  628.                 the resident cannot be located in  memory,  a  copy  is
  629.                 automatically loaded.
  630.  
  631.            (2)    Passes an information packet concerning the operating
  632.                 environment for the CP/M file and the name of the  file
  633.                 to be executed in emulation mode.
  634.  
  635.            (3)   Relinquishes control to the 22NICE resident for actual
  636.                 CP/M program loading and execution.
  637.  
  638.       Note that a "COM"-type file produced by GENCOM serves both as  an
  639.       interface  between  DOS  and the resident and also as a container
  640.       for information concerning the CP/M program environment needed.
  641.  
  642.       The syntax of the GENCOM command is as follows:
  643.  
  644.            GENCOM "file" (DISPLAY="dtype") (KEYBOARD="ktype")
  645.                 (PROCESSOR="ptype") (BIND="filename")
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.                                    Page 8
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.            "file" is the name of the CP/M program file to be  executed,
  660.                 and is specified without a file extension. A "wildcard"
  661.                 file  specification  may  be  used  here;  GENCOM  will
  662.                 produce ".COM" files for all CP/M  files  matching  the
  663.                 specificaton.
  664.  
  665.            DISPLAY="dtype"  is  optional and specifies the type of con-
  666.                 sole display to be emulated.   Any of the following may
  667.                 be specified for "dtype":
  668.  
  669.                 NONE  -  Use  DOS  for output.   No special handling of
  670.                      characters is performed unless the ANSI.SYS device
  671.                      driver has been specified in  the  DOS  CONFIG.SYS
  672.                      file.   If the DISPLAY expression is omitted, this
  673.                      is the default.    If  program  output  is  to  be
  674.                      "piped"  to another program or file,  NONE must be
  675.                      specified.
  676.  
  677.                 TVI - Emulate a Televideo 925/950 series terminal.
  678.  
  679.                 ADM - Emulate a  Lear-Siegler  ADM-3/ADM-31  type  ter-
  680.                      minal.
  681.  
  682.                 OSBORNE  - Emulate the display on an Osborne I/II/Nuevo
  683.                      computer.
  684.  
  685.                 KAYPRO - Emulate the display on a Kaypro I/II computer.
  686.  
  687.                 ANSI - Emulate an ANSI (DEC VT-100) display.
  688.  
  689.                 VT52 - Emulate a DEC VT-52 display.
  690.  
  691.                 H19 - Emulate a Heath/Zenith H19/Z19  or  H89/Z89  dis-
  692.                      play.
  693.  
  694.            DISPLAY may be abbreviated to DIS.
  695.  
  696.            KEYMAP="ktype"  is  optional  and  specifies the map for the
  697.                 console  keyboard.     Any  of  the  following  may  be
  698.                 specified for "ktype":
  699.  
  700.                 NONE  -  Use  DOS  for  input.   No special handling of
  701.                      keyboard characters is performed.   If the  KEYMAP
  702.                      expression  is omitted,  this is the default.   If
  703.                      keyboard input  is  to  be  "piped"  from  another
  704.                      program or file, NONE must be specified.
  705.  
  706.                 TVI920  -  Emulate  a Televideo 920/925 series terminal
  707.                      keyboard.
  708.  
  709.                 ADM - Emulate a Lear-Siegler ADM-3/ADM-31 type terminal
  710.                      keyboard.
  711.  
  712.                                    Page 9
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.                 OSBORNE - Emulate the display on an Osborne  I/II/Nuevo
  721.                      computer keyboard.
  722.  
  723.                 WS  - causes the keypad keys to generate codes suitable
  724.                      for MicroPro WordStar.
  725.  
  726.                 KAYPRO - Emulate the keyboard on  a  Kaypro  I/II  com-
  727.                      puter.
  728.  
  729.                 ANSI  -  Emulate  the keys on an ANSI (DEC VT-100) ter-
  730.                      minal.
  731.  
  732.                 VT52 - Emulate the keyboard on a DEC VT-52 terminal.
  733.  
  734.                 H19  -   Emulate   the   Heath/Zenith   H19/Z19/H89/Z89
  735.                      keyboard.
  736.  
  737.            KEYBOARD may be abbreviated as KEY.
  738.  
  739.            PROCESSOR="ptype"  is  optional  and specifies the processor
  740.                 emulation type required for this program.   Any of  the
  741.                 following may be specified for "ptype":
  742.  
  743.                 V20  -  Indicates  that  22RES  should use the hardware
  744.                      emulation capabilities  of  the  NEC  V20  or  V30
  745.                      processor,  if  one is installed in this computer.
  746.                      If no V20 or V30 processor can be found,  an  8080
  747.                      software emulator will be automatically used.  V20
  748.                      is  the  default  if  the  PROCESSOR expression is
  749.                      omitted.
  750.  
  751.                 E8080  -  specifies  that  22RES  should  use  an  8080
  752.                      software  emulation,  even  if  a  V20  or  V30 is
  753.                      present.   E8080 is primarily used when  the  TEST
  754.                      mode  indicates  that there will be problems using
  755.                      the V20 or V30 hardware emulation facility.
  756.  
  757.                 Z80 - specifies that 22RES should use  a  Z80  software
  758.                      emulation.    Note that the NEC V20 and V30 do not
  759.                      support the extended instruction set  of  the  Z80
  760.                      processor.
  761.  
  762.                 TEST  - specifies that 22RES should implement a Z80 in-
  763.                      struction set and observe  the  execution  of  the
  764.                      current program.  At the conclusion of program ex-
  765.                      ecution, 22RES will report on the following:
  766.  
  767.                      *        Use  of  Z80-only instruction codes.   If
  768.                           present, PROCESSOR=Z80 should be used.
  769.  
  770.  
  771.  
  772.                                    Page 10
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.                      *    Use  of  I/O  instructions.    If  these  are
  780.                           present,  the  program should be examined and
  781.                           the  instructions  modified  or eliminated so
  782.                           as to be compatible with the PC hardware.
  783.  
  784.                      *    Presence of code likely to  activate  one  of
  785.                           the V20 "bugs".  If a message indicating this
  786.                           is present,  a software emulation mode should
  787.                           be selected.
  788.  
  789.                      *    Presence of "illegal" Z80 instructions.  Some
  790.                           instruction codes  not  documented  by  Zilog
  791.                           will  execute  on a "real" Z80;  if a program
  792.                           contains this type of code, a warning message
  793.                           will be displayed,  showing the  location  of
  794.                           the instruction and its value.
  795.  
  796.                      Hardware-supported  emulation (V20) results in the
  797.                      fastest execution  speed  for  a  program.    8080
  798.                      software  emulation  (E8080)  is  approximately  4
  799.                      times slower,  with Z80 software  emulation  (Z80)
  800.                      about  6  times  slower  than  V20/V30   supported
  801.                      hardware emulation.  On PC-AT-class machines,  the
  802.                      software  emulation modes compare favorably with a
  803.                      PC-XT  class    machine  using  a  V20  processor.
  804.                      PROCESSOR may be abbreviated as PRO.
  805.  
  806.                 BIND="filename"  is  an optional parameter to produce a
  807.                      "unitized" *.COM using the contents of  "filename"
  808.                      as the image of the CP/M object.   In this case, a
  809.                      ".COM" file will be  produced  that  includes  the
  810.                      pre-loader  and  the  CP/M program file.   Observe
  811.                      that since the BIND option generates a  file  con-
  812.                      taining  the CP/M object code,  you must re-GENCOM
  813.                      this file each time the CP/M object is changed.
  814.  
  815.  
  816.       Here are some examples of the GENCOM command:
  817.  
  818.                 GENCOM DDT
  819.  
  820.       Builds a file, DDT.COM, containing the pre-loader only.  If a V20
  821.       is present, its emulation capabilities will be used.   Otherwise,
  822.       8080  software  emulation will be performed.   Standard DOS input
  823.       and output will be performed.
  824.  
  825.                 GENCOM WS KEY=WS DIS=ANSI
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.                                    Page 11
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.       Builds a file, WS.COM, containing the pre-loader only.   If a V20
  840.       is present,  its emulation facility will be used.  Otherwise 8080
  841.       software  emulation  will  be  performed.    A  special  WordStar
  842.       keyboard  mapping  will  be  used;  console output will emulate a
  843.       standard ANSI terminal.
  844.  
  845.                 GENCOM ZSID PRO=Z80 BIND=ZSID.CPM
  846.  
  847.       Builds a  file,  ZSID.COM,  containing  the  pre-loader  and  the
  848.       program file ZSID.CPM.   Z80 software emulation will be performed
  849.       and standard DOS input and output will be used.
  850.  
  851.                 GENCOM MYPROG PRO=TEST
  852.  
  853.       Builds a file, MYPROG.COM,  containing the pre-loader only.   Z80
  854.       software  emulation  will be performed and a note will be made if
  855.       any Z80-only instructions are used.  In addition, any code likely
  856.       to run afoul of V20 bugs will be noted,  as well as usage of  any
  857.       I/O instructions.
  858.  
  859.                 GENCOM
  860.  
  861.       Displays a summary of GENCOM command syntax.
  862.  
  863.  
  864.       LOCATING CP/M PROGRAM FILES
  865.  
  866.       It  has been mentioned that GENCOM generates a "pre-loader" for a
  867.       CP/M program in order to interface to  22RES.    22RES,  however,
  868.       needs  to know where to find the program file itself.   22RES lo-
  869.       cates program files the following way:
  870.  
  871.            (1)  If the environment variable CPMPATH is  defined,  22RES
  872.                 will  search  the  drives  and directories given by it.
  873.                 The syntax for describing a search path with CPMPATH is
  874.                 identical to that used for  PATH;  namely,  a  list  of
  875.                 directories or drive names, separated by semicolons.
  876.  
  877.            (2)  In the absence of any other indication,  22RES searches
  878.                 for a program according to the PATH  environment  vari-
  879.                 able  specification.    That is,  22RES will look for a
  880.                 program in the same places and in the same order as the
  881.                 DOS command processor.
  882.  
  883.            (3)  If neither a search of PATH nor CPMPATH results in  the
  884.                 requested  file  being found,  the current directory is
  885.                 searched for the file.
  886.  
  887.       As an example, suppose all of our system's CP/M program files are
  888.       located in the subdirectory \USR\CPM22.   We could indicate  this
  889.       to 22RES by means of the following DOS statement:
  890.  
  891.  
  892.                                    Page 12
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.                 SET CPMPATH=\USR\CPM22
  900.  
  901.       Observe  that,  since  DOS  is  responsible for loading the "COM"
  902.       pre-loader files,  only the PATH environment variable has any ef-
  903.       fect on the main DOS search path.   In other words,  CPMPATH only
  904.       has relevance when "CPM" program files are involved.
  905.  
  906.  
  907.       A SAMPLE 22NICE INSTALLATION
  908.  
  909.       Suppose you'd like to run some of the programs from your  Osborne
  910.       I on your PC-XT clone.  You haven't installed a V20 chip in place
  911.       of  the 8088 processor yet,  but you're considering it.   You al-
  912.       ready have the 22NICE  files  downloaded  from  your  local  BBS.
  913.       Let's look at what's needed to get your system going with 22NICE.
  914.  
  915.  
  916.            1.    COPY 22NICE.COM INTO A COMMAND DIRECTORY.  Assume that
  917.                 22NICE.COM is present on diskette  drive  A:  and  that
  918.                 your  hard  disk  AUTOEXEC.BAT  file  has the following
  919.                 statement:
  920.  
  921.                      PATH=.;C:\DOS;C:\PROGS
  922.  
  923.                 The file 22NICE.COM can be copied into C:\PROGS thus:
  924.  
  925.                      COPY A:22NICE.COM C:\PROGS
  926.  
  927.  
  928.            2.    DETERMINE WHERE CP/M PROGRAM FILES WILL BE KEPT.    As
  929.                 mentioned  earlier,  any CP/M ".COM" program files need
  930.                 to have the extension part of their file names  changed
  931.                 to  ".CPM".    Also  note  that 22RES will need to know
  932.                 where these files are located.   On  your  fixed  disk,
  933.                 you've  decided  to  keep  them  in  a directory called
  934.                 "CPM22",  so you need to add the following line to  our
  935.                 AUTOEXEC.BAT file:
  936.  
  937.                      SET CPMPATH=C:\CPM22
  938.  
  939.                 to  inform  22RES where to find the CP/M program files.
  940.                 You will also make the appropriate directory  with  the
  941.                 following DOS command:
  942.  
  943.                      MKDIR C:\CPM22
  944.  
  945.            3.   COPY THE CP/M FILES TO DOS.  Suppose that you'd like to
  946.                 run two programs from our Osborne:
  947.  
  948.  
  949.  
  950.  
  951.  
  952.                                    Page 13
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.                 PWP.COM,  a proprietary word processing package.   This
  960.                      requires   Televideo   920-type   console  display
  961.                      capabilities.  You'd also like the keypad to func-
  962.                      tion in WordStar mode.   You don't require the Z80
  963.                      instruction set, however.
  964.  
  965.                 MLP.COM, a mailing list program.  This requires no spe-
  966.                      cial console I/O, but does make use of the Z80 in-
  967.                      struction set.
  968.  
  969.                 You can copy PWP from your Osborne diskette in the PC's
  970.                 A: drive with the following 22DISK CTOD command:
  971.  
  972.                 CTOD A:PWP.COM C:\CPM22
  973.  
  974.                 Or, if you already have PWP.COM in the CPM22 directory,
  975.                 you need to rename it to have a "CPM" extension:
  976.  
  977.                 REN PWP.COM PWP.CPM
  978.  
  979.                 In  the  same  manner,  MLP can be copied from the same
  980.                 diskette with this command:
  981.  
  982.                 CTOD A:MLP.COM C:\CPM22
  983.  
  984.                 After the copying or renaming is  finished,  you  check
  985.                 the  CPM22  directory and find that two files,  PWP.CPM
  986.                 and MLP.CPM have been placed there by CTOD.
  987.  
  988.            4.   RUN GENCOM FOR THE PROGRAM FILES.  You need to generate
  989.                 two pre-loader  files  which  contain  information  for
  990.                 22RES concerning our programs.   You use GENCOM to gen-
  991.                 erate the files:
  992.  
  993.                 GENCOM PWP DIS=TVI920 KEY=WS
  994.                 GENCOM MLP PRO=Z80
  995.  
  996.                 After running  GENCOM,  you  discover  that  two  short
  997.                 (about  500 bytes) files have been created: PWP.COM and
  998.                 MLP.COM.   These are the files that  DOS  will  execute
  999.                 when you call for PWP or MLP.
  1000.  
  1001.            5.   COPY ANY NEEDED DATA FILES.
  1002.  
  1003.                 If you require any data files, you can use CTOD to copy
  1004.                 them  also.    For example,  suppose a customer address
  1005.                 file for your mailing list program is needed.  You copy
  1006.                 it using CTOD:
  1007.  
  1008.                 CTOD A:CUSTLIST.DAT
  1009.  
  1010.  
  1011.  
  1012.                                    Page 14
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.            6.   RUN THE PROGRAMS.  To run PWP, just type
  1021.  
  1022.                 PWP
  1023.  
  1024.                 the same way you'd have entered  it  on  your  Osborne.
  1025.                 After  this,  PWP  and  MLP will behave as ordinary DOS
  1026.                 programs.   You may re-specify the operating parameters
  1027.                 of PWP by running GENCOM again.
  1028.  
  1029.                 Remember that the DOS file PWP.COM contains the name of
  1030.                 the CP/M file PWP.CPM.   If you rename PWP.COM, it will
  1031.                 still cause PWP.CPM to be executed.
  1032.  
  1033.  
  1034.       USE OF CP/M SUBMIT AND XSUB
  1035.  
  1036.       If you have "batch" files which operated with CP/M  2.2's  SUBMIT
  1037.       facility,  you'll  need  to  alter  them  to use DOS's batch file
  1038.       capability.  Usually this will entail no more than the following:
  1039.  
  1040.            1.    Change the file name extension from  "SUB"  to  "BAT".
  1041.                 This is done with the DOS RENAME command.
  1042.  
  1043.            2.    Edit the file,  changing all parameter references from
  1044.                 $1, $2, etc.  to %1, %2 and so on.
  1045.  
  1046.            3.    Instead of using SUBMIT "filename" to invoke the file,
  1047.                 just use "filename" as a command.
  1048.  
  1049.       A special problem arises when XSUB is used in a batch file.   DOS
  1050.       has no direct analogue of the XSUB function,  but it may be simu-
  1051.       lated by means of input file redirection.  Consider the following
  1052.       sample batch file:
  1053.  
  1054.                 XSUB
  1055.                 SAMPLE $1
  1056.                 line 1 for SAMPLE
  1057.                 line 2 for SAMPLE
  1058.                 ^Z
  1059.  
  1060.       This  file  could  be  rearranged to yield the same results under
  1061.       DOS:
  1062.  
  1063.                 echo line 1 for SAMPLE >x
  1064.                 echo line 2 for SAMPLE >>x
  1065.                 SAMPLE %1 <x
  1066.                 DELETE X
  1067.  
  1068.       Of course this is only one possibility;  you may wish to make use
  1069.       of the "pipe" facility of DOS, if the input to your program comes
  1070.       from another program.
  1071.  
  1072.                                    Page 15
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.  
  1079.  
  1080.  
  1081.       USER NUMBER SUPPORT
  1082.  
  1083.       You  may  specify that CP/M user numbers used by some programs be
  1084.       converted to DOS subdirectory references.   This is done by  set-
  1085.       ting  an  environment variable of the form USERx to the directory
  1086.       name to be used for that user number.
  1087.  
  1088.       For example, suppose that all user number 13 references are to be
  1089.       converted to reference the directory C:\COMPANY3.   The following
  1090.       DOS command would accomplish this:
  1091.  
  1092.                 SET USER13=C:\COMPANY3
  1093.  
  1094.       You  can get a map of user number-directory correspondence by ex-
  1095.       ecuting the CUSERS command.   The following is sample output from
  1096.       CUSERS:
  1097.  
  1098.            CUSER Copyright 1988, Sydex.  All rights reserved.
  1099.  
  1100.            User 1 = \CPMFILE1
  1101.            User 2 = A:\
  1102.            User 3 = \DATA\DB
  1103.  
  1104.            Search path: C:\CPMFILES, then
  1105.                         .;C:\SYS;C:\USR;C:\BIN
  1106.  
  1107.       Note that CUSER also displays the search path used by 22RES.
  1108.  
  1109.       A  command  corresponding  to  the  USER  command  of CP/M is not
  1110.       provided in 22NICE - the DOS CHDIR command accomplishes the  same
  1111.       purpose.   If a USER command is required,  consider the following
  1112.       DOS batch file:
  1113.  
  1114.                 REM  USER COMMAND
  1115.                 IF %1==1 CHDIR %USER1%
  1116.                 IF %1==2 CHDIR %USER2%
  1117.                 IF %1==3 CHDIR %USER3%
  1118.                 ...and so on...
  1119.  
  1120.       which works for DOS 3.1 and later.
  1121.  
  1122.       Observe that User 0 is always the current directory.   A  defini-
  1123.       tion of the environment variable USER0 will be ignored by 22NICE.
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.                                    Page 16
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.       SAVING MEMORY IMAGES - THE CSAVE COMMAND
  1141.  
  1142.       DOS  provides  more-than-adequate substitutes for most CP/M resi-
  1143.       dent commands,  with the exception of SAVE.   22NICE  provides  a
  1144.       command, CSAVE, with the same syntax and operation as CP/M SAVE:
  1145.  
  1146.                 CSAVE "count" "filename"
  1147.  
  1148.       As in CP/M,  "count" is the number of 256-byte blocks to be writ-
  1149.       ten to "filename".   Observe that CSAVE will also change the file
  1150.       extension  to  "CPM"  when one of "COM" is specified.   The CSAVE
  1151.       command may not be used with the "load on  demand"  form  of  the
  1152.       22NICE  resident (See the section on installation).
  1153.  
  1154.  
  1155.       MISCELLANEOUS TOPICS
  1156.  
  1157.       This  section deals with some of the more specialized features of
  1158.       22NICE and reflects Sydex's own experience with using 22NICE.
  1159.  
  1160.  
  1161.            Accessing I/O Ports
  1162.  
  1163.            22NICE supports access to 8-bit I/O  port  numbers  via  the
  1164.            8080 IN and OUT instructions.  Occasionally it may be neces-
  1165.            sary to access a PC I/O port greater than 255.   This can be
  1166.            done by means of the 8080 "RST 3" instructions.
  1167.  
  1168.            To read a byte from an I/O port, code the following -
  1169.  
  1170.                      LXI   D,port number
  1171.                      RST   3
  1172.  
  1173.            The contents of the I/O port will be returned in the  8080's
  1174.            A register.
  1175.  
  1176.            To write a byte to an I/O port, code the following -
  1177.  
  1178.                      LXI   D,port number
  1179.                      RST   4
  1180.  
  1181.            The  contents  of the 8080 A register will be written to the
  1182.            specified port.
  1183.  
  1184.  
  1185.            Accessing PC Memory
  1186.  
  1187.            During emulation,  a program's memory access is  limited  to
  1188.            the  64K  addressing  range  of the 8080.   Should it become
  1189.            necessary to inspect the contents of a memory location  out-
  1190.            side of this range, the following "RST 5" call can be used:
  1191.  
  1192.                                    Page 17
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.                      LXI   D,segment
  1201.                      LXI   H,offset
  1202.                      RST   5
  1203.  
  1204.            The contents of the memory location at the specified segment
  1205.            and offset will be returned in the 8080 A register.
  1206.  
  1207.  
  1208.            IOBYTE Support
  1209.  
  1210.            The CP/M 2.2 IOBYTE mappings are supported by 22NICE for the
  1211.            console, printer, punch and reader as described in the "CP/M
  1212.            2.2  System  Alteration  Guide".    All  other mappings will
  1213.            result in a null device access;  i.e.,  data output will  be
  1214.            discarded,  input  will result in an end-of-file,  and input
  1215.            status will always be "data unavailable".
  1216.  
  1217.            The CP/M punch and reader devices are taken to  be  the  DOS
  1218.            auxiliary device.   Usually, this is a serial communications
  1219.            port, or in absence of a serial port, the null device.
  1220.  
  1221.  
  1222.            Physical Disk Addressing
  1223.  
  1224.            22NICE contains an interface to disk read and write routines
  1225.            present in DOS.   When a CP/M program requests a  DPB  (Disk
  1226.            Parameter Block) from 22NICE (BDOS function 31), one is sup-
  1227.            plied  which  defines  a 36-sector track with the allocation
  1228.            block size and number of tracks  varying  according  to  the
  1229.            capacity  of  the  disk  being serviced.   Note that DOS can
  1230.            describe drives much smaller (less than 1K) and much  larger
  1231.            (32,000  K)  than CP/M;  22RES attempts to build a DPB which
  1232.            best defines the disk in question.
  1233.  
  1234.            Utilities that directly write to a disk without  making  use
  1235.            of BDOS calls should be avoided,  as the DOS structure for a
  1236.            disk is quite different from that assumed by CP/M.
  1237.  
  1238.            22NICE attempts to  emulate  the  disk  interface  of  CP/M.
  1239.            However,  because  of  differences  in implementation,  disk
  1240.            sizes reported by STAT and similar programs should  be  con-
  1241.            sidered to be approximations only.
  1242.  
  1243.  
  1244.            Maximum Program Size
  1245.  
  1246.            22NICE  has  a very small BIOS area and only 6 bytes of BDOS
  1247.            with no CCP.   This means that a CP/M program has about  60K
  1248.            of  program  memory  available  for  use  -  as  much as any
  1249.            "native" CP/M system.
  1250.  
  1251.  
  1252.                                    Page 18
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.            Disk Drive Reassignment
  1261.  
  1262.            A number of older CP/M  2.2  programs  have  diskette  drive
  1263.            selections  "hard-wired"  into them.   This can be an incon-
  1264.            venience,  particularly if you use a hard disk system.   Use
  1265.            of the DOS ASSIGN command will allow you to re-map the drive
  1266.            accesses made by CP/M programs.
  1267.  
  1268.  
  1269.       IN CLOSING
  1270.  
  1271.       Thank  you  for taking the time to consider Sydex.   We hope that
  1272.       22NICE does its job well and that it  meets  your  needs.    This
  1273.       product  represents  several months of work and research;  if you
  1274.       have any suggestions on how it might be improved,  please let  us
  1275.       know.
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.                                    Page 19
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.       The Sydex Product Line
  1320.  
  1321.            AnaDisk  -- The compleat diskette utility.   Nothing like it
  1322.            anywhere else;  scan,  edit,  repair and copy just about any
  1323.            kind of diskette.  $25.00 ($150.00 site)  registration fee.
  1324.  
  1325.            Con>Format  --  Concurrent  "background" diskette formatter.
  1326.            Features  "pop-up"  operation  and  "hot  key"   activation.
  1327.            You've  got to see it to believe.   Supports all current DOS
  1328.            formats. $15.00 ($50.00 site) registration fee.
  1329.  
  1330.            22DISK -- Transfer files, format, examine and erase files on
  1331.            "foreign" CP/M diskettes on your PC.   Includes tips on sup-
  1332.            porting  8"  and  5.25" single-density diskettes.   Contains
  1333.            definitions for over 200 different formats.  $25.00 ($100.00
  1334.            site) registration fee.
  1335.  
  1336.            22NICE -- A CP/M 2.2 emulation package.   Supports  the  NEC
  1337.            V-series  chips  or  performs emulation by software for both
  1338.            the 8080 and Z80 processors.   Includes  terminal  emulation
  1339.            and  diskette  handling  for common CP/M systems.   Includes
  1340.            22DISK.  $40.00 ($150.00 site) registration fee.
  1341.  
  1342.            TeleDisk -- Turn any diskette into a  compressed  data  file
  1343.            and vice-versa.   Allows you to send and receive entire dis-
  1344.            kettes via modem.   Even works  with  some  "copy-protected"
  1345.            diskettes.  $20.00 ($65.00 site) registration fee.
  1346.  
  1347.            COPYQM -- Mass diskette duplicator.  Format, copy and verify
  1348.            multiple  diskettes  from  a single master.   Implements "no
  1349.            keyboard" interaction mode and drive "round  robin"  servic-
  1350.            ing.    Supports  all standard DOS formats.   $15.00 ($50.00
  1351.            site) registration fee.
  1352.  
  1353.            FORMATQM -- Mass diskette formatter - format a box  of  dis-
  1354.            kettes at a single sitting.  Implements "no keyboard" inter-
  1355.            action mode and drive "round robin" servicing.  Supports all
  1356.            standard  DOS  formats.    $10.00 ($40.00 site) registration
  1357.            fee.
  1358.  
  1359.            ...And, soon to be released:
  1360.  
  1361.            InterDisk -  The  universal  Diskette  Interchange  utility.
  1362.            Features  user-programmable  media conversion for those for-
  1363.            mats not covered by 22DISK.  Available 1Q90.
  1364.  
  1365.       Information on any of these products can be obtained  from  Sydex
  1366.       by  calling (408) 739-4866 (voice) or by leaving a request on our
  1367.       Bulletin Board System (408) 738-2860 (1200-9600 bps, N81).
  1368.  
  1369.  
  1370.  
  1371.  
  1372.                                    Page 20
  1373.