ZTerm - Macintosh Modem Communications

ZTerm 1.2

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

< dalverson @ kagi . com >

Register Online using the Kagi payment service.

Jun 2012 - new web address since mac.com web pages are going away
- 2012/06/28 - had to change web server to use correct mime type for .dmg files

Jul 18, 2011 - Version 1.2 - Universal binary released

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.

New features in version 1.2

universal binary, works on 10.7 Lion
other minor changes

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"


Download ZTerm 1.2 for OSX Universal binary

Older versions

Download ZTerm 1.1b7 for OSX (PowerPC only)

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

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


Dave Alverson