Classic Computer Magazine Archive ANTIC VOL. 4, NO. 4 / AUGUST 1985


How to "port" programs between Ataris

by CHARLES JACKSON, Antic Program Editor

One of the first things we figured out while getting acquainted with the Antic development 520ST was how to port standard Atari Logo graphics programs from an 800 to the ST via Kermit.

Kermit is a public domain telecommunications program that lets different types of computers and operating systems swap text files with each other. Thus, software developers may write their applications on one machine and transfer the completed source code to another. Because GEM offers compatibility between different co-processors, there are many companies developing software on the IBM PC who will use Kermit to transfer their C language source code files to the Atari ST.


Named aftcr Kermit the frog, this file transfer protocol monitors the flow of information between computers. Kermit can best be compared to XMODEM protocol. Files transferred through either of these protocols are broken into pieces, or "packets," and sent individually. A checksum, similar to a TYPO II code, accompanies each packet.

Each time the computer receives a packet, it recomputes the checksum, and compares it against the sending computer's original. If the two checksums match, Kermit assumes the packet was received correctly.

If the checksums don't match, Kermit will send the packet again and again, until a rnatch is achieved. Kermit continues sending and checking packets until an entire file is successfully transfered.

Kermit was developed by Bill Catchings and Frank da Cruz at Columbia University in 1981. The first Kermit implementation linked a DEC-20 mainframe to a CP/M-80 microcomputer. Today, more than fifty types of mainframe and micro-computers have Kermit programs


The eight-bit Atari version of Kermit, by John Palevich, was written in ACTION! and then compiled. (You don't need the ACTION! cartridge to use the program.) This Kermit is available through the Antic Arcade Catalog. Kermit is also a part of Palevich's Chameleon Terminal Emulator. Also available through the Antic Arcade Catalog ($19.95, AP113).

A 520ST version of Kermit came with our ST development package. Its one-letter command format is very similar to UNIX Kermit.

We got both Kermits running in matching configuration on both our ST and an Atari 800 (it could have been any other 8-bit Atari). Then we ported Listing 1 over to the ST. The listing is a simple Atari Logo program that draws a star against a randomly selected background color.


We used a printer cable, a null modem connector, a gender changer (female-female) and a modem cable (RS-232 to D9) to attach our ST to Port R1 of an 850 interface. See Figure 1.


We booted Kermit on the 800 and set the following parameters:

A – Back S sends (Cursor left (ASCII))
B – Baud.Rate (9600)
C – Carriage return includes line feed is (off)
D – Default disk drive (D1:)
F – File type (text)
I – I/O Port (1)
T – Dialing method (tone)
L – Local Echo (off)
P – Parity (none)

Meanwhile, we loaded the ST Kermit program from GEMDOS and typed KERMIT R which put the ST into the Kermit Receive mode.

Back at the 800, we typed S [RETURN], entered the filename of our logo program and pressed [RETURN] again to begin the transfer.

An instant later, the transfer was over. At 9600 baud, our logo file and its filename, had been "Kermited" from the 800 to our ST and automatically written to the ST's disk. At 9600 baud, Kermit ports files very rapidly. In fact, you'd have to type for more than four hours at 40 words per minute to match the amount of information ported during a 60-second file transfer.


Most Kermits support three commands: Send, Receive and Serve. Kermit Send and Kermit Receive are used when there is a human operator present at each computer. One operator will Send while the other Receives. Most Kermits also support wildcards in filenames. For example, to port all files with a .TXT extender, you'd type *.TXT as the filename to transfer.

The Kermit Server puts one computer on "remote control," allowing both computers to be controlled by a single operator.

Type KERMIT V to place the St into the Kermit Server mode. While in this mode, the ST will automatically receive any files (and filenames) sent to it, and save each file to disk.


Our sample Logo file needed only one modification before it could run on the ST. The ST Logo didn't permit multiple drawing pens. We removed the pen number from the second line of the STAR procedure, changing that line from SETPC 1 :COLR into SETPC :COLR and the program ran correctly.

Since then, we've Kermited many more Logo files, LISTed BASIC programs and numerous text files to and from the Antic 52OST.

	Listing 1

	REPEAT 36 [RT 170 FD :LN]

	IF :COLR = 16 [MAKE "COLR 1]

Figure 1
Porting, Hardware Configuration
Figure 1