TopSpeed Modula-2

TopSpeed Modula-2 is a Modula-2 development system for 16-bit OS/2, Windows and DOS code. It can be run natively or by cross compiling from DOS. System now owned by Soft Velocity who use it as a utility development system for their Clarion database product. An OS/2 compatible product is no longer being offered.

History
Originally developed by a team headed by Niels Jensen at Borland where it was intended to be a replacement for Turbo Pascal and to provide a back end for the forthcoming Borland C++ package. When the board of Borland decided to buy in a C compiler and continue with the Turbo Pascal product for branding reasons despite the downsides of the existing code, Niels and the British development team behind Borland Modula-2 bought the rights to the code from Borland and left to found Jensen and Partners International.

While there never was a 32-bit version of the TopSpeed package for OS/2, the compiler can still be used for development of command line interface programs. This is due to both the quality of the compiler output in particular and in general the quality of the supplied tools but also since the OS/2 CLI is still only 16-bit so for smaller command line programs the advantages of 32-bit tools are limited.

Please note that the last version shipped still had a couple of bugs in the thread library, so care needs to be taken when developing multi-threaded programs. Also the language differs a bit in its specifics from the language definition originally put forward by Wirth. This is due to the multi-language features of the TopSpeed development system, minor changes were needed to make it simpler to compile from a mixed Pascal and C style sources. Some of the changes and additions JPI made to the language were later incorporated into ISO Modula 2, so modern M2 textbooks use a language that is not much different from it.

The TopSpeed development environment
The Modula-2 compiler could also be used to develop software for the Psion series 3 in a roundabout way if used with the PSION s3 SDK, as the environment allowed you to develop M2 code with C code, headers and libraries you could get functional s3 apps by linking the M2 code with the required C libraries and then compiling everything with the PSION SDK, in rare cases needing a little bit of glue C code.

Installation notes
Although a native OS/2 application the only installer provided was DOS based so you will have to install it from either a DOS prompt, or if you are running a clean 32-bit system, from a DOS emulator such as DOSBox. Traditionally the install was in parts, one installer for each TopSpeed compiler language, one for the TechKit and one for the environment (IDE, source level debugger and so on). However the TopSpeed Modula-2 compiler was the last product to be taken off the market and it was during the last few years supplied on a CD-ROM with a single installer for the environment, compiler and optionally the TechKit.

The last supplied TopSpeed environment installer was version 3.10.002, while most of the languages were at 3.10. In some cases the installer will bitch if you try to install the last version of the environment alongside the last compiler version claiming it is incompatible, but just ignore that. Do not try to use the environment with older versions of TopSpeed compilers (1.x, 3.0x etc.), that will cause problems. You can however install older versions of the tools side by side with the 3.10 versions by taking a little care with folder naming and CONFIG.SYS editing.

The installer will by default sense that it is being run under an OS/2 on "286 or higher" and install a DOS environment that makes use of expanded or extended memory, however most of the OS/2 components are not installed by default and you will have to make sure they are tagged as "Yes" in the installer program.

You can run the OS/2 versions of TopSpeed on Microsoft Windows systems that support the running of OS/2 1.x programs (namely all versions of Windows NT and 2000), and with large programs they do indeed run faster than the DOS versions. However if you choose to install the OS/2 versions on those systems you may end up with a problem where the system tries to run the DOS executables as an OS/2 program and fails, to fix this you can precede every DOS command with the FORCEDOS command for instance from a batch or pif file.

Version

 * 1988: Version 1.12
 * 1989: Version 1.14
 * 1989: Version 1.20
 * 1990: Version 1.20A
 * 1990: Version 2.00
 * 1990: Version 2.20
 * 1992: 3.10

Prerequisites

 * For Windows 3.x or Win-OS/2 programming the TopSpeed TechKit is required, but the tools from it integrate into the TopSpeed environment.
 * Although you can develop OS/2 Presentation Manager applications without the OS/2 SDK, it is highly recommended that you use it since the PM support of TopSpeed Modula-2 is rather weak in the parts where tools from the SDK already existed.
 * DOS 3.0 or later and/or OS/2 1.3 or later.

License and availability

 * Commercial - Discontinued

OS/2 32 bit compilers that offered TopSpeed compatibility libraries and API´s

 * XDS-x86 Modula 2
 * Canterbury Modula 2 & Oberon-2

Local articles

 * Modula-2 Legacy Code: Problems and Solutions by Dmitry Leskov. Discusses porting of older TopSpeed M2 code to more modern systems

Publications

 * Barry Cornelius: Programming with TopSpeed Modula-2 - Addison-Wesley 1991, ISBN 0-201-41679-4


 * Articles
 * Various fixes and workarounds for the 3.10 version of the compiler
 * Jeff Duntemann: Pieces of Charlie - Article that describes amongst other things how JPI managed to get the Pascal style and C style calling conventions to work together.


 * Reviews
 * L. J. Ribar: OS/2 Programming goes Modula-2 - Computer Language magazine Nov. 1990 - pages 83 to 89. (TSM2 v2.20)
 * D. A. Righter: Programmer's Corner: TopSpeed Modula-2 with Object Extensions - Journal of Pascal, Ada & Modula-2 Jul/Aug 1990 - pages 56-58 (TSM2 v2.20)
 * A. Schulman: Modula-2 and OS/2 Join Forces - BYTE magazine (Aug 1989) - Pages 171 to 174. (TSM2 v1.20)
 * S. R. Ladd,: Modula-2 Compilers: New Kids on the Block Mature. - Computer Language magazine (Mar 1989) pages 99 to 110. (TSM2 v1.14)
 * M. E. Haltiwanger: Software Reviews: TopSpeed 1.12 - Journal of Pascal, Ada & Modula-2 (Jan/Feb 1989) - pp 54-56
 * Peter Moylan: Modula-2 compilers for OS/2

Links

 * Unofficial JPI/TopSpeed Modula 2 support page
 * Announcement of TopSpeed Modula 2 v3 at Dr. Dobb's site
 * Overview of the TopSpeed v3 system