home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / sigmv010.ark / NSCPM48.DOC < prev    next >
Text File  |  1984-04-29  |  8KB  |  231 lines

  1. 1.0 INTRODUCTION
  2.  
  3. A special interface between North Star BASIC (Rel 4) and CPM (V1.4 and V2.0)
  4. has been implemented.  This interface allows almost all of the North Star
  5. BASIC functions and capabilities to be used on any CPM system.  With suitable
  6. patching, the interface will run on Cromemco CDOS (V1.07).  The following
  7. two sections describe the interface and its use.
  8.  
  9.  
  10. 2.0 NORTH STAR DOS TO CPM COMMAND MAPPING
  11.  
  12. Assuming you are familiar with North Star DOS and CPM, the following commands
  13. are used in conjunction with the North Star BASIC (Rel 4) which runs on CPM:
  14.  
  15.                North Star DOS         CPM
  16.  
  17. A. List directory     LI<Unit #>       DIR (use Ctl-P
  18.                        toggle print)
  19.  
  20. B. Create file         CR
  21.  
  22.    (1) Type 2                   None; creates &
  23.                        allocates disk
  24.                        space automatic-
  25.                        ally when you
  26.                        NSAVE in BASIC.
  27.                        Name will appear
  28.                        in directory as
  29.                        AAAAAAAA.2
  30.  
  31.    (2) Type <>2                   In CPM, save a
  32.                        dummy file to
  33.                        create file lengths
  34.                        of NNN blocks by
  35.                        using SAVE NNN 
  36.                        AAAAAAAA.T where
  37.                        T=type.  It's better
  38.                        to use CREATE in BASIC.
  39.  
  40. C. Delete         DE           Use CPM's ERA
  41.                        command
  42.  
  43. D. Compact         CO           Not required.
  44.                        CPM takes care of
  45.                        this.  Automatical-
  46.                        ly allocates & de-
  47.                        allocates type 2
  48.                        file space.
  49.  
  50. E. Type             TY           Not required.  See
  51.                        B. above.
  52.  
  53. F. Load & execute     GO           None.  All .COM
  54.       program                   programs load &
  55.                        execute at 100H in
  56.                        CPM.
  57.  
  58. G. Jump to address     JP           Not available in
  59.                        CPM
  60.  
  61. H. Copy file         CF           Use PIP program.
  62.                        Use SYSGEN program
  63.                        for CPM
  64.  
  65. I. Copy disk         CD           Use PIP & SYSGEN
  66.                        programs
  67.  
  68. J. Read & write         RD, WR           Not available
  69.       disk sectors
  70.  
  71. K. Load & save file     LF, SF           Not completely
  72.                        available.  Can do
  73.                        using DDT and SAVE
  74.                        in CPM.  All SAVEs
  75.                        assume RAM address
  76.                        is at 100H; e.g., use .2
  77.                        & .3 extensions for
  78.                        type 2 & 3 files,
  79.                        respectively.
  80.  
  81. L. Initialize disk     IN           Use a format program.
  82.                        Be careful; will
  83.                        destroy programs.
  84.  
  85. M. Diagnostic         DT           Use disk test
  86.                        program.  Be care-
  87.                        ful; will destroy
  88.                        all programs.
  89.  
  90.  
  91. 3.0 NORTH STAR BASIC COMMANDS (REL 4)
  92.  
  93. The following is a list of capabilities of the interface with BASIC:
  94.  
  95. A. CREATE - Will create files by reserving disk space by saving dummy
  96. files of the size and type specified.  This function will be slower than
  97. with North Star since in order to reserve disk space in CPM, you must actually
  98. save a file of the size specified.  See item L. in the next section for the
  99. situation where the disk becomes full during a CREATE.  BASIC has been patched
  100. to remove the file size limit of 350 blocks.  The current limit is 4095 blocks
  101. which should suffice for 8" quad density.  This allows up to a 1 Megabyte
  102. file to be created.  -4096 (F000H) has been patched into location DF7H.
  103.  
  104. B. DESTROY - No change
  105.  
  106. C. OPEN - No change
  107.  
  108. D. CLOSE - No change
  109.  
  110. E. READ - No change
  111.  
  112. F. WRITE - No change
  113.  
  114. G. FILE - No change
  115.  
  116. H. SAVE - No change; file must already exist in the directory
  117.  
  118. I. NSAVE - No change; use if file does not exist in directory
  119.  
  120. J. LOAD - No change
  121.  
  122. K. APPEND - No change
  123.  
  124. L. RND(-1) - Will not generate a random number
  125.  
  126. M. MEMSET and End of BASIC's Memory - MEMSET will give an ARGUMENT ERROR when
  127. you try to set the address at BDOS or above.  The end address of memory is set
  128. to the beginning of BDOS-1 when BASIC is first loaded and executed.
  129.  
  130. N. BSPC - BASIC has been patched at 817H to echo the Backspace character
  131. (Ctl-H = 8H).
  132.  
  133. O. LINECT - BASIC has been patched at 80EH to a line length of 132.
  134.  
  135.  
  136. 4.0 SPECIAL FEATURES AND NOTES
  137.  
  138. A. Drives 1 and 2 in North Star DOS/BASIC are synonomous with drives A and B
  139. in CPM.
  140.  
  141. B. CPM does not allow you to SAVE a file larger that available memory.  Thus
  142. if you have large data files to create, you must create several small files
  143. using the save technique above and concatentate them using the PIP concatena-
  144. tion feature.  The size of the large file should equal the sum of the sizes of
  145. the small files.  It is recommended that you create a file in BASIC using
  146. CREATE; it is easier to do.  
  147.  
  148. C. The interface has an added feature which allow you to freeze and unfreeze
  149. the screen using the Control-S toggle as in CPM while listing on the console
  150. device.
  151.  
  152. D. Your CPM or CPM derivative must have a standard BIOS jump table up to the
  153. PUNCH device jump address and standard CPM BDOS calls.
  154.  
  155. E. The CPM CONSOLE IN and OUT device is device number 0 in BASIC.
  156.  
  157. F. The CPM LIST device is device number 1 in BASIC.
  158.  
  159. G. The CPM PUNCH device is device number 2 in BASIC.  One suggested use is
  160. as a list device with paging.
  161.  
  162. H. Make sure you do not have files in the directory with the same name and one
  163. character type.  Except for LOAD, APPEND, SAVE and NSAVE, BASIC disk commands
  164. will work with the first directory entry with a matching name and ambiguous
  165. one character type.  Types with more than one character will be ignored.
  166.  
  167. I. The base or start address of BASIC is 800H (2048D).  The interface starts
  168. at 100H.  A jump table equivalent to that in North Star DOS starting at 200DH
  169. is at 103H.
  170.  
  171. J. Data file directories are kept in a buffer which holds 10 open files.  These
  172. files are purged on a FIFO basis.  If new files are opened and the buffer is
  173. full, the oldest one is purged.  Be careful that your program does not keep a
  174. file open any longer than is necessary.
  175.  
  176. K. A disk full, directory full, or file extension error gives an ARGUMENT
  177. ERROR.
  178.  
  179. L. When using CREATE and disk becomes full, the normal BASIC error message
  180. or error number will not be generated.  This is because of the way the
  181. interface had to be implemented.  When this occurs, the message 'DISK/DIR FULL'
  182. will be printed on the console, and the program will abort and return to CPM.
  183.  
  184. M. The program RETURNP.COM can be used (e.g., in L. above) to return to BASIC
  185. without scratching the program.  Just type RETURNP(cr).
  186.  
  187. N. The program RETURNV.COM can be used (e.g., in L. above) to return to BASIC
  188. without scratching the program or the variables.  Just type RETURNV(cr).
  189.  
  190. O. The programs in M. and N. above put the appropriate jump (i.e., 804H and
  191. 814H) into location 139H in the interface.
  192.  
  193. P. To incorporate the turnkey start up of BASIC,
  194.  
  195.     1. Load and execute BASIC by typing NSBASIC(cr)
  196.     2. Type  1000 CHAIN "program name"(cr)
  197.     3. Type  BYE(cr)
  198.     4. Type  SAVE 60 NSBAS4.COM(cr) [or any program name.COM]
  199.     5. Type  DDT NSBAS4.COM(cr)
  200.     6. Type  S80F(cr)
  201.     7. Type  0(cr)
  202.     8. Type  .(cr)
  203.     9. Type  Ctl-C(cr)
  204.     10.Type  SAVE 60 NSBAS4.COM(cr)
  205.  
  206. The program will now load and execute after loading and executing BASIC.
  207.  
  208. Q. For those using CDOS V1.07, the following patches are required for
  209. compatibility; use DDT or DEBUG to patch; then SAVE 60 NSBAS4.COM:
  210.  
  211.     ADDRESS        CURRENT CODE        PATCH
  212.  
  213.      23DH        21H,89H,0,CDH,D4H,4    11H,9,0,19H,0,0
  214.      3A4H        CDH,D1H,4        0,0,0
  215.      3ADH        CDH,D1H,4        0,0,0
  216.      4B5H        21H,8FH,0,CDH,D4H,4    11H,0FH,0,19H,0,0
  217.  
  218. These patches only apply to Revision 8 of the interface.
  219.  
  220. RETURNP.COM and RETURNV.COM need to be changed also.  The easiest way is to
  221. use DDT or DEBUG after the above patches are applied and BASIC resaved.  Load
  222. in BASIC using DDT; patch location 139H with JMP 804H or JMP 814H for
  223. RETURNP.COM or RETURNV.COM, respectively; exit DDT with a Control-C; then
  224. SAVE 1 RETURNP.COM or RETURV.COM.
  225.  
  226. R. Revision 8 is identified by a period (.) preceeding the file type when
  227. doing a CAT.  All previous versions used a blank.
  228.  
  229.  
  230. 11/20/79
  231.