ZTerm - Macintosh Modem Communications


ZTerm 1.1b7 Public Beta

David P. Alverson
PO Box 175
Maineville, OH 45039-0175 USA

< dalverson @ kagi . com >

Register Online using the Kagi payment service.
Note: You cannot currently order ZTerm on disk via this method.

Oct 7, 2002 - New public beta of Version 1.1

ZTerm is a terminal emulation program for the Macintosh. In its day, many people used it to connect to Bulletin Board Systems and download files. Now we have the internet. Its still a useful utility for those systems that only offer dialup connections and for connecting to devices through a serial port, like many routers. For newer Macintoshs that don't have a normal serial port, ZTerm can talk to ports on USB to serial adapters, through the appropriate driver software supplied with the adapter.

Where is the universal binary version?

(May 2008) I got a MacBook a few months ago and have been working on a universal version.

New features in version 1.1b7

Registration is now $20; with disk is now $30 (floppy or CD).
Fixed problem where Port selection popup menu only works once and the crash if there are no devices.
Fixed several things which could cause a crash during startup.
Fixed send of multiple files.
Increased some timeouts to see if it fixes dial problem on some systems (when the Response line shows DT NNN-NNNN).
Fixed problem for some systems under OSX 10.2 where the keyboard generated the wrong characters.
Fixed crash when the ZPhoneList file is corrupted.
No 68k version. I'm not sure if it makes sense to spend time on this now.

OSX has Terminal.app - why do I need ZTerm?

Terminal.app and ZTerm both have terminal emulation capability, but Terminal.app talks only to other programs, whereas ZTerm talks only to serial ports, and other drivers that identify themselves as serial ports. You could run a program like tip in Terminal.app, but it would be somewhat awkward compared to ZTerm.

Why can't ZTerm talk to my device?

For any non-Apple ports (like a USB to Serial adapter), you usually need a driver installed that will allow applications to use that port. This is true of OS 8/9 and OS X - and a driver for OS X is very different from older OS 8/9 drivers. Under OS X, ZTerm searches the IO Registry for entries of type IOSerialBSDClient to build its list of available serial ports. If ZTerm is not showing your serial port, you can look in the IO Registry to see what is there. Open Terminal.app and type the command ioreg -c IOSerialBSDClient which will dump out all entries in the registry. For entries that are in the IOSerialBSDClient class, it will show the properties under that entry. If your device does not show up in the list, or does not have an IOSerialBSDClient entry with it, then ZTerm will not be able to use it. You probably need an OSX driver for the device (which may or may not exist).

Here is a part of the ioreg output for an internal modem:

 +-o AppleSCCSerial  
   +-o AppleSCCRS232SerialStreamSync  
     +-o AppleSCCModem  
       +-o IOSerialBSDClient  
           {
             "IOTTYBaseName" = "modem"
             "IOPersonalityName" = "IOSerialBSDClientSync"
             "IODialinDevice" = "/dev/tty.modem"
             "IOProviderClass" = "IOSerialStreamSync"
             "CFBundleIdentifier" = "com.apple.iokit.IOSerialFamily"
             "IOCalloutDevice" = "/dev/cu.modem"
             "IOMatchCategory" = "IODefaultMatchCategory"
             "IOTTYDevice" = "modem"
             "IOClass" = "IOSerialBSDClient"
             "IOProbeScore" = 1000
             "IOTTYSuffix" = ""
             "ParentKey" = "KEXTBundle?com.apple.iokit.IOSerialFamily"
             "IOSerialBSDClientType" = "IOModemSerialStream"
           }
           

Why two versions?

The Carbon API's allow a program to run under both OS 8/9 (with CarbonLib) and under OSX. Unfortunately, the Carbon API does not include functions to access serial ports. So under OSX, a program has to use the BSD/Posix API to control the serial ports, and under OS 8/9 you use the Device Manager calls. There may be ways to have one executable that runs in both environments, but this would restrict the number of machines it will run on. As it stands, the Classic version does not require CarbonLib and may run on System 7.x or earlier.

Downloads:

Download ZTerm 1.1b7 for OSX only

Download ZTerm 1.1b7 for MacOS 8/9 only (PowerPC only)

Download ZTerm 1.0.1 (October 1995) for MacOS 9 and earlier

03-May-2008

Dave Alverson