home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG049.ARK / ABSTRACT.049 < prev    next >
Text File  |  1984-04-29  |  11KB  |  230 lines

  1. ABSTRACTS FOR CP/M USERS' GROUP VOLUME 49
  2. -----------------------------------------
  3.  
  4. This volume consists mostly of Rational Fortran (RATFOR) files.
  5. A letter and abstract by the author are presented here, as
  6. well as several abstracts on various files by Chuck Weingart
  7. of the Chicago Area Computer Hobbyist Exchange.  Please note
  8. that some of the files on this disk rely on Cromemco CDOS
  9. calls and are not compatible with "standard" CP/M systems.
  10. Almost ALL FORTRAN and RATFOR files require a Z-80 processor.
  11. See the abstracts by Chuck which point these out.
  12. 01/28/81        Jim Mills, CACHE SIG CP/M Chairman
  13.  
  14. ------------------------------------------------------------
  15.  
  16. 1 E. Lakeview Dr. #17
  17. Cincinnati, OH 45237.
  18. Oct 1, 1979
  19.  
  20. CP/M Users Group
  21. --etc--
  22.     I have enclosed a disk which has RATFOR.RAT adapted for
  23. Fortran-80.  This gives essentially identical results to your
  24. volume 24 RATFOR.COM but is somewhat faster and gives people
  25. the chance to play with it.  Also the foreign .COM file
  26. is hard to work with.  I had to write a special program
  27. to copy it correctly on my system.  The disk also has some
  28. useful sample programs.
  29.                 Tim Prince
  30. ------------------------------------------------------------
  31.  
  32.      This disk contains mainly utility programs associated with
  33. the Ratfor preprocessor and helps to bring some of the FORTRAN
  34. 77 functions into FORTRAN-80.  The Ratfor follows the Addison-
  35. Wesley code closely but uses BYTE variables as appropriate.
  36. Transliteration, which is done inefficiently in the A-W ver-
  37. sion, is omitted.  The matrix inversion-determinant calculator
  38. MINV and the address quicksort SORTI are given as examples of
  39. the use of Ratfor.
  40.      The INDEX subroutine is given both in FORTRAN (in F77LIB)
  41. and Z80 versions.  As FORTRAN-80 does not permit the usage of
  42. this function to be as in FORTRAN 77, the calling sequence is
  43. somewhat arbitrary.
  44.      LCAT, for concatenating .REL files, calls assembler
  45. library functions which may not be available on some systems.
  46. However, the .COM file may work anyway.  SCOPY calls the
  47. READLB subroutine which will have to be rewritten for systems
  48. which do not support the same extended CP/M calls.
  49.                     Tim Prince
  50.  
  51. ------------------------------------------------------------
  52.  
  53.         REVIEWS BY CHUCK WEINGART
  54.  
  55. RATFOR is a preprocessor for FORTRAN source programs which
  56. facilitates control constructs and text insertions, described
  57. in "Software Tools" by Kernighan and Plauger (Addison-Wesley).
  58. RATFOR source code is free form, with statements separated by ;
  59. or [CR]. Ratfor statements include extensions to Fortran such
  60. as IF ELSE, WHILE, REPEAT UNTIL, FOR, BREAK, NEXT, and INCLUDE.
  61. An earlier version of RATFOR.COM is in CPMUG V.24. This new
  62. version runs only on a Z80, is faster, has documentation
  63. (RATFOR.DOC), source (RATFOR.RAT, RATFOR.FOR), and uses
  64. RATCOMNS.RAT and TRNSLT.Z80. The resulting Fortran program is
  65. then compiled with Microsoft FORTRAN-80 or Cromemco Fortran,
  66. V3.21. This should run on any version of CP/M that supports the
  67. Fortran and has a Z80. (reviewed by Chuck Weingart)
  68.  
  69. F77LIB.FOR is a file containing definitions of most of the new
  70. intrinsic functions in FORTRAN 77.  These functions can be
  71. employed by searching the file F77LIB.REL which will be created
  72. by compiling F77LIB.FOR There is also an INCLUDE file
  73. CONSTS.RAT which automatically defines some frequently used
  74. constants. INDEX.Z80 is a subroutine given both in FORTRAN (in
  75. F77LIB) and Z80 versions.  They are  written in Cromemco
  76. Z80 Fortran and assembler language, but should be acceptable to
  77. Microsoft versions. INDEXT.FOR is a test for INDEX. There is
  78. some Fortran-77 documentation in F77.DOC and F77DEF.DOC.
  79. (reviewed by Chuck Weingart)
  80.  
  81. LCAT.RAT are for concatenating Microsoft .REL files,  described
  82. in LCAT.DOC. It calls CDOS Z80 assembler library functions
  83. which are not be available on CP/M systems. This is written for
  84. RATFOR, and uses ASMDEF.RAT and IOER.Z80, written in Cromemco
  85. Z80 assembler, Microsoft will also work. There are two possible
  86. problems with this routine, both related to the end-of-file.
  87. First, some versions of Microsoft Fortran did not put an eof
  88. (1A hex) at the end of the REL library.  Second, this program
  89. stops if it hits 9E1A Hex, and there is a small chance of that
  90. ocurring in the middle of a file, so don't destroy your old
  91. library before checking the output of LCAT. (reviewed by Chuck
  92. Weingart)
  93.  
  94. MINV.RAT and MINV.FOR contain a subroutine which inverts a
  95. matrix and calculates the determinant. It does not have any
  96. protection against the case where the equations are of wildly
  97. different orders of magnitude. There is a test case included in
  98. the file. These are included as tests for RATFOR, and the
  99. Fortran version will run on Microsoft or Cromemco Fortran,
  100. V3.21, any supported size and version of CP/M or CDOS,
  101. respectively. The DOC file includes some, but not all, info
  102. needed to use. Look at the test file included for more.
  103. (reviewed by Chuck Weingart)
  104.  
  105. SORTI.RAT, SORTI.FOR are an address quicksort with a test
  106. driver program. Unfortunately, although the FORTRAN appears
  107. essentially identical to a successful program developed on a
  108. large system, the Microsoft version doesn't work yet. They are
  109. given as examples of the use of RATFOR. The SORTI.DOC file has
  110. some information describing the use of this routine. The FOR
  111. file will compile on Microsoft or Cromemco Fortran, V3.21, with
  112. any supported CP/M or CDOS, respectively. (reviewed by Chuck
  113. Weingart)
  114.  
  115. SCOPY.FOR does direct disk I/O, either disk to disk or disk to
  116. console, described scantily in SCOPY.DOC. The FOR file should
  117. be useable by any Microsoft or Cromemco Fortran, V3.21. It
  118. calls the READLB.Z80 subroutine which will have to be rewritten
  119. for systems which do not support the same CDOS calls. READLB is
  120. written in Z80 assembler, Microsoft is acceptable. (reviewed by
  121. Chuck Weingart)
  122.  
  123. ------------------------------------------------------------
  124.  
  125.         NON-RATFOR PROGRAM REVIEWS
  126.  
  127. FILTER.ASM
  128. FILTER.HEX
  129. FILTER2.ASM
  130. FILTER2.HEX
  131. FILTER.ASM is source taken from an article by J. Warner in the
  132. January, 1980 issue of Dr. Dobbs. It implements two essential
  133. CDOS calls, 80H and 86H, to allow some Cromemco software to run
  134. under CP/M*. This is commented Zilog Z80* source, and can be
  135. assembled by Microsoft or CDOS* assemblers. The chicken-egg
  136. problem is avoided by supplying the FILTER.HEX file to bring up
  137. the CDOS assembler. As supplied, Cromemco Fortran IV and COBOL
  138. will not work with it, more functions must be added. This
  139. routine is installed by making it part of the memory image of a
  140. program: using DDT, load FILTER.HEX, then load the Cromemco
  141. program starting at 200H, and then save the combined programs.
  142. When it gets control it boosts the function code filter into
  143. place at the top of the TPA and then moves the original program
  144. down to 100H and jumps to it.  (reviewed by Chuck Weingart)
  145.  
  146. FILTER2.ASM is the source for a modified version of FILTER.ASM,
  147. primarily minor improvements and one bug fix. More comments 
  148. are also included from the original article in DDJ. The same
  149. installation procedures and comments as FILTER apply to FILTER2,
  150. including FILTER2.HEX. (FILTER2 is from the reviewer, Chuck
  151. Weingart.)
  152.  
  153. Warning: CP/M and Cromemco CDOS directories are partially in-
  154. compatable. The first byte of each FCB must be made zero (1.4
  155. mode). These routines do not allow most Cromemco software to
  156. run on non-Cromemco equipment. They are supplied here to let
  157. the Cromemco owner run his/her legitimately obtained programs
  158. under CP/M on Cromemco hardware. It does not appear that any
  159. any software supplied with versions of CDOS after 2.17 are
  160. compatible with CP/M (2.2) with FILTER.
  161.  
  162. 4FDCBIOS.DOC
  163. 4FDCBIOS.Z80
  164. 4FDCBIOS.HEX
  165. 4FDCBOOT.Z80
  166. 4FDCBOOT.HEX
  167. 4FDCBIOS.Z80 and 4FDCBOOT.Z80 are the cbios and boot programs
  168. for running CP/M 2.x on a Cromemco 4FDC disk controller board,
  169. or a California Computer Systems 2422 disk controller, with a
  170. 3P + S or Cromemco TUART or similar console port at address 0.
  171. Assembly options include memory size, one to four drives, supp-
  172. ort for 5", 8" Shugart, and 8" Persci drives. Drivers for the
  173. Cromemco TUART for paper tape and Cromemco printer board are
  174. optionally included. The source is moderately commented, not
  175. structured, in Cromemco Z80 assembler; Microsoft can also be
  176. used. The source is supplied for two 8" Shugart drives and 64K,
  177. and 4FDCBIOS.HEX and 4FDCBOOT.HEX are the assembled output
  178. files. Since the 4FDC is designed for the Z80*, conversion to
  179. 8080 would be difficult. 4FDCBIOS.DOC contains detailed doc-
  180. umentation. (abstract by Chuck Weingart)
  181.  
  182. CDOS.DOC
  183. This is an accumulation of comments by Trevor Marshall and this
  184. reviewer for users of Cromemco hardware and software. Nothing
  185. can be guaranteed, but everything is true as far as can be
  186. checked. (No attempt is made to help those who want to run the
  187. cheap Cromemco programs on CP/M without buying any Cromemco
  188. hardware). Must reading for CDOS users who participate in
  189. CPMUG. (reviewed by Chuck Weingart)
  190.  
  191. CDOSCOPY.COM
  192. CDOSCOPY.DOC
  193. CDOSCOPY.HEX
  194. CDOSCOPY.PRN
  195. CDOSCOPY.Z80
  196. CDOSCOPY is the COPY program, CPMUG 1.3, converted to Z80 and
  197. extensively rewritten by Trevor Marshall to work on the Cromemco
  198. CDOS operating system. The program supports 8" disks, single or
  199. double sided, single or double density. It is possible to con-
  200. vert the program for 5" disks, see the DOC file for details.
  201. As supplied, would require a 48K system to copy double-density
  202. disks, but I have not personally been able to verify operation
  203. that way. The program runs correctly, but unfortunatly slower
  204. than the COPY program because of CDOS internal operations. A
  205. single-sided, single density disk copies in around 5 minutes.
  206. Supplied are the source file (.Z80), the output (.HEX), the
  207. print file (.PRN), and the executable program (.COM). This pro-
  208. gram runs only on a CDOS system, with all Cromemco hardware as
  209. required by that operating system, and assembles only with the
  210. Cromemco Z80 assembler. (reviewed by Chuck Weingart)
  211.  
  212. ASTRO.FOR is a series of Fortran routines to do astronomical 
  213. calculations. (Borrowed from an old SMITHSONIAN ASTROPHYSICAL
  214. OBSERVATORY computing note.) Of only specialized interest but
  215. for the DECML, IDECML, and KDECML; These are routines for free
  216. format reading from Fortran. They are used by reading the
  217. characters into a LOGICAL*1 array of dimension of say 80, using
  218. a format of say 80A1. Successive calls to DECML as a function
  219. then give the real numbers on that line. The variable N is a
  220. pointer, the current column of the input buffer. Can be com-
  221. piled by CDOS or Microsoft Fortran IV, tho their usefulness can
  222. only be judged by an astronomer. (Reviewed bu Chuck Weingart)
  223.  
  224. * Please note that Z80 is a trademark of Zilog, Inc. CP/M is
  225. a trademark of Digital Research, and CDOS is a trademark of 
  226. Cromemco, Inc. Use of the term Z80 in this application is in
  227. no way meant to imply that this program was written by Zilog,
  228. (or Digital Research, or Cromemco).
  229.  
  230.