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 >
Wrap
Text File
|
1984-04-29
|
11KB
|
230 lines
ABSTRACTS FOR CP/M USERS' GROUP VOLUME 49
-----------------------------------------
This volume consists mostly of Rational Fortran (RATFOR) files.
A letter and abstract by the author are presented here, as
well as several abstracts on various files by Chuck Weingart
of the Chicago Area Computer Hobbyist Exchange. Please note
that some of the files on this disk rely on Cromemco CDOS
calls and are not compatible with "standard" CP/M systems.
Almost ALL FORTRAN and RATFOR files require a Z-80 processor.
See the abstracts by Chuck which point these out.
01/28/81 Jim Mills, CACHE SIG CP/M Chairman
------------------------------------------------------------
1 E. Lakeview Dr. #17
Cincinnati, OH 45237.
Oct 1, 1979
CP/M Users Group
--etc--
I have enclosed a disk which has RATFOR.RAT adapted for
Fortran-80. This gives essentially identical results to your
volume 24 RATFOR.COM but is somewhat faster and gives people
the chance to play with it. Also the foreign .COM file
is hard to work with. I had to write a special program
to copy it correctly on my system. The disk also has some
useful sample programs.
Tim Prince
------------------------------------------------------------
This disk contains mainly utility programs associated with
the Ratfor preprocessor and helps to bring some of the FORTRAN
77 functions into FORTRAN-80. The Ratfor follows the Addison-
Wesley code closely but uses BYTE variables as appropriate.
Transliteration, which is done inefficiently in the A-W ver-
sion, is omitted. The matrix inversion-determinant calculator
MINV and the address quicksort SORTI are given as examples of
the use of Ratfor.
The INDEX subroutine is given both in FORTRAN (in F77LIB)
and Z80 versions. As FORTRAN-80 does not permit the usage of
this function to be as in FORTRAN 77, the calling sequence is
somewhat arbitrary.
LCAT, for concatenating .REL files, calls assembler
library functions which may not be available on some systems.
However, the .COM file may work anyway. SCOPY calls the
READLB subroutine which will have to be rewritten for systems
which do not support the same extended CP/M calls.
Tim Prince
------------------------------------------------------------
REVIEWS BY CHUCK WEINGART
RATFOR is a preprocessor for FORTRAN source programs which
facilitates control constructs and text insertions, described
in "Software Tools" by Kernighan and Plauger (Addison-Wesley).
RATFOR source code is free form, with statements separated by ;
or [CR]. Ratfor statements include extensions to Fortran such
as IF ELSE, WHILE, REPEAT UNTIL, FOR, BREAK, NEXT, and INCLUDE.
An earlier version of RATFOR.COM is in CPMUG V.24. This new
version runs only on a Z80, is faster, has documentation
(RATFOR.DOC), source (RATFOR.RAT, RATFOR.FOR), and uses
RATCOMNS.RAT and TRNSLT.Z80. The resulting Fortran program is
then compiled with Microsoft FORTRAN-80 or Cromemco Fortran,
V3.21. This should run on any version of CP/M that supports the
Fortran and has a Z80. (reviewed by Chuck Weingart)
F77LIB.FOR is a file containing definitions of most of the new
intrinsic functions in FORTRAN 77. These functions can be
employed by searching the file F77LIB.REL which will be created
by compiling F77LIB.FOR There is also an INCLUDE file
CONSTS.RAT which automatically defines some frequently used
constants. INDEX.Z80 is a subroutine given both in FORTRAN (in
F77LIB) and Z80 versions. They are written in Cromemco
Z80 Fortran and assembler language, but should be acceptable to
Microsoft versions. INDEXT.FOR is a test for INDEX. There is
some Fortran-77 documentation in F77.DOC and F77DEF.DOC.
(reviewed by Chuck Weingart)
LCAT.RAT are for concatenating Microsoft .REL files, described
in LCAT.DOC. It calls CDOS Z80 assembler library functions
which are not be available on CP/M systems. This is written for
RATFOR, and uses ASMDEF.RAT and IOER.Z80, written in Cromemco
Z80 assembler, Microsoft will also work. There are two possible
problems with this routine, both related to the end-of-file.
First, some versions of Microsoft Fortran did not put an eof
(1A hex) at the end of the REL library. Second, this program
stops if it hits 9E1A Hex, and there is a small chance of that
ocurring in the middle of a file, so don't destroy your old
library before checking the output of LCAT. (reviewed by Chuck
Weingart)
MINV.RAT and MINV.FOR contain a subroutine which inverts a
matrix and calculates the determinant. It does not have any
protection against the case where the equations are of wildly
different orders of magnitude. There is a test case included in
the file. These are included as tests for RATFOR, and the
Fortran version will run on Microsoft or Cromemco Fortran,
V3.21, any supported size and version of CP/M or CDOS,
respectively. The DOC file includes some, but not all, info
needed to use. Look at the test file included for more.
(reviewed by Chuck Weingart)
SORTI.RAT, SORTI.FOR are an address quicksort with a test
driver program. Unfortunately, although the FORTRAN appears
essentially identical to a successful program developed on a
large system, the Microsoft version doesn't work yet. They are
given as examples of the use of RATFOR. The SORTI.DOC file has
some information describing the use of this routine. The FOR
file will compile on Microsoft or Cromemco Fortran, V3.21, with
any supported CP/M or CDOS, respectively. (reviewed by Chuck
Weingart)
SCOPY.FOR does direct disk I/O, either disk to disk or disk to
console, described scantily in SCOPY.DOC. The FOR file should
be useable by any Microsoft or Cromemco Fortran, V3.21. It
calls the READLB.Z80 subroutine which will have to be rewritten
for systems which do not support the same CDOS calls. READLB is
written in Z80 assembler, Microsoft is acceptable. (reviewed by
Chuck Weingart)
------------------------------------------------------------
NON-RATFOR PROGRAM REVIEWS
FILTER.ASM
FILTER.HEX
FILTER2.ASM
FILTER2.HEX
FILTER.ASM is source taken from an article by J. Warner in the
January, 1980 issue of Dr. Dobbs. It implements two essential
CDOS calls, 80H and 86H, to allow some Cromemco software to run
under CP/M*. This is commented Zilog Z80* source, and can be
assembled by Microsoft or CDOS* assemblers. The chicken-egg
problem is avoided by supplying the FILTER.HEX file to bring up
the CDOS assembler. As supplied, Cromemco Fortran IV and COBOL
will not work with it, more functions must be added. This
routine is installed by making it part of the memory image of a
program: using DDT, load FILTER.HEX, then load the Cromemco
program starting at 200H, and then save the combined programs.
When it gets control it boosts the function code filter into
place at the top of the TPA and then moves the original program
down to 100H and jumps to it. (reviewed by Chuck Weingart)
FILTER2.ASM is the source for a modified version of FILTER.ASM,
primarily minor improvements and one bug fix. More comments
are also included from the original article in DDJ. The same
installation procedures and comments as FILTER apply to FILTER2,
including FILTER2.HEX. (FILTER2 is from the reviewer, Chuck
Weingart.)
Warning: CP/M and Cromemco CDOS directories are partially in-
compatable. The first byte of each FCB must be made zero (1.4
mode). These routines do not allow most Cromemco software to
run on non-Cromemco equipment. They are supplied here to let
the Cromemco owner run his/her legitimately obtained programs
under CP/M on Cromemco hardware. It does not appear that any
any software supplied with versions of CDOS after 2.17 are
compatible with CP/M (2.2) with FILTER.
4FDCBIOS.DOC
4FDCBIOS.Z80
4FDCBIOS.HEX
4FDCBOOT.Z80
4FDCBOOT.HEX
4FDCBIOS.Z80 and 4FDCBOOT.Z80 are the cbios and boot programs
for running CP/M 2.x on a Cromemco 4FDC disk controller board,
or a California Computer Systems 2422 disk controller, with a
3P + S or Cromemco TUART or similar console port at address 0.
Assembly options include memory size, one to four drives, supp-
ort for 5", 8" Shugart, and 8" Persci drives. Drivers for the
Cromemco TUART for paper tape and Cromemco printer board are
optionally included. The source is moderately commented, not
structured, in Cromemco Z80 assembler; Microsoft can also be
used. The source is supplied for two 8" Shugart drives and 64K,
and 4FDCBIOS.HEX and 4FDCBOOT.HEX are the assembled output
files. Since the 4FDC is designed for the Z80*, conversion to
8080 would be difficult. 4FDCBIOS.DOC contains detailed doc-
umentation. (abstract by Chuck Weingart)
CDOS.DOC
This is an accumulation of comments by Trevor Marshall and this
reviewer for users of Cromemco hardware and software. Nothing
can be guaranteed, but everything is true as far as can be
checked. (No attempt is made to help those who want to run the
cheap Cromemco programs on CP/M without buying any Cromemco
hardware). Must reading for CDOS users who participate in
CPMUG. (reviewed by Chuck Weingart)
CDOSCOPY.COM
CDOSCOPY.DOC
CDOSCOPY.HEX
CDOSCOPY.PRN
CDOSCOPY.Z80
CDOSCOPY is the COPY program, CPMUG 1.3, converted to Z80 and
extensively rewritten by Trevor Marshall to work on the Cromemco
CDOS operating system. The program supports 8" disks, single or
double sided, single or double density. It is possible to con-
vert the program for 5" disks, see the DOC file for details.
As supplied, would require a 48K system to copy double-density
disks, but I have not personally been able to verify operation
that way. The program runs correctly, but unfortunatly slower
than the COPY program because of CDOS internal operations. A
single-sided, single density disk copies in around 5 minutes.
Supplied are the source file (.Z80), the output (.HEX), the
print file (.PRN), and the executable program (.COM). This pro-
gram runs only on a CDOS system, with all Cromemco hardware as
required by that operating system, and assembles only with the
Cromemco Z80 assembler. (reviewed by Chuck Weingart)
ASTRO.FOR is a series of Fortran routines to do astronomical
calculations. (Borrowed from an old SMITHSONIAN ASTROPHYSICAL
OBSERVATORY computing note.) Of only specialized interest but
for the DECML, IDECML, and KDECML; These are routines for free
format reading from Fortran. They are used by reading the
characters into a LOGICAL*1 array of dimension of say 80, using
a format of say 80A1. Successive calls to DECML as a function
then give the real numbers on that line. The variable N is a
pointer, the current column of the input buffer. Can be com-
piled by CDOS or Microsoft Fortran IV, tho their usefulness can
only be judged by an astronomer. (Reviewed bu Chuck Weingart)
* Please note that Z80 is a trademark of Zilog, Inc. CP/M is
a trademark of Digital Research, and CDOS is a trademark of
Cromemco, Inc. Use of the term Z80 in this application is in
no way meant to imply that this program was written by Zilog,
(or Digital Research, or Cromemco).