Appendices


Key Sequences

This table shows the many command key equivalents you can use in ZTerm.

Cmd-A - Select All.
Cmd-B - Send a BREAK.
Cmd-Shift-B - Send a long BREAK.
Cmd-C - Copy selection to clipboard.
Cmd-D - Open dialing directory.
Cmd-Shift-D - Dial Marked services.
Cmd-E - Edit Connection.
Cmd-Shift-E - Toggle local echo.
Cmd-F - Find.
Cmd-G - Find Again.
Cmd-H - Hangup.
Cmd-K - Keyboard Buffer (for online conferences).
Cmd-L - Clear the scroll buffer.
Cmd-Shift-L - Clear the screen and scroll buffer.
Cmd-M - Copy selection to modem.
Cmd-N - Append selection to file.
Cmd-Shift-N - Append selection to last append file for this service.
Cmd-P - Print Selection.
Cmd-Q - Quit.
Cmd-R - Receive file with default receive protocol for this service.
Cmd-S - Send file(s) with the default send protocol for this service.
Cmd-T - Send Text
Cmd-V - Paste to modem.
Cmd-W - Close Window.
Cmd-X - Cut the selection to the clipboard.
Cmd-Z - Undo (for desk accessories).

Cmd-UpArrow - Scroll up in the scroll buffer.
Cmd-DownArrow - Scroll down in the scroll buffer.
Cmd-Option-UpArrow - Scroll to top of scroll buffer.
Cmd-Option-DownArrow - Scroll to bottom of scroll buffer.


When the Dialing Directory window is in front:
Cmd-C - Edit connection settings.
Cmd-D - Dial highlighted service.
Cmd-M - Mark the highlighted service.
Cmd-Shift-M - Mark all services.
Cmd-N - Add a New service.
Cmd-Q - Queue dial (Dial marked services).
Cmd-S - Change to settings for the highlighted service.
Cmd-T - Terminal settings.
Cmd-U - UnMark the highlighted service.
Cmd-Shift-U - UnMark all services.
Space or Down Arrow - move highlight down.
Backspace or Up Arrow - move highlight up.
Shift Click - toggle the mark for the service.
Command Click - Make the service the startup default.
Any letter - move highlight to matching service name.
Double Click on a service - Edit connection settings.


Keyboard Mapping

For all keyboards:
Cmd-Enter    send a break
Control-Space NUL
Control-2    NUL
Control-4    ^/ (FS)
Control-5    ^] (GS)
Control-6    ^^ (RS)
Control-7    ^_ (US)


Extended keyboard:
F1    VT220 F6    esc[17~
F2    VT220 F7    esc[18~
F3    VT220 F8    esc[19~
F4    VT220 F9    esc[20~
F5    VT220 F10    esc[21~
F6    VT220 F11    esc[23~
F7    VT220 F12    esc[24~
F8    VT220 F13    esc[25~
F9    VT220 F14    esc[26~
F10    VT220 F15    esc[28~
F11    VT220 F16    esc[29~
F12    VT220 F17    esc[31~
F13    VT220 F18    esc[32~
F14    VT220 F19    esc[33~
F15    VT220 F20    esc[34~

help        VT220 Find        esc[1~
home        VT220 Ins here    esc[2~
page up    VT220 Remove    esc[3~
del        VT220 Sel        esc[4~
end        VT220 Prev        esc[5~
page down    VT220 Next        esc[6~


Error and Other Messages

During a File Transfer
CRC Err, Checksum Err - an error was encountered in the block of data and it must be resent.
Got sector header xxx - an invalid character was received instead of the start of block character.
Hdr CRC error, @ xxxx - an error occurred in the ZModem block header, xxxx is the current position in the received file.
Data CRC error, @ xxxx - an error occurred in the ZModem data block, xxxx is the current position in the received file.
No ACK on EOT - the receiver did not acknowledge the end of file message.
Timeout on sector ACK - no acknowledge was received for the block in the allotted time.
NAK on sector - the receiver got an error in the block and requests retransmission.
Got burst for sector ACK - when waiting for the sector acknowledge, several characters were received (perhaps from line noise).
No ACK, got a xxx - when waiting for acknowledge, the character xxx was received.
Got ZRPOS = xxxx - the received got an error and requests retransmission starting at file offset xxxx.
Error -120 or Directory Not Found - you probably need to set the Receive Folder.


Modem Cables (for very old Macs w DIN-8 serial port)

Macintosh (Mini DIN-8) Serial Connectors (Mac Plus/1986 thru PowerMac G3 Beige/1998)

Pin    Name        Description/Notes
1    HSKo        Output Handshake (from Zilog 8530 DTR pin)
2    HSKi/Ext Clk    Input Handshake (CTS) or TRxC (depends on 8530 mode)
3    TxD–        Transmit Data line
4    Ground
5    RxD–        Receive Data line
6    TxD+        Transmit Data line
7    GPi/DCD    General Purpose Input (not available on all models)
8    RxD+        Receive Data line; ground this line to emulate RS232


Mac DIN-8 to DB-25 MODEM - Hardware Handshaking

Mac            Modem (DB-25)
1 (HSKout)     ->    4 (RTS) & 20 (DTR)
2 (HSKin)    <-    5 (CTS)
3 (TxD-)    ->    2 (TxD)
4 (GND)    <->    7 (Signal Gnd)
5 (RxD-)    <-    3 (RxD)
6 (TxD+)    --    NONE
7 (GPi)    <-    8 (DCD) - not currently used by ZTerm
8 (RxD+)    <-    7 (Gnd)

Note: Hardware handshaking cables may vary slightly.  Pin 7 (GPi) is not currently used and I don’t know how many off-the-shelf cables have pin 7 connected.  A hardware handshake cable does not need pin 20 (DTR) on the modem connected to Mac pin 1 (in addition to pin 4 RTS), but most cables have this.  If you are using hardware handshake, you MUST remember to configure the modem to ignore the DTR line, using AT&D0 (that's a zero).  

Mac DIN-8 to MODEM - Typical Non-Hardware Handshaking

Mac            Modem (DB-25)
1 (HSKout)     ->    20 (DTR)
2 (HSKin)    <-    5 (CTS) & 8 (DCD)
3 (TxD-)    ->    2 (TxD)
4 (GND)    <->    7 (Signal Gnd)
5 (RxD-)    <-    3 (RxD)
6 (TxD+)    --    NONE
7 (GPi)    <-    NONE
8 (RxD+)    <-    7 (Gnd)

Resources

ZTerm does not save any of its settings in the ZTerm file.  All settings are stored in the PhoneList file.  You can lock the ZTerm application for some protection against viruses.

Binary File Type Detection

This really doesn't have much value with OSX, because creator and type codes are deprecated.
When a file is received that is not in MacBinary format and is not text, ZTerm will see if it is a known type.  If it is, ZTerm will set the appropriate creator and type.  This is especially helpful to those transferring files from other computer systems.

There is a resource which contains file creator and types, with identifying information.  If you are handy with ResEdit, you can add additional types to this resource.  The resource is STR# 335.  Each string in the list is one binary type detector.  There are currently two types of detectors: type 0 looks for a signature (a sequence of bytes at the start of the file), and type 1 which just looks at the end of the file name (eg, the extension if its coming from ms-dos).  Type 0 is the preferred kind, but some binary files do not have a signature.  I may add additional types of detectors; if you have any ideas, let me know.

Each detector string begins with the detector type (0 or 1), then the 4 character creator, and the 4 character file type.  Type 0 then follows with the signature bytes (any length).  You should try to keep the signatures between 2 and 8 bytes.  Type 1 follows with the characters to match at the end of the file name (case insensitive).

Some examples:
    For GIF files:    0BozoGIFfGIF8
    For ARC files:    1arc*mArc.ARC

The first example will set binary files that start with GIF8 to creator “Bozo” and type “GIFf”.  The second example will set binary files whose name ends with “.ARC” to creator “arc*” and type of “mArc”.  This is for ArcMac from DogStar Software.

The current detectors handle GIF, ZIP, ARC, ZOO and some Lotus, Excel and Word file types.  There are a lot more binary file types that you might need to transfer to your Mac from other machines.  If you know the file signature or typical extension, and the appropriate Mac creator/type, please let me know so I can put them in a later release of ZTerm.

The default binary file type is normally a creator and type of ‘????’.  This is used if the file does not match any of the binary type detectors.  You can change this in the General Preferences.

Sending Files as Binary

There is also a list of file types that should be uploaded as binary files.  This list is in STR# 330.  Each string in the list is a 4 character file type.  The current list includes GIF, ZIP, ARC, ???? and zBIN files.  TEXT files that have binary data in the first 128 bytes are also sent as binary.

Sounds

ZTerm can play a sound for some events that occur while you are using it.  If the sounds are available, it will play a sound when you connect to a service, when a file transfer completes or when the BELL character is received.  These sounds are optional.  If the sound with the right name is not available, it will just play the normal beep.  It looks for the sound by its name.  The names it looks for are 'connect', 'filedone' and 'termbell'. I have included three sound files for system 7 as part of the ZTerm package that you can use, or you can use some other sounds.  


About the Author

I first started using computers when my brothers built a TVT video terminal in the mid 70’s.  We used it to call the university computer system.  Then we got an IMSAI 8080 with dual eight inch floppy drives!  I wrote a simple educational program in BASIC and had it published in Kilobaud magazine.  Just when I was ready to buy a newer CP/M machine, the IBM PC came out and I got one.  I programmed and played with it for a few years.  Then the Mac came out and I had to get one.  I started out programming in BASIC, working on a disk sector editor, a hex resource editor, a disassembler (my brother Bob did most of the disassembler part, I did the resource stuff) and making mods to MacTEP for my own use.  I wrote a program called ReadLisa that could read diskettes from the LISA computer and print or copy them to a Mac disk.  This was useful for developers because the early developer disks from Apple were Lisa format floppy disks. I uploaded this and actually received three payments for it.  

I decided to write ZTerm because I spent a lot of time telecommunicating, but I didn’t really like the software that was available.  Also, none at that time supported ZModem, which appeared to be the best thing to be using.  Thus began the never-ending journey of ZTerm.  

We now live in an old farmhouse (over 100 years old) in Maineville Ohio.  Its real close to the Kings Island amusement park and about 25 miles north of downtown Cincinnati.  I have learned a lot about different types of electrical wiring used in the last 80+ years!

Now its 2011 and one of the primary uses of a terminal program, connecting to a BBS, is probably quite rare.  ZTerm is still a useful utility for configuring equipment (like routers) through a serial port, performing tests on modem configuration, and connecting to systems that are available through a dialup connection.