Documentation for The SET Program for the Osborne 1 Copyright (C) 1983 by MJ Guerra, VROOM INC. SET is a program to immediately and temporarily change almost all of the parameters (settings) of your computer (and some of the parameters of your printer as well). In a way, it functions like the SETUP program included with your computer, but it is quicker, easier to use, and does more. With SET, you can: Set your arrow keys to WordStar, CP/M, or a special setting that may eliminate the need for either WordStar or CP/M arrow keys for you. Set the baud rate on your serial port instantly to any of three settings -- 300, 1200, or 19200. Change the logical width of your Osborne screen from 52 to 80 to 128 characters per line. Set the physical width of your Osborne screen or external monitor (on those Osbornes with the 80-column upgrade from Osborne) to 52, 80, or 104 columns displayed. Set horizontal scrolling off for programs like SuperCalc, or set scrolling on for programs like WordStar. Set the LST: (printer) device to be the serial port, the parallel port, the IEEE-488 port, or even your Osborne screen (very useful if you don't have a printer, or don't want to waste paper). Set the protocol of your serial printer to be ETX/ACK, or XON/XOFF, or no protocol. Set your printer to top-of-form by sending it a formfeed command. Set your Epson or Okidata dot-matrix printer to compressed, expanded, emphasized, or normal printing (without MBASIC!). Set any memory location in your computer's memory to a desired value, like CP/M's IOBYTE for special applications, or those locations for "speeding up" your drives, locking and unlocking your keyboard, etc. A list of such reserved memory locations is included. This program is designed to be both useful and easy to use. It may easily become one of your most favorite utilities for your computer, and its 2K size may make it a resident of all your program diskettes. .pa How to Use SET: First follow the instructions for backing up the Utilities diskette that we've sent you. Then copy SET.COM onto the disk(s) of your choice with PIP or other file-copying program. "Boot" your computer so that you see the CP/M prompt on the screen, either an "A>" or a "B>". Put the disk with SET.COM into this drive if it is not already there. Type the letters "SET" followed by a carriage return key to see a list of options you can choose from. Should you ever enter a command that the program does not understand, this is the menu that you will see. Try the following command. This is the long form of the command; the short form will be shown later. SET ARROWS WORDSTAR where means press the carriage return key. Your drive will turn on for a moment and a message will be displayed: WordStar arrow keys loaded. Test this out by hitting the left-arrow key; you should see a "^S" appear every time you hit the key. Hit the down-arrow key (^X) to make the "^S" characters disappear. Now type in the following command: SET ARROWS CPM You will see the message: CP/M arrow keys loaded. You can prove this by typing some characters and then deleting them with the left-arrow key, which is now CP/M's backspace key (^H). The short form of the command is simply the initials of the arguments, in most cases. For example: SET A C will set the arrows to CP/M, and SET A W will set the arrows to WordStar's configuration. (There is a special combination of WordStar and CP/M arrow keys that I call Special -- the left arrow key is CP/M's backspace, while the rest of the arrow keys are configured for WordStar. This works well with SuperCalc, dBASE II, and most other programs, as well as CP/M and WordStar.) The one exception to single-letter arguments is the SET SCROLL ON or SET SCROLL OFF command. You need at least two letters for the second argument because they both start with the letter "O". To set the different printer protocols, you need both a slash ("/") and a letter for the second argument. To set the printer to the X-on/X-off protocol, you would need the command SET P /X or SET PRINTER /XONXOFF which would return a message that the printer was set to XON/XOFF. To return the printer protocol to normal, use this command: SET P /N instead of SET P N, because this last command is to reset the Epson printer to normal after the printer had been set to compressed, emphasized, or expanded. Most of the options requiring a number argument need only the first digit to work correctly: SET B 3 will set the baud rate to 300. SET L 5 will set the logical screen width to 52 col. SET W 1 will set the physical screen width to 104 columns when the SCREEN-PAC is installed. (Note: If your OPERATING SYSTEM supports the SCREEN-PAC even if you don't have one, typing SET will display the option anyway. Executing the command won't affect operation, however.) An exception to the single-digit short form is the SET BAUD option. SET BAUD 1 will set the baud rate to 1200, but SET BAUD 19 will set it to 19,200, unsynchronized. Please don't let this confuse you. If you are not sure about an option, just type SET to see the list of options. Then try out a command. The program will tell you what it has done after it does it! The form for changing memory with the SET program is: SET Hxxxx xx, or SET Hxxxx xxxx The first form is for changing a byte. The first four x's are the address; the remaining two are the new byte, in hexadecimal. For example, SET HEF13 01 will change memory location EF13 hex to 01 hex. (You could leave off the leading zero: SET H3 0 changes your IOBYTE so that all your printer output also goes to the Osborne screen.) The second form is for changing a word (two bytes) at a time. In this instance, SET assumes an address value for the second set of x's, so it stores the word high-order-byte-last. SET H0001 E503 would store 03 hex in location 1 and E5 hex in location 2. Note: SET will protect itself from being modified with this command. Installing the SET program for your printer To reconfigure the program for a different printer (where you already know the control codes you need), you can use DDT. The program contains the strings to be sent to the printer in the following locations: 08C0 - string to initiate COMPRESSED printing 08D0 - string to initiate EMPHASIZED printing 08E0 - string to initiate EXPANDED printing 08F0 - string to restore printer to normal Each string must contain a minimum of 2 bytes. The first byte indicates the number of bytes to be sent to the printer. Following this are the bytes that are actually sent. For example, to set an Epson to emphasized mode, two bytes must be sent to the printer. Therefore, the string starting at location 08D0 (hex) is 02 (to indicate that two bytes are to follow) 1B 45. (Note: 1B is the hex code for ESC. See appendix B of any Epson MX printer manual for the Epson control codes. The manual for your printer should contain the control codes it needs.) A string can be up to 16 bytes, meaning that up to 15 bytes can be sent to the printer at any one time. When you have made your changes, use the command SAVE 8 SET.COM to save the modified version. While the SET program is currently prepared to set your printer to emphasized, compressed, and expanded modes, any string may be sent to the printer by making the appropriate modifications in the fashion outlined above. That means that if your printer will blow itself up upon receiving a certain string of characters, then modify SET to transmit that string upon the execution of SET PRINTER WIDE (if that is a command that you do not care to use). All you have to do then is remember that SET P W will make your printer blow up! .pa Some Special Osborne 1 Locations: Address Function 0003 CP/M's IOBYTE EF08 ROM/RAM cell E189 IEEE Device Address (double density only) EF13 Disk Drive Step Rate Delay cell EF59 Keyboard Lockout cell (0=locked out) EFC7 Disk Swap cell (0, normal; 1, swapped) e Step Rate Delay cell EF59 Keyboard Loc