S Buffer Status "Clear Buffer" simply resets all the buffer end pointers so that the buffer is cleared and ready for taking in new text or receiving new files across the modem. "Display Buffer" simply dumps the contents of the buffer in a straight list. You can pause the display by pressing any key and abort it by pressing [BREAK]. "Print Buffer" does the same as "Display Buffer" but directs the contents to the printer. "Buffer Status" shows you how much memory is used, how much is free, how many disk granules it will require to save the contents of the buffer and how many Xmodem and Ymodem blocks it will take to send the buffer. [ALT]-[C] Conference Mode Sometimes known as "Chat Mode", Ultimaterm's conference mode allows separate entry of text from the received text so that many people can hold a conference without incoming text splitting apart text you're trying to type. When you press [ALT]-[C] the Conference Mode window pops up which asks you how many lines you want to use for your personal text entry. Remember that the more lines you allocate for yourself, the fewer there will be to view received text on. You might want to limit yourself to using one or two lines at the most just to ensure you don't babble on! 15 After you select how many lines you would like for the conference mode, the screen will clear and a bar will split the lines you have to type in text (on the bottom of the screen) with the lines that received text will appear in. Each section of the screen will have it's own cursor. If you wish to capture the incoming text in your own buffer, press [ALT]-[T] to open the buffer. The cursor in the top section will turn from an underscore to a box and a "*" will appear on the top status line. While in conference mode all [ALT]-[key] options will be available to you with the exception of [ALT]-[A] (autodial), [ALT]-[C] (conference) and [ALT]-[Q] (VT Keypad toggle). To exit from conference mode, simple press [BREAK]. [ALT]-[D] Disk Commands Disk Commands provides you with a bit of control over disk files. Pressing [ALT]-[D] will bring up the following window: Disk Commands L Load from disk to buffer S Save buffer to disk D Directory K Kill File F Format Ramdisk R Backup to Ramdisk B Backup to Floppy F1 Default Option Save F2 Default Option Load "Load from disk to buffer" allows you to load any RSDOS file from an RSDOS disk into Ultimaterm's buffer. You can then send that file using one of the transfer methods. If the file being loaded is in ASCII format, you will be asked if you want to add linefeeds to the file while it's being loaded. If you answer yes, then any linefeeds in the file will be ignored and any carriage returns in the file will be complemented with a linefeed. "Save buffer to disk" allows you to save any file you've received (or loaded) into the buffer to an RSDOS formatted disk. When you select save you will first be asked for the filename to save the file under and then asked for the file type. The file types are as follows: File type appear as ------------------------ --------- ASCII File 1 A XX BASIC ASCII File 0 A XX BASIC Binary File 1 B XX Machine Language File 2 B XX Text Editor Source File 3 A XX 16 If the file saved is an ASCII File, and it is too long to fit on the current disk, you will be asked if you would like a multiple save performed. es, one simply pushes [ENTER] or [SPACE] and the dialing command is immediately aborted and the modem returned back to command mode. I use a hang-up string of just one carriage return (^M). The "Connect string" is used to identify the response the modem gives to indicate it has connected to the system being dialed. On Hayes compatibles, "CONNECT" will cover "CONNECT 300", "CONNECT 1200" and "CONNECT 2400". The "Busy strings" are used to identify the responses the modem gives to indicate it cannot make a connection and a redial should take place. I've squeezed room for four possible busy strings such as "BUSY", "NO CARRIER", "NO ANSWER" and "ERROR". 13 "carrier Method" is used to decide the best way to recognize that a successful connection has been made. If set to "String", then the "Connect string" and "Busy strings" will be used in autodialing. If set to "DCD", then the CD status of the RS232 pak will be monitored until a connection has been made. DCD is by far the most reliable but will only work if you have an RS232 pak AND DCD on your modem is set to active (or normal). When all the "Dialing Options" are set to work with your modem, you can use the "Default Option Save" available from the "Disk Commands" window (ALT-[D] from terminal mode) to permanently save them to disk. Dialing a number There are two ways to dial a number from the dialing directory. You can select [M]anual dial whereby you get to enter the phone number you wish to dial (basically for a once-only dial) or press [ENTER] or [SPACE] to dial the inverted entry. When the dialing process starts, you will be shown the "Autodialer" window which is basically for your own entertainment. It displays the number being dialed, the number of times it's been redialed, the countdown to the next dialing attempt, and the status of the last attempt. The "Autodialer" window also allows you quick changing of both the "Dial time" and the "Hang-up time" to quickly and easily adjust the autodialer to the fastest possible dialing attempts. The window also allows you to manually abort the current dial attempt and try again, to abort the dial attempt and exit from the dial window or to just exit from the dial window while leaving the number dialing away. The "Autodialer" window looks like this: Autodialer Dialing : 242-3515 Attempt # : 15 Countdown : 005 seconds Last attempt: Not connected [D]ial time : 020 seconds [H]ang-up : 002 seconds [SPACE] to restart [ENTER] to exit [BREAK] to abort and exit The phone number following "Dialing" will be displayed one digit at a time as the digit gets sent to the modem. The "Attempt #" counts down from the "Dial time" to zero, at which time it sends the abort string and redials the number; printing the words "Not connected" for the "Last attempt". If you're using the connect and busy strings, then "Last attempt" will also display "BUSY" or "NO ANSWER" or whatever busy string was received by the modem. 14 Before an autodial is started, the parameters for that selection are set and then initialized. If you have a switch on your modem that manually selects 300 or 1200 baud, you must set that switch to the baud rate you choose to call the system at before you can autodial the number. [ALT]-[B] Buffer Commands Buffer Commands gives you minimal control over a few buffer functions. Pressing [ALT]-[B] will give you the following menu: Buffer Commands C Clear Buffer D Display Buffer P Print Buffer ld you wish to list the directory to your printer, you can use the "[P]-Print Directory" option which prints all fourty-five possible entries; even if they're blank. Before you can dial entries, you should first set the dialing prefix [^P] and dialing suffix [^S]. Just so you understand what the dialing 'fixes are, possible dialing prefixes for Hayes compatibles would be "ATDT" or "ATDP 9," while a possible dialing suffix for Hayes compatibles would be "[ENTER]". To slow down the sending of the dialing string to the modem, simply start the dialing prefix with a [^B] and a 1/4 second pause will be performed between each character. The next thing that needs to be done before an entry can be dialed successfully is the setting of the dialing directory options ([O]-Options). Pressing [O] will display the following screen: Dialing Options Dial time : 020 seconds Hang-up time : 002 seconds hang-up String: ue+++uuATH0 Abort String : Connect string: CONNECT Busy strings : BUSY : NO CARRIER : NO ANSWER : ERROR carrier Method: String A bit of explanation is in order for the "Dialing Options". To make it possible for Ultimaterm V4.0 to work with almost any smart modem, I had to make Ultimaterm a little smart itself. Most smart modems send messages to the terminal so that you can see what the modem detects on the phone line, whether it be a busy signal, or no dialtone, etc. Ultimaterm V4.0 will send the dialing prefix to the modem followed by the phone number selected (with no spaces, unless 12 you include them in the number or dialing 'fixes) and finished off with the dialing suffix. It then has to assume that the modem is dialing the number and will alert Ultimaterm to the modem's status. If Ultimaterm receives no response from the modem for the set length of the dialing time, it will send the abort string to hang-up the modem and then dial the phone number again. If a connection is made and the modem responds with the connect string or puts DCD on the RS232 pak low, Ultimaterm makes some noise and drops to terminal mode. The "Dial time" can be changed by pressing [D] and typing in a new time. "Dial time" is how long Ultimaterm will wait for a response from the modem before attempting the dial again. If you're going through many switchboards (i.e., long distance calls) you can lengthen the dial time. If you're calling a local number that rings right away, you might choose to shorten the dial time to get in more autodial attempts (and therefore a better chance at being the next caller on the system). The "Hang-up time" can be changed by pressing [H] and typing in a new time. "Hang-up time" is the length of time to wait after sending the abort string and before attempting to dial again. This is useful for making sure the modem is ready to accept the dialing string (preventing half the string from being ignored by the modem). The "hang-up String" is actually used by the ALT-[H] while in terminal mode and not by the dialing directory. The reason I chose to place the hang-up string here is these options are modem-specific options, while "Modem Options" are general settings. I use a hang-up string of "[^A][^B]+++[^A][^A]ATH0 [ENTER]" which sends a one-second pause (^A), sets the rest of the string to be sent at 1/4 second intervals (^B), sends +++ which returns my modem to the command state, pauses for 2 seconds (^A^A) to give the modem a chance to catch it's breath, and finally sends the hang-up command ATH0 followed by a carriage return (^M). The "Abort string" is the string that is sent to abort the current dial attempt and prepare for the next attempt. On Hayes compatiblhis section replaces both the Autodial and Redial found in V3.0 with a complete and proper dialing directory. If you're not sure what a dialing directory is, simply put; it's a list of System Names, phone numbers, and terminal parameters that allows you to select a specific system to call and have the terminal program automatically set the parameters for that system and redial until that system is online. (whew!). Anyone vaguely familiar with terminal programs like Telix or Procomm on the IBM will know that we've been lacking a very useful feature for too long. Creating a dialing directory The first thing that happens when you select ALT-[A] from terminal mode is Ultimaterm looks for the dialing directory in memory. If found, it will display the directory and allow you to enter or dial various systems. If not in memory, Ultimaterm looks on the current disk to see if the dialing directory is present (under the filename "ULTDIAL.DIR"). If not, it checks to see if there's enough room on the disk for the dialing directory (at least 2 granules) and asks you if you want to create the directory to that disk. 10 When the directory is finally loaded into memory, it will be displayed on the screen as follows: System Name (30chrs) Phone W P S Baud Term ========================= ================ = = = ===== ====== . (15 entries per screen * 3 screens) . ======================== ================ = = = ===== ====== The list of possible keypresses will be displayed along the bottom (too wide to display here, but I'll explain 'em!) and an inverted bar will be placed at the top of the entries on the screen. Cursor Movement You can move the inverted bar up and down through the entries on screen by using the up and down arrow keys. To move through the three possible screens that can contain fifteen entries each, use [SHIFT] with the up and down arrow keys. Adding or Changing an entry Move the inverted bar to the place you'd like to add or change an entry by using the cursor keys. Then press [C] to start changing that entry. The first window that pops up asks you to enter in the "System Name". If you're changing an entry, you can just press [ENTER] to leave the system name unchanged. The next window that pops up asks you to enter the phone number for the system. Just type in the phone number and NOT any dialing commands (like ATDT). If you're changing an entry, you can just press [ENTER] to leave the phone number unchanged. The next window asks for the word length, 7 or 8 bits. Press [ENTER] to leave it unchanged. The next window asks for parity - None, Odd, Even, Mark or Space. Again, press [ENTER] to leave it unchanged. The next window asks for stop bits - 1 or 2. As always, press [ENTER] to leave it unchanged. The next window asks for baud rate. Select the baud rate you call that system at or press [ENTER] to leave unchanged. 11 The last window asks for the terminal emulator you want to use when you call the system. Again, select the emulation or press [ENTER] to leave unchanged. You will then be taken back to the dialing directory screen in which the entry you just created or changed will be displayed. At this point, go ahead and start adding entries into the dialing directory. The entries do not have to be sequential in the list so you can use one screen for certain types of systems, another screen for other types of systems, or like I do; a screen to hold voice numbers of friends. When the dialing directory is complete (or any time you make changes) you should use the "[S]-Save Directory" option to save the directory to disk (under the filename "ULTDIAL.DIR"). Shou [ALT]-[0-9] Send Keypad Application Mode 0-9 sequences [ALT]-[-] Send Keypad Application Mode - (dash) sequence [ALT]-[,] Send Keypad Application Mode , (comma) sequence [ALT]-[.] Send Keypad Application Mode . (period) sequence [ALT]-[ENTER] Send Keypad Application Mode ENTER sequence [ALT]-[F1-F4] Send Programmable Function 4 sequence 8 NOTE: F3 and F4 are SHIFT-F1 and SHIFT-F2 respectively If you have no idea what the VT-Keypad is for, keep it off (make sure the "%" isn't on the top line by pressing [ALT]-[Q]). Saving all the default options ------------------------------ At this point you have just set all the options you need set upon each loading of Ultimaterm. Next step is to save all these default options to disk. This can be accomplished by pressing [ALT]-[D] from terminal mode to pull up the "Disk Commands" menu and then pressing [F1] to save all the parameters to disk. If you're wondering where the parameters are being saved, they take up two sectors on the disk - Track 17, Sector 17 and Track 17, Sector 18 - hidden behind the disk directory in two unused RSDOS sectors. I'll discuss all the features on the "Disk Commands" menu a bit later in the manual. For now, you're free to roam around Ultimaterm and use the rest of the manual as a reference should you need any further explanation on any commands. Ultimaterm Commands ------------------- When you load up Ultimaterm, you'll find yourself in terminal mode. To pop up one of the many windows that allow you some control over Ultimaterm, simply push the [ALT] key with one other key. In order to see what all the [ALT] key combinations are, press [ALT] in conjunction with the [/] and a command summary window will be displayed on your screen. Actually, this is just one of two command summary windows which are displayed. To see the second command summary window, press any key other than [BREAK]. [ALT]-[@] Credits I alone can not take credit for what Ultimaterm V4.0 has become over the past 3 months. In an effort to list some of the people who have made significant contributions to Ultimaterm V4.0, I have created this credit section. Fred McDonald has kept me in touch with Delphi so that I could see what people wanted from Ultimaterm V4.0. Rex Hebert provided me with the source for a CRC calculation which I used in V3.0. While making every attempt to improve upon various subroutines which I considered too slow in Ultimaterm, I wrote a new CRC calculator from the original which I'll provide further on in the manual. 9 Laverne Kelly has become my official voice to keep me in touch with Delphi officials and has also done much beta-testing to make sure V4.0 will stand bug-free for a long time. Jeff Mercer sent me a complete list of VT52 and VT100 control codes which made it possible to write support for these two terminal emulations. Guy Loucks provided me with the VT52 and VT100 keyboard control sequences and also helped me test the VT emulators out on his account on a local VAX. Dan Damron was the first to lay eyes on Ultimaterm and spent much of his own time helping me prepare this manual. I received many, many letters over that last three months (a few even had donations!) of people who were impressed with Ultimaterm V3.0 and previous versions and asked for many of the features now available in Ultimaterm V4.0. Without all this support, I don't think I'd have put as much effort into bringing you version 4.0 as I have. Now that 4.0 is complete, I will take the time to respond to all those letters!? [ALT]-[A] Autodial This is the section everyone has been asking for (well, everyone with a smart modem that is). T....016 R Repeat speed .........128 T Keyclick tone ........032 S Sound .................On B Destructible BS ......Yes Y RS232 Pak slot .........1 Z Disk drive slot ........4 "Repeat delay time" is the length of time you have to hold down a key before it starts to repeat. Just increase or decrease this value to your liking. "Repeat speed" is how fast the key will repeat. Increase or decrease this value to your liking. "Keyclick tone" is the tone of the keyclick (if you have the keyclick turned on and the sound turned on). "Sound" allows you to silence any noise Ultimaterm makes. "Destructible BS" allows you to change the conditions under which a backspace will be performed. If set to "Yes", then whenever a backspace is received, the character over which you're backspacing will be erased. If set to "No", then the cursor will just move back over the previous character without destroying it. "RS232 Pak slot" allows you to select which slot in your Multi- Pak you have the RS232 pak in. Please do not neglect this (unless you don't have the RS232 Pak or Multi-Pak!) as the Receiver Interrupt can only be enabled if Ultimaterm knows what slot the pak is in. Otherwise received characters will not cause an interrupt condition and will be ignored by Ultimaterm. "Disk drive slot" allows you to select which slot in your Multi- Pak you have the disk controller in. Please do not neglect this one either (unless you don't have a Multi-Pak) as it enables the CTS line to the drive controller. When you have finished with the "Miscellaneous Options" press [BREAK] twice to return to terminal mode. 7 Other Ultimaterm Parameters Now it'd be wise to set up the miscellaneous settings on Ultimaterm V4.0 before we save the defaults to disk. The miscellaneous settings include the Mono/Comp toggle ([ALT]-[M]), Screen position ([ALT]-[<] and [ALT]-[>]), Keyclick ([ALT]-[K]), Upper/Lowercase (SHIFT-0), Buffer Opened/Closed ([ALT]-[T]), and VT- Keypad toggle ([ALT]-[Q]). The Mono/Comp toggle selects the screen between color and B&W and also will enable or disable the colorburst signal. Set [ALT]-[M] according to what's most readable on your display. Screen position uses the Vertical Fine Scroll register designed for doing a smooth scroll to adjust the display up or down the screen. This should be most useful to those who have to constantly adjust the horizontal on their monitors to get the best centering possible. Keyclick just enables or disables keyclick. Keyclick can be over-ridden by the "Sound" option in "Miscellaneous Options". Upper/Lower case really needs no explanation, except for pointing out that when upper-case is selected, a "#" appears on the top status line. Buffer Opened/Closed simply opens or closes the door to the input buffer. When OPENed, the cursor will change to a block and an "*" will appear on the top line. When closed, the cursor is an underscore. NOTE: Since VT-100 or VT-52 terminal emulation can alter the state of the cursor, the only sure-fire way of knowing if the buffer is opened or closed is by the "*" on the status line. VT-Keypad toggle allows for the CoCo 3's keyboard to emulate that of the appropriate VT emulation. When toggled on, a "%" appears on the top line and the certain keys on the keyboard behave differently than usual. They are as follows: SHIFT-@ Home Cursor Up Arrow Sends Cursor Up sequence Down Arrow Sends Cursor Down sequence Right Arrow Sends Cursor Right sequence Left Arrow Sends Cursor Left sequence CLEAR Sends Clear Screen sequence SHIFT-ENTER Sends Erase to End of Line sequence V3.0 fixing up all that needed fixing. You should find much power to the user has been added to this section. Though getting used to pressing [ENTER] and not [BREAK] to exit from entering a macro will take some time. The keys [0] through [9] can be changed to hold any name, alias, password, etc. that you want to send across the modem with one keystroke. You can send any control character in the programmable key by using the [CTRL] key. If you make a mistake while entering the keystroke, you can just use the [Left Arrow] key to backup and fix that mistake. To add the [ENTER] key as part of the keystroke, use [^M]; to add the [BREAK] key, use [^C] and to add the [Left Arrow] use [^H]. Press [CLEAR] to clear the programmable key, press [BREAK] to leave the key unchanged, or press [ENTER] to accept the key as is. There are two special CTRL key combinations that can be used in conjunction with ALT-[0] through ALT-[9]. They are [^A] and [^B] and perform time functions during key transmissions. [^A] in the key causes a single, one-second pause before the next character in the string is processed. [^B] in the key causes all following characters (up to the next [^B]) to be sent at 1/4 second intervals. This is most useful for PBBSes which don't accept programmable keys at full speed. 5 The 'F' keys serve a slightly different purpose. Ultimaterm V4.0 was designed with a keyboard buffer in mind to add much power to window control. The 'F' keys are programmable keyboard strings. When you first load V4.0, you'll notice that the keys are set to [ALT]- [X];X, [ALT]-[X];Y, [ALT]-[X];S and [ALT]-[X];U. (In any of the options, any letter that is underlined means it's an ALT-letter). From terminal mode, you can press [ALT]-[F1] and [ALT]-[X];X will be entered into the keyboard input buffer which will take you immediately to Xmodem Receive. The remaining ALT-[F's] are set to Ymodem Receive, Xmodem Send and Ymodem Send. After playing around with V4.0 for a while, you can set these keys up to do whatever you prefer. When all the programmable keys are to your satisfaction, press [BREAK] once to return to the "Set Options" window. [I] Initialization Strings --------------------------- Remember that "Initializing the keyboard and modem strings" window that popped up when you first loaded Ultimaterm? Well, this is where you get to set the Keyboard and Modem strings for your own needs. The [K]eyboard string is just like one of the [ALT]-[F keys] mentioned in the "Programmable Key Set" section but it is executed when Ultimaterm first loads up and is only executed once. It's basically my version of a safety net that will allow you to set up some parameter I may have overlooked; but most people will find it more useful to execute some command (like dial a phone number) whenever they load up V4.0. The [M]odem string is just like one of the [ALT]-[0] through [ALT]-[9] keys that gets sent to the modem. Currently, it sends "ATZ [ENTER]", a 2 second pause, "ATS0=0 L0 V1 X4 [ENTER]" to set up some initial parameters on your modem. You can just press [M] and [CLEAR] to clear this string should you not have a smart modem. Sorry this string could not be longer, but you can use the keyboard string to send a couple of [ALT]-[#] keys to set up more complex modem strings. When the Intialization strings are set to your needs, press [BREAK] to return to the "Set Options" menu. 6 [Z] Miscellaneous Options -------------------------- This is probably the most important option you need to look at before you can really do anything with V4.0 as it allows you to designate which slots of your multi-pak (if you're using one!) you keep your drive controller and RS232 pak in. The window looks like this: Miscellaneous Options D Repeat delay time Linefeeds ............Yes A Auto-Buffer ...........No T Terminal Type .......ANSI R Deluxe RS232 Pak .....Yes F Linefeed Filter .......On I'll assume I don't have to explain what "Baud Rate" is or "Parity", etc. However, I will explain some of the not-so-obvious options and will also explain how to change the options. 3 There are two ways to change any of the above options. Either pressing the designated key will automatically switch that option between one of two states, or pressing the designated key will hi- light that option and allow you to sequence through all choices with the left and right arrow keys. When the right choice is selected, press [ENTER] to accept the change or [BREAK] to leave it like it was. NOTE: If in monochrome mode (via the [ALT]-[M] option from terminal mode) the option won't be hi-lighted but will be underlined instead. There are three duplex settings: Full, Half and Echo. When in FULL, any keys you press in terminal mode will be sent to the modem and any keys received will be sent to the screen. When in HALF, keys you press will also be sent to the screen. When in ECHO, characters received from the modem will be echoed back to the modem and any keys you press will be sent to the screen. When setting the baud rates, you should keep a few things in mind... If you're using the RS232 pak, all baud rates can be selected with the exception of 450 baud. If you're using the serial port, all baud rates between 450 baud and 2400 baud can be selected (i.e, 450, 50, 75..300, 600...2400). I'm pretty sure 2400 baud through the serial port is reliable for standard communicating considering I sent a 100 block YMODEM file (yes, that's 'Y') using a null-modem cable at 2400 baud with no errors; but a LOT of time goes to interrupt processing and the machine slows down noticeably. "Autobuffer" is a feature which is very useful for downloading text files from a BBS. When the system you're connected to sends a CHR$(18) (aka DC2), Ultimaterm will open it's receiving buffer. When the system you're connected to sends a CHR$(20) (aka DC4), Ultimaterm will close it's receiving buffer. This feature can be turned on or off with this Autobuffer toggle. "Terminal Type" switches Ultimaterm's screen driver to act as one of four different types of terminals. The system you are calling should let you know what type (if any) of terminal you should set Ultimaterm to. A more thorough explanation of the terminal types and their control codes will be explained further on in this manual. If the system you are connected to doesn't support any control sequences, just set "Terminal Type" to TTY (Teletype) which acts as a dumb terminal. "Deluxe RS232 Pak" can only be kept at "Yes" if you have a Deluxe RS232 Pak present. If you do have a pak and want to use the serial port for any reason, this is where you can switch over. After you have set all the "Modem Options" to your liking, press [BREAK] once to return to the "Set Options" window. 4 [P] Printer Options -------------------- There are three printer options in V4.0. The window will look like this: Printer Options B Printer Baud Rate ...9600 L Printer Linefeeds .....No D Printer Line Delay ...000 These are changed exactly like the "Modem Options" were. "Printer Line Delay" might come in handy for anyone with an older printer. All it does is cause a set delay to occur at the end of each line to the printer. When the "Printer Options" are set to your taste, press [BREAK] once to return to the "Set Options" window. [K] Programmable Key Set ------------------------- This section took a major overhaul when I went through MATERM V4.0 I wouldn't strongly suggest you just LOADM and EXEC Ultimaterm V4.0 without reading at least this first section. One of the major considerations I kept in mind while writing V4.0 was the fact that every system is not the same. Especially these days now that everyone has become more confident in making hardware mods due to lower repair or replacement costs. The first thing you'll have to do is LOADM and EXEC Ultimaterm V4.0. You should notice two things above V3.0: First, it'll take longer to load (wonder why?!) and second, when it is loaded, you'll see a window that states "Initializing the keyboard and modem strings". A second or two later, that window disappears and the version window pops up that simply states "Ultimaterm V4.0". Hit any key to drop to terminal mode. The Initial Setup ----------------- Before you go off playing with all the new ALT keys, you'd best take the time to customize this version to your system. First, press [ALT]-[M] to toggle the display between monochrome and composite (not really necessary if you're using an RGB display). Second, use [ALT]- [<] and [ALT[-[>] to move the screen up or down on your monitor to center it as best as possible. If keyclick annoys you, press [ALT]- [K] to shut keyclick off (press it again to turn it back on). Press [ALT]-[O] to pop up the "Options Menu". If you had Ultimaterm V3.0, you'll probably immediately notice the addition of two new options: "Initialization Strings" and "Miscellaneous Options". [D] Disk Options ----------------- The first step will be setting up the disk options. Simply press [D] and the following window will pop up: Disk Options D Default Drive ..........0 E Default Extension ....BIN A Auto Clear ...........Yes V Verify ...............Off S Stepping rate ......30 ms B Double sided drives ...No 2 "Default Drive" and "Default Extension" are both used for the window that asks for a filename. To set the default drive, press [D] and use the left and right arrow keys to rotate through available choices. To set the default extension, press [E] and type in the new extension. "Auto Clear" is simply a flag that indicates if the buffer should be cleared automatically before LOADing a file from disk. It also decides if the buffer should be cleared upon receiving a file from across the modem. Press [A] to toggle Autoclear on or off. "Verify" is the same as the VERIFY ON/OFF command under RSDOS. If on, then any sector written to the disk will be reread for verification purposes. This slows down disk output (especially during an X or Ymodem transfer), but greatly improves the chances of catching a possible disk error which could cause you to loose files you just spent much time downloading. "Stepping rate" just allows you to set the stepping rate at which the DSKCON routine will execute STEP commands.. Most drives will handle the 6 ms rate but if you're not sure just experiment with them to find the fastest your drives will handle. "Double sided drives" allows you to switch the drive select masks of Ultimaterm V4.0 between 4 single sided drives and 2 double sided drives. After you have set all the "Disk Options" to your liking, press [BREAK] once to return to the "Set Options" screen. [M] Modem Options ------------------ Press [M] to pop up the "Modem Options" window. The following will appear on your screen: Modem Options B Baud Rate ...........1200 W Word Length ............8 P Parity ..............None S Stop bits ..............1 D Duplex ..............Full LE] Exit .............................. page 18 [ALT]-[F] Freeze Screen ..................... page 18 [ALT]-[H] Hang-up Modem ..................... page 18 [ALT]-[I] Freeware Information .............. page 18 [ALT]-[K] Keyclick toggle ................... page 19 [ALT]-[M] Monochrome/Composite toggle ....... page 19 [ALT]-[O] Set Options ....................... page 19 [ALT]-[P] Print Screen ...................... page 19 [ALT]-[Q] VT-Keypad toggle .................. page 19 VT-100 or ANSI emulation ................ page 19 VT-52 emulation ......................... page 20 [ALT]-[S] Buffer Checksum ................... page 20 [ALT]-[T] Buffer Toggle ..................... page 20 [ALT]-[V] Ultimaterm Version ................ page 20 [ALT]-[X] Transfer Files .................... page 21 "Transmit Buffer" ....................... page 21 "Receive Buffer" ........................ page 21 Transfers to disk or buffer ............. page 21 Scanning a filename ..................... page 21 "Xmodem Send" ........................... page 22 "Ymodem Send" ........................... page 22 "Xmodem Receive" ........................ page 22 "Ymodem Receive" ........................ page 22 Receiving to disk ....................... page 22 Transmitting from disk .................. page 22 Starting Xmodem receive with CRC ........ page 22 Aborting a transmission ................. page 22 Disk Full ERROR on receive to disk ...... page 22 CRC Option .............................. page 23 Sample calculation under 'C' ....... page 23 Sample calculation under assembly .. page 24 Ultimaterm Clock files ............................ page 25 Ultimaterm's Keyboard ............................. page 26 Screen Control .................................... page 26 DEC VT-52 Control Codes ...................... page 27 DEC VT-52 Keyboard controls .................. page 28 DEC VT-100 Control Codes ..................... page 29 DEC VT-100 Keyboard controls ................. page 30 ANSI-BBS Control Codes ....................... page 31 Vidtex Control Codes ......................... page 32 PREFACE Ughh.. Documentation. How can one who thinks in 6809 be expected to write in English? I 'spose this is why software authors are hardly ever the ones to document their software, unless it's just a simple program that just needs a bit of explaining. I'll try to keep in mind that I'm not writing a novel here and explain things as precisely and simply as possible. I'll even make an effort to include original sources of my information so as anyone who actually will read this manual can have a reference should I be unclear. Just so we're thinking on the same wavelength, I'll designate control key combinations by preceding the key with a caret (^) and designate alternate key combinations by using the sequence [ALT]- [key]. One last thing I should mention here. Many things about Ultimaterm V4.0 won't be readily apparent just by using the terminal (as I tried to make Ultimaterm V3.0). I suggest that even if you don't read through manuals (like me?!) you glance through a few sections just to pick up on some tips I might leave lying around... Ken Johnston 1 GETTING STARTED WITH ULTIage 05 "Printer Line Delay" .................... page 05 Programmable Key Set ......................... page 05 Keys [0] through [9] .................... page 05 One second pause in key ............ page 05 Quarter second delay between keys .. page 05 [F-keys] ................................ page 06 Initialization Strings ....................... page 06 Keyboard String ......................... page 06 Modem String ............................ page 06 Miscellaneous Options ........................ page 07 "Repeat delay time" ..................... page 07 "Repeat speed" .......................... page 07 "Keyclick tone" ......................... page 07 "Sound" ................................. page 07 "Destructable BS" ....................... page 07 "RS232 Pak slot" ........................ page 07 "Disk drive slot" ....................... page 07 Other Ultimaterm Parameters .................. page 08 Mono/Comp toggle ........................ page 08 Screen positioning ...................... page 08 Keyclick toggle ......................... page 08 Upper/Lowercase toggle .................. page 08 Buffer opened/closed toggle ............. page 08 VT-Keypad toggle ........................ page 08 Saving all the default options ............... page 09 Ultimaterm Commands ............................... page 09 [ALT]-[@] Credits ........................... page 09 [ALT]-[A] Autodial .......................... page 10 Creating a dialing directory ............ page 10 Cursor Movement ......................... page 11 Adding or Changing an entry ............. page 11 Dialing Options ......................... page 12 Dialing Prefix and Suffix .......... page 12 "Dial time" ........................ page 13 "Hang-up time" ..................... page 13 "hang-up String" ................... page 13 "Abort string" ..................... page 13 "Connect string" ................... page 13 "Busy strings" ..................... page 13 "carrier Method" ................... page 14 Saving Dialing Options ............. page 14 Dialing a number ........................ page 14 [ALT]-[B] Buffer Commands ................... page 15 "Clear Buffer" .......................... page 15 "Display Buffer" ........................ page 15 "Print Buffer" .......................... page 15 "Buffer Status" ......................... page 15 [ALT]-[C] Conference Mode ................... page 15 [ALT]-[D] Disk Commands ..................... page 16 "Load from disk to buffer" .............. page 16 Adding LF's to a load .............. page 16 "Save buffer to disk" ................... page 16 File types ......................... page 16 Files to big for one disk .......... page 17 Stripping LF's during a save ....... page 17 "Directory" ............................. page 17 "Kill File" ............................. page 17 "Format Ramdisk" ........................ page 17 "Backup to Ramdisk" ..................... page 17 "Backup to Floppy" ...................... page 17 "Default Option Save" ................... page 17 "Default Option Load" ................... page 17 [ALT]-[ џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ ULTIMATERM VERSION 4.0 Documentation Manual Ultimaterm V4.0 written by Ken Johnston Documentation written by Ken Johnston Freeware - March 1988 Voice : (403) 242-3485 MST Modem (DIGITS) : (403) 242-3515 300/1200 baud Table of Contents ----------------- Preface ........................................... page 01 Getting Started with Ultimaterm V4.0 .............. page 02 The Initial Setup ................................. page 02 Disk Options ................................. page 02 "Default Drive" ......................... page 03 "Default Extension" ..................... page 03 "Auto Clear" ............................ page 03 "Verify" ................................ page 03 "Stepping Rate" ......................... page 03 "Double Sided Drives" ................... page 03 Modem Options ................................ page 03 Duplex settings ......................... page 04 Baud rates .............................. page 04 "Autobuffer" ............................ page 04 "Terminal Type" ......................... page 04 "Deluxe RS232 Pak" ...................... page 04 Printer Options .............................. pџu& т 80&ї:ž 5&?‡:‡," Send to printer?":‡&O‡,," ";&|PR$Гџ’:…PR$Г"Y"Ї7:„…PR$Г"N"Ї‡"N":‡:Ѕ 20&„Ѕ5&‡"Y":‡&Л‡:‡," Printer baud rate?":‡&с ‡,"<1> 300 baud","<2> 600 baud"' ‡,"<3> 1200 baud","<4> 2400 baud"'- ‡,"<5> 4800 baud","<6> 9600 baud"'3 ‡'G A$Гџ’:…A$Г""Ї13']…A$Д"1"БA$В"6"Ї13'k‡Є36);A$;'ЂA$Гџ("300 600 1200240048009600",(џ‰(A$)Ќ1)­4Ћ1,4)'ПAГџ((55930Ўџ‰(A$))Ќ4.5)'и’ 149,(AЎ256) А &HFF'ы’ 150,A А &HFF(™"I",#1,"UMANUAL.TXT"( ž(… џŒ(1) Ї 28(,Л‰ #1,TEXT$(7‡TEXT$(O…PR$Г"Y"Ї‡#Ќ2,TEXT$(YЅ 22(`:ƒ(tš:‡:‡"Finished"300 600 1200240048009600",(џ‰(A$)Ќ1)­4Ћ1,4)'ПAГџ((55930Ўџ‰(A$))Ќ4.5)'и’ 149,(AЎ256) А &HFF'ы’ 150,A А &HFF(™"I",#1,"UMANUAџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџUDDIGITS BBS 1-403-242-3515 The Ultimate BBS 1-403-282-6379 Ohio Colorama (Sylvania OH) 1-419-829-4825 Sagcom BBS 1-219-234-9717 Midnight BBS 1-502-885-4335 M & M Pelham BBS 1-914-738-6857 Frisky CoCo 1-816-436-2904 Coco Bean 1-603-485-8682 Timecor BBS 1-617-720-3600 Pub BBS 1-602-844-7840 Balloon Port BBS 1-717-273-8444 Almost Heaven BBS 1-304-428-1949 EDC / Mushashi BBS 1-213-258-0640 Glass Menagerie BBS 1-215-376-1819 BRS Database 1-814-535-7576 Pontefex BBS 1-704-825-6201 Graphic's Pub BBS 1-215-277-6951 Sarah Gordon's BBS 1-219-277-8599 Master BBS 1-603-644-4867 Leechland BBS 1-614-676-2505 Treasure Vault III 1-203-355-9655 New Vision (Compuserve Clone) 1-216-364-4575 Cabinet (9 lines) 1-215-678-9334 The Falcon's Lair 1-313-429-2150  NAM DISTO.CLK ORG $7700 * * This is a sample program for using a * the clock in the Disto Controller with * Ultimaterm. * SCREEN EQU $E000 SELECT EQU $FF50 * * Now for the reading of the clock * * First, check if time has changed and * return if not * CLOCK DEC TIMER 60/60ths of a second? BNE CLOCK1 Not a new second * LDA #50 60/60ths delay STA TIMER for next update CLR $FFD8 SLOW! (can't read in fast) LDX #SCREEN+$120 Where to draw time LDU #SELECT Point to clock STA 1,U Hold clock for 1/2 second LDB #5 10's of hours * BSR SHOWA Show hours BSR COLON Display colon BSR SHOWA Show minutes BSR COLON Display colon BSR SHOWA Show seconds CLR $FFD9 FAST! CLOCK1 RTI * * This routine loads each of the two * digits in MM/DD/YY and displays it * on the screen * SHOWA BSR SHOWB Get 10's first SHOWB STB 2,U Select function DECB Prepare for next function LDA ,U Get digit ANDA #%1111 Range 0-15 CMPB #4 Is this the hour? BNE SHOWC No ANDA #%11 Range 0-3 SHOWC ORA #$30 Make number displayable STA ,X++ and put it on screen RTS * COLON LDA #': Get colon (":") STA ,X++ and draw on screen RTS * TIMER FCB 50 * END 0 FDB $DFDF,$DFDF FCC " џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ?wzw>&†2Зw>џиŽс ЮџPЇAЦ џй;чBZІФ„С&„Š0Ї9†:Ї92џw RTS * COLON LDA #': Get colon (":") STA ,X++ and draw on screen RTS * TIMER FCB 50 * END 0 FDB $DFDF,$DFDF FCC " џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ NAM MC146818.CLK ORG $7700 * * This is a sample program for using an * MC146818 or HD146818 clock chip with * Ultimaterm. Modify the registers for * your own clock, as yours may be * addressed differently than mine. * * Terminate the clock routine with an * RTI instruction and not an RTS. * * My clock is addressed at $FF70. Change * the following equates to suit your own * needs. * SELECT EQU $FF70 *Address of clock SCREEN EQU $E000 *Address of screen * * Now for the reading of the clock * * First, check if time has changed and * return if not * CLOCK LDU #SELECT Point to clock LDA #$0C Read Register C STA ,U LDB 1,U Read the flags BITB #$10 Is update flag (UF) set? BEQ CLOCK1 No, so return * * The update flag was set, so now * comes the code to read and display * the time * LDX #SCREEN+$120 Where to draw time LDD #$043A Hours first, (B)=":" BSR DRAW Draw the hours STB ,X++ Draw the colon BSR DRAW Draw the seconds STB ,X++ Draw the colon BSR DRAW Draw the seconds CLOCK1 RTI Return from interupt * * Now comes the routine to change the * time from a byte to a number on the * screen * DRAW PSHS D Preserve registers STA ,U Select function LDB 1,U Get value from clock CLRA Start first number as '0' DRAW1 CMPB #10 Is (B) larger than '9'? BLO DRAW2 Nope, go draw numbers INCA Yep, so increases the 10's SUBB #10 and decrease the 1's BRA DRAW1 and keep going till decoded * * Now to put the numbers on the screen * DRAW2 ADDD #$3030 Make numbers readable STA ,X++ Put first number up STB ,X++ Put second number up PULS D Get registers SUBA #2 Point to next function RTS * END END second number up DRAW4 RTS * END second number up DRAџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ:wЮџp† ЇФцAХ'Žс Ь: чч;4ЇФцAOС %LР їУ00Їч5€9џwecond number up PULS D Get registers SUBA #2 Point to next function RTS * END END second number up DRAW4 RTS * END second number up DRAџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ NAM SOFTWARE.CLK ORG $7700 * * This is a sample program for using a * software timer with Ultimaterm. I've * made no provisions in this version for * changing a software clock so this can * basically be used only as a timer. * * Terminate the clock routine with an * RTI instruction and not an RTS. * SCREEN EQU $E000 Address of screen HOUR EQU $1000 Address of time * * Now for the reading of the clock * * First, check if time has changed and * return if not * NOP Software clock flag CLOCK DEC TIMER 60/60ths of a second? BNE CLOCK2 Yes, add a second LDA DELAY Get time to next second STA TIMER and set up interupt again * LDU #HOUR Point to time LDX #SCREEN+$120 Where to draw time INC 2,U Add one second LDA 2,U Get updated time CMPA #60 Seconds wrapped? BLO CLOCK1 Branch if not minute CLR 2,U Seconds to 00 INC 1,U Add one minute LDA 1,U Get updated time CMPA #60 Minutes wrapped? BLO CLOCK1 Branch if not hour CLR 1,U Minutes to 00 INC ,U Add one hour LDA ,U Get updated time CMPA #24 Hours wrapped? (24hr time) BLO CLOCK1 Branch if not 00:00:00 CLR ,U Hours to 00 * CLOCK1 LDB #': Ready to draw ":" BSR DRAW Show hours STB ,X++ Draw colon BSR DRAW Show minutes STB ,X++ Draw colon BSR DRAW Show seconds CLOCK2 RTI Return from interupt * DRAW PSHS B Preserve registers LDB ,U+ Get number CLRA Start first number as '0' DRAW1 CMPB #10 Is (B) larger than '9'? BLO DRAW2 No, go draw numbers INCA Increase the 10's SUBB #10 Decrease the 1's BRA DRAW1 Try again * * Now put the numbers on the screen * DRAW2 ADDD #$3030 Make numbers readable STA ,X++ Put first number up STB ,X++ Put second number up PULS B,PC Return * TIMER FCB $37 DELAY FCB $37 Adjust speed here * END s all * END END all * VwzwT&6ЖwUЗwTЮŽс lBІB<%oBlAІA<% oAlФІФ%oФЦ: чч;4цРOС %LР їУ00Їч5„77џw Put second number up PULS B,PC Return * TIMER FCB $37 DELAY FCB $37 Adjust speed here * END s all * END END all * џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџпппппппппппппппппппппппппппппппппп пппп пппп пппп пппп пппп пппп    4.0 пџџппп пппп 000017 пппп пппп пппп пппп пппп ппппппппппппппппппппппппппппппппўппџ@џhџiџjџk8џџџџBINџџ€ џ+++ATH0 CONNECTBUSYNO CARRIERNO ANSWERERRORжATZ ATS0=0 L0 V1 X4 иXиYиSиUATDT Your name їџPassword џ@@&ќ'ќa%z"„п94' ЦяНЕ&&JM5„4ІŸ.'|/M5”Цў0їџЖџŠ€C&|0yџ%юї1 6ЦјЫF$ћћ0С3%С5'С6&лё1&)ќ3'џџУџџ§3 Ж2' sˆЛˆЗ2O5”Ж*З2і1 ї1ˆЖ+З34ОНрС%6С %С,%С7"ЭР,ŽЬ РŽТXW'\І… 5˜]ŠI',ˆС &&s Ѓ˜]Š@]'}&Š +'ˆ Ця)'„&†^Цї'Š€}&' 4Ж,_Н'a5M5”4Ц 4їџіџSХ@5„ _ [ ] ,<-=.>/?  \{}|~`  АБВГДЕЖЗИЙ­ЌЎћќ§ўџўHABCDHJK?p?q?r?s?t?u?v?w?x?y?m?l?n?MPQRSOpOqOrOsOtOuOvOwOxOyOmOlOnOMOPOQOROSНГ'?4t5єЦяНЕ&8})'.іZ' ZС"#'Žў ŽZŽф_mЄ'\Ё &їџ§m€&ќZ&љ~'19&JM*ї„a%z"„п'ж 'џ>'3<'?.'','3/'ќ0%9#а{%~#е@'!A'C'6ЯQ'TB'3…D'9E'D€!F'EH'E"I'EšK'GNM'GPO'GjP'SЏS'SпT'THV'TQX'U=Z'T‘O9M'ќ} '-&&4ќ'Уџџ Ьџz*  Н"žмџќŠ§5 Нц}X'4v~4vўtНе %h'“і _&† Ъ@э„lФІФP%oФНеYЌH%sYlAНеЌH%}Y&5іЌD%њ†OЇФjA5і46ЎF1‰ ьЁэЌH%ї† і эЌH%њjA5Ж'%') 'F 'Ѕ '[ 'ƒ 'І'Ћ~#ЬАН'a5іНеЌB'jФ*jA†OЇФ0}'† і э„5іІФцФ\С %Р јL\С &њP%€PЇФ5іНеjA+џћЌF$!lAЎHь‰џ^эƒЌF"і† і 4 ŽPэ1?&њ5 5і}\&џoФoA† і ЎFэЌH%њЖ'* ФŽЮІ…Зџš5іoФ} &ўц5іЖ'sXŽxJ'ŽЦJ' ŽGJ'ŽзП5і['X5іŽœПDEŽPПZ† o‚J&ћ5іНУŽPіEXA'ЄB'ЌC'ГD'ТH'ЭJ'(K'уL'фM'P'Ї@'pf'Ѓm'Јn'џњs'…u'Œ5іІ„'&єŽН'15іŽ"ЕПЂƒ†Н"Е†[Н"ЕцA\Нk†;Н"ЕцФ\Нk†RН"Е5і['бO'ЫXD'§оE' M'ўŽZ'57'8' <'F>'5='65іoФ~:ьФ§FЖ ЗH5іќFэФЖHЗ 5іŽЇН'15і[?1;0c)5і)z)5і†З5і;'9"?0%;„4† іD=ырїD &ЗDЖDОZЇ„0ПZD|EЖEџљ % EŽPПZ2b5і>'в?'ЮіDОZч„|E9Ž9ПDEŽPПZ† o‚J&ћ5іˆŽPіEXA'B'C'D'&H'1J'ŒK'Gc'џ+f'h'Аl'иm'n'ўxr'v'ў5іІ„0Z&їЖ КBЗ 5і4%іZ& (%i2%x5„M''''$'85„Ц8ї B5„Ц@њBїB5„Ц€њBџјїB5„і XXt Vt Vt VTTї 5„і XXXФ84і ФЧърї 5„€„HHH4і ФЧърї 5„€(„4і Фјърї 5„ц„PmA'jA\+ї5іц„P† Н\+њ5іц„PІФL\+ќP%€P јЇФ5іц„PІФJ*†O\+јЇФ5іm„'j„m'jІ„#†ЇAІO#†OЇФ5іІ„J' J'5іЦPрФїНе† і эz&љ9ч5іІФLЗ† і Неэƒz&љ9І„Jџї'J'5іНе† і эЌH%њ9я5іНе0† і эƒЌF"њ9m„'j„ІЄ"$І" Є+ІЄЦ =ЎB0‹ЏFІ?&†Ц =ЎB0‹ЏH5і†OЁФ'ІФц„P4Не4†OЇФНеьƒэЌф&ј† Ї„lc+э55ЇФ5і†OЁФ')ІФц„P4†OЇФНе54ЇФНеьэЌф&ј† Ї„lb+э55іц„P4ьФ4oФНе4ЎDь‰џ^эƒЌф&і4 ŽP† і э1?&њ5 ld+н55эФ5џі5іц„P4ьФ4oФНеь‰ эЌD&і† і 4 ŽPэƒ1?&њ5 lb+м5эФ55іц„ІС>'С?&'J'1&З5і'@&і†З5іц„ІС>' С?&'#&й†[ކOŽdЇ„ЇЇЇ 5і' &5і†OЗ\5іІ„' J'J'J'5іЖ]ЗW5іЖWЗ]W5іН"ž5іН"‚5іXA'њ%B'љeC'љUD'љеE'њBH'™I'њbџѕ'ўj'ћ†k'ћl'§Эo'§ЩJ'§хK'§ Y'(Z'I='ћ‰>'ћ~<'Jp'Sq'Vx'Yy'm5іŽTsXП5і€ "ЇAŽa ю€ O"ЇФX5і†Н"Е†/Н"Е†ZН"Е5і†З5іoФoA5і†З 5і†8З 5іŽЅПsX5іX2'%5'ўџ5іŽППsX5іX2'5'ўн5і†џЦOЗ&5іXA'љB'јTC'јDD'јФHџє'џŽJ'ќўK'ќЙj'љY'џ9I'?'5іsXŽ%П5іP'IA'jS'pR'xB'|XI')D'}C'‚X5іŽ[Н'15іULTIMATERM 4.0 †Н"Е5іŽzП5і"З^ކ я?"і^ŽџАЇ…X5іŽœ йЗ ёŽІ Я†Н"Е хŽВ УНО лŽМ Й?"вЗџš Э 5іН"Е5і4ЎB† цA=0‹цФX:5†44Ž#qіцЅ'2џѓО4PїџЄЇ‰€Ц<їџЄ50Œ %žŠ|іmЅ& Н"žПS5Д44іОAё&М$*4Ž#qцЅPїџЄІ‰€Ц<їџЄ5sA0Œ %žŠ|П}A5ДO4O_Œ'%L0‰и№ є1Œш%L0‰ќ є#Œd%L0ˆœ ѕŒ %L0 і ˜џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,    СУЦСШСЩС!"#$%&'()*+>-./0123456789:;<ТХХ@AФСџREGSBAS=}ULT40CLRBAS?ЮџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџULTIMATEBIN TULT40CLRBAS?ЮSOFTWAREDATџпSOFTWARECLK`MC146818DATџПMC146818CLKDULTDIAL DIRџ­ACIAREGSBAS=}DISTO DATџЯDISTO CLKIНННННННННННBMANUAL BASxUMANUAL TXTџМџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЦџ5–э~'Š0НЂ‚ЦџO9ŽЮЮџАЦІ€ЇРZ&љ9# =?# =?žŠ0&ќ9џй†\ЗџЬu§џџђ˜9o€Z&ћ9žŠЦ єŽ П._ыŽђ"П<П>oFGHX*}&бsŽvН'q†x—џ†@ЗW\–ыЗ†4ЗџЇђ"މН'1 џ&ќŽ~ў.Ц ~Цс@№рс@№рс@№рс@№р` Ultimaterm V4.0 Initializing the keyboard and modem strings ŽуіX:ь„н•ќн—9у\ЎW(џё ŽП †џ—ўя9Жџ*^Жџ ћ' ћ џ' џ† }'†#ЗрЄЗс:† } '†*ЗрІЗс8† })'†%ЗрЈЗс6ž'0Ÿ ў'Ж …'JЗ …& Ж †„АЗ †Зџ@~w4Жџ#**Жџ"ІŸ…'О>іџЇ†?ЗџЇІŸЇ€їџЇŒў&Žђ"П>5;4џ“ ї&%Цзї_ є'+ |& } –ќ—єO  |ѓYYїџ є ѕ&іџ"V%S јжјС&Mжќзѕ ј ј&C ѕ' Цџ№зјіџ"Vі 3О>іџЇ†?ЗџЇ–і} ' }&}&D„Ї€їџЇŒў%Žђ"П> ј† Зџ“5;4P}'`Ж.ЗџЖџ"†5Зџ#†LЗџџ‘џ’џ“† і'XZ=Ъ чŸсŸ' )Ж„FFЇŸ† і Ф=ЪњъŸчŸЬŽl‰†\Зџ†`Зџ‘џ’Ж „ˆАLL}'L—ќ† Зџ“Жџ"†4Зџ#і''іџЇ†?ЗџЇІ€їџЇŒў&Žђ"П<§5”ж'I}':' &; !†џЗ 4і Ф8TTT&Ц8їWўtНеч_5”4Ц@їWњ щ}' 'M94}'цŸХ'јЇŸ5„ є&ќ4Цџз}і ФШз|}'$4Odф‰Z&љ2џ"эaіZ' Z' Z'O C †Šў—}5—ѓє5„4P_ЗџЃЗџ†0ЗџЃЗџOЗџЃБџ& †0ЗџЃБџ'S#x†;ЗџЃї:Ь НДєŽНМ5Ц#}:'ЦНДѓŽНКЪŽ НМ5Џ5–0123756 !"#$%&'()*+,-./46OCўРЇЩŽ$.ЏШ.Ь4эШeэЩ…эЩЛ†5эШgэЩ‡эЩН†~Ž$7ЇЩвЏЩгŽ$ ЇШxЏШyЖЇШaŠЇЩЗЬAB}&Ьџ#ь@эЩ@}Р ' Ž$Ю$ЦНЦ5ЖЦŒФХФЬ$ЦѕЭжђЦ_ФhХ—ЫRЦШЬDеџ45ЖџHОРnЈ{НоНо~оŽ$GП ƒџиОРn‰иџйЖџH„|—№9P†інъЬньŽŸю­ŸРІ„@&!ŽŸю­ŸР э ю­ŸР}:'Ж „З Џ9Ь@џЇŸЁŸ'_ї ъ4WP}%&Os%Ž$§Ю LЦ НЦ­Ÿ$} s'8†IЦзo­Ÿ$­Ÿ$C'%­Ÿ$­Ÿ$­Ÿ$­Ÿ$Н'YŽw­џ$ыŸ$p'Ї€Œx%ё5зULTCLOCKBIN4~ЦзoОw­5ў4О<П>5є†Н"?&ѕ94я—ћ ћ&ќ54я†#=зћН"?& ћ&ї5„994ќУџџ* †z*O_§5†46ІФЗ%{5646ІФ=1ЋЬ.Ё &э ј1?Ц}'Ъ@Н!ˆН'! '"' &яІФLЁф#OЇФ СІФJ*їІф ѓЖ%{ЇФ56†Z40ЇZ&ћ5–4ЬU?Нџ%ъD' ''#0%щ9"хЇZ&рЎф_І ' „4† =ыр я5С'Ц\† Їƒ П4цЪ@ч5„4цФ?ч5„4їP‰† эzP&љ5–Ц Ž*4їCїj†мЦНž'ћ+,ЧЦяНЕ&# 'A '+'P&іCёj'ж|C† ЇƒoЂ Ы}C'ШЇЇ zC'П ЛіC'o Z&ћіCёj5–OіC1Ћ4 CіjoЂZ&ћ5 фіjїC м4Ь0э„ээŽ&ћПЂƒ5џ&щСc"0С "0Пh~k4ОhЇПh5454DDDD5„Ž'!І†~0123456789ABCDEFkІ€' ' & sk я†2Н%, шН"Е}k'р† я9Ьp Ь }-'ђ—Œ4qЏНЉQ5ё4vЬа§џ#Žр †4Ц?ЗџЇЎ„їџЇЏŒё€%яŽу№Ц}*'ŽуPЦŽ Н!s0ˆ`Н!u0ˆ`Н!u0‰џ"Ž}*&ЦІРэ1?&ј0‰}*&ЦŽ 0Н!s0ˆТŽІџ'шР' э1?&і0ˆd сЬќ§џЮjџt5і4VЬа§џ†4Ц.ЗџЇŽ№счŒё%љЮ`џtНеO5ж0‰ Œ№р%їЦ5ч9Ž*І€Ї Z&љ9І€ЇСZ&љ9ЇСZ&ћ9Ь .с &ЇС ј1?9І 'ћЇС јІ€НЂПZ&ј9НЂПZ&њ9Ь .с &НЂП ї1?9І 'дНЂП їЇ€Z&ћ9Ц9ŽяжН!ˆН'^Н% ЏНžЦ†2—ћНž& ћ&їZ&№†<З …9Н"ЕН"Е~"Е­Ÿ$ 4Цзo5„і­Ÿ$4Ц ї …џ(чі †ФИї †їџ@Џp5„P}'ІŸŠ ЇŸ„ћЇŸ џ  †Зџ ЏO9Ž€~рН(ўtНеН(+Ц.чНецї+П,іWХ?&ъч~(і\† \Нї\9Ж(' L„З(ЗџœO9Ж('љJ ю4ŽŸюЬньзъ­Ÿ$oтЦDІ€C&lфZ&і55’эФЖЦ=ОŒк#Œ#!ƒџџ0‰ќ ээФЖЦ@=ОŒ€#ƒџџ0ˆ€ ѓƒџџ}%'ѓ‹9эФЖџ)ц%4%s%Ю5З%O_Œ#иƒџџ0ˆю ѓŽПЂƒЖ Юj~'q }:&6ŽЧ-}Р 'ŽЧ]ŽС Џ„oЄoЈJoЉ”oЉоoЉ(ўРŽ*Ї†~ЇFЏG0KП+29 …жыС'nŸ+2P2ažŠOжьZ+0‰Œ %є0‰рL эжэZ'0‰Œ %є0‰рL эџ*хжъ0‰€ŽаМС%'4žю+5ЗџЄ"†<ЗџЄ†<З …№Џ5іЗџЄ †<ЗџЄžю у46_І€Ї Z&љ5Ж4FeЬ$эФЖЗOOCЗЖ Зf†&З cdЮ LНž'ћ'h.')/'%:'g'у 'ё %йЇРН|cіcС%Ъ†.Н,"ННž'ћ'*.'ё/'э:'9'ж & }d'Е~,В %бЇРН|dіdС%Т E†.Нbџ+ф†:Н G ѕНž'ћ'ж'Ж '{0%ч}:'3"о4"кН€0З Z—ы~,Ш4Ь №c'/ЇРНZ і4Ь №d'ЇРНZ і4Ž!ЦІ€ЇР4Н5Z&ђ5†}c'ў№Нzc† ЇТ~+]Џ†.НЬ†:НЖ З Z—ы‹0Н :}d' zdН† ЇТ~+›НЦ№c'Г3_НZ і€ ФНЦ№d'Ю3_НZ і}c'seЖfЗ ЖOЗ}e5Ц..џ,у.TTY..ANSI..VT52.VT100Vidtex..450...50...75..110..135..150..300..600.1200.1800.2400.3600.4800.7200.960019200P†ŽџАo€J&ћЖ„З  ‚ … †џ@†аЗџHЖџHЖ \' oŸ (oŸ * \ ]Ж.ЗџџпџйŽџoooˆ!oˆ#Ьџјo„ЇJЇˆ чˆ"Ц4чччˆ!чˆ#oЮ`ЎBЏFЎDЏHџ-тЮjЎBЏFЎDЏH 9Ю џ†ŽџАo€J&ћO‹†НЗЄ-ŽvПЄ.НЄ-Ž.(Пƒ–ыЗН#Н$R†U—qŽ-dŸrЮ џŽ.(4џQ†—ї—јѓє|}§oЖ З„ЖЗ@Н!/Ж(ЗџœЖЗ ‡†~ЗЂ‚ЗЌFŽПЂƒŽLОПЌG†!З`З†Н#•Н*kН$ЃНхН(НїН 5НОНњНбsНZіs Нh†џЗ1Ж*З2Ж+_§3Н)'цчН%ЏЮ`Нецї+П,іWХ?&ъчН(џ.с+НУ&Н"g'іНвіС&ЮН"Е Щ Н"Е}'ПНв Кі+О,чŽ№рцФX:Ц.ч9€0Ц=Žђ0‹Н'1O9€{Ц=Ž :ў.ЦНЦO9Ž/as*Н'qН' Ž0шН'qН*~( ALTernate Key Commands ALT-@................Credits ALT-A.....Autodial Directory ALT-B........Buffer Commands ALT-C.џ/р.......Conference Mode ALT-D..........Disk Commands ALT-E........Exit Ultimaterm ALT-F..........Freeze Screen ALT-H...........Hangup Modem ALT-I...Freeware Information ALT-K.......Key Click Toggle ALT-M.......Mono/Comp Toggle ALT-O............Set џ0пOptions ALTernate Key Commands ALT-P...........Print Screen ALT-Q.......VT Keypad Toggle ALT-S........Buffer Checksum ALT-T..........Buffer Toggle ALT-V.....Ultimaterm Version ALT-X.........Transfer Files ALT-Z.....Set Software Clock ALT->џ1о.........Move Screen Up ALT-<.......Move Screen Down ALT-0-9....Programmable keys ALT-BRK...........Line Break ALT-CLR.........Clear Screen Ž2|Н'qН~( Thanks Fred McDonald Rex Hebert Laverne Kelly Jeff Mercer Guy Loџ2нucks Dan Damron Н(ќђ"ƒUD'yzН3'•ќђ"ƒUD&ŠН3кН7WН4Н5‘Н'ѕћ 'У 'д_'ы['љ '™ '“C'uM'^S'ТP'kO' HЦяНЕ'А ''2' g' › –4vŽ3ЯЮ LЦ НЦізы­Ÿ$} s'!†IЦзo­Ÿ$Žђ"­Ÿ$ p&Ї€ŒћЯ%ёН% †џЏ5іULTDIAL DIRЮџ3м`ЎDЏHЎBЏF1ЉрП{† іy=1ЋŽђ$Жz'0‰9J&љ†7іy=0‹946Жy4y† |yJ&ј5Зy5Ж4vў{ЖyЦ =3ЫОЬ Н(LЦН(DЬ Н(LЦН(DЬ Н(LІ€&† J@‹8ЇС† ЇСІ€&† JŽ4ЮІІЇС† ЇСІ€&† Š0ЇСЬ Н(LІ€&Ь  JŽ-Ц=1ЋН(RН(`Ь Н(LІ„&Ь JŽ,сЦ=1ЋН(RН(`Ь Н(L5іNOEMS46Ž7ЁН(џ4л‡Ž7ђН(‡Žђ$†- 0ˆ7J&ј56~3%46Ь Н(qЦН(hЬ Н(qЦН(hЬ Н(qІ€&† J@‹8НЂП† НЂПІ€&† JŽ4ЮІІНЂП† НЂПІ€&† Š0НЂПЬ Н(qІ€&Ь  JŽ-Ц=1ЋН(xН(‡Ь Н(qІ„&Ь JŽ,сЦ=1ЋН(xН(‡Ь Н(q5Ж4&ЦP1!ІЄC„?ЇЁZ&і5І† Н­Ÿ$} s'­Ÿ$Н){ЏС%N]'ѓcЬџ§ W†OЦзo­Ÿ$†U­Ÿ$џ5к†D­Ÿ$Ц-Z&ћН% ЏН(~2ѕ4Ь .Ь 5†4­Ÿ$5Z&ѕ9Н(~)'Ž6?~Ž6šН' N' Y&ѓН'Y†џ9Н'q†4ЗџЇ9 No Room No room on this disk for the dialing directory. Make Directory Save the dialing directory on thiџ6йs diskette? (Y/N) }y'ќ)Н5‘zy1Љџ`0ˆЩ~3"4Жy5'ќ Н5‘|y1Љ 0ˆ7~3"}z'ћѕН5‘zz0‰ќЧ~34Жz5'ћлН5‘|z0‰9~346ŽPЦ8Žс@Н!sŽ7ЁН!ˆ0‰ Ž7ђЦ.Н!ˆ0‰ ŽАЦ8Н!sŽ7ђЦ.Н!ˆ0‰ Ž8CЦН!ˆџš5Ж System Name Phone џ7иW P S Baud Term ============================== ================ = = = ===== ====== [up]-Up a line [M] -Manual dial [^D]-Delete Entry [O]-Opџ8зtions [dn]-Down a line [SPC]-Dial Entry [^I]-Insert entry [C]-Change entry SHF-[up]-Up a screen [ENT]-Dial Entry [^P]-Set Prefix [P]-Print DirectrySHF-[dn]-Down a screen [BRK]-Exit [^S]-Set Suffix [S]-Save Directory џ9ж 4v† НŽ3ЯЮ LЦ НЦізы­Ÿ$Џ} s&Н){ЏС"Н6Н% ЏН(5v~3Н6'ю} s'­Ÿ$†OЦзo­Ÿ$Žђ"1‰ ­4 І€­Ÿ$Ќф%і5 Ф46ŽћЯ0ЈЩІ‚ЇЂЌb&јЬ .Н(Ь Н(56Н5‘~346ŽћЯ4 1ˆ7І Ї€Ќф%ї5 д46Ц7Ž*3Н(џ:е<Ž*34† НŽ;ёН'qŽхвŽ*ЦН&T'† mЂ&ЇЄ јЎфЦН(950ˆ4Ž<.Н'qŽхрŽ*"ЦН&T'† ЎфzC+Ї  їŽ*"І€'Ї  ј50ˆŽцІІЇ„0Ž>1Н'qН' ' 1џ;д%ѓ5"я„Ї„Н(Ž*3ЎbЦ7Н(<56~3 System Name System Phone Word Length 7 or 8 bits? Parity [1]..џ<г.....None [2]........Odd [3].......Even [4].......Mark [5]......Space Stop Bits 1 or 2 bits? Baud Rate [1]......150 [5].....12џ=в00 [2]......300 [6].....2400 [3]......450 [7].....4800 [4]......600 [8].....9600 Term Type [1]........TTY [2].......ANSI [3].......VT52 [4]......VT100 [5џ>б].....Vidtex  46† НŽ?<Н'qŽщ4 ŽхоН!†ŽхќŽ*ЦН&T'ЦЎфН(92bН(56~346† НŽ?yН'qŽр Ф Set Suffix Old: New: Set Prefix Old: New: 46† НŽ@Н'qЦŽхгч„ч‰ чџ?а‰Pч‰рч‰ ч‰Рч‰№і1ŽхђН&жі0Žц’Н&жŽ2Žч2Н!†ŽAŽчвН!ˆŽGŽщН!ˆŽRŽщВН!ˆŽ]ŽъRН!ˆŽhŽъђН!ˆŽsŽы’Н!ˆŽ@…}/&1$ŽьвН!ˆН',D'РH'ЦS'ЬA'иC'фB'ђM'/ ЯН(56~3DCDString Dialing Options Dial time : seconds Hanџ@Яg-up time : seconds hang-up String: Abort string : Connect string: Busy strings : : : : џAЮ carrier Method: ŽхђН%рї1~?НŽц’Н%рї0~?НŽч2ЦН&P'+Ž2Ц ŽчвЦН&P'ŽAЦ ŽщН&N' ŽGЦ Н(9~?НŽщВŽRŽъRŽ]ŽъђŽh Žы’Žs з4 Н&N5 ' Ь Н&<~!†40Ц Н(95Аs/}&§ /~?Н46† НŽE?Н'qŽ*3ЬџBЭН(Ž*3ŽхоЦН&T'§œ 460ˆŽ*3ЦН(<Ž*34Іˆ'J@З Іˆ'JЗІˆ'JЦџ=їІˆ'JЗІˆ'JЗ_"Sї ї† НН 5ŽE|Н'q4@ЮхяЬ.Н(LЮцЦН(LЮчЯЦН(L5@Žщі1Н&жŽщЎі0Н&жlmŽGПoŽRПqŽ]ПsŽhПuŽsПwН% ŽцŽПhќlƒџџ§lНlŽрН'1ŽхюЎфЦІ€' 'Н"ЕЇЁ}k'† џCЬН%,Z&цŽщН'4і1їnŽч.Н&жŽч.†.ЇЇЇ†2З …Нž&Q}/' ІŸ„ & ~DџН"?&{} …&піnZ&РŽAН'1ŽFх4@ЮчЮЬ Н(LЮчЮН(`5@і0'џ8†2Н%,Z&ј~Cw„п'D'H''( &›~?ŽщН%рї1Н&жŽFѓ ВŽщЎН%рї0Н&ж~CљŽAН'1~?  2DV~CєОoЁ€& m„&2b~DџŽGПo9ОqЁ€&m„&ZŽRПq9ОsЁ€&mџDЫ„&FŽ]Пs9ОuЁ€&m„&2ŽhПu9ОwЁ€&m„&ŽsПw9556ЦїН'YН'^z&ѕ~)'ŽRŒ\%Ž]Œg% ŽhŒr%ŽsmЄ&92d~D% Manual Dial Dial: Autodialer Dialing : Attempt # : џEЪ Countdown : seconds Last attempt: [D]ial time : seconds [H]ang up : seconds [SPACE] to restart [ENTER] to exit [BRџFЩEAK] to abort and exit Not connectedSpace abortŽG4Н'qЖ З„Н'C'ДD' P'QS'ъ сЖ„З ~( Buffer Commands C Clear Buffer D Display Buffer P Print Buffer S Buffer StatuџGШs 4ŽGьН'qН'N' Y&ѓН%LН'Y5~Fџ Clear Buffer Are you sure? (Y/N) Ж 4JЗ † НН%VН'' 'ї 'ѓННž'ы'Н&т5З ЏŽёŽHсЦ9Н!ˆН'YН~FџЖџ"F$"ŽIŽяоЦ9Н!ˆН'^Жџ"F$Нž'ѕ~Fџ†<Н%,Н%V}&PНž& Н''$ 'ђ 'юНЂП &ч}'т† НџHЧЂП л'Н&в† НЂП† НЂП~H]End of buffer -- press any keyPrinter Not OnlineŽI‡Н*4†.З Ь(эФіНДѓŽНКЪŽ%НМ5ќНДєŽ%НЙТŽ%НМ5ННдЬ(ўtэФŽ%НМŽ НЙЙННд%ўtЬ( Н)ŸЬ( Н)НЬ( Н)т5З Н~Fџ Buffer Status Memory Used : MemџIЦory Free : Disk Granules: Xmodem blocks: Ymodem blocks: ŽKlН'qН'нЙ1%ѕ8"ё„LЦ =4Н)'ЎBЏFьэ„ьDЃсэHН)RЎHЦ.ŽKЉН!ˆ0‰ † З`)П_ПaНKUЌD'ц!Ъ@ч!Нецї+П,іWХ?&ъч0ЄН(+НУ& Н"g'іEНв џJХЩ/ЦяНЕ&'Й'Е'4 '<'UОaЌD'Ѓі эЁПa ˜0Є0‰ Œ№р%їЦ.чі+О,ч9ьDэH†!З`~)'О_Мa' ІЁН"ЕМa%ѕ† Н"Е~JŒМ_'џO† і ЌD'эЄэЃПa~JО_† і эЌD%њО_Пa9 Conference Mode How many lines? (1-8) -------------------------= џKФUltimaterm Conference Mode =------------------------- File Structure Error Disk is write protected Input/Output Error Verification Error Unrecognized Error Disk Error џйTСџLУ'FС 'С'С'С$'ŽLf ŽKњ ŽL ŽL0 ŽLK4 ŽLН'q5 ŽхжЦН(›Ж@З~-dџQЖЗ@Н% ЏŽMeН'qН'кзL'_S'ЯD'EK'­F' B' MR' j{' s|'  С Disk Commands L Load from disk to buffer S Save buffer to disk D џMТ Directory K Kill File F Format Ramdisk R Backup to Ramdisk B Backup to Floppy F1 Default Option Save F2 Default Option Load ŽOUН'qЮjџtgН+4'ўq­Ÿ$} s'e} 'Н%L†IЦзo­џNСŸ$ќ Wƒџ&ŽO’Н'qН'-N'Y&ѓsgН'Y­Ÿ$ p&}g'  'я &Нц† Нц&сН% Џ Н(Н"ž~MЏ~N’Ц9ŽяЬŽO0Н!ˆН'^~File does not exist on this diskette Load From Disk Filename: Add Linefeeds Add LF's when lџOРoading? (Y/N) 4†<Н%,ŽR—Н'qН'$€1"ѕ4Ц =Žхд0‹ЦчН'Y5HŽTzь†§ W†џ5–ŽQIН'qўtgН%VН+4'ќћНOЯ'ќє­Ÿ$} s'ŽTН'qН'ќнN'ќзY&яН'Y%s%Н)НПSO_} s'ŽŸюЬньзъ­Ÿ$Ж vНUg†=4Н){†=ус'ќ–UГS*4ќ Wƒџ' ŽQ†Н'qН~MsUŽQУН'qН'ќgN'ќaY&яН'џPПY} s'­Ÿ$†OЦзo­Ÿ$ќ Wƒџ&ŽRZН'qН'ќ0N'Y&ёsgН'YН''ќ}g' '№­Ÿ$ ъ2m†Ї$ŠРЇФOCЇЈН% }U'ћѓŽSLН'qН'YН4Н'Y5'ћлН%`­Ÿ$~PР Save To Disk Filename: Insufficient Space File won't fit on this dџQОisk No Room There is no room on this one diskette for the file that's in memory. Would you like a multiple save performed? Remove Linefeeds Remove LF's when saving? (Y/N) File Types 1 .....џRН.......... ASCII File 2 ......... BASIC ASCII File 3 ........ BASIC Binary File 4 .... Machine Language File 5 .. Text Editor Source File Next Disk Please insert the next disk to save the file in memory onto. Press џSМto quit the save, any other key to continue.... Already Exists The file already exists on this diskette. Do you want to write over it? (Y/N) џџџŽUН'qН'јˆ0%ѕ}:'3"ь4"ш„—ыўt† НЖ 4JЗ ŽџTЛПЂƒ† ННŽŸюЬньзъ­Ÿ$ŽŸю э­Ÿ$ІЄ':C'H† НЦeЦaІ Š0Н† Н†BЋ Н† НІ TНkС $ † Н 1.1ЈŒ%ЗжэС %Є† НН?Џ5З ŽUЪŽяаЦ9Н!ˆН'YН~MІ Š€НZ&і† ~_ŽЗ;\' І†+Б;&ё946ŽUыЦгН){Нk5Ж Directory Enter DriџUКve (0-4) End of directory - Press any key Free =ŽVН'qўtН+4'їP­Ÿ$} s' ­Ÿ$Н'Y~MНO~M Kill File Filename: }:&;ŽWН'qН'/N'+Y&ѓ†—ы†—ьŽŸюЬџЇ€Z&ћ†—ъ†—э­Ÿ$J&їН'Y~M}:&јŽW“Н'qН'іi0%ѕ3"ёџVЙ„Ц‰ }:&еŽWVН'qН'іF0%ѕ3"ё„Ц4ŽŸюь†—э†цфнъ­Ÿ$†цaнъ­Ÿ$ э–э%ф ь–ь#%и5Н'Y~M Format Ramdisk Are you sure? (Y/N) Backup to Ramdisk from which drive? (0-3) Backup from Ramdisk to џWИwhich drive? (0-3) †інъЬньŽŸю­Ÿ$ э ю­Ÿ$Н'Y~MН$RН 5Н'YН(Н)'~MŽXlН'qН'Я№N'ЯъY&яŽ€† PЗџџоь„џпэŒў%ё†ЬЗџЖ.„З.HHHHК.Зџqўэџ‘џ’џ“Ьџџ§џ”џиџоnŸџў Exit Ultimaterm Are you sure? (Y/N) z†НУ'ћ|†O9џXЗŽXїН'q}'цŸФўчŸ†2Н%,ЪчŸІŸ… &Ž2Н'1і0'Я†2Н%,Z&ј~( Hangup Modem Hanging modem up now.... ŽYI†џЗ*Н'q*Н~( Freeware Information If you feel Ultimaterm is of some value and use I ask you to send a small doџYЖnation for what you believe the program is worth (suggested $20-$25) to: Ken Johnston H522 4020 37th Street S.W. Calgary, Alberta, Canada T3E 3C4 џZЕ Modem: (403) 242-3515 s&Н'YO9НО}&Ь?ŽџАЇo€Z&љџИџšsO9Ž[JН'qН'ЬрD' M'пP'ЌK'РI' pZ' 5 г Set Options D Disk Options M Modem Options P Prџ[Дinter Options K Programmable Key Set I Initialization Strings Z Miscellaneous Options =1Ћ Ž`к Ž`вmФ&1$~!†Ž\ЈН'qўtЖ ‹0Зц Ž!ŽцІН!†ŽчFЮ ЯŽчцЮСŽ]їŽш‚ЖЦЎŽщ&ЮБН'&D'љE'A'AV'AS'JB'> еН#•~[ Diџ\Гsk Options D Default Drive ........... E Default Extension ....... A Auto Clear .............. V Verify .................. S Stepping rate ........... B Double sided drives ..... Ю Žц Ž]ŽЬН%|~\?01234іїO_SїЦŽцІŽ!Н&T0†џ]В m‚&Ї„ јŽцЇЦч„ччіOї~\?s ~\?ss ‡~\?s~\?ЮŽш‚Ž]їЬН%|~\?.6 ms12 ms20 ms30 msŽ_ZН'qŽцŽ-†іН\ŽцЊ†8Л э„ŽчBŽ`Ѕ†іН\Žчъ†1Аэ„Žш„Ž`У†іН\Žщ&Ю Н\(ŽщЦЮН\(Žъ`Ž,с†іН\ŽыЮН\(ŽыІЮН\"ЮjН'<B'>W'KP'SS'`D'`Lџ^Б'mA'mT'mR'ˆF'ˆ ПН 5~[ЮŽцŽ-ЬН%|~^Os '†З~^ЮŽчBŽ`ЅЬН%|~^s~^ЮŽш„Ž`УЬН%|~^s ~^s~^ЮŽъ`Ž,сЬН%|_ІФ"Sї ї~^s~^s~^ Modem Options B Baud Rate ............... W Word Length ..........џ_А... P Parity .................. S Stop bits ............... D Duplex .................. L Linefeeds ............... A Auto-Buffer ............. T Terminal Type ........... R Deluxe RS-232 Pak ....... F Linefeed Filter ......... .None..Odџ`Џd.Even.MarkSpaceFullHalfEchoYes.No.OnOffŽaGН'qНбŽцŽaР†іН\ŽцІЮН\(ŽчFіН&жН'њD'!L'B&ыЮŽцŽaРЬ Н%|~`щs~`щŽчFН%рї~`щ Printer Options B Printer Baud Rate ....... L Printer Linefeeds ....... D Printer LџaЎine Delay ...... ..150..300..600.1200.2400.3600.4800.7200.960019200ŽbбН'qЦ їŽђŽхкЬ40Н&<‰Н!ˆ500‰ 1Јz&хŽ Цї0‰ЊЬ40Н&<‰Н!ˆ500‰ 1Јz&хН'јН{%~#;0%ы9"ч€04Ц=Žђ1Ћ54 Ц =Žхк0‹Ž*ЦН&T5 'џpŽ*ЦН(<~b€{4Ц=Ž 1Ћ5џb­4 Ц =ŽьФ0‹Ž*ЦН&T5 'џ=Ž*ЦН(<~b Programmable Key Set [0] [1] [2] [3] [4] [5] [6] џcЌ [7] [8] [9] F1 F2 SHIFT-F1 SHIFT-F2 џdЋ Že"Н'qŽхшЬ Н&<Ž~Н!†Žц€ЬН&<މН!††ЗхгЗцsН'і.K' M&ёŽц€Ž*ЦН&T'ЛŽ‰ЦŽ*Н(< ­Ц Ž*ŽхшН&T'ŸŽ~Ц т Initialization Strings Keyboard: Modem: ŽfpН'qŽці+Н&жŽцІі*Н&жŽчFі,Н&жŽчцЮ-Н\"ŽшџeЊ†ЮН\(Žщ*і.TTTTФЫ1ч„ŽщЪі.ФЫ1ч„Н'ѕBT'/D'S'3B'5Y'^Z'3R&нŽцІН%рї* ‰ŽцН%рї+~e„ŽчFН%рї,~e„s-~e„s~e„Ю*Ж.„ЇФŽщЪŽ]ЬН%|і.Ф0ъФї.їџ~e„Ю*Ж.DDDD„ЇФŽщ*Ž]ЬН%|цФXXXXчФі.Ф Ы Miscellaneous Options D Repeat delay time .....џfЉ.. R Repeat speed ............ T Keyclick tone ........... S Sound ................... B Destructable BS ......... Y RS232 pak slot .......... Z Disk drive slot ......... Жџ"F%'ўtЎBІ*†. $†.НЂПЌD%э† НЂП}'† НЂПЏO9s)O9ŽgЩН*4Ь,эФ†.ЗџgЈ Н%V_Н''4ыр ѕ˜Н' 5З Н~( Buffer Checksum Checksum: s 'Н"‚ Н"žO9Žh$Н'qЦ Н(Ћ~( Version Ultimaterm 4.0 Жw&"ŽhН'qŽх№Н%рїŽцН%рїŽч0Н%рї~( Set Time џhЇ Hour : Minute : Second : ќ §Ж З„ќl§pќn§rŽj^ПЌG}%& OŽцŽ' †џŽ(ЪŽ(кЗ%П7П5ЦЮtœŽtй}%'ŽtЛНЦЮjŽsЪН'qН'.B'НD'УT' йR' S'AX'#Y'hU'l Эќ§ Ж„З ŽLОџiІПЌGН 5~(4ЦŽъмІЇZ&љ5Зы9ПiєvwљОПŽ|ЦН%8'Ї Ю›љ—љНž& 0&ш92b~&ђ2b~lЙ4Ц眘vжwXI$ˆШ! њ&єнv5†Оvwљ†Œ€'†Н"ЕЖН"ЕCН"ЕІ Н"ЕО›љ—љ0&я94ЦŽыІƒЇZ&љ5Зъм9ŽLОПЌGЖ„З ќ§ Н 5Žj‡Н(–Н% †Н(СЏ~-яDisk error during transfer4ЬџjЅ.эФќ Нlƒџџ§ 5†ЦџїƒЬ:4Ь. эФіƒ\їƒНkС 5†Цџї‚Ь4Ь. эФі‚\ї‚Нk|VС %о2d~lХ4Ь. эФќ…ƒџџ§…Нl5†Цџї}4Ь. эФі}\ї}Нk5†~}&RОŽ|П­Ÿ5& s~9­Ÿ5'Ї 0&є9Пs~o 0&њќƒ|ƒ€")|ƒ€.јЬ€§~Ž{€ПО0‰€Пz&s~O94vќ § Ž|ЮxОџkЄП ьэС1>&ј5і46ќ 'О ŽxІ ­Ÿ70&іП 5Ж†З4Нž&ЦН%8&z&я5„&щ2c~lЙї€4НkІфН"ЕН%НkЦїНž&ЦН%8& z&яz€&к5„&ф2c~lЙ Timed Out Try Again (Y/N) 4 Žl-Н'qН'N'Y&ѓŽr#Н'q 5 ~!2dН(Л~i—4ŽънЬ.чJ&ћџlЃ5–†Н(СНkŽmЮЦН(˜~i—Žlї *Žm $Žm- ŽmH Žmc Žm} Žm˜ ŽmГ Н% †Н(СН(–~i— Manually Aborted Timed out on block Too many block errors Transfer Cancelled Final Acknowledge Missing Unexpected Block Timed oџmЂut on Receive No Such File Successful Transmission! Checksum46ŽщМŽmщН!†5ЖXmodem Transmit Xmodem ReceiveYmodem Transmit Ymodem Receive46Žс@Žn–Œу 'DmЄ' І„пЁ 'я щЬ: Z'0Ё&љЬ Z'&Ё'љ0О.Ц Іa%z"„пЇŸ.|/Z&ъП.5ЖFILE4 Н%ЗџnЁ9}%'VŽoН'qН+4'dЖ9O'­Ÿ$} s&,2dЏ~lуНOЯ'H­Ÿ$} s'Žo\Н'qН'3N'/Y&ѓН'YЖ9Цзo­Ÿ$Н(рНž&ћŽr#Н'qНl–Нo™5 ўt~!2dЏ~iG Transfer File Filename: File already Exists Save over it anyways? (Y/N) Ь§ \џo §§ _§ §…§‚§ †.З ŽПЂƒ~ 5†IŽnНn›Н%VЬ.Н)Н†ZНkг'‡'s‡C'Нkж ыŽnНlj дНmђŽ€ 1†IŽn!Нn›Н%VЬ.Н)Ÿ†ZНkг' C'Нkж ѕŽn!Нlj оЗ‡ŽПНk&&SОНj–љ}‡'мvН"Е˜]Н"ЕН%Нkб'H'"''Нkж эНjЂНjЗНjд}~& ЙНjк ЙНkб'&е~lЫ†Ц Нkє'ќ9'ќНџpŸkї ёНjН'ќ ЊНnB†OŽnНn›†CЦЗ‡Нkє&‡Нmђ†Ц Нkє& ŽnНlj м'M'I'%Нmђ†Нkї нНnB†OŽn2Нn›†CЦ З‡Нkє& Žn2Нlj ы'' 'щ†CНkї рНk}%&} 'Н%LJ&Ь€ Ь§VНkб'ЎЗIНkб'ЄCБI'Нjк Б' Нk”НjЂБ&ћXŽrНiУНkб'|}‡&‘љ& ‰MНkб'iџqž‰“v&}V& НjдНjЗ† Нjк†НkДН"ЕVНkб'@J'џxJ'џx'>&.Нkб')&%}%'њуŽtїН'qН'N' Y&ѓН% ­Ÿ$~i—Н% НjН'њЏ Є†Н(СНk”НkДНjЂ~lЊ Blocks to Send : Blocks transmitted: Block timeouts : Bџrlock errors : Response Timeouts : Total errors : Error Correction : CRC [ ] Н%V,Н''"Н"ЕННž&Н"?'ы&ч#~lЫ&ю~lЙ~l­ўtЖ З|JЗ † ~Ж|З 9хџsœ†ЗIНkб& zI&іц~lн} 'Н%LННц† Нkг&ѓЬ~l­ Transfer Files T Transmit Buffer R Receive Buffer S Xmodem Send U Ymodem Send X Xmodem Receive Y Ymodem Receive™t› B File Transfers to BUFFER D File Transfers to DISK Transfer Cancelled Delete the file on disk? Є-~-яw;џ-я Ymodem Send X Xmodem Receive Y Ymodem Receive™t› B File Transfers to BUFFER D File Transfers to D In a multiple save, the file is saved as much as can be on the current disk and then you will be prompted to insert another disk to continue saving the file (under the same name) on. If the file saved is any other type and it is too long to fit on the current disk, you will be told the file will not fit and the save will be halted. If the file saved is an ASCII File, you will be asked if you want to strip linefeeds during the save. If you reply yes, then any time a linefeed is encountered in the file, it will be ignored and won't make it to the file on disk. If the filename you wish to save under already exists on the disk, you will be told so and asked if you want to save the file anyway. "Directory" simply allows you to take a directory of the RSDOS disk or ramdrive (if 512K is present). It will also display the number of granules that are free. "Kill File" allows you to kill a file on the RSDOS disk or ramdrive (if 512K is present). It is the same as the KILL command under RSDOS. "Format Ramdisk" allows you to erase the contents of the ramdisk giving you 68 granules free. "Backup to Ramdisk" allows you to BACKUP from a floppy to the ramdisk to make file transfers go much faster. Of course, this will only work if 512K is present. "Backup to Floppy" allows you to do just the opposite of the previous. The disk you want to backup onto must be formatted in RSDOS or an error will occur. "Default Option Save" allows you to save all the changeable parameters of Ultimaterm onto disk. The parameters are saved onto track 17, sectors 17 and 18 where they are out of the way of regular RSDOS operation. "Default Option Load" allows you to load all the changeable parameters of Ultimaterm from disk. Although these parameters are loaded upon the initial execution of Ultimaterm, you may have changed a few of the parameters and would like to load the originals back. For this reason, I've provided "Default Option Load". 17 [ALT]-[E] Exit This command allows you a clean exit back to RSDOS to save you the trouble of pressing [ALT]-[CTRL]-[RESET] or turning your Coco 3 off and on. When you select EXIT, the ROMS are copied back to RAM and the reset vector is called to perform a warm start. [ALT]-[F] Freeze Screen For those of you who hate watching text scroll by you at 2400 baud with no means of stopping it temporarily, I've provided a screen freeze command that will halt screen display while still giving you all the [ALT]-[commands] at your fingertips. To enable text-to-screen again, simply press any key other than one of the [ALT]-[commands]. ** NOTE ** Only 3K of text will be buffered. When the buffer is full it will start to write over the text that has already been received. [ALT]-[H] Hang-up Modem This command will try to hang-up the modem in one of two ways. If you have an RS232 pak, the first thing that the modem tries is dropping DTR for a second and then raising it again. If a connection is still present, it tries the second method. The second method is the only method tried if you don't have the RS232 pak. The hang-up string (changeable from the Autodial Options) is sent to the modem. If none of these work, you can always unplug your modem from the wall or turn it off?! [ALT]-[I] Freeware Information This is the section that asks you to send me a donation for my efforts in bringing you Ultimaterm. Please remember that Ultimaterm is Freeware which means you are under no obligation to support any future efforts I might decide to bring to the CoCo 3 world... If you do decide to send some money, I will send you back a licensed copy of Ultimaterm with a printed copy of the manual. If anyone should send a donation to me and says they got it from "such and such"'s serialized copy (please include the serial number) then I will send them back 10% of your donation. ** NOTE ** The only copy of Ultimaterm that will appear on Delphi or CIS or any other major network will be '000000' to be fair to everyone else who has donated. 18 [ALT]-[K] Keyclick toggle Keyclick is simply a sound that is generated each time you press a key on the keyboard that the computer picks up (in case you didn't know!). I find it very useful myself while others find it annoying. You can toggle keyclick on and off by pressing [ALT]-[K]. [ALT]-[M] Monochrome/Composite toggle Not everyone is blessed with an RGB monitor of any brand. If you are using a television or monochrome monitor, [ALT]-[M] will be especially of interest to you. This command toggles the display between black on white and shades. When in "black on white", the colorburst will be disabled to make an even clearer picture on a TV set. [ALT]-[O] Set Options Please refer to the beginning of this manual so I don't have to type this section in all over..! [ALT]-[P] Print Screen This does a straight dump of the screen to an 80 column printer so that you can forever keep a copy of the current display on the screen. If the printer is not ready, the screen dump will be aborted so as Ultimaterm doesn't sit around waiting for a printer to come online. If you have to, use [ALT]-[F] to freeze the screen while you get your printer ready. [ALT]-[Q] VT Keypad Toggle For all you people who use your terminal program on a VAX network of any kind, Ultimaterm will not only support screen controls sent out by these systems, but will also do it's best to emulate the keyboard of one. When [ALT]-[Q] is turned on, you will see a "%" on the top status line and some keys will be reassigned new values. They are as follows: VT-100 or ANSI emulation Key New Assignment Transmitted codes ------------- -------------- ----------------- Shift @ Home cursor (1B5B48) Up arrow Cursor up (1B5B41) Down arrow Cursor down (1B5B42) Right arrow Cursor right (1B5B43) Left arrow Cursor left (1B5B44) CLEAR Clear screen (1B5B481B5B324A) Shift ENTER Erase to end of line (1B5B4B) 19 VT-52 emulation Key New Assignment Transmitted codes ------------- -------------- ----------------- Shift @ Home cursor (1B48) Up arrow Cursor up (1B41) Down arrow Cursor down (1B42) Right arrow Cursor right (1B43) Left arrow Cursor left (1B44) CLEAR Clear screen (1B481B4A) Shift ENTER Erase to end of line (1B4B) If in VT-100 emulation and the host asks for application control functions, then Ultimaterm will change all the "1B5B" sequences in cursor movements to "1B4F". If you're not familiar with what I mean by "Transmitted codes", all I'm saying is that when you press a key (e.g., CLEAR under VT52), the codes 1B (ESCape) 48 ("H") 1B (ESCape) 4A ("J") will be transmitted across the modem. [ALT]-[S] Buffer checksum This command adds together the 8-bit values of the bytes in the buffer and comes out with an 8-bit checksum value. The only real use for this is to check a file after it's been received to make sure the receiver got the file properly. Since Xmodem and Ymodem have their own error detection and correction processes, this command's value will lie in ASCII transfers. The larger the file is, the longer you'll have to wait to be told the calculation of the CRC. [ALT]-[T] Buffer Toggle Any incoming text can be stored in the text buffer for future saving to disk or transmission. To open or close the buffer, press [ALT]-[T]. When the buffer is open, the cursor will change to a block and an "*" will appear on the top status line. When closed, the cursor will appear as an underscore. [ALT]-[V] Ultimaterm Version This is just a single window that serves no other purpose than to display the version of Ultimaterm that you are using. 20 [ALT]-[X] Transfer Files The "Transfer Files" section allows you to transmit or receive files using three different methods. Ultimaterm also allows files to be sent from the text buffer or right from disk (or ramdisk if 512K is present). When you select [ALT]-[X] the following window will appear: Transfer Files T Transmit Buffer R Receive Buffer S Xmodem Send U Ymodem Send X Xmodem Receive Y Ymodem Receive D File Transfers to DISK "Transmit Buffer" simply sends the contents of the buffer across the modem in a straight ASCII dump. If a CAN (^X) is received from across the modem or you press [SHIFT]-[BREAK] (ESC), the transmission will be aborted. "Receive Buffer" simply waits for an ASCII transmission from across the modem and then opens the buffer and captures all incoming text. If no text is received within one minute of selecting "Receive Buffer" then the message "Timed out on Remote" will be displayed. If, after the transmission is started, no text is received within two seconds, then Ultimaterm will assume a successful transmission and close the buffer. If "Auto-Clear" is enabled, Ultimaterm will not clear the buffer until the first character is received. This allows you to abort the transmission with [SHIFT]-[BREAK] and not loose any contents in the buffer. Pressing [D] allows you to perform Xmodem or Ymodem transfers to/from disk. When disk is selected, the choice on the menu will change from "File Transfers to DISK" to "File Transfers to BUFFER". Press [B] and Xmodem or Ymodem transfers will be performed to/from buffer. The status of the disk/buffer flag is saved with the default options. If transfers to disk are selected and you choose Xmodem or Ymodem Receive then the top five lines are scanned for a filename. First it looks for the word "File" in any case. Then it looks for a ":" within ten characters from the word "File". Finally it skips over any spaces (up to ten) to the filename which it reads in and converts to uppercase. Correct formats which Sysops might want to implement in their file sections could be as follows: File : Ultimate.bin or FILENAME: ULTIMATE.BIN or File: Ultimate.BIN I'm sure you get the idea. 21 "Xmodem Send" allows you to transmit a file from either disk or buffer using Ward Christensen's original protocol or the CRC option as explained by John Byrns in "XMODEM/YMODEM PROTOCOL REFERENCE" edited by Chuck Forsberg. "Ymodem Send" allows you to transmit a file from either disk or buffer using the Ymodem protocol explained by John Byrns in the aforementioned document. "Xmodem Receive" allows you to receive a file to disk or buffer using either the original Xmodem checksum protocol designed by Ward Christensen or the Xmodem CRC protocol explained by John Byrns. "Ymodem Receive" allows you to receive a file to disk or buffer using the Ymodem protocol explained by John Byrns. If you are receiving to disk, you will be asked for the filename, extension and drive to receive to (select drive 4 to receive to ramdrive) and then you will be asked for the file type (ASCII, BASIC binary, etc.). If you are transmitting from disk, you will be asked for the filename, extension and drive of the file you wish to send. The X/Ymodem window will pop up and transmission will start. First thing that happens is the CRC option is attempted. A "C" is sent across the line signaling the transmitter that Ultimaterm will accept the transmission using CRC protocol. If the receiver doesn't work with CRC, it will ignore the three attempts Ultimaterm makes at CRC and should catch when Ultimaterm switches over to checksum. If, after ten attempts at checksum, no response is received from the transmitter, Ultimaterm will print the window "Timed Out" and ask if you would like to try again. If you select yes, Ultimaterm will restart the transmission making three attempts at CRC and ten attempts at checksum. If you say no, you will be returned to terminal mode. While the transmission is coming across, you will get to watch it through a 20 byte window along the bottom of the Xmodem Receive window. At any time during ANY transmission (be it Xmodem or Ymodem) you can abort the transfer by pressing [SHIFT]-[BREAK] (ESC). If you're receiving a file, Ultimaterm will wait until the transmitter stops sending the current block and then let the sender know the transmission is aborted. If you are receiving a file to disk, and the disk becomes full to capacity, the transmission will be aborted to save you any further charges on long distance transmissions. 22 CRC Option The formal definition of the CRC calculation is "The message polynomial is first multiplied by X^16 and then divided by the generator polynomial (X^16 + X^12 + X^5 + 1) using modulo two arithmetic. The remainder left after the division is the desired CRC" (XMODEM/YMODEM PROTOCOL REFERENCE, Edited by Chuck Forsberg, 5.1.1 Formal Definition (CRC Calculation)). A sample calculation under 'C' (right from the above source) is /* This function calculates the CRC used by the XMODEM/CRC Protocol. * The first argument is a pointer to the message block. * The second argument is the number of bytes in the message block. * The function returns an integer which contains the CRC. * The low order 16 bits are the coefficients of the CRC. */ int calcrc (ptr, count) char *ptr; int count; { int crc, i; crc = 0; while(--count >= 0) { crc = crc ^ (int)*ptr++ << 8; for (i=0; i < 8; ++i) if(crc & 0x8000) crc = crc << 1 ^ 0x1021; else crc - crc << 1; } return (crc & 0xFFFF); } Since I don't understand 'C' yet, and the formal definition went above my head, CRC seemed an impossibility until Rex Hebert sent me the OS9 assembled source under the 6809 which he in turn got from Delphi. In Ultimaterm V3.0 I waited until the block was received and then calculated the CRC on the block. In Ymodem transmissions, block lengths of 1024 characters caused a noticeable delay while the CRC was being calculated and I realized that this delay would be costing users of DELPHI and CIS a bit extra money. I rewrote my CRC calculation subroutine so that as each character was received, it would be added to the 16 bit CRC which would be started at zero. 23 Because the original CRC calculator was not written by me, I would like to offer the subroutine used in Ultimaterm to public consumption. It is as follows: * * CRC Calculator for X/Ymodem * * enter with (A) holding the byte to add * to the CRC. Exit with the two-byte * variable 'CRC' holding the updated CRC * calculation. * CRC FDB $0000 Variable to hold the CRC CRCVAR FCB $00 Variable to count the SHIFTs * CALCRC PSHS D Preserve registers used LDB #8 Get ready for the 8 bit shift STB CRCVAR Hold it for later EORA CRC XOR byte to the CRC LDB CRC+1 Make (D) the entire CRC value CRC1 ASLB Rotate the (D) register to get the ROLA dropped bit (X^16) in the carry flag BCC CRC2 Branch if not X^16 EORA #$10 Otherwise XOR with the rest of EORB #$21 the polynomial (X^12 + X^5 + 1) CRC2 DEC CRCVAR All 8 bits shifted through? BNE CRC1 Not yet STD CRC Else save the new CRC PULS D,PC and return * With the CoCo 3 running at double speed, the above CRC routine doesn't seem to slow down any running 2400 baud through the serial port. To save a few extra cycles, I have the CRC variables in direct page ram. 24 Ultimaterm Clock files One thing Ultimaterm had that many people liked was the ability to support a hardware or software clock. To add the clock display to Ultimaterm, one had to run a program called "ADDCLOCK.BAS" which appended the ML clock to Ultimaterm so they would both be loaded at the same time. Unfortunately, in the course of it's travel to Delphi, Ultimaterm ended up some 512 bytes shorter than when it left me, and the appending of the clock didn't work. All you have to do for Ultimaterm V4.0 is rename the clock file you wish loaded to "ULTCLOCK.BIN" and when you LOADM Ultimaterm, it will load that file automatically. I have included three sample clock files with Ultimaterm for some of the more common real time clocks that are available for the CoCo. The first of these files is called "MC146818.CLK" and allows the displaying of time using that particular clock chip. The Speech Systems RTC will work with that clock file as will most home-made clocks. The second file is called "DISTO.CLK" and will work with the Disto clock or any other clock that uses the MSM5832 chip. The third clock file that comes with Ultimaterm is a software clock. If the software clock is selected and loaded into memory by Ultimaterm, then the time can be set from the terminal mode with [ALT]-[Z]. The software clock is by no means reliable, but will give you a general impression of just how long you've been using a system. The clock speed will vary with what baud rate you have and whether you use the serial port or the RS232 pak. 25 Ultimaterm's Keyboard Another area of Ultimaterm not left untouched was the keyboard driver. I wrote a new one that allows much better control over the speed and delay of the key repeat. Besides all the regular keys (like [A], [S], [D] and [F]) I have assigned a few unique values to a few keys or key combinations (some you know of course). They are as follows: To generate Press -------------------- ------------------ Up arrow pic [^@] Caret ^ [SHIFT]-[@] Underscore _ [SHIFT]-[up arrow] Left Brace [ [SHIFT]-[dn arrow] Right Brace ] [SHIFT]-[rt arrow] DELETE ($7F) [SHIFT]-[lf arrow] Right parenthesis { [F1] Pipe | [F2] Left parenthesis } [SHIFT]-[F1] Tilde ~ [SHIFT]-[F2] ^C ($03) [BREAK] BS ($08) [lf arrow] TAB ($09) [rt arrow] LF ($0A) [dn arrow] VT ($0B) [up arrow] FF ($0C) [CLEAR] CR ($0D) [ENTER] ESC ($1B) [SHIFT]-[BREAK] -------------------- ------------------ All [CTRL] key combinations are also enabled. Screen Control Certain characters or combinations of characters will perform various controls over the screen. The following lists the characters and what they do no matter what terminal emulation is set: Character rcvd What it does -------------- ---------------------------------------- BEL ($07) Rings Ultimaterm's bell BS ($08) Backs the cursor up one column HT ($09) Moves the cursor to the next 10's column LF ($0A) Moves the cursor down one row VT ($0B) Moves the cursor up one row FF ($0C) Clears the screen, homes the cursor CR ($0D) Moves cursor to column 0 of the same row -------------- ---------------------------------------- 26 DEC VT-52 Control Codes The following is a list of the supported VT-52 control codes that are received or transmitted when Terminal Type is set to VT52: A Move cursor up B Move cursor down C Move cursor right D Move cursor left E Erase screen H Home cursor I Reverse LF with scroll J Erase from cursor to end of screen K Erase from cursor to end of line Yrc Move cursor to row (r-32), column (c-32) Z Identify /Z Response to Identify b Erase from cursor to start of screen j Save cursor position k Restore cursor position l Erase line o Erase from cursor to start of line p Light background q Dark background x2 Key click off x5 Cursor invisible y2 Key click on y5 Cursor visible < Use VT-100 escape sequences 27 The following is a list of the supported VT-52 functions and the keys they are assigned to when Terminal Type is set to VT52 and the VT Keypad is on (ALT-Q): Ultimaterm keys DEC VT-52 FUNCTION TRANSMITTED CODES (hex) ----------------------------------------------------------------- Control-I ......... Horizontal Tab ........................... 09 Shift Left Arrow .. Character Delete ......................... 7F Shift @ ........... Home Cursor ............................ 1B48 Up Arrow .......... Cursor Up .............................. 1B41 Down Arrow ........ Cursor Down ............................ 1B42 Right Arrow ....... Cursor Right ........................... 1B43 Left Arrow ........ Cursor Left ............................ 1B44 CLEAR ............. Clear Screen ....................... 1B481B4A Shift ENTER ....... Erase end of line ...................... 1B4B ALT 0 ............. Keypad Application mode 0 ............ 1B3F70 ALT 1 ............. Keypad Application mode 1 ............ 1B3F71 ALT 2 ............. Keypad Application mode 2 ............ 1B3F72 ALT 3 ............. Keypad Application mode 3 ............ 1B3F73 ALT 4 ............. Keypad Application mode 4 ............ 1B3F74 ALT 5 ............. Keypad Application mode 5 ............ 1B3F75 ALT 6 ............. Keypad Application mode 6 ............ 1B3F76 ALT 7 ............. Keypad Application mode 7 ............ 1B3F77 ALT 8 ............. Keypad Application mode 8 ............ 1B3F78 ALT 9 ............. Keypad Application mode 9 ............ 1B3F79 ALT - (dash) ...... Keypad Application mode - (dash) ..... 1B3F6D ALT , (comma) ..... Keypad Application mode , (comma) .... 1B3F6C ALT . (period) .... Keypad Application mode . (period) ... 1B3F6E ALT ENTER ......... Keypad Application mode ENTER ........ 1B3F4D ALT F1 ............ Program Function 1 (PF1) ............... 1B50 ALT F2 ............ Program Function 2 (PF2) ............... 1B51 ALT F3 ............ Program Function 3 (PF3) ............... 1B52 ALT F4 ............ Program Function 4 (PF4) ............... 1B52 28 DEC VT-100 Control Codes The following is a list of the supported VT-100 control codes that are received or transmitted when Terminal Type is set to VT100: 7 Store cursor location and attributes 8 Get cursor location and attributes D Index (same as linefeed) E New line (go to first column of next line) M Reverse linefeed Z Identify (not recommended.. see ESC [c) < Sets terminal for ANSI escape sequences > Sets auxiliary keypad to numeric = Sets auxiliary keypad to escape sequences [xA Move cursor up x lines [xB Move cursor down x lines [xC Move cursor right x lines [xD Move cursor left x lines [r;cH Move cursor to row r, column c [0J Erase from cursor to end of screen [1J Erase from cursor to start of screen [2J Erase entire screen [0K Erase from cursor to end of line [1K Erase from cursor to start of line [2K Erase entire line [0c Identify [?1;0c Response to Identify [r;cf Move cursor to row r, column c [?1h Cursor keys generate application control functions [?2h Use VT-52 escape sequences [?5h White screen background [>4h Home and Clear on FF [>14h Half duplex [?1l Cursor keys generate ANSI cursor control sequences [?5l Black screen background [>4l LF on FF [>14l Full duplex [m Default attributes (white on black, no attributes) [0m Default attributes (white on black, no attributes) [4m Turn underline attribute on [7m Inverse letters [5n Device Status Report [0n Term OK (echoed back for DSR) [6n Cursor Position Report [r;cR Cursor is at row r, column c (echoed back for CPR) [t;br Set top and bottom margins (for scroll) [h;m;st Set time to h:m:s [0v Visible cursor [1v Invisible cursor [2v Cursor is underline [3v Cursor is block 29 The following is a list of the supported VT-100 functions and the keys they are assigned to when Terminal Type is set to VT100 and the VT Keypad is on (ALT-Q): Ultimaterm keys DEC VT-100 FUNCTION TRANSMITTED CODES (hex) ----------------------------------------------------------------- Control-I ......... Horizontal Tab ........................... 09 Shift Left Arrow .. Character Delete ......................... 7F Shift @ ........... Home Cursor .......................... 1B5B48 Up Arrow .......... Cursor Up ............................ 1B5B41 Down Arrow ........ Cursor Down .......................... 1B5B42 Right Arrow ....... Cursor Right ......................... 1B5B43 Left Arrow ........ Cursor Left .......................... 1B5B44 CLEAR ............. Clear Screen ................. 1B5B481B5B324A Shift ENTER ....... Erase end of line .................... 1B5B4B ALT 0 ............. Keypad Application mode 0 ............ 1B4F70 ALT 1 ............. Keypad Application mode 1 ............ 1B4F71 ALT 2 ............. Keypad Application mode 2 ............ 1B4F72 ALT 3 ............. Keypad Application mode 3 ............ 1B4F73 ALT 4 ............. Keypad Application mode 4 ............ 1B4F74 ALT 5 ............. Keypad Application mode 5 ............ 1B4F75 ALT 6 ............. Keypad Application mode 6 ............ 1B4F76 ALT 7 ............. Keypad Application mode 7 ............ 1B4F77 ALT 8 ............. Keypad Application mode 8 ............ 1B4F78 ALT 9 ............. Keypad Application mode 9 ............ 1B4F79 ALT - (dash) ...... Keypad Application mode - (dash) ..... 1B4F6D ALT , (comma) ..... Keypad Application mode , (comma) .... 1B4F6C ALT . (period) .... Keypad Application mode . (period) ... 1B4F6E ALT ENTER ......... Keypad Application mode ENTER ........ 1B4F4D ALT F1 ............ Program Function 1 (PF1) ............. 1B4F50 ALT F2 ............ Program Function 2 (PF2) ............. 1B4F51 ALT F3 ............ Program Function 3 (PF3) ............. 1B4F52 ALT F4 ............ Program Function 4 (PF4) ............. 1B4F52 30 ANSI-BBS Control Codes The following is a list of the supported ANSI-BBS control codes that are received or transmitted when Terminal Type is set to ANSI: [xA Move cursor up x lines [xB Move cursor down x lines [xC Move cursor right x lines [xD Move cursor left x lines [r;cH Move cursor to row r, column c [0J Erase from cursor to end of screen [1J Erase from cursor to start of screen [2J Erase entire screen [0K Erase from cursor to end of line [1K Erase from cursor to start of line [2K Erase entire line [xL Inserts x blank lines at cursor line [xM Deletes x lines including cursor line [x@ Inserts x blank characters at cursor [xP Deletes x characters including cursor character [r;cf Same as [r;cH (not recommended) [6n Cursor Position Report [r;cR Cursor is at row r, column c (echoed back for CPR) [s Save cursor position [u Restore cursor position [m Default attributes (white on black) [4m Set underline attribute [5m Set flashing attribute [7m Invert colors [3xm Set foreground color to 'x' [4xm Set background color to 'x' For foreground and background colors, when 'x' is '0', color selected is black when 'x' is '1', color selected is red when 'x' is '2', color selected is green when 'x' is '3', color selected is yellow when 'x' is '4', color selected is blue when 'x' is '5', color selected is magenta when 'x' is '6', color selected is cyan when 'x' is '7', color selected is white NOTE: In a default save, the current attribute is saved, so you can select a color display you like and save it for each time you use Ultimaterm. 31 Vidtex Control Codes These are taken from the manual to "Greg-E-Term" with only three differences to GETERM.. Ultimaterm responds with "ULTIMATERM 4.0" for the Interrogate command.. Ultimaterm will always reset to it's default palettes and not those according to Extended Color Basic.. and Ultimaterm will not allow it's screen to be altered from the 80x28 display it is at. It returns a NAK for the screen mode command. The following is a list of supported Vidtex control codes that are received or transmitted when Terminal Type is set to Vidtex: A Move cursor up B Move cursor down C Move cursor right D Move cursor left H Home cursor I Interrogate: Ultimaterm responds "ULTIMATERM 4.0" J Clear to end of screen K Clear to end of line Yrc Move cursor to row (r-32), column (c-32) j Clear screen, home cursor Ax Set attribute to 'x' Bx Set border color to 'x' C Returns $FF for CoCo 3 D Forces Ultimaterm to 8n1 I Interrogate: Ultimaterm responds with $07 for CoCo III 80x24 screen Ppc Set palette 'p' to color 'c' Rx Set palettes to default; ignores x Sx Ignores this command, returns NAK ($15) 32 x24 screen Ppc Set palette 'p' to color 'c' џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџz& :ƒ&-:ƒ This allows one to change the&T:ƒ addresses that Ultimaterm looks&|(:ƒ for the 6551 so that one can use&Ѓ2:ƒ paks addressed differently than&Й<:ƒ the RS232 Pak.&РF:ƒ&ЩPт 40&бZž 5&йd‡:‡&фn• 1000&јxп 0,17,17,A$,B$' ‚AГџŠ(џŽ(A$,1))'JŒ‡:‡Є12)"Ultimaterm V";Ћџ‹(48Ћџ(AЎ16))Ћ"."Ћџ‹(48Ћ(A А 15))'P–‡'V ‡']Њ:ƒ'†ДR1ГџŠ(џ(A$,2,1))­256ЋџŠ(џ(A$,3,1))'ЏОR2ГџŠ(џ(A$,4,1))­256ЋџŠ(џ(A$,5,1))'иШR3ГџŠ(џ(A$,6,1))­256ЋџŠ(џ(A$,7,1))(вR4ГџŠ(џ(A$,8,1))­256ЋџŠ(џ(A$,9,1))(м:ƒ(%ц‡ "Read/Write : ";џœ(R1)(+№‡(Hњ‡ "Status : ";џœ(R2)(N‡(k‡ "Command : ";џœ(R3)(q‡(Ž"‡ "Control : ";џœ(R4)(”,‡(š6‡(Щ@‡ " Press to leave unchanged "(аJ:ƒ(щTё 20,6:‡ "Change: ";(ѕ^Л ‰ R1$)hё 20,8:‡ "Change: ";)rЛ ‰ R2$)4|ё 20,10:‡ "Change: ";)@†Л ‰ R3$)Zё 20,12:‡ "Change: ";)fšЛ ‰ R4$)mЄ:ƒ)„ЎPLГ2:R$ГR1$:І 510)›ИPLГ4:R$ГR2$:І 510)ВТPLГ6:R$ГR3$:І 510)ЩЬPLГ8:R$ГR4$:І 510)нжр 0,17,17,A$,B$)хрž 5)іъ‡"Done...":Š)§є:ƒ* ў… R$Г"" Ї *RГџ‰("&H"ЋR$)*<R1Гџ(RЎ256):R2ГRЌR1­256*Sџ(A$,PL,1)Гџ‹(R1)*l&џ(A$,PLЋ1,1)Гџ‹(R2)*r0*y::ƒ$:І 510)›ИPLГ4:R$ГR2$:І 510)ВТPLГ6:R$ГR3$:І 510)ЩЬPLГ8:R$ГR4$:І 510)нжр 0,17,17,A$,B$)хрž 5)іъ‡"Done...":Š)§є:ƒ*џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ,LOOP­7Ћ1,7)/J‹ LOOP/K:ƒ/8L… BFГ0 Ї SLГ0 :„ SLГ8/IM€ LOOPГ0 Ѕ 7/aNу LOOP,COL(LOOPЋSL)/lO‹ LOOP/‡Pё 15,0:ј 1,0:‡BF$(BF);/—Q… BOX Ї 101/žR:ƒ/ЎS:ƒSET BOXES/ЕT:ƒ/ФU€ L1Г0 Ѕ 1/гV€ L2Г0 Ѕ 3/щWё 2ЋL2­10,2ЋL1­11/ѓXј 1,00Y‡ COL$(џ4­L1ЋL2);0Zё 2ЋL2­10,10ЋL1­1107[‡ џ‹(&H31ЋL1­4ЋL2);0F\€ L3Г0 Ѕ 60_]ё 2ЋL2­10,3ЋL1­11ЋL30o^ј 0,4­L1ЋL20ƒ_‡ " ";џ‹(8);0Œ`‹ L30•a‹ L20žb‹ L10ЈcBOXГ10Џd:ƒ0ЧeA$Гџ’:… A$Г"" Ї 1010сf… A$Г"F" Ї BFГ1:Ѕ 760ћg… A$Г"B" Ї BFГ0:Ѕ 761h… A$Г"S" Ї 1371!i… A$Г"Q" Ї 1431=j… A$Д"1" Б A$В"8" Ї 1011PkTCГџŠ(A$)Ќ&H311slё 4Ћ(TC А 3)­10,10Ћџ(TCЎ4)­111„mј 1,0:‡ "^";1‹n:ƒ1žo:ƒCOLOR CHANGE1Ѕp:ƒ1МqA$Гџ’:… A$Г""Ї 1131бr… A$Гџ‹(8) Ї 1211цs… A$Гџ‹(9) Ї 1301§t… A$ДВџ‹(13) Ї 1132 uё 4Ћ(TC А 3)­10,10Ћџ(TCЎ4)­1121vј 1,0:‡ " ";2<wЅ 1012Cx:ƒ2Zy:ƒCHANGE BACKWARDS2az:ƒ2v{COLГCOL(8­BFЋTC)2„|COLГCOLЌ12š}… COLГЌ1 Ї COLГ632Џ~COL(8­BFЋTC)ГCOL2Му TC,COL2Ч€Ѕ 1132Ю:ƒ2ф‚:ƒCHANGE FORWARDS2ыƒ:ƒ3„COLГCOL(8­BFЋTC)3…COLГCOLЋ13#†… COLГ64 Ї COLГ03.‡Ѕ 12635ˆ:ƒ3G‰:ƒSAVE COLORS3NŠ:ƒ3`‹CKWARDS2az:ƒ2v{COLГCOL(8­BFЋTC)2„|COLГCOLЌ12š}… COLГЌ1 Ї COLГ632Џ~COL(8­BFЋTC)ГCOL2Му TC,COL2Ч€Ѕ 1132Ю:ƒ2ф‚:ƒCHANGE FORWARDS2ыƒ:ƒ3„COLГCOL(8­BFЋTCџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџЫ& :ƒUltimaterm Color Set&/:ƒKen Johnston&G:ƒModified for V4.0&Z(:ƒTom Lawrence&a2:ƒ&j<т 40&pFї&ŽP• 1000:Œ COL(15),COL$(15)&ЋZ™"D",#1,"ULTIMATE.BIN",1&Пdа #1,1 џЇ BYTE$&Цn:ƒ&нx:ƒON BRK GOTO 1280&ф‚:ƒ&ќŒ:ƒGet rid of cursor'–:ƒ'! ’&HF7A4,&H12:’&HF7A5,&H12'?Њ’&HF7ED,&H12:’&HF7EE,&H12']Д’&HF80E,&H12:’&HF80F,&H12'{О’&HF812,&H12:’&HF813,&H12'™Ш’&HF850,&H12:’&HF851,&H12'Зв’&HF89D,&H12:’&HF89E,&H12'ем’&HF91C,&H12:’&HF91D,&H12'мц:ƒ'ф№ž 1'ыњ:ƒ(:ƒREAD ULTIMATE COLORS( :ƒ(OC$Г"BLACK RED GREEN YELLOW BLUE MAGENTACYAN WHITE "(g"BF$(0)Г"Background"(,BF$(1)Г"Foreground"(†6:ƒ(™@:ƒColors found( J:ƒ(ЊTт40:ї(Ш^ž:‡ Є13) "Ultimaterm 4.0"(Юh‡(іr‡" 1> Use default RGB color scheme")w‡" 2> Use default CMP color scheme")M|‡" 3> Use default MONOchrome color scheme")s†‡" 4> Make your OWN color scheme")Ÿ‡" 5> Information on Ultimaterm colors")Ѕš‡)АЄ‡" >";)ШЎA$Гџ’:… A$Г"" Ї 430)јИˆ џž("12345",A$) Ѕ 1530,1580,1630,470,1680*ТЅ 430* Ь:ƒ*'жž:‡Є13) "Ultimaterm 4.0"*-р‡*шъ‡ " The following keys are used to set the colors of the 16 palettes used for ANSI graphics and the various menus of Ultimaterm. You can only change eight colors at a time."*ює‡+ў‡ " These are the keys you can use:"+‡+H‡ " ... Alter foreground palettes"+s‡ " ... Alter background palettes"+‘&‡ " ... Save changes"+Ж0‡ " ... Quit without saving"+М:‡+фD‡ " <1> to <8> ... Color to change"+ъN‡,JX‡ " After choosing <1> to <8> use the left and right arrows to set the color.",Pb‡,pl‡" Press any key...":’135,0,‚v… џ’Г"" Ї 630,ˆ€ž,Š:ƒ,Ё”€ LOOPГ0 Ѕ 15,ЧВФ#1,4644ЋLOOP:COL(LOOP)ГџŠ(BYTE$),шМCOL$(LOOP)Гџ(C$,LOOP­7Ћ1,7),ѓЦ‹ LOOP,ња:ƒ-к… BFГ0 Ї SLГ0 :„ SLГ8-%ф€ LOOPГ0 Ѕ 7-=юу LOOP,COL(LOOPЋSL)-Hј‹ LOOP-cё 15,0:ј 1,0:‡BF$(BF);-s … BOX Ї 980-z:ƒ-Š :ƒSET BOXES-‘*:ƒ- 4€ L1Г0 Ѕ 1-Џ>€ L2Г0 Ѕ 3-ХHё 2ЋL2­10,2ЋL1­11-ЯRј 1,0-ф\‡ COL$(4­L1ЋL2);-ћfё 2ЋL2­10,10ЋL1­11.p‡ џ‹(&H31ЋL1­4ЋL2);."z€ L3Г0 Ѕ 6.;„ё 2ЋL2­10,3ЋL1­11ЋL3.KŽј 0,4­L1ЋL2._˜‡ " ";џ‹(8);.hЂ‹ L3.qЌ‹ L2.zЖ‹ L1.„РBOXГ1.‹Ъ:ƒ.ЃдA$Гџ’:… A$Г"" Ї 980.Оо… A$Г"F" Ї BFГ1:Ѕ 730.йш… A$Г"B" Ї BFГ0:Ѕ 730.эђ… A$Г"S" Ї 1340/ќ… A$Г"Q" Ї 1440/… A$Д"1" Б A$В"8" Ї 980/0TCГџŠ(A$)Ќ&H31/Sё 4Ћ(TC А 3)­10,10Ћџ(TCЎ4)­11/d$ј 1,0:‡ "^";/k.:ƒ/~8:ƒCOLOR CHANGE/…B:ƒ/LA$Гџ’:… A$Г""Ї 1100/ГV… A$Гџ‹(8) Ї 1180/Щ`… A$Гџ‹(9) Ї 1270/сj… A$ДВџ‹(13) Ї 11000tё 4Ћ(TC А 3)­10,10Ћџ(TCЎ4)­110~ј 1,0:‡ " ";0 ˆЅ 9800'’:ƒ0>œ:ƒCHANGE BACKWARDS0EІ:ƒ0ZАCOLГCOL(8­BFЋTC)0hКCOLГCOLЌ10~Ф… COLГЌ1 Ї COLГ630“ЮCOL(8­BFЋTC)ГCOL0 иу TC,COL0ЌтЅ 11000Гь:ƒ0Щі:ƒCHANGE FORWARDS0а:ƒ0х COLГCOL(8­BFЋTC)0ѓCOLГCOLЋ11… COLГ64 Ї COLГ01(Ѕ 123012:ƒ1-<:ƒSAVE COLORS14F:ƒ1FP€ LOOPГ0 Ѕ 151`ZCL$ГCL$Ћџ‹(COL(LOOP))1kd‹ LOOP1}n€ LOOPГ0 Ѕ 151œx::д BYTE$Гџ(CL$,LOOPЋ1,1)1Б‚::Х #1,4644ЋLOOP1МŒ‹ LOOP1Т–š1а ї:ј 0,0:ž1ўЊё 5,7:‡ "Thank you for using Ultimaterm!"2Дё 24,22:‡ "Ken Johnston"2&О’135,029Ш… џ’Г"" Ї 14802Mв’ 113,0:Ђ 409992Yмї:ј 0,02_цŠ2f№:ƒ2…њž:‡"Reading RGB colors..."2‹2ЖCL$Г"":€ CГ0 Ѕ 15: A:CL$ГCL$Ћџ‹(A):‹C2ТЅ 13902Щ":ƒ2ш,ž:‡"Reading CMP colors..."2џ6:€ CГ0 Ѕ 15: A:‹3)@CL$Г"":€ CГ0 Ѕ 15: A:CL$ГCL$Ћџ‹(A):‹35JЅ 13903<T:ƒ3b^ž:‡"Reading MONOchrome colors..."3yh:€ CГ0 Ѕ 31: A:‹3ЃrCL$Г"":€ CГ0 Ѕ 15: A:CL$ГCL$Ћџ‹(A):‹3Џ|Ѕ 13903Ж†:ƒ4Rу0,63:т80:‡" The following shows Ult's default colors and where they appear in the program. This makes it easier to tailor the program to your needs."4€šё4,3:ј0,5:‡"Backround colors:";:ј0,0:ё0,54ГЄ‡:‡" Color RGB CMP Where used in program"5 Ў‡" ------- --- --- ----------------------------------------------------------"5:И‡" Black 00 00 Backround of terminal"5Т‡" Red 37 06 Backround for Transmission error and Transmission aborted"5жЬ‡" Green 17 18 Not used in Ult, but used in the emulators."6ж‡" Yellow 50 35 Not used in Ult, but used in emulators"6`р‡" Blue 24 28 Used in window titles and any input routines"6Ђъ‡" Magenta 43 13 not used in Ult, but used in emulators"6ћє‡" Cyan 26 61 Backround for windows, status lines, and successful Xmission";7=ў‡" White 63 63 Not used in Ult, but used in emulators"7pё 30,20:ј0,0,B:‡"Press any key for more";:ј0,07ІЂ44539:ё4,3:ј0,5:‡"Foreground colors:";:ј0,0:ё0,87ы‡" Black 00 00 Keyboard macros, Successful Transmission."8&‡" Red 37 06 Window Text"8T0‡" Green 17 18 Not used in Ult, but used in emulators"8:‡" Yellow 50 35 Window Titles and input routines"8вD‡" Blue 24 28 Not used in Ult, but used in emulators"9%N‡" Magenta 43 13 Used on characters after window is up. IE Xmodem blocks"9gX‡" Cyan 26 61 Not used in Ult, but used in emulators"9Љb‡" White 63 63 Not used in Ult, but used in emulators"9сlё 30,20:ј0,0,B:‡"End of Info...press any key";:ј0,09ђvЂ44539:Ѕ340:€Ђ44539:т32:Š:Š:ƒ Default RGB set-up:S”† 00,32,16,48,01,45,25,63,00,36,18,54,11,41,31,63:sž:ƒ Default Composite Set-up:ЇЈ† 00,06,18,35,12,9,61,63,00,06,18,35,12,9,61,63:ШВ:ƒ Default monochrome Set-up:ўМ† 00,16,32,63,00,16,16,63,00,63,32,63,00,63,63,63t RGB set-up