Date: Tue, 11 Jan 1994 20:29:20 -0500 (EST) From: Les Jones
Subject: ZTerm 0.9 FAQ 1.6 This file answers many Frequently Asked Questions (FAQs) about ZTerm 0.9. All ZTerm users should read the FAQ before sending questions to Dave Alverson. Besides answering questions, the FAQ contains tips, bug reports, and ResEdit hacks. Changes since the last version: bug: Phone number field bug: VT100 emulation Q?: Why can't I download a damn thing? Q?: How can I make ZModem binary downloads from UNIX more reliable? Q?: How can I edit the colors ZTerm uses for ANSI graphics? Q?: How can I emulate function keys on a PowerBook? Q?: How can I use the numeric keypad for entering numbers? Tip: Creating a folder for scripts. Many sections have been updated. In particular, the directions for changing ZTerm's terminal font are more clear. The directions also note that changing the font seems to limit the display to 40 or so columns. If anyone knows a workaround for this problem, please let me know. P.S. Dave Alverson says that ZTerm 1.0 will be released during the first quarter of 1994. ZTerm 0.9 FAQ by Les Jones Version 1.6 updated January 6, 1994 For best results, display in 9 point Monaco with rulers set to 7 inches. Contents: ! = New section! + = Section updated since the last version of the FAQ Distribution and Posting Information Credits Copyright Notice and Trademarks Disclaimer of Warranty Contacting the Author Other ZTerm Information and Software [1.00] ZTerm's Version History [1.01] What's the current version? [1.02] What features will be in the next version? +[1.03] When will the next version be released? [2.00] Registration and Support [2.01] Why should I register (pay the shareware fee)? [2.02] Will I get technical support if I register? [2.03] If I registered an earlier version of ZTerm, do I have to send in an upgrade fee? [2.04] What is Dave's new Internet address? [3.00] Quick Fixes for Common Problems [3.01] Relax. Don't worry. Have a homebrew. [3.02] Select a download folder to prevent -120 downloading error. [3.03] Make sure ZTerm is sending data to the correct port. [3.04] Make sure call waiting is disabled. [3.05] Make sure you have a hardware handshaking cable. [3.06] Install Apple's Hardware System Update 2.0. [3.07] Quit other programs which use the modem. [3.08] Quit ZTerm. Turn the modem off and on. Launch ZTerm. [3.09] Restart the computer. [3.10] Restart the computer with extensions off. [3.11] Disable fax software and fax auto-answer. +[3.12] Move the ZPhoneList out of the ZTerm folder. (But don't throw it away!) [4.00] Known Bugs, ResEdit Fixes, and Cool ResEdit Hacks [4.01] Queue dialing [4.02] File appends [4.03] Missing download folder [4.04] UNIX and Opus settings [4.05] Sending returns in scripts [4.06] Text pacing [4.07] Unmarking all services [4.08] Dialing with the scroll buffer scrolled back ![4.09] Phone number field ![4.10] VT100 emulation [4.11] Non-bugs +[4.12] Increasing the port buffer size with ResEdit +[4.13] Changing the terminal font with ResEdit. [5.00] Dialing [5.01] Why is one service in the Dial menu and in the Dial directory in outline? [5.02] I started ZTerm and the only service listed is called Local. Wa' hoppen? [5.03] My ZPhoneList with a kajillion phone numbers and settings got trashed. Am I screwed? +[5.04] Why won't ZTerm send my modem initialization string? [5.05] Using multiple ZPhoneLists. [5.06] Tip: changing the data rate. [5.07] Tip: changing parity, data bits, and stop bits. [5.08] Tip: dialing the current service. [5.09] Tip: adding a separator line to the Dial menu. [6.00] Connecting [6.01] When ZTerm dials, the dialing line has the A cut off the dial string, like this: TDT 691-7094. What's the deal? [6.02] Why is ZTerm so slow at sending passwords on some services? [6.03] Why isn't there a setting for 14400 bps? [6.04] What data rate should I use with a 14400 bps modem? +[6.05] How can I prevent my modem from constantly dropping carrier, especially when I'm receiving lots of information on the screen? +[6.06] Why won't my Global Village modem connect at 14400 bps? [6.07] Why won't my Global Village modem hangup? [6.08] How can I make my Global Village modem detect a busy signal? [7.00] File Transfers ![7.01] Why can't I download a damn thing? [7.02] This text, binary, MacBinary, and Smart MacBinary stuff makes my head spin. Which should I use? [7.03] When I download Mac files from a PC BBS, the files have generic icons and are unusable. What went wrong? [7.04] Which protocol should I use? [7.05] Does ZTerm support batch ZModem downloads? [7.06] Interrupting ZModem downloads is messy. What's a modem freak to do? [7.07] Can I use ZModem from my VAX or UNIX account? [7.08] How do I prevent massive CRC errors during ZModem text downloads from UNIX? ![7.09] How can I make ZModem binary downloads from UNIX more reliable? [7.10] I have other transfer problems with UNIX. What's Dave been smokin'? [7.11] How can I do ZModem uploads to Delphi? [7.12] Where's YModem-G Send? [7.13] Why does YModem work on some systems and not others? [7.14] Using hardware compression makes my uploads and downloads slower. Was ist los? +[7.15] If I have the Kermit/VT102/etc. Tool, will ZTerm support Kermit/VT102/etc.? Are any ZModem tools available? [7.16] How can I resume downloads interrupted by a meddling cat? [7.17] Hellfire tarnation and a monkey! Why's my transfer efficiency so low? [8.00] Sound, ANSI Graphics, and Color [8.01] Why oh why won't the ZTerm sounds play? [8.02] Can I use sounds other than the ones that come with ZTerm? [8.03] Is there any limit on the length of the sounds? [8.04] How do I turn my modem speaker down or off? [8.05] How do I get ANSI graphics when connecting to a PC BBS? [8.06] I did all of that and the ANSI graphics still look a little funny. What gives? ![8.07] How can I edit the colors ZTerm uses for ANSI graphics? [8.08] How can I add excitement to my dull and monotonous existence? [9.00] VT100 Emulation [9.01] I'm wiggin' out, Les. Why don't the home, end, page up, and page down keys on my extended keyboard work? [9.02] Why don't the f1-f4 editing keys on my extended keyboard work? [9.03] How can I emulate a control key on a Mac Plus? [9.04] How can I emulate an escape key on a Mac Plus? ![9.05] How can I emulate function keys on a PowerBook? [9.06] How can I emulate a numeric keypad on a PowerBook? ![9.07] How can I use the numeric keypad for entering numbers? [9.08] Tip: positioning the cursor with the mouse. [10.00] Text and Text Files [10.01] Can I make the terminal font bigger? [10.02] Why does onscreen text look so crummy in anything but 9 or 12 point? [10.03] Will ZTerm save text files in something other than TeachText? [10.04] How can I increase the size of the scroll buffer? [10.05] Why do some characters get corrupted when I copy text from my word processor and paste it into ZTerm? [11.00] Macros and Scripting [11.01] How do I know the script is running? [11.02] How do I cancel a script? [11.03] How do I send an escape/linefeed/etc. in a script? [11.04] Do I have to use the Wait for "da da da" prompt syntax? [11.05] Why is ZTerm sending only part of a line? [11.06] How can I send quotation marks within a send statement? [11.07] What does error -49 mean? [11.08] I'm goin' nuts! Why won't my login script run? [11.09] Login script example. [11.10] Tip: sending a sig with a script and macro. [11.11] Other uses of scripts and macros ![11.12] Tip: Creating a folder for scripts. An Easter Egg Distribution and Posting Information America Online I always send the current version to America Online. Use File Search keyword "zterm". Delphi The current version of the FAQ is available in the Communication forum in the Macintosh ICONtact forum. FTP I will also send the current version to email@example.com, a mail exploder which delivers the file to the sumex-aim and umich FTP sites, as well as other, lesser-known FTP sites. The following list shows the location of the FAQ at various FTP sites, along with the appropriate directories. Sumex and umich are two primary FTP sites. The other sites mirror the contents of either sumex or umich. The mirrors are often easier to access, especially during business hours. Note that the archie.au site is in Australia and that src.doc.ic.ac.uk is in the United Kingdom. To conserve limited Internet resources, use the site closest to home. FTP site Directory sumex-aim.stanford.edu info-mac/comm/info wuarchive.wustl.edu mirrors/info-mac/comm/info archie.au micros/mac/info-mac/comm/info mac.archive.umich.edu mac/misc/documentation wuarchive.wustl.edu mirrors/archive.umich.edu/mac/misc/documentati archie.au micros/mac/umich/mac/misc/documentation src.doc.ic.ac.uk packages/mac/umich/mac/misc/documentation Usenet I post the most current version of the FAQ to the comp.sys.mac.comm and comp.sys.mac.apps Usenet newsgroups. Email Harris Upham has generously volunteered to provide the FAQ via email. He requests that you put "ZTerm" somewhere in the subject line so he can easily identify FAQ requests. Harris is being very generous with his time. Please mail him only if you can't get the FAQ by other means. The address is firstname.lastname@example.org. Credits and Thanks Many thanks to the folks who have contributed, knowingly or unknowingly. While compiling this FAQ, I was often helped by the net community, particularly readers of the Usenet newsgroup comp.sys.mac.comm and the Info-Mac Digest. Thanks to all the helpful people out there in netland! In rough chronological order: Neil Schulman Joe Dellwo Adam Toner Rick McCormack Scott Macrae David Platt Daniel Friedan Drew Wade Gregory Youngs Roy Wood Gary Snow Peter Middleton Eric Hoffmann Jay Bourland Pete Halverson Henri Schueler Miles Abernathy Jeff Kwan Kent Ritchie Davey Silon David Ray Walter Ian Kaye Harris Upham Shigeru Yamamoto Julian Vrieslander James Trammell Rick Zeman Joel Schulman Keith Corwin Stefano Toria. Others have contributed material which I may use in upcoming versions of the FAQ. Special thanks to ZTerm author Dave Alverson for providing information about the next release, and for releasing a great piece of software as shareware. Copyright Notice and Trademarks This document is copyright 1993 by Leslie Jones. All rights reserved. I ask for no money, but please give credit when quoting information in this document. Crediting the FAQ will make others aware of its existence. Unmodified copies of this document may be freely copied and distributed electronically, and may be uploaded to FTP sites which allow anonymous login, nonprofit BBSs, and commercial online services which charge no more than a normal connect fee for downloading files. For-profit distribution on physical media, including but not limited to paper, floppy disk, and CD-ROM, is prohibited without written permission. Explicit permission is granted to the moderators and archivists of the sumex-aim archives to include this document on the info-mac CD-ROM. Explicit permission is also granted to nonprofit user groups to distribute this document on their disk of the month. This document contains the names of trademarked products. The trademarks are the property of their respective owners, and are used here only in an editorial capacity. Disclaimer of Warranty This document is a volunteer effort. Every attempt has been made to provide accurate information, but the author and contributors accept no responsibility for actions resulting from the use of this free information. The user of this information assumes all responsibility for damages, loss of information, loss of time, and cost of repairs. THIS INFORMATION IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND. Contacting the Author In preparation for a change of Internet accounts, I'm changing my preferred mail address. To make corrections and suggestions, send Internet mail to email@example.com, or send America Online mail to LeslieJonz. If mail to that address bounces, send Internet mail to firstname.lastname@example.org. UTK is the University of Tennessee, Knoxville, the land of the free and the home of the Vols. Other ZTerm Information and Software Information This FAQ answers questions relating specifically to ZTerm 0.9. There are other sources for information of interest to ZTerm users. General communications For answers to more general questions about Macintosh telecommunications and networking, please read Eric Rosen's excellent comp-sys-mac-comm FAQ, available for anonymous FTP from sumex-aim.stanford.edu and mac.archive.umich.edu. Everyone who uses a modem should keep Eric's FAQ on their hard drive. File conversion For answers to questions about file conversion ("I downloaded a file that ends in cpt/sit/dd/arc/lzh/pit/etc. How do I open it?"), get David Lemson's exhaustive report compression-util-table. The ZTerm manual briefly describes the most common Macintosh compression formats. Modem configuration For information about configuring your modem, consult your modem's manual. I address specific problems in the FAQ, but there really is no substitute for a working knowledge of the Hayes command language. When your AT command reference is torn at the edges and soiled with the dirt of your hands, it is then you will have mastered the art of telecommunications, little grasshopper. Usenet If you have Usenet access, questions about Macintosh-specific telecommunication hardware and software should be directed to comp.sys.mac.comm. Questions about modems and telecommunications in general should be directed to comp.dcom.modems. I often read c.s.m.comm and answer questions about ZTerm by searching for the string "zt". Software ZTerm Phone Directory Listing Denise McElroy (email@example.com) released this application, which reads your ZPhoneList file and produces a text file containing the names and phone numbers of all services. If your ZPhoneList ever gets erased or corrupted, you'll be glad you used it. This application may be also able to extract the phone numbers from a corrupted ZPhoneList. ZTerm Speed Patch Jon Snell (firstname.lastname@example.org) wrote a 16 color palette resource and ResEdit instructions for installing the palette. By using the hack and setting the monitor depth to 16 colors, ZTerm users will experience faster screen redraws while still seeing the correct colors. Users with 2400 bps modems will experience little or no speed increase. In my experience, the patch makes ZTerm faster in 16 colors, but a little slower in 256 colors. Highly recommended if you normally use 16 color video. With the patch installed, you can edit the colors ZTerm uses for ANSI graphics. See section eight for directions. Star Trek sounds Star Trek fans now have their own sounds for ZTerm! The sounds are available on America Online as M's ZSounds, and at sumex-aim as star-trek-comm-sounds in the info-mac/snd directory. These are the coolest ZTerm sounds I've used. The sounds are as follows: Connect: Worf saying "Link established. Receiving." Filedone: Worf saying "Transfer of information complete." Termbell: Enterprise computer beep. [1.00] ZTerm's Version History [1.01] What's the current version? ZTerm 0.9 is the current version. It is dated February 8, 1992. Before 0.9 was released, someone hacked 0.85 with ResEdit and released it as 1.0. There is a more recent hack called 0.93 XK (eXtra Keys), which was released by a user group. Anyone may modify ZTerm with ResEdit for their personal use, but distributing modified versions of copyrighted software is illegal. If you discover an interesting ResEdit hack, send it to me and I'll publish it in the FAQ. Dave Alverson sends official releases to America Online, CompuServe, and GEnie. You can also expect the newest version to quickly appear on BBSs and FTP sites. [1.02] What features will be in the next version? -Support for Kermit file transfers. -Implementation of 16 color ANSI graphics, instead of the current 8 colors. -Some additions to the scripting language. -A scripts folder, possibly. -Bug fixes. There may be other features, but these are the ones Dave Alverson has announced. [1.03] When will the next version be released? Dave Alverson says that ZTerm 1.0 should appear in the first quarter of 1994. [2.00] Registration and Support [2.01] Why should I register (pay the shareware fee)? This is a tough question. There is no legal precedent to show that people can be forced to pay for shareware, so no one will come knocking on your door in the middle of the night. On the other hand, many of us in the computer community feel that you should pay for shareware which you use often, just because it seems to us to be the right thing to do. Shareware authors put a lot of work into their software, and they deserve compensation. Shareware authors also put a lot of faith in the computer community by releasing their products as shareware. They trust that people will voluntarily pay for a product they need and use. I for one don't think we should take advantage of people's trust. There are also practical reasons for registering. Registering encourages the author to update his software. More importantly, the author is more likely to continue to release his work as shareware if people pay the registration fee. The copy of ZTerm which ships with some Global Village modems has been paid for by the nice people at Global Village, who know a good piece of software when they see it. [2.02] Will I get technical support if I register? Yes. Dave supports ZTerm through paper mail, email, and in conferences on America Online, CompuServe, and GEnie. The locations of the conferences are listed in the Support dialog under the Misc menu. Registered users receive his home phone number and can call him for direct phone support. When was the last time you called a Microsoft programmer at home? If you send Dave a question, include the registration number you received when you registered ZTerm, as Dave almost certainly gives priority to registered users. Global Village handles technical support for the Global Village version of ZTerm. [2.03] If I registered an earlier version of ZTerm, do I have to send in an upgrade fee? No. Dave Alverson, like most shareware authors, doesn't charge upgrade fees. This is another advantage of shareware. [2.04] What is Dave's new Internet address? The address given in ZTerm 0.9 is out of date. Dave's new Internet address is email@example.com, and is his preferred mail address. [3.00] Quick Fixes for Common Problems [3.01] Relax. Don't worry. Have a homebrew. Keep your head tool cool. Read the manual, read this FAQ, and remember that tens of thousands of people have used ZTerm successfully. Before you use ZTerm for the first time: [3.02] Select a download folder to prevent -120 downloading error. Before downloading files for the first time, you must select a default download folder by selecting Receive Folder from the Settings menu. If you can upload files but can't download them, you probably haven't selected a receive folder. Remember to select a new folder when moving to a new computer. [3.03] Make sure ZTerm is sending data to the correct port. An external modem can be connected to the modem or printer ports. Find out which yours is attached to, select Modem Preferences from the Settings menu, and select the port. Alternatively, you can hold down the shift key while ZTerm loads to select the port. If you have a PowerBook with an internal modem, open the PowerBook control panel and select the option for an internal modem. All things being equal, you should connect an external modem to the modem port. The computer gives priority to the modem port so that other printer port activities don't interfere with modem activities. Also, all AppleTalk devices must be connected to the printer port, which is the only AppleTalk-capable port. [3.04] Make sure call waiting is disabled. To disable call waiting on a touch tone phone, insert the string "*70," before the phone number, like this: ATDT *70,555-5555 The comma is a Hayes command which makes the modem wait for two seconds. Someone has suggested using w instead of a comma. The w tells the modem to wait for a dial tone. On a pulse dial phone, use "1170," instead of "*70,". One reader reports that *67 enables privacy (disables caller ID at the remote phone) for some telephone companies. [3.05] Make sure you have a hardware handshaking cable. If you have hardware handshaking turned on in the Connection dialog, consult your modem manual to make sure you have a hardware handshaking cable. You can get away without one for awhile, but they are ultimately necessary for high speed modems. A diagram of a correctly-wired hardware handshaking cable is hidden in the Apple Modem Tool 1.1. Open a copy in ResEdit and examine PICT resource #20000. In the Apple Modem Tool 1.5, the PICT resources are #20808 for DIN-8 to DIN-8 wiring, and #20825 fro DIN-8 to DB-25 wiring. The new Apple Modem Tool 1.5 has a button labeled Cabling, but it was grayed out on my machine. I suspect the button would work with an Apple Express Modem. Any information on the cabling button would be appreciated. To find out more about hardware handshaking, read issues #179 and #180 of TidBITS, Adam Engst's free electronic magazine, available from FTP sites and online services. [3.06] Install Apple's Hardware System Update 2.0.1. The hardware update (AKA Hardware Enabler) corrects some problems with high speed communications under System 7.1 on the following machines: LC, LC II, IIsi, IIvx, IIvi, Classic II, Quadra 900, and Quadra 950. The updater solves other problems on these and other machines, so users of System 7.1 should probably have it anyway. The updater should NOT be used on Performas. I mention the hardware update out of a sense of duty to inform you that it exists. No one has actually reported that it solved any of their telecommunications problems. On the contrary, reports are filtering in that the update causes some problems of its own. Use your own judgment. Day-to-day fixes: [3.07] Quit other programs which use the modem. Communications programs that access the modem are sometimes reluctant to give up control of the port the modem is attached to. Quit all other telecommunications software, as well as any phone book programs that can dial phone numbers through the modem. [3.08] Quit ZTerm. Turn the modem off and on. Launch ZTerm. This technique solves numerous connection and downloading problems. Among other things, it closes the communications port, which may have been left open by another application. It also forces ZTerm to resend the modem initialization string. [3.09] Restart the computer. Restarting is a standard way of solving transient problems of any kind. [3.10] Restart the computer with extensions off. Extensions (inits and cdevs under System 6) cause more than their share of problems, and should always be suspect if the machine is crashing or freezing. Under System 7, restart with the shift key held down to prevent extensions from loading. Under System 6, manually remove all inits and cdevs from the System Folder and restart. See also 3.11. A few final possibilities: [3.11] Disable fax software and fax auto-answer. Fax software may prevent ZTerm from accessing the serial port to which the modem is attached. Remove fax extensions, control panels and Chooser devices from the System folder. Fax Chooser devices are especially insidious. Chooser devices aren't disabled when you restart with extensions off under System 7. If they were, print drivers would be disabled, and you wouldn't be able to print. Consult your fax modem manual to learn how to disable fax auto-answer. [3.12] Move the ZPhoneList out of the ZTerm folder. (But don't throw it away!) Besides storing phone numbers, the ZPhoneList contains all of ZTerm's settings and preferences, which may have been misset or corrupted. If ZTerm starts doing really, really bizarre things, you should suspect a corrupted ZPhoneList. If you remove the file from the ZTerm folder, ZTerm will create a new one using its default settings. You can also restore the file from a backup disk. If that doesn't solve the problem, put your old ZPhoneList back in the ZTerm folder so you won't lose your phone numbers. [4.00] Known Bugs, ResEdit Fixes, and ResEdit Hacks [4.01] Queue dialing When queue dialing, the dial window remains open after a connection is made. [4.02] File appends Appended text is inserted at the beginning of the file, rather than at the end. [4.03] Missing download folder If you attempt to download without selecting a default download folder, ZTerm reports a -120 error instead of prompting you to select a download folder. [4.04] UNIX and Opus settings The radio buttons may change when you open the ZModem Options dialog, but the settings remain unchanged, so the bug is not serious. [4.05] Sending returns in scripts When ZTerm sends a return by itself in a script, it usually sends a space, then the return. To fix the problem, open a copy of ZTerm in ResEdit. Open the CODE resource, then open CODE ID=2. At offset 52B4 find the string 671E 4A6E FFEE. Change 671E to 601E. [4.06] Text pacing If text pacing is set to wait for a line prompt, ZTerm will usually wait for about 5 seconds even if it receives the prompt character. To fix this bug, open a copy of ZTerm in ResEdit, open the CODE resource, then open CODE ID=2. At offset 5082, find the string 3B40 CAC0. Change CAC0 to CABE. [4.07] Unmarking all services Holding down shift-option and selecting Dial Marked is supposed to unmark all services, but doesn't. [4.08] Dialing with the scroll buffer scrolled back When dialing with the scroll buffer scrolled back, ZTerm crashes when a connection is made. This bug does not occur on all systems, but occurs reproducibly on some. [4.09] Phone number field When a large number of characters are in the phone number field, ZTerm adds strange spacing between some characters. This often happens if you include a calling card number in the phone number field. The workaround is to delete all spaces between the numbers. [4.10] VT100 emulation During VT100 emulation, ZTerm sometimes becomes confused about what line the cursor is on. You probably won't notice this unless you're in editing mode. Setting the window size to 24 X 80 helps alleviate the problem to some degree, but there's no getting around the problem completely. [4.11] Non-bugs When the Dial directory is open, command-q invokes queue dialing, rather than quitting ZTerm. According to the ZTerm docs, this is exactly what's supposed to happen. Several other command key shortcuts have different meanings when the Dial directory is open. When ANSI graphics leave the main window and enter the scroll buffer, they lose their special formatting and color and become text. This is described in the ZTerm docs. [4.12] Increasing the port buffer size with ResEdit Open a copy of the ZPhoneList in ResEdit. Doubleclick the zSet resource. The first two bytes are the port buffer size. X'1000 = 4K. X'2000 = 8K. X'3000 = 12K, etc. Settings higher than X'7 (28K) are reported to be unreliable. When you finish, save changes, quit ResEdit, and launch ZTerm. Now choose Port Stats from the Misc menu. You should see the new serial buffer size. Increasing the port buffer size can eliminate some downloading problems, as well as problems which occur when large amounts of data are coming to the screen. Stefano Toria said it best: "I set it at 28K and I am perfectly happy now, I never lose a single bit any more, I can multitask ZTerm, receive huuuge files whilst playing Cumulonimbus, and my wife is expecting our third child :-)." [4.13] Changing the terminal font with ResEdit. Shigeru Yamamoto asked Dave how to use ZTerm with a Japanese font. Dave's instructions follow: "If you want to try a Japanese font, here's what to do: open the ZPhoneList file with ResEdit and open the zSet resource. (Leave the one in the program file alone, it's only used as defaults when the ZPhoneList is created.) At offset 80 hex in this resource is the font name used when emulation is set to VT100. At 90 hex is the font for PC-ANSI. They are Pascal strings, so the first byte is the number of characters in the name. They are fixed fields of 16 bytes, so the longest name that will work is 15 bytes. Make sure you don't change the size of the field, because everything after it is position dependent." So to change the font ZTerm uses for VT100 emulation, open the ZPhoneList in ResEdit, doubleclick the zSet resource, then doubleclick the ID 1 resource. Scroll down to the line that begins with "000080". This is offset 80. It should look like this: 000080 067A 742D 4D61 6320 zt-Mac The "06" is the number of characters in the font name ("zt-mac" is 6 characters). First, change the 06 to the number of characters in the font name. If you're using Courier, change the 06 to 07. Then change the font name from zt-Mac to whatever font you're want. Here's what it would look like if you changed the font to Courier: 000080 0743 6F75 7269 6572 Courier I've tried the hack and found that it works only moderately well. The hack reduces line lengths to about 40 lines, which isn't very useful. (Incidentally, ZTerm sure gets around. Harris Upham sent me a ZTerm hack that allows ZTerm to display two-byte Korean HanTalk characters. Someone else told me that there is a Swiss version of ZTerm.) [5.00] Dialing [5.01] Why is one service in the Dial menu and in the Dial directory in outline? That's the default service. When you launch ZTerm, that service will be the current service. To set the default service, open the Dial directory, hold down the command key, and click on the service you want to be the default. You can also hold down the command key and select the service from the Dial menu. [5.02] I started ZTerm and the only service listed is called Local. Wa' hoppen? ZTerm didn't find your ZPhoneList in the ZTerm folder, so it created a new one with the default entry Local. Find your ZPhoneList and place it in the root level of the ZTerm folder. [5.03] My ZPhoneList with a kajillion phone numbers and settings got trashed. Am I screwed? You're screwed. Always back up your ZPhoneList when you perform your routine backup. Or, to put it another way, whenever you think "Man, I really oughta back up my files one of these days," instead think "Man, I really oughta back up my files, including my ZPhoneList, one of these days." Several reports on comp.sys.mac.comm indicate that the ZPhoneList can be corrupted when restarting a crashed Mac. Apparently this only occurs if you crash after making changes to the ZPhoneList settings without saving the changes. You can prevent this problem by choosing Save Setup from the Dial menu whenever you change ZTerm's settings. If your ZPhoneList becomes corrupted, you might be able to extract the service names and numbers using Denise McElroy's ZTerm Phone Directory Listing, available from FTP sites and America Online. [5.04] Why won't ZTerm send my modem initialization string? ZTerm won't send the modem init string if it can't find the modem. Make sure the modem is turned on and connected to the correct port. ZTerm also won't initialize the modem if the default service doesn't have any characters in the Phone Number field. To fix the problem, type some characters in the field. The characters don't have to be a phone number. "I am the Lizard King" works just fine. So does a couple of spaces. [5.05] Using multiple ZPhoneLists. When you launch ZTerm, it looks for a file called ZPhoneList in the ZTerm folder. To force ZTerm to use a different ZPhoneList, quit ZTerm and doubleclick on the other ZPhoneList, which does not have to be in the ZTerm folder. If multiple ZPhoneLists are present in the ZTerm folder, they must have different names. To force ZTerm to create a new ZPhoneList, rename the old one, or move it out of the ZTerm folder, and launch ZTerm. [5.06] Tip: changing the data rate. You can change the data rate without going to the connection dialog. Click on the data rate string at the bottom of the window to get a popup menu for changing the data rate. [5.07] Tip: changing parity, data bits, and stop bits. Likewise, clicking on the string to the right of the data rate string produces a popup menu for selecting N-8-1, E-7-1, or O-7-1 settings. [5.08] Tip: dialing the current service. Command-shift-d normally dials marked services. If no services are marked, command-shift-d dials the current service. (The current service is the one whose name appears at the top of the window.) [5.09] Tip: adding a separator line to the Dial menu. Create a new service. In the Service Name field, type one or more "-" (hyphens). The Dial menu will now have a standard gray separator line. To take advantage of the separator, some of your service names must come alphabetically before the hyphen. The easiest way to do this is to prefix some of the service names with spaces, which forces them to the top of the Dial menu. P.S. I have lost the name of the person who posted this tip to comp.sys.mac.comm. If that person would be so kind as to send me their name, I'll add it to the credits. [6.00] Connecting [6.01] When ZTerm dials, the dialing line has the A cut off the dial string, like this: TDT 691-7094. What's the deal? First, make sure your modem is turned on, that the modem cable is properly connected to the computer and to the phone jack, and that ZTerm is sending data to the correct port. Assuming all is well with the modem connection, the consensus seems to be that this behavior occurs because a previous comm program left the communications port open. If you experience this problem, quit ZTerm, turn the modem off and then back on, and relaunch ZTerm. One person reported that changing the data rate from 57600 to 38400 solved his problem. Another fixed the problem on his PowerBook by adding a comma to the beginning of the predial initialization string. Thanks to everyone on comp.sys.mac.comm and comp.dcom.modems for their valuable feedback on this problem! [6.02] Why is ZTerm so slow at sending passwords on some services? You have "Wait for character echo" turned on in the Text Pacing options, but the remote system isn't echoing the password characters, so ZTerm waits 5 seconds, times out, and sends the next character. Turn off the "Wait for character echo" option for that service. [6.03] Why isn't there a setting for 14400 bps? The setting in the connection dialog controls the DTE speed (AKA terminal speed, Mac-to-modem speed, serial port speed, or what ZTerm calls the data rate), not the DCE speed (AKA connection speed, modem-to-modem speed, or carrier speed). 14400 is a DCE speed, not a DTE speed. [6.04] What data rate should I use with a 14400 bps modem? With a high speed modem, you want to set the serial port speed higher than the carrier speed so that the modem won't get ahead of the computer. Also, most v.32bis (14400 bps) modems feature hardware compression methods such as v.42bis and MNP 5. To take advantage of hardware compression, the serial port speed must be higher than the carrier speed. When using a 14400 bps modem to connect to another 14400 bps modem, set the DTE speed in the Connection dialog to 19200. You can experiment with higher values, but 19200 should work reliably. Some users report that high DTE speeds are unreliable when AppleTalk is enabled in the Chooser DA. Many people experience problems with 57600 DTE speeds. [6.05] How can I prevent my modem from constantly dropping carrier, especially when I'm receiving lots of information on the screen? Tell the modem to ignore DTR. The appropriate string for most modems is &D0. Turning hardware handshaking off will also work. See also 3.04 if you have call waiting. See also 3.11 if you have a fax modem. [6.06] Why won't my Global Village modem connect at 14400 bps? Send the modem an AT&V command, which will display all settings. If you see \J1, you've found the problem. \J1 enables port rate adjust. This means that the DTE speed will adjust to the DCE speed. But if you connect at 14400 bps, you're in trouble, since ZTerm can't send data to the serial port at 14400 bps. To fix the problem, send AT\J0 (zero) to the modem. Better yet, add \J0 to the modem initialization string in the Modem Preferences dialog. [6.07] Why won't my Global Village modem hang up? The modem's &D setting and ZTerm's setting for hardware (DTR) hangup are conflicting. The setting is in ZTerm's Modem Preferences dialog. Send the command AT&V to your modem to find your &D setting, and set the hardware hangup according to the following table: If your modem is Use this setting in ZTerm's set to this: Modem Preferences: &D0 Set Hardware Hangup (DTR) to off &D1 Set Hardware Hangup (DTR) to off. &D2 Set Hardware Hangup (DTR) to on. &D3 Set Hardware Hangup (DTR) to on. Note that I'm assuming you've set &D to the correct setting. If not, all bets are off. Check the "Hardware Hangup (DTR)" box to turn hardware hangup on. Uncheck the box to turn it off. If all else fails, turn DTR hangup off. DTR hangup is faster, but software hangup works almost every time. [6.08] How can I make my Global Village modem detect a busy signal? Some Global Village modems can't properly detect a busy signal when dialing certain types of terminal servers. James Trammell (firstname.lastname@example.org) discovered that placing one or two commas after the phone number solved his problem. When dialing with ZTerm's built-in phone book, type the commas after the phone number in the Connection dialog. When dialing manually, type "ATDT nnn-nnnn,,". The comma is a standard Hayes command which causes the modem to pause during dialing. On most modems, the length of the pause is 2 seconds, but you can set the length of the delay with the S-8 S-register. I should note that the problem is with the modem, not with ZTerm, and that the same solution works with other communications software. [7.00] File Transfers [7.01] Why can't I download a damn thing? If you can't download anything, and if you get a -120 WriteData error when you try, you haven't selected a default receive folder. Go to the Settings menu and choose Receive Folder. If you consistently lose data or get ZRPos errors at the same point in the download, try increasing the port buffer size using the directions in section 4.12. If you get massive CRC errors during ZModem text downloads from UNIX, see section 7.08. If you're having problems with ZModem binary downloads from UNIX, see section 7.09. [7.02] This text, binary, MacBinary, and Smart MacBinary stuff makes my head spin. Which should I use? Unless you know better, use Smart MacBinary, which will automatically select the correct transfer mode. The major exception is if you are uploading non-text files, such as GIFs or .zip files, which PC users will use. In that case, use binary to prevent Finder information from being sent. This reason this setting is so important is because of the Mac's unique file format. Macintosh files have two forks, or parts -- the data fork and the resource fork. The data fork holds data, which is usually text. The resource fork holds resources such as compiled code, pictures, sounds, etc. Text files are usually all data. Applications are mostly resources. This two part structure is unique to the Mac. If you send Mac files to other types of computers, the files will be damaged. Using MacBinary transfers prevents this damage. [7.03] When I download Mac files from a PC BBS, the files have generic icons and are unusable. What went wrong? You didn't use MacBinary or Smart MacBinary. See 7.02. [7.04] Which transfer protocol should I use? If the service you're calling supports ZModem, use it, because: - ZModem is very fast. - ZModem is a batch protocol, meaning you can place more than one file into a batch for uploading or downloading. Most protocols make you request files one at a time. - ZModem has crash recovery. If a 3 hour download is interrupted 1 minute before it finishes, you can redial the service, start the download again, and finish where you left off. - ZModem receives begin automatically. To start a ZModem download, simply tell the other computer to begin the transfer. Your computer will detect a ZModem transfer and automatically enter receive mode. This autoreceive feature necessitates the default download folder, which ZTerm also uses with other transfer protocols. - ZModem handles XON/XOFF software flow control better than other protocols. - ZModem detects the presence of hardware error correction, such as MNP 4 and v.42, and turns off its own error detection. The result is faster throughput when using error-correcting modems. [7.05] Does ZTerm support batch ZModem downloads? Yes. ZModem is by definition a batch protocol. To download multiple files from UNIX using ZModem, use the command sz -w 2048 filename1.txt filename2.hqx etc. [7.06] Interrupting ZModem downloads is messy. What's a modem freak to do? Send an ASCII abort or interrupt character. The abort character varies from host to host, but should be either control-x or control-k. Control-c is the ASCII interrupt character. Whichever character you send, type it repeatedly. [7.07] Can I use ZModem from my VAX or UNIX account? Yes. The necessary source code for VAX is available via anonymous FTP from ee.utah.edu in the directory /Comm/Rzsz. You will need everything but the .tar file. The source code for UNIX is available via anonymous FTP from sumex-aim.stanford.edu in the directory info-mac/comm. The four files are in UNIX shar format. I am told that the code is not ANSI C. My informant says that UNIX users can use the K & R compiler and use the command -cckr. (I've forgotten my informant's name. I hope he'll email me.) [7.08] How do I prevent massive CRC errors during ZModem text downloads from UNIX? In the ZTerm manual, Dave Alverson suggests using "sz -w 2048 filename". Here's an explanation from Fernmail author Dave Platt: "The commonest reason for this sort of failure-to-resynchronize is, in my experience, excessive data buffering between the sending "sz" process and the receiving program. The ZModem protocol can become badly confused if you're connected to your host via a TCP-based terminal server or some similar serial data switch. If the terminal server and the network software provides a substantial amount of data buffering (as it probably does), then the two ZModem processes will each see a _long_ delay between the time that they send a message to their peer, and the time that the response to this message makes it through the network to them. This delay will interfere with the protocol's error-recovery timeouts, and can lead to an endless stream of recovery attempts. "I strongly suggest using the poorly-documented "-w" option when downloading files from a mainframe or workstation, unless you're _sure_ that all of the data communication links between you and the host are running at the same speed and don't do data buffering. The "-w" option enables a four-packet sliding-window mode, which will guarantee that sz will never "get ahead" of your Mac by more than the window-size that you specify. As long as the window size is no more than (e.g.) 10 seconds worth of data, there won't be a problem with the retry timers expiring before the window is emptied. "I usually use "sz -w 2048 filename" when downloading. In fact, I have "sz" aliased to "sz -w 2048" to ensure that I don't forget to use windowed mode." [7.09] How can I make ZModem binary downloads from UNIX more reliable? Joel Schulman wrote to say that he couldn't download binaries until he began using the -e modifier, as in sz -e filename Any feedback on this fix or why it works would be appreciated. [7.10] I have other transfer problems with UNIX. What's Dave been smokin'? If you have trouble with UNIX when you use the telnet command, try the rlogin command, and vice versa. This tip has solved many problems for UNIX users. [7.11] How can I do ZModem uploads to Delphi? One person reports that changing the ZModem options under Settings from rz to uz fixed his uploading problems. [7.12] Where's YModem-G Send? According to ZTerm's excellent Balloon Help, YModem1K send is the same as YModem-G send. [7.13] Why does YModem work on some systems and not others? What some BBSs call YModem is actually XModem-1K. If the BBS offers YModem and YModem Batch, use YModem Batch, which is the true YModem ZTerm expects. Otherwise, if YModem transfers aren't working, tell the BBS to send YModem, and tell ZTerm to receive XModem-1K. Frankly, this is just one more reason to use ZModem. [7.14] Using hardware compression makes my uploads and downloads slower. Was ist los? Most online files are compressed with software utilities such as Stuffit and Compact Pro and can't be compressed much more, if at all. Therefore, the time the modem spends trying to compress and decompress the files can actually slow down the transfers. V.42bis is supposed to detect compressed files and turn off its own compression, but it doesn't always work If hardware compression causes problems, consult your modem manual to learn how to turn it off. [7.15] If I have the Kermit/VT102/etc. Tool, will ZTerm support Kermit/VT102/etc.? Are any ZModem tools available? ZTerm doesn't use the Communications Toolbox for terminal emulation, connection, or file transfer, so it can't use Communications Toolbox tools. The freeware Termy, by Tim Endres of Ice Engineering, can. I've used Termy and Glen Howes' freeware Kermit Tool GH with great success. Kermit Tool GH also works very well with Communicate Lite. There are no freeware or shareware ZModem tools available at this time, but you can download a demo of the Mark/Space ZModem tool. The demo allows downloading, but not uploading. Otherwise, it is fully functional. The demo is available via anonymous ftp from netcom.com in the directory pub/mspace. It should appear very soon at major ftp sites and online services. Payware ZModem tools ship with Pacer Software's PacerTerm (see MacWEEK (08.09.93), Seaquest's tools pack, Aladdin System's SITcomm, and DCI's CrossTalk 2.0. The next version of Communications Lite from Mark/Space Softworks will also include a ZModem tool, and will be a free upgrade for registered users. A demo version of Communicate Lite is available from America Online and via anonymous FTP from netcom.com in the directory mspace/pub. [7.16] How can I resume downloads interrupted by a meddling cat? If an animal, two legged or four legged, presses the 9 key during a download, ZTerm will display zrdata: cnt = 1024 zrdat32: cnt = 1024 et cetera ad nauseam. To fix the problem, press the 0 (zero) key. My friend Neil Schulman discovered this. Dave Alverson tells him this behavior is actually a debugger built into ZTerm. More details as they become available, modem fans. [7.17] Hellfire tarnation and a monkey! Why's my transfer efficiency so low? It may not be low at all. Ignore the percent efficiency figure. The characters per second (cps) rate is a better indicator of efficiency. On the Mac, one character is eight bits. Sending that character over a phone line requires the addition of a start bit and a stop bit. To convert cps to bits per second (bps), multiply cps by ten. The maximum theoretical efficiency without hardware compression or error correction would be 240 cps for 2400 bps modems, 960 for 9600, and 1440 for 14400. The efficiency won't actually be that high, because of line noise and the overhead inherent in any file transfer protocol. Hardware error correction such as MNP 4 and V.42 can increase throughput by as much as eight percent. Hardware compression such as MNP 5 and V.42bis can increase throughput dramatically, assuming the files aren't already compressed with Stuffit, Compact Pro, etc. The reason you should ignore the percent efficiency is that ZTerm normally calculates percent transfer efficiency by dividing the actual throughput by the DTE speed (what ZTerm calls the data rate). Assuming your modem is transferring data at exactly 14400, ZTerm will report the efficiency to be 14400/19200 = 75% at 19200, 14400/38400 = 38% at 38400, and 14400/57600 = 25% at 57600. Yet in each case the actual transfer rate is the same. Having said all of that, you can use the percent efficiency figure if your modem supports the ATW2 command. When the modem is set to W2, ZTerm reports the connect speed as the DCE speed rather than the DTE speed, and calculates percent efficiency based on the DCE speed. So if your modem is transferring data at exactly 14400, ZTerm will report the efficiency to be 14400/14400 = 100%. [8.00] Sound, ANSI Graphics, and Color [8.01] Why oh why won't the ZTerm sounds play? The sounds must be stored in the System file (AKA System suitcase). See 8.02. [8.02] Can I use sounds other than the ones that come with ZTerm? Absolutely. You can rename any sound to "Connect", "Filedone" or "Termbell" and install the sound in the System file. Under System 7, quit all applications and desk accessories and drag the sounds to the icon of the closed System Folder. When asked if you want the sounds installed in the system file, click OK. System 6 users can install sounds into the System file using the shareware SoundMover (shareware by Riccardo Etore) or Apple's ResEdit. You can also use a resource manager, such as Fifth Generation System's SuitCase or Alsoft's MasterJuggler, to open the sounds with ZTerm. [8.03] Is there any limit on the length of the sounds? ZTerm doesn't limit the length of the sounds, but ZTerm can't send or receive data while the sounds are playing. Therefore, a long connect sound may cause connection problems. [8.04] How do I turn my modem speaker down or off? This one is near and dear to my heart, as I used to have the 2400 bps Modem for the Deaf(TM). ZTerm offers three ways to turn the modem speaker off (AT M0), or to turn the speaker down (AT L0) if it's on. (All 0's are zeroes, as they always are in the Hayes language. The only exception is The ATOn command, which is used to return the modem to online mode. In that case, "O" is an "oh". The n is a placeholder for an integer number.) M1 turns the speaker back on. L1 turns the volume back up. 1. You can manually do the deed by typing AT M0 or AT L0 before you make a connection. This method is best if you only want to silence the modem for some sessions. 2. To automatically change the volume when dialing a particular service, enter AT M0 or AT L0 in the "Pre-dial init" field in that service's Connection dialog. This method is best if you want the speaker on for some services and off for others. 3. To automatically control the volume for all services, select Modem Preferences. Click in the "Initialize" field and use the cursor keys to move to the far right. Move the cursor just to the left of ^M and type M0 or L0. This method is best if you want the speaker off for every service, every time. Incidentally, these three techniques work for any initialization string. [8.05] How do I get ANSI graphics when connecting to a PC BBS? 1. Select Terminal Settings for that service and choose the PC ANSI BBS radio button. 2. Also in the Terminal Settings dialog, uncheck the "No Extended Characters (Strip hi bit)" box if it's checked. 3. In the Color Preferences dialog, check the Use Color box. 4. In the Terminal Preferences dialog, set the font size to 9 or 12 point. Other sizes will not work with ANSI graphics. See 10.02. 5. In the Monitors control panel, set the monitor depth to 256 colors or higher. 16 colors will do in a pinch. If you normally use 16 color video, I recommend using Jon Snell's ZTerm Speed Patch, which installs a 16 color palette into ZTerm. [8.06] I did all of that and the ANSI graphics still look a little funny. What gives? ZTerm 0.9 uses 8 colors for ANSI emulation, while some ANSI graphics use 16 colors. The next version will support 16 color ANSI emulation. [8.07] How can I edit the colors ZTerm uses for ANSI graphics? Ordinarily you can't edit the colors, but you can if you use Jon Snell's ZTerm Speed Patch. Once you install the patch, open ZTerm with ResEdit, doubleclick the pltt resource, doubleclick the ID 128 resource, and edit the colors. For more information about ZTerm Speed Patch and where to find it, see "Other ZTerm Information and Software" earlier in the FAQ. [8.08] How can I add excitement to my dull and monotonous life? Select Color Preferences and choose colored text on a darker background. I use yellow text on a black background. Use whatever colors you want. It's your life. [9.00] VT100 Emulation [9.01] I'm wiggin' out, Les. Why don't the home, end, page up, and page down keys on my extended keyboard work? During VT100 emulation, those keys are assigned to VT100 operations. To make them work like normal Macintosh application keys, hold down the shift key and then press them. [9.02] Why don't the f1-f4 editing keys on my extended keyboard work? During VT100 emulation, all of the function keys are assigned to VT100 operations. Use the command key shortcuts or the Edit menu. [9.03] How can I emulate a control key on a Mac Plus? If you are using System 7 on a U.S. system, install the ZTerm Keyboard layout. To do this, drag the keyboard layout to the icon of the closed system folder. When asked if you want to install the keyboard layout, click OK. The option key will now emulate the control key. If you are using a non-U.S. system, or a system earlier than 7.0, select Terminal Settings from the Settings menu. Assign the control key function to the command key. [9.04] How can I emulate an escape key on a Mac Plus? When Option for Control is checked in Terminal Preferences, the accent/grave key in the upper left hand corner of the keyboard emulates the escape key. [9.05] How can I emulate function keys on a PowerBook? Connectix PowerBook Utilities (CPU) provides function key emulation for PowerBooks. CPU is commercial software. If anyone knows of freeware or shareware for emulating function keys, please let me know. [9.06] How can I emulate a numeric keypad on a PowerBook? Use NumericKeypad (AKA U.S. Keypad), a ResEdit resource and keypad written by Mel Park, of the University of Tennessee, Memphis. NumericKeypad maps the numeric keypad to the regular keyboard when the caps lock key is engaged. [9.07] How can I use the numeric keypad to enter numbers? The numeric keypad is sometimes used for special editing functions. If you always want to use it for entering numbers, turn off the "VT100 Keypad" option in the Terminal dialog for that service. [9.08] Tip: positioning the cursor with the mouse. You can not only use the mouse to select text, you can also use it to position the cursor. Hold down the option key. The pointer will become diamond shaped and will move the cursor, somewhat slowly, to wherever you click. [10.00] Text and Text Files See also section 4.13 if you want to change ZTerm's terminal font. [10.01] Can I make the terminal font bigger? Yes. Select Terminal Preferences from the Settings menu and enter a larger size. [10.02] Why does onscreen text look so crummy in anything but 9 or 12 point? ZTerm uses its own terminal font for 9 and 12 point, but uses Monaco for other sizes. If you want to see ANSI graphics, it is essential that you select 9 or 12 point. Monaco doesn't contain the special characters needed for ANSI emulation. A font-morphing wiz could help Dave Alverson and ZTerm users by creating, say, 10 and 11 point sizes of the ZTerm font. Contact Dave Alverson if you're interested. [10.03] Will ZTerm save text files in something other than TeachText? Yes. To change the application ZTerm saves text files in, choose General Preferences from the Settings menu and choose a new file creator. TeachText can't open files larger than 32K, so this feature is especially useful if you save large text files. [10.04] How can I increase the size of the scroll buffer? ZTerm stores the contents of the scroll buffer in memory. To increase the memory partition, quit ZTerm, select ZTerm's icon, and choose Get Info from the File menu. Now enter a larger size for ZTerm's memory partition. [10.05] Why do some characters get corrupted when I copy text from my word processor and paste it into ZTerm? The characters you've pasted are illegal on the system you're logged in to. A lengthy explanation follows. On the Macintosh, all eight bits of a byte are used for characters, producing 256 possible characters (two to the eighth power is 256), though some of these are dead keys, command keys, etc. Mainframes use only seven bits for text, producing only 128 possible characters (two to the seventh power is 128). This seven bit text is the ASCII standard (American Standard for Information Interchange, pronounced "asskey"). If you use any characters which use the eighth bit, the mainframe ignores the last bit and uses the first seven bits to determine which character to display. To avoid illegal characters when composing text for a mainframe, never use any characters which require pressing the option key. Also, in your word processor, turn off smart (curly) quotes, which use the eighth bit. When smart quotes are turned on, the word "don't" usually becomes "donUt" when pasted to a mainframe. And I'll bet dollars to donUts you donUt want that to happen. If you need to upload or paste text files containing illegal eighth bit characters, process the file with the Zap Gremlins command in BBEdit Lite 2.3 (freeware by Richard Siegel). [11.00] Macros and Scripting See also 4.05 for an explanation of a scripting bug and an easy fix. [11.01] How do I know the script is running? You will see a letter or two in the lower right hand corner of the terminal window. These letters are abbreviations for the command the script is preparing to execute. By noting which commands have executed, you can debug scripts more easily. These are the abbreviations and their meanings, as provided by Dave Alverson: b : beep s : send w : wait wp: wait prompt wq: wait for quiet [11.02] How do I cancel a script? Hold down the command key and type a period. Command-period, AKA the International Mac Distress Code, also cancels printing and pastes, in ZTerm or most other applications, and is the keyboard shortcut for the cancel button in most dialog boxes. [11.03] How do I send an escape/linefeed/etc. in a script? To send an escape, use the line: send "^[" where "[" is the lowercase left hand bracket, and "^" is the shift-6 control character. Substitute "^j" for linefeeds. Basically, you can send any ASCII character using a script. All you need is a table of ASCII characters and their meaning. [11.04] Do I have to use the Wait for "da da da" prompt syntax? No. Wait prompt "da da da" works just fine. [11.05] Why is ZTerm sending only part of a line? When a line begins with the "send" command, ZTerm sends everything between the first set of quotes and the second set of quotes. If the string looks like this: send " "It is not I who am crazy ... It is I who am MAD!!!" ^M" ZTerm will send a space, since that's what's between the first and second set of quotes. [11.06] How can I send quotation marks within a send statement? I used to say it couldn't be done, but I found a way. ZTerm recognizes four varieties of quotation marks: single quote, double quote, smart single quote, and smart double quote. If you begin a send statement with one type, ZTerm won't stop sending until it reaches another quote of the same type. (It doesn't, however, care which way the smart quotes face.) For instance, if the send line looks like this: send ' "It is not I who am crazy ... It is I who am MAD!!!" ^M' ZTerm will send everything within the single quote marks (apostrophes). If your send string contains double and single quotes, enclose the string within smart quotes. KeyCaps DA will show you the correct keys for producing smart quotes in your word processor or text editor. As a rule of thumb, don't enclose smart quotes within the send string. See 10.05. [11.07] What does error -49 mean? It means that the script ZTerm tried to use is open in another application, such as your word processor. Close the file and try again. [11.08] I'm goin' nuts! Why won't my login script run? Here's a shotgun blast of possibilities: 1. The file may not be in the right place. Login scripts must be stored in the root level of the ZTerm folder. That is, you should be able to see the ZTerm application and the script in the same Finder window using an icon view. 2. The file may not have the correct name. Login scripts should have the same name as the service, with the ".zts" extension on the end. If the service is called " MacClique" (note the space), the script should be called " MacClique.zts", with a space. 3. The script may not be in text only format. ZTerm can only read text only files (files of type code text), such as TeachText files. If you write the script with your word processor, be sure to use the Save As command and select a text only format. If TeachText can't open the file, it is not in text only format. (One exception: TeachText can't open any file larger than 32K. Or had I mentioned that already? If you have a working, useful script larger than 32K, I'd like to shake your hand.) 4. The script may be an alias. ZTerm doesn't recognize aliased scripts. 5. There may be something wrong with your login script. To test your script, connect to the service, select the Run Script command, and tell ZTerm to use the login script. If the script doesn't work when run manually, the script is faulty. Check spelling and syntax. [11.09] Login script example The login script for my university's timesharing network follows: wait prompt "Local>" send "c vax^M" wait prompt "Username:" send $account "^M" wait prompt "Password:" send $password "^M" Note that $account and $password are NOT inside quotation marks. For this script to work, the values for $account and $password must be entered into the Connection dialog. [11.10] Tip: sending a sig with a script and macro. UNIX users often include a signature at the end of their messages. The signature, or sig, often includes the person's name, email address, company, etc. Sigs are automated in UNIX. ZTerm users can easily include a sig with their email by creating a sig script. Launch your favorite text editor or word processor, set the font to Monaco, and write the sig as you want it to appear. Then enclose each line of text in quotation marks, type "send" without the quotes in front of each line, and include a ^M before the second set of quotation marks. To send a blank line, send a ^M by itself. Save the script in the ZTerm folder and name it sig. If you use a word processor, be sure to use Save As and save in a text only format. Example: send "************************************************************^M" send "Les Jones email@example.com AOL:LeslieJonz^M" send "^M" send "Made from only the freshest electrons and 100% pure ASCII to^M" send " insure that you have the best possible email experience.^M" send "************************************************************^M" Now launch ZTerm and choose Edit Macros from the Macro menu. Name the new macro sig, and type "(option-r)sig" in the Macro String field. Now your sig is only a macro away. You could also use the Run Script command under the Macro menu, but it wouldn't be as convenient. Enjoy! [11.11] Other uses of scripts and macros Scripts and macros can eliminate a lot of needless typing. The following is a script I concocted to speed up Kermit transfers on the VAX. (I'm really looking forward to Kermit support in the next version of ZTerm!) Example: wait "kermit>" prompt send "SET BLOCK_CHECK_TYPE THREE_CHARACTER_CRC_CCITT^M" wait "kermit>" prompt send "SET SEND PACKET_LENGTH 1000^M" wait "kermit>" prompt send "SET RECEIVE PACKET_LENGTH 1000^M" I use the following script to log on to the sumex-aim FTP site. send "FTP sumex-aim.stanford.edu^M" wait prompt "Username:" send "anonymous^M" wait prompt "Password:" send "firstname.lastname@example.org^M" wait prompt "FTP>" send "cd info-mac^M" As in the example in 11.10, I could trigger these scripts with a macro or with the "run script" command. [11.12] Tip: Creating a folder for scripts. ZTerm 1.0 may have a folder for storing scripts. Keith Corwin came up with a way to create a scripts folder using System 7 aliases. 1. Make a new folder called "Scripts" inside the ZTerm folder. 2. Make an alias of ZTerm. 3. Put the original ZTerm (not the alias), scripts, the ZPhoneList, and the ZTerm Xfer Log into the Scripts folder. And finally, an Easter Egg. Open a copy of ZTerm in ResEdit. Doubleclick on the STR resource, then doubleclick on the ID=0 resource. Inside you'll see a line from Monty Python. Enjoy! Send in those corrections and tips! And send Dave your shareware fee!