[comp.lang.modula2] Modula-2 for cp/m-80

RALPH@UHHEPG.BITNET (Ralph Becker-Szendy) (08/09/88)

Jeffrey J Wieland <ea.ecn.purdue.edu!wieland@EE.ECN.PURDUE.EDU> wrote:
> I would like to get Turbo Modula-2 for my Kaypro 2X.  I have been in contact
> with Alpha Systems Corp. (who took over Echelon's product line), but they have
> been unable to conclude an agreement with Borland for marketing TM2.  So, is
> there someone out there who has TM2 for a Z-80 CP/M computer and would like to
> sell it?  I can handle a bunch of different formats (even 8", if necessary).

Concerning Turbo-M2: I heard (on INFO-CPM or on BIX) that Borland is NOT
supporting the product at all, and with the demise of Echelon I don't know at
all who supports it. That doesn't concern whether you can buy it, but it
probably means that nobody will maintain it, fix bugs etc.

I bought FTL-M2 (from Workman & Associates), and so far have been very happy
with it (although I have to admit that I only wrote 20 lines of codes, and then
had other things to do). Installation was very easy using the description in
the manual, as long as you have at least 1MB of disk-space (it's very difficult
on two 8" SSSD disks). A friend of mine (full-time M2 programmer) borrowed the
compiler for a week, here are his complaints (translated from German and in
random order):
- A private type doesn't have to have the same length as WORD. Although an
  intelligent feature, it opens the door for chaos.
- Its great that sets can have more elements than WORD has bits. Finally one
  can do SETS of CHAR.
- There is no documentation on the debugger. You have to try out which commands
  make sense.
- The manual for the cp/m implementation is sometimes confusing, because it
  refers to the MS-DOS version all the time (for example, the compiler options
  "are explained in the MS-DOS section, except for the following differences
  ...")
- The editor which comes with it (with source !) is probably the best program
  editor under cp/m.
- The trimmer is absolutely necessary, otherwise the .COM-files get too big.
- The libraries which are delivered with it seem to be assembled from pieces of
  many other libraries. They are neither complete nor consistent, and
  absolutely non-standard. The only documentation for the libraries is the
  source (which comes with it). It seems to be necessary to take the source for
  the libraries and collect a new library (from other compilers).
- Due to the rather low speed of the compiler (remember, this is not a SUN-3,
  it is a 4MHz 8bit machine) a MAKE utility is vital.
- Change of streams can only be done via the internal stram-stack. It would be
  nice to have system-constants for SysIn, SysOut and SysErr, and the
  possibility to change between streams. If some user wants a stream stack,
  he/she can easily program it.
- It complains about EXPORT statements. It should just ignore them (maybe with
  a warning).
- The syntax is slightly strange: sometimes it requires ";" in places where it
  is not required, sometimes it doesn't notice them missing in other places.
- In the InOut module: the WRITE procedure has a parameter to determine the
  length of the output string. It is not possible to specify "0" as length (so
  the string is just as long as needed).
- There is no function to determine the length of a file. One has to implement
  it one self, using the Files-module, and the cp/m data structures.
- In the CPM module some parameters which should have been cardinals are
  implemented as something else (i.e., R2 in the FCB is an integer, should be a
  byte, REPLY in BlockRead/Write is integer, should be cardinal).
- In RealInOut there is no option to output a real number without having a
  decimal point. The decimal point should vanish when selecting zero decimal
  places.
- The format ot the MLU files used for libraries are not compatible with the
  LU310 format. Also, the format of the .REL files is not compatible with the
  standard .REL format. These incompatibilities don't seem to be necessary.

His overall comment: The best compiler (for any language) he has ever seen for
cp/m. Also one of the better overall programming environments under cp/m.
Naturally, it does not measure up to big machines (but it is a lot cheaper,
too). The libraries need a lot of work, though.

Ralph Becker-Szendy                            RALPH@UHHEPG.PHYS.HAWAII.EDU
University of Hawaii / High Energy Physics Group        RALPH@UHHEPG.BITNET
Watanabe Hall #203, 2505 Correa Road, Honolulu, HI 96822      (808)948-7391
As usual, my employer has nothing to do with all of this.

wieland@ea.ecn.purdue.edu (Jeffrey J Wieland) (08/10/88)

In article <INFO-M2%88080117073916@UCF1VM> Info-Modula2 Distribution List <INFO-M2%UCF1VM.bitnet@jade.berkeley.edu> writes:
>Concerning Turbo-M2: I heard (on INFO-CPM or on BIX) that Borland is NOT
>supporting the product at all, and with the demise of Echelon I don't know at
>all who supports it. That doesn't concern whether you can buy it, but it
>probably means that nobody will maintain it, fix bugs etc.

I understand that the support for FTL is not much better.  One person that I
am aware of switched from FTL to TM2 because Workman & Assoc. never responded
to the problems he reported with linking in assembly language.  Besides, TM2
produces faster (although bigger) code, and for my needs, speed is everything.

>I bought FTL-M2 (from Workman & Associates), and so far have been very happy
>with it (although I have to admit that I only wrote 20 lines of codes, and then
>had other things to do). Installation was very easy using the description in
>the manual, as long as you have at least 1MB of disk-space (it's very difficult
>on two 8" SSSD disks).

Since I have a 1 MB Advent RAM disk, TM2 will leave plenty of room for other
utilities.  It will comfortably fit on a Kaypro DSDD floppy disk.

			Jeff Wieland