home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol029 / sigmlog.010 < prev    next >
Text File  |  1984-04-29  |  9KB  |  256 lines

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