Classic Computer Magazine Archive START SPECIAL ISSUE NUMBER 1

PROGRAMMING TOOLS

A programmer's guide to languages and utilities

By David Plotkin


In the first two years of the Atari ST's life, an impressive number of programming languages have been released. In fact, there were more languages available for the ST after eight months than there were for the 8-bit Ataris after eight years!

There are basically four categories of languages for the ST. First are the BASICs, mostly interpreted but with some compiled versions available. This group has two standouts--GFA, which has a compiler available and makes GEM access fairly easy, and a relatively new entry, True BASIC, which is one of the most powerful and extensible languages I have ever seen. It has the ability to add many external modules, so that if you have lots of memory, you can perform many tasks heretofore impossible with the BASIC language.

The second category consists of C compilers. C is a "medium level" language; the programmer has far more work to do than with BASIC, but far less than with an assembler.

The third category are the assemblers. Due both to the power of the 68000 microprocessor and the large amount of memory available in the ST, most ST assemblers for 68000 code are powerful packages with extensive libraries of macros, which ease a programmer's job.

Finally, there is a host of high-level languages such as Pascal, Modula-2 and Fortran. These languages are more difficult to use and learn than BASIC, but easier (and slower) than C.

BASIC

fastbasic.jpg
Fast ST

Fast ST BASIC ($139.95) is the only cartridge-based BASIC. It includes more commands than any other BASIC. Virtually all of GEM and DOS is supported through keywords, and you have access to many advanced commands. The built-in editor allows for cut and paste from a clipboard and multiple programs in memory at the same time. Also included is an in-line assembler. Double precision arithmetic is supported. Some bugs have been cleaned up in the current version, but it still crashes frequently and there is nowhere to turn for support. Computer Concepts, Gaddesden Place, Hemel Hempstead, Hertfordshire HP2 6EX England. 0442 63937

GFA BASIC ($79.95), a German import supported by MichTron, has taken the ST world by storm. It supports many GEM functions by keyword, and support products have been arriving in a steady stream. This is a structured programming language, supporting procedures (including variable passing) and user-defined functions. Line numbers are not used, and a good editor makes it easy to compose programs. It supports all standard features of BASIC and some advanced loop commands. The new manual is much better and more usable than the original. This BASIC is very fast and small, and a compiler for stand-alone code is available. MichTron, 576 S. Telegraph, Pontiac, MI 48053. (313) 334-5700

LDW BASIC Compiler ($69.95) compiles ST BASIC programs into machine code, enabling stand-alone .PRG files. Compiling takes a while, but the new version can do the job without disk swapping on a two-disk system and is not copy protected, so you can install it on a hard drive. Extensions to ST BASIC include optional line numbers, better accuracy and extensive BASIC subroutines (which can also be used in ST BASIC) to support GEM functions. This BASIC also includes some extended commands not found in ST BASIC. Logical Design Works, 780 Montague Expressway #205, San Jose, CA 95131. (408) 435-1445

Softworks BASIC ($79.95). Advanced data structures and superior string manipulation are trademarks of this language. Compatible with programs written in this language on other computers. Extensive GEM and DOS support through the TOOLBOX command, but you must be quite familiar with GEM in order to use it. Compiled to P-Code, it must have the runtime package on the disk to run without the BASIC package itself. Some advanced loop commands are not supported. Softworks Limited, 607 W. Wellington, Chicago, L 60657. (312) 975-4030

ST BASIC (free) is the BASIC included with the ST. It's slow and clumsy, but it is free. Line numbers are required and numeric accuracy is limited. All GEM support is via generic calls to the operating system. It does support labels, but cannot use any tools of structured programming. Atari Corporation, 1196 Borregas Ave., Sunnyvale, CA 94086. (408) 745-2000

True BASIC ($99.95) is a very large language produced by the inventors of BASIC. It allows for just about every command imaginable, although some of the commands have strange names. The ST version is compatible with versions of True BASIC running on other computers. The language is highly structured; it can use line numbers if you desire, although they are not necessary. Procedures, functions, external libraries, a GEM toolkit and a runtime package are all available. The advanced math, sorting/searching, and string libraries make this a very powerful technical language. True BASIC is compiled, and modular compilation is supported. True BASIC, Inc., 39 South Main St., Hanover, NH 03755. (603) 643-3882

C

Alcyon C ($300) is the C that is bundled with the Atari developer's kit. Included are a compiler and assembler from Alcyon, linker, debugger and various utilities from DRI, an editor (EMACS) and telecommunications package (KERMIT) and various utilities from Atari. The documentation is 2000 photocopied pages, many of which have nothing to do with the ST. Several "skeleton" programs are also included to show how desk accessories must be set up. Batch files are a must to drive the many pieces of this package. The immense size and large amounts of irrelevant material make this a difficult package to use. All GEM and DOS functions are supported. Atari Corp., 1196 Borregas Ave, Sunnyvale, CA 94086. (408) 745-2000

GST C ($79.95) has a smooth interface that's a pleasure to work with, but there are restrictions that make program development difficult. Certain fundamental constructions are not supported, there is no floating point package, and GEM documentation is very limited. The package includes a shell, an excellent editor, one-pass compiler, assembler and linker. Standard C libraries are supplied. Relocatable code can be generated. The size of intermediate code is a problem; you will have problems compiling even moderate sized programs on double-sided 2 floppy systems unless you delete some of these files. The Catalog, Antic Software, 544 Second St., San Francisco, CA 94107. (800) 234-7001

markwc.jpg
Mark Williams C

Lattice C ($149.95) includes ANSI extensions which help reduce compiler errors. The documentation is good, although the section on GEM and DOS is very weak. It includes the compiler, linker, and a non-mouse driven editor. Lattice C does not come with an assembler or disassembler, so you cannot inspect code generated by the compiler, nor can you optimize code by hand. Integers are 32 bits, so code generated is larger and slower. Metacomco, distributed by The Catalog, 544 Second St., San Francisco, CA 94107. (800) 234-7001

Mark Williams C ($179.95) is a large, complex version of C that runs in a Unix-like environment. It includes a compiler, linker, debugger, the MicroEMACS editor and shell. Batch files can be used to implement the conversion from C source code to machine code and there are numerous options available to customize the results. ANSI extensions are supported. Mark Williams Company, 1430 W. Wrightwood, Chicago, IL 60614. (312) 472-6659

Megamax C ($199.95) is the language many commercial developers have turned to. It is very fast, uses a one-pass compiler and includes an editor, linker, code optimizer, disassembler and a shell to perform all of Megamax's functions easily. Batch files are not needed due to the straight-foward nature of the language. No assembler is included, so you cannot hand-optimize the assembler source code. Program segments are limited to 32K in size, so compiler directives are required to break up the code. The documentation is very thorough, and every imaginable DOS and GEM function is supported and documented. The package also includes a complete Resource Construction Set, and supports dialog box options not available in standard GEM dialog boxes. Megamax C can also handle program files which are in a different drive than the linker, etc. Megamax, Box 851521, Richardson, TX 75085. (214) 987-4931

ASSEMBLERS

GST-ASM ($59.95) is a self-contained development system for the ST. It includes an excellent GEM-based editor, similar to the 1st Word word processor, which allows for up to four simultaneous files open in windows, and supports cut-and-paste. Also included is the assembler and linker. Batch files can be used to automate the process of producing a file. A shell program ties the whole thing together. The assembler has many powerful options, including macros, include files, support for high-level languages, and conditional assembly. The package does not include a debugger or any documentation on the GEM calls. The Catalog Antic Software, 544 Second St., San Francisco, CA 94107. (800) 234-7001

Metacomco Macroassembler ($79.95) provides a TOS full-screen editor similar to EMACS, an assembler and linker. The macro facility is not as powerful as others available and no library of macros is provided. The documentation is for the LINK68 linker, which is not provided, although GST-LINK and its manual is part of the package. The assembler includes macros, local labels, conditional assembly, include files and high level language support. The Catalog Antic Software, 544 Second St., San Francisco, CA 94107. (800) 234-7001

PASCAL

Alice--The Personal Pascal ($79.95) is an interpreted Pascal; you can debug programs written in this language much more easily than in a compiled language. You can even single-step through a program. The editor lays out templates for you to fill in, making syntax mistakes much less common. Some GEM support is built-in, and a variety of included libraries make access to GEM not too difficult, although there is not as much built-in support as with some other languages. GEM support for windowing and redrawing is excellent because ALICE takes care of the gritty details for you. It also includes five different graphics systems, some of which are consistent with Borland's Turbo Pascal. There is currently no compiler to produce stand-alone programs. Looking Glass Software, 124 King Street, N. Waterloo, Ontario, Canada N2J 2X8. (519) 884-7473

Personal Pascal ($74.95) is a structured, compiled language. It supports functions and procedures with full parameter passing. The package includes a non-GEM editor compiler, linker and extensive libraries that not only provide access to most GEM functions, but document that access well enough to use the libraries. A shell program makes it possible to effortlessly switch from one option to another, and you can save, compile and link with the press of one key. Optimized Systems Software, 1221 B Kentwood Ave., San Jose, CA 95129. (408) 446-3451

UCSD PASCAL ($99.95) This is an implementation of the famous UCSD PASCAL compiler. Contains a complete library of programming tools. Uses p-system files, and features extensions for the GEM interface. Runs in monochrome or color. Pecan Software Systems, Inc. 1410 39th Street, Brooklyn, NY 11218. (718) 851-3100

MODULA-2

Modula-2 ($149.95) is a block structured; compiled programming language. Similar to Pascal, programs are arranged to modules to make them easier to program and understand. All standard Modula-2 calls are supported, including IMPORT and EXPORT, along with messages between modules. The package includes a GEM based program editor, fast compiler and linker. The editor does not support many "standard" GEM conventions, making it somewhat cumbersome to use. Extensive libraries provide access to GEM and DOS functions, but the documentation is inadequate to use them. The developer's version of this language includes toolkit disk, symbolic debugger, and a Resource Construction Set. TDI Software, 10410 Markison Road, Dallas, TX 75238. (214) 340-4942

FORTH

Multi-Forth ($149) comes with the EMACS editor, which doesn't support the mouse or GEM, and an assembler that has such niceties as loop structures and Reverse Polish Notation. GEM and DOS support for the language seems to be thorough but is hard to use because a complete listing of all supported words is not provided. A large number of demonstration programs are provided on the disk. Creative Solutions Inc., 4701 Randolph Road, Rockville, MD 20852. (301) 984-0262

APL

APL.68000 ($275.00) is full-featured and very fast, with extremely high numerical accuracy. The editor uses GEM to make entering and editing programs easier. It includes an Auxiliary Processor for those who wish to extend the language. It does not allow for direct memory access, so the GEM features that are not directly supported are very hard to access. Most GEM functions (including the mouse, menus and dialog boxes) are supported. Spencer Organization, P.O. Box 248, Westwood, NJ 07675. (201) 666-6011

LISP

Cambridge LISP ($199.95). The first of the AI (artificial intelligence) languages for the ST. This comprehensive package includes an interpreter and compiler, editor and a shell program with extensive manual (but no tutorial section). It has an excellent math package, macros, debugging tools, and a large library of GEM interface functions. However, BIOS, XBIOS and GEMDOS are only available by their function number. Metacomco, 26 Portland Square, Bristol BS2 8RZ England

FORTRAN

Pro Fortran-77 ($149) is a full implementation of the ANSI standard Fortran and includes a two-pass compiler and linker, but lacks an editor. There is full GEM and DOS support (using C names), and all types and sizes of variable are available. The package does not produce a stand-alone application; a memory-resident portion of code must be present before an application will run. Prospero Software, 190 Castlenau, London, England SW13 9DH. 01 741 8531

AC/FORTRAN ($195.00) Here is a full-featured ANSI 77 professional FORTRAN, which accepts source code written by any large main-frame FORTRAN compiler. Fully compatible with the GEM desktop, this package includes many extensions for GEM access. Uses IEEE math. Completely compatible with MicroSoft FORTRAN. Runs in monochrome or color. Absoft Corporation, 4268 N. Woodward Avenue, Royal Oak, Ml 48072. (313) 549-7111

THE OS-9 OPERATING SYSTEM

Personal OS-9/ST ($150.00) Here's a true, full featured multi-tasking operating system for your ST. Comes complete with a structured BASIC, full documentation, and a UNIX-style environment. Comes with a free copy of The OS-9 Software Sourcebook. Runs in monochrome or color. Microware Systems Corp. 1900 NW 114th Street, Des Moines, Iowa, 50322. (515) 224-1929

Stone Knives & Bearskins

What's the world's oldest profession?

No, it's toolmaking. And ever since the dawn of humanity, we've been looking for ways to make the jobs we do go faster and be more pleasant.

Working with computers is no different. People create and use software tools for exactly the same purpose. However, instead of chipping stone or scraping bearskins, we type in a collection of letters and spaces which, we hope, makes sense to our personal computer and will use our instructions to perform a useful task.

How are tools and utilities different from actual application programs, like word processors or painting programs? Well, in a very real sense, both of those examples actually are tools, and can be treated as such. But here we shall treat them as extremely complex tools, and as they are covered elsewhere in this issue, we'll focus our attention on the less complex, smaller tools essential for everyday ST computer problem solving.

ALT ($39.95). One feature everybody likes when they discover word processing is "search and replace" but ALT goes one step further, performing the replace function as you type. ALT lets you store redundant phrases and recall them with a simple keystroke. MichTron, 576 South Telegraph, Pontiac, Ml 48053. (313) 334-5700

Backup ($39.95). This program helps you back up your hard disk data to floppy disks. It allows you to choose which files are saved by specifying modification dates and image orientation. It features a variable buffer size, so you may configure it for your own machine. Runs on monochrome or color systems. MichTron, 576 South Telegraph, Pontiac, MI 48053. (313) 334-5700

C.O.L.R. Object Editor ($29.95) Here's one of the original programs used to create objects, like sprites, for inclusion into your own programs. One big feature of this package is it allows you to create a source code file describing your objects, in a variety of formats. Sprite sizes range from a single pixel to full screen. Color only. The Catalog, 544 Second Street, San Francisco, CA 94107. (800) 234-7001

CP/M Z-80 Emulator (Free from Atari) This is a complete, chip-level CP/M Z-80 emulator which transforms your ST into a full CP/M 2.2 system. Delivers full Z80 code emulation over the complete 64K range. This program will operate on monochrome or color systems. Atari Corp., 1196 Borregas Ave., P.O. Box 3427, Sunnyvale, CA 94088. (408) 745-2000

Crystal ($24.95) Crystal is a desk accessory which provides desktop icons for simple TOS related disk activities. Works with any GEM compatible program. Crystal will also print ASCII files with full formatting, including headers and footers. Crystal runs on color or monochrome systems. The Catalog, 544 Second Street, San Francisco, CA 94107. (800) 234-7001

Disk Doctor ($29.95) If you ever need to UNdelete a file, or simply want to go snooping around on a disk to see what's there, you need Disk Doctor. You may examine or change data on disks, and may view the information as Hex numbers or ASCII letters. You may also repair disks, recover deleted files, and trace broken FATs. Monochrome or color systems only! The Catalog, 544 Second Street, San Francisco, CA 94107. (800) 234-7001

DOS Shell ($39.95) As nice as the desktop metaphor is, some people still like the command line interface. MichTron has one of the more popular ones, which mimics the entire MS-DOS command structure. This package includes the ability to create and execute batch files. Runs in monochrome or color. MichTron, 576 South Telegraph, Pontiac, MI 48053. (313) 334-5700

Hard Disk Accelerator ($39.95) Even though hard disks are already super-fast, here's a tool that will speed them up even more. It relies on "disk-caching" which means it reads in a lot, and when you need to read some more off the disk it first checks to see if it already has the information you want. Often it does, so no disk access is performed, and your disk access times are speeded up. Runs in monochrome or color. Beckemeyer Development Tools, 478 Santa Clara Ave, Suite 300, Oakland, CA 94610.

Julian ($19.95). This is an example of utilities at their best. Julian is a set of routines you include in your program for fast conversion from ASCII dates to Julian dates, and vice-versa. This utility is for use with the Atari Developers Kit. Runs in monochrome or color. Mountain Magic Software, Route 1, Box 653, Boone, NC 28607. (704) 264-3021

A-RAM ($19.95) Faster than a speeding bullet! A RAMdisk fools the computer into thinking it has another disk drive, but this one exists only in memory, using memory normally ignored. Since there are no moving parts, the disk operation is extremely fast and quiet. You may specify exactly how much memory is used for your RAMdisk. Runs in monochrome or color. The Catalog, 544 Second Street, San Francisco, CA 94107. (800) 234-7001

K-Resource ($39.95) When you program using GEM, you'll soon need KUMA's Resource Construction Set, which allows you to graphically build the Dialog Boxes and Menus GEM is famous for. When you're finished, the complete .RSC resource file is created on disk, ready for the program to pick up and use. You may even modify existing resources. Runs in monochrome or color. The Catalog, 544 Second Street, San Francisco, CA 94107. (800) 234-7001

Kissed ($39.95) When you start programming in earnest, make sure you have the tools to help you discover what the machine is trying to do. This package contains more than 40 commands, ranging from a 68000 disassembler, to a mini-assembler, to a full debugger including breakpointing and dynamic relocation. Runs in monochrome or color. MichTron, 576 South Telegraph, Pontiac, MI 48053. (313) 334-5700

Menu+ ($49.95) So you have all these tools, and use each one during the process of putting your program together. Menu+ will allow you to automate the use of those tools, by writing a script which describes where to find and how to use each tool. Runs in monochrome or color. MetaComCo, 26 Portland Square, Bristol BS2 8RZ UK.

MT C-Shell ($129.95) Here is a fully multitasking, multiuser Unix compatible operating system. While one user operates the ST in a GEM environment, another user may operate a UNIX-like environment from a standard ASCII terminal connected to the RS-232 port. Comes with a true print spooler. Runs in monochrome or color. Beckemeyer Development Tools, 478 Santa Clara Ave., Suite 300, Oakland, CA 94610. (415) 658-5318

Soft Spool ($39.95) Tired of waiting for an immense document to print out on your printer? With this print spooler, you may print and compute at the same time. The ST prints your file while allowing you to go on with your normal work. Runs in monochrome or color. MichTron, 576 South Telegraph, Pontiac, MI 48053. (313) 334-5700