0.0 Introduction and HistoryThey say necessity is the mother of invention, and this piece of codeis no exception. A while back, after reflecting on the successof YAZI, George and I started talking about how we would like to useour Newtons. The bottom line seemed to be that we wanted to be ableto use them as "wee little computers" that we could take with usanywhere. Since we spend most of our time playing on Un*x boxes, itseems natural to use VT100 as our standard interface to the varioustools we use.Unfortunately, we were underwhelmed (if that's a word) with theavailable products. The biggest problem is that they were far tooslow -- they would timeout before we could login! The other problemwas that the other products just cost too much.So, instead, we spent several months writing our own!We designed PT100 for ourselves: to provide basic VT100 support in asmall, fast, inexpensive product. Non-critical features have beenexcluded. If you feel something important is missing, please drop usa line so we can discuss the new feature.As you read through the following documentation, realize that weoriginally designed this product for ourselves, to solve problems wewere having, and have more recently begun to support various optionsother folks may want. If something critical to your application ismissing, please drop us a line so we can discuss how to remedy theoversight.1.0 About PT100PT100 is a VT100 emulator for the Newton, capable of Modem, DirectSerial and Telnet sessions. VT100 emulation is the most commontext-based interface on the Internet, as well as the standard used byBBSes, corporate systems, various email mechanisms and many onlineservices. In addition, it is useful for many types of straight serialconnectivity.PT100 is the only VT100 emulator on the Newton capable of providingTelnet capability with Newton Internet Enabler (NIE). PT100 requiresNewton OS 2.X and supports and takes advantage of many of the advancedfeatures of the eMate 300 and the MP2000. . For telnet access, anMP130, MP2000 or an eMate 300 is recommended.PT100 ©1997 Scrawl. All Rights Reserved. PT100 was written by GeorgeMadrid and Sanjay Vakil.2.0 Setup a SessionTo set up a session, click on the Connect or Command button and selectEdit Sessions. If you have not already created a session, a blank onewill appear for you to edit. You can change the session that your areediting by clicking on the Session popup. The routing button(envelope) allows you to copy the current session, delete it, orcreate a new blank session.Once you have selected the session to edit, you will need to name it,and select the Type (Modem, Direct Serial or Telnet). If you wish, youcan enter your username and password to have them available for quickinput. The password will be encrypted on the Newton and will bedecrypted before it is sent. If you are paranoid, don't enter apassword at all. A password can easily be entered manually.Based on the type of session you selected, additional options willappear, specific to the type of session. See the next sections onadditional information that might be necessary.2.1 Setting up a Modem SessionFor a Modem Session, you will need to enter a phone number and thevarious modem parameters. If these are not correctly set, you may notbe able to connect. However, incorrect parameters should not damageyour Newton or your modem, so you may want to experiment to get thecorrect values.Reasonable values for this parameters are as follows:Speed: the fastest rate that you modem can handle (if necessary, themodem will slow down to the speed of the service automatically)Flow Control: HardwareError Correction: SelectedData Bits / Parity / Stop Bits: Common triplets are 8N1 and 7E1If you are unsure about the correct parameters, try contacting theservice you intend to connect with to determine their suggestedparameters, or experiment.2.2 Setting up a Direct Serial SessionFor a Direct Serial Session, you will need to set a number of serialparameters. If these are not correctly set, you may receive garbledoutput, if any at all. However, incorrect parameters should notdamage your Newton or the other device, so you may to experiment toget the correct values.Reasonable values for this parameters are as follows:Speed: Read the manual for the device with which you are connecting.Or, if you built it yourself, you should know (:Flow Control: Hardware if you are using a full RS232 connection,software if you only have a 2 or 3 wire connection.Data Bits / Parity / Stop Bits: Common triplets are 8N1 and 7E1If you are unsure about the correct parameters, try consulting themanual of the device with which you intend to connect.In addition, you can explicitly select the serial port that you wishto use. On current Newtons, this can involve selecting between theexternal serial port and the PC card slot(s). This can be very usefulif you need to connect directly to PC card devices, such as oddballcellular modems.Astute users will note that "IR Port" appears on the list. We make noguarantees about what this will do. We'd love to know if you get itto do something useful!2.3 Setting up a Telnet SessionFor a Telnet Session, you will need to select a machine name to telnetto, and a port number. You should enter the full machine name,including the domain, for example "sanj-o-matic.mit.edu". An IPaddress (for example 127.0.0.0) associated with the machine name islooked up by the Newton. If you know the machineÕs IP address, youcan enter it instead of the name.A port number is a numeric identifier of the specific TCP/IP port towhich you wish to connect. The standard port number for telnet is 23,though if you want to do cool things like getting to finger (79), smtp(25), or web (80) port, you can select that instead.The other setup options for Telnet Sessions (phone numbers, ISP, etc.)are controlled by the Newton Internet Enabler (NIE). Consult your NIEdocumentation and setup program for additional information.2.4 Session Setup TipsA new session created by using Blank Session will default to astandard set of options.If you have already created a working session tailored to yourspecific modem, Newton and service combination, it may be faster tosimply use Duplicate Session to create a new session. You only needto update the options that are different, such as the username andpassword.If you have differing users of the same Newton, you can create adifferent session for each user. Make sure you name each session in away that makes it apparent which user's session it is.3.0 Connect to a ServiceTo connect to a service, tap on Connect on the status line. A slipwill appear, from which you can select a session. If you need to editthe calling slip to use a calling card or attach a prefix beforedialing, click the Assist button.Once you have selected the session you wish to connect to, pressConnect on the slip. The progress of the connection status willappear on the slip.If you are connecting with a Telnet Session, clicking Connect will popup the NIE slip box, in which you can select your service provider andassociated phone number. Click the Connect button on the NIE slip toinitiate the call.4.0 Disconnect from a ServiceTo disconnect from a service, tap on Hangup on the status line. Aslip will appear, showing the connection being broken, and will promptyou when the Newton is available to connect once more.Exiting PT100 will also disconnect. Note that you will have todisconnect before your Newton will turn off.5.0 Inputing DataThere are several ways to input data in PT100. The easiest(and default) manner is to write words onto the input line.For control codes and difficult-to-write characters, you canuse an from multiple onscreen keyboards or use the Newtonkeyboard. Finally, you can choose to have no onscreen inputarea at all.To switch between the different modes, press the Keyboard icon on thestatus bar.5.1 Using the Input LineTo use the input line, simply write what you wish to send, and pressSend. The popup diamond allows quick access to an editable set ofcommon words. The word you select will be appended to the input line.This list also allows you to easily send your username and password.The size of the input line can be changed in the Prefs, available fromthe Info button.5.2 Editing the Popup ListTo edit the list of words, click on the diamond and select Edit List.A slip will appear to allow you to edit individual words.To add a new entry, write it on the input line and press Add. Toexamine the list, click on Available Words. To delete an entry,select it with Available Words and then press Delete.5.3 Using the Onscreen KeyboardsTo use the onscreen keyboard, select Keyboard from the Keyboard buttonon the status line. Simply type on the keyboard as you normally would.In addition, you can load additional "Plug In" keyboards forspecialized use. With this distribution, you should find severaldifferent keyboards, including one designed explicitly for VT100emulation, a "full" VT100 keyboard with numeric keypad, and others.You may also be interested in application custom keyboards, such asthe Lynx keyboard, also included in this distribution. If installed,these keyboards will also show up in the Keyboard button. On manykeyboards, the ALT key will prefix an ESC to a keystroke for Un*xusers.The QuickPicker is available (and very useful) when using onscreenkeyboards.5.4 Using the Hardware KeyboardA hardware keyboard can be used in two ways with PT100. It can beused either to type into the input line (buffered), or to directlysend characters (unbuffered). For buffered input, simply select theinput line and type away.For unbuffered input, select Keyboard or None from the Keyboard buttonon the status line and type normally. The alt key will prefix an ESCto a keystroke for Un*x users, and an ESC on its own can be createdwith CTRL-[.Note that you can use the hardware keyboard concurrently with thesoftware and plug in keyboards for additional functionality.5.5 Using the QuickPickerOn the status line, there is a popup diamond that allows access tocommon words used with the input line. Selecting an entry from thislist sends it directly to the session, without having to press Send.The last few lines of the QuickPicker work differently than theeditable ones. After the dotted line will be the most recently sentstring, either selected with the QuickPicker, or sent with the InputLine. The next two entries will send your username or password. Bewary -- sending a password at the wrong time will blast it to thescreen.The QuickPicker is particularly handy if you have the input areaminimized to allow full-screen viewing.5.6 Sending Returns with the Send ButtonAfter you write something on the input line, you can choose to have itsent with a carriage return appended or without .To toggle between these two modes, press the Return arrow next toSend. When it is lit a carriage return will be sent with both theQuickPicker and the input line.5.7 Input TipsSince it is quick and easy to change the words in the QuickPicker, itmakes sense to modify it regularly to make it useful from session tosession. If you use a command regularly, write it into the inputline, press Edit Sessions and then Add. In a few short taps you'veadded a new entry to the QuickPicker.For many users, having quick access to a space character is useful.Adding this to the QuickPicker looks odd (it's an empty line!), butcan save you from pulling up the keyboard regularly.PT100 is capable of "drag and drop" operation as well. Any text thatis on the clipboard (dragged to the edge of the screen) can bedropped onto the screen output area and will be sent.In addition, if the notepad is currently open, you can send the currentnote by tapping on the Action button and selecting "Send Note". Currently,you can only send plain text notes, no checklists or outlines.5.8 Advanced Input: ParsingText input can be parsed to allow control characters to be sentwithout using the keyboard. A circumflex indicates that a controlcharacter should be sent, so that ^g will send the Bell, and ^[ will send ESC. This can be very useful for sending controlcodes when you don't have keyboard connected.Text input that contains material inside double-quotes will ignoreanything outside the quotes. This can be very useful, as it allowsyou to label commands that contain fancy control information:save: "^x^s"load: "^x^f"To circumvent these behaviors, use a backslash to escape thecharacter:- to send a ", type \"- to send a ^, type \^- to send a \, type \\To turn on this parsing, select "Parse Output" in the preferences.5.9 Floating Input AreaSome users may want a floating input area rather than one thatexplicitly uses up part of the screen. In PT100->Prefs->Input, thereis an option for "Floating Input Area". Checking this box will causeall input options (keyboards and input lines) to float above the restof the view. This floater can be dragged around, even off screen tomaximize the available space on the screen.In the bottom right corner of a floating input are will be a minimizebutton. Pressing this will temporarily hide the input area and changethe Keyboard button into a "floater" symbol. To bring back the hiddenkeyboard, tap on the Keyboard button.6.0 Move Around the ScreenIn many cases, the Newton screen (especially in portrait orientation)is too small to fit all the text on the screen at one time. PT100overcomes this problem by showing a portion and allowing you to movethe text to see offscreen information.To move text you can either use the onscreen compass (if it isvisible) or you can click on the text and "drag" it around. Using thecompass moves the screen in set increments: eight characters or oneline at a time.If you grow tired of moving around the screen, you can try switchingto a smaller font, or rotating the screen.7.0 Change the Font or Screen SizeTo change the currently displayed font, select Prefs from the Infobutton. You can select from any of the installed monospaced fonts andsizes. Note that certain ill-formed monospaced fonts may not displayinformation correctly in bold. The Minico font that came with PT100is specially designed to allow accurate output.While easier on the eyes, larger fonts may require you to move thescreen around to see all the information.You can also select the number of input lines available, screen widthand screen height. Changing the width and height may cause oddwrapping if you select less than the standard 80x24. If you have theability to tell the computer on the other end that you have changedthe screen size, do so before resizing the PT100 screen.8.0 Save OutputTo save output is to use the Copy to Notes entry in the Connect orCommand button. This will copy the current screen to a new unfilednote in the Notepad preserving the font, but not attributes such asinverse, bold and underline. If you are scrolled back, the page thatyou see will be stored.9.0 PreferencesThere are four separate sets of preferences in PT100. While most ofthese are self-explanatory, a few need more information.Update Times: Comms Update determines how fast a non-terminated linewill display. The lower you set this, the faster the Newton looks forincomplete lines. A value that is too low may slow your Newton down.Screen Update determines how quickly the Newton will refresh thescreen with new information. Too low a value may slow your Newton downas it refreshes too often.Marginal Modem: Certain older modems, notably the Compaq 24/96 modem,provide only marginal Newton support. Checking the Marginal Modem boxwill let PT100 work in many situations, though not all. For example, 7Data Bits will not work with this option enabled.Cover Soft Button Bar: To maximize screen space on MP2000s and futureNewtons with soft button bars, you can have PT100 cover this. Notethat this removes access to the Extras drawer and associatedfunctions.Don't Turn Off While Connected: Checking this option will prevent theNewton from powering down while you are connected. This is helpful ifyou are in the habit of accidentally shutting off the Newton when youtry to turn on the backlight.NIE Workaround: Some Newtons appear to have problems with sending manysmall packets of data quickly, as occurs when using a hardware keyboard.Problems range from the connection being closed or the Newton resetting.To work around this problem, check this box and PT100 will buffer upkeystrokes and send them less often -- once per second or so. When afix appears (or if you want to test this), uncheck the box for fasterresponses. If you are running the latest system update on theMP2000/2100 or the eMate you should be able to uncheck this box.10.0 About PT100Õs CripplePT100 is crippled shareware. Unregistered versions of PT100 will onlybe allowed five minutes of connection time per session. After awarning at the four-minute mark, the application will hang up at thefive-minute mark. You may redial and start another session.If you intend to use an unregistered version of PT100 in a criticalsituation, please be sure to save your work. Better yet, if you'reusing it for critical work, pay for it.11.0 Register PT100To register PT100, send $25 to:Sarah Buta c/o Scrawl 86 Norfolk St., Apt. 4 Cambridge, MA 02139-2652Be sure to include the spelling of your name as it appears on yourNewton. You will receive a registration string by email. If you donot have email, send a SASE. Alternately, you can use Kagi with FlashSheridanÕs Register.12.0 Register PT100 via WWW KagiYou can Register PT100 directly over the WWW by using Kagi. For moreinformation about Kagi, visit: You can register PT100 directly over the Web at:13.0 Contact ScrawlYou can visit Scrawl at: or send email to:14.0 Frequently Asked QuestionsQ: Will you support 1.X Newtons?A: It is unlikely that PT100 will ever support 1.X machines. Many ofthe tools used to get maximum performance out of the system are2.0-specific. You might try looking at at some of the other emulatorsavailable for the Newton.Q: What about support for VT220, Tek and other emulators?A: At the moment PT100 is highly focused on speedy and accurate VT100emulation, because it is the largest common denominator for textinterfaces. If another interface becomes necessary and has a largeenough market, it will be considered.Q: My modem is not directly Newton supported and needs special setupstrings. Can I use PT100 on it?A: You can certainly use it as a serial device by entering your ownsetup strings. Fundamentally, however, you should use a supportedmodem for your Newton. It will make you life much easier.Q: What about login scripts?A: Support for creating login scripts is on the list of features forupcoming releases. Please write to us if this is a key feature foryour use of PT100.Q: Odd things are happening when I use certain programs. How completeis the VT100 emulation?A: As mentioned earlier, PT100 was designed as tool for personal use.As such, we have implemented VT100 emulation elements as we requirethem, and have the ability to test them. If certain elements aremissing, it may be because those elements were not used by theprograms we used to test it. If a particular emulation problem isrepeatable, and shows up in a program which you use, please write tous, and we'll look into updating the emulation. We hope, at somefuture date, to have complete VT100 emulation in PT100, but expect thevast majority of people can use it comfortably in the interim.Q: Can I scroll back and see stuff that went off the top of thescreen?A: Yep. Turn the Scroll Back to some number greater than zero. Thenuse the up and down arrows (not the compass) to scroll back.Q: What about support for the MP2000 and the eMate 300?A: PT100 has been casually tested on both these machines, and it worksflawlessly. On the MP2000, the application runs about 8x faster; onthe eMate about 3x faster.Q: These custom floating keyboards are very useful! Can you designone for my particular [email|database|browser] application?A: We probably can. Contact us and we can discuss pricing anddistribution. Also see the next question.Q: These custom floating keyboards are very useful! I'm a newtonprogrammer and would like the API so I can design my own, perhapsfor some vertical market applications I'm working on. Are youinterested?A: We sure are! Contact us and we can discuss pricing anddistribution. Also see the previous question.Q: I need a specific vertical market application that will use atextual front end. Are you guys interested in extra work?A: Contact us, we just might be!Q: How about multiple simultaneous telnet sessions?A: Jeepers! You want it all! In good time we hope to have thiscapability, but for right now, chill out and enjoy what PT100 does do!15.0 Trouble ShootingProblem: PT100 doesn't work!Solution: Does too! Seriously, check to make sure that all yourcables are plugged in, and your PC card modem is installed, and lockedinto the card slot. Check that your modem is plugged into the phoneline and that the line is working.Problem: PT100 still doesn't work!Solution: Does anything on the Newton work with your modem? If, whenyou insert the PC card, the Newton doesn't acknowledge that you didso, you're out of luck. If the Newton recognizes that acommunications card has been inserted, try to dial a number with theCalls applicaton or try to send a fax. If this fails, you do not havethe correct Modem Setup for your modem. Check the Apple web pages for thelist of supported modems and links to Modem Setup files. Alternately,you can try to roll your own Modem Setup by using ModemMod from DMPSystems . Be sure to pay theshareware fee if you find it useful.Problem: My modem doesn't work!Solution: Certain older modems, notably the Compaq 24/96 modem, provide only marginal Newton support. Checking the Marginal Modem box will let PT100 work in many situations, though not all. For example, 7 Data Bits will not work with this option enabledWe strongly discourage the use of this option. Buy a new modem.Problem: I'm not getting VT100 emulation.Solution: Make sure that you have have told the server the terminaltype that you are using, i.e. VT100.Problem: PT100 connects for a few seconds, then disconnects, sometimeswith a "I/O Buffer Overflow" error.Solution: Check to make sure your Modem Setup is correct. Also verifythat you have some sort of flow control (either software or hardwareenabled)Problem: I get garbage after I connect.Solution: Try turning on error correction. New, high speed modems arepushing the limits of current analogue phone lines, leading to noisyconnection. Error correction can help a great deal. Next, make surethat you have the modem or serial parameters set correctly.Problem: Telnet doesn't work on my MP120.Solution: As with all NIE related software, using Telnet on an MP120is tricky at best. Try freezing, or erasing everything you can. Tryresetting or rebooting your Newton. We're working very hard to getthis working (since we only own MP120s) but it's difficult. Don'thold your breath. Enjoy great shell access instead!Problem: I can't see all of the text on the screen.Solution: Try scrolling around with the compass, setting a smallerfont size, or minimizing the input area by selecting None from theKeyboard button. You can also make the input line smaller.Problem: There don't seem to be any bold characters in the 9 pointMinico font.Solution: There aren't. With only 3 pixels to work in, a bold 9point font would be unreadable. If you need to see bold, look at thetext in 10 point.Problem: My registration string wasn't accepted.Solution: Please recheck it and try again. Make sure that Os and 0s,ls, 1s and Is are not begin confused. Verify that the name you sentus is the same one in the "Owner Info" on your Newton. If you havemultiple owner cards, try sending us your Newton Serial Code (whichappears in the About Box).Problem: Weird characters like "[5;c" sometimes appear on my screen.Solution: Congratulations! You've found an oddball VT100 code. Pleasesend us mail detailing how you caused this problem and win our undyinggratitude, as well as a witty reply. The exact text of the garbagewould be useful as well.Problem: When I dial into a BBS, I don't get nice line drawings, buta bunch of lowercase letters.Solution: The font set required by ANSI compliant BBSes is not yetcompletely supported in Minico. We're working with the designer ofMinico (Michael Peay) to complete the set in all of the used fontsizes.Problem: My hardware keyboard isn't working.Solution: Your keyboard needs to be plugged into your Newton onpowerup in order to be recognized. Try turning your Newton on andoff. In some cases, selecting Input Line, and then None from theKeyboard button may solve problems.