wutka@gitpyr.UUCP (Mark Wutka) (03/19/86)
ok...I understand that a lot of you have gotten this to work for you. Please tell me how you configured your apple //c with an apple1200 modem. (I have tried both the original cord that was made by Apple for the modem and a homemade one that lets my computer answer other computers.) I have problems with the first menu saving - the one with the linefeeds, keyclick, etc. (the second menu with the baud and parity saves just fine.) When I connect to the GTnet here at Tech, the first character of each line is cut off. I have downloaded the program twice and exec'd it many times. It has become a challenge to get it to work! All help appreciated. Also would like info about the //e hooked up to the Hayes 2400. I also could not get vt100 emulator to work with that. Does it have a buffer to open? Thanks a bunch in advance! - Ceal -- Mark Wutka Office of Computing Services Georgia Institute of Technology Atlanta, Ga. ...!{akgua,allegra,amd,hplabs,ihnp4,masscomp,ut-ngp}!gatech!gitpyr!wutka ...!{rlgvax,sb1,uf-cgrl,unmvax,ut-sally}!gatech!gitpyr!wutka Official member of NERDS (NERDS Existing in a Recursively Defined System)
ix742@sdcc6.UUCP (James Hayes) (04/14/86)
This is down-loadable portion of DCOM 3.21 with instructions. If you can't download the files or need source code (~120 K bytes) to adapt DCOM to your hardware, I will send you a disk containing a working copy of DCOM 3.21 with source code + documentation on the flip side. Along with that, will be printed instructions and notes on the latest release of DCOM. Since the last posting, six people have requested copies and source code. They were mailed last week, and contain the new version of DCOM. If you want the source code and working copy of DCOM, send a disk + mailer + donation (you decide what. Going rate is $20), -or- If you don't want to mail a disk, $25 will do... to: Jim Hayes, P.O. Box 221044, University City, CA, 92122-1044 Phone: (619) 450-9316 ( <--- Phone valid until June, 1986 ) (I used to charge $9, but found I was losing money rapidly.) I'm not out for profit, just trying to recover my costs. -----CUT-----CUT-----CUT-----CUT-----CUT-----CUT #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # unpack.info # instructions # to.apple.1 # to.apple.2 # to.apple.3 # This archive created: Mon Apr 14 01:11:44 1986 # By: James Hayes (UC San Diego EE/CS Department.) export PATH; PATH=/bin:$PATH echo shar: extracting "'unpack.info'" '(908 characters)' if test -f 'unpack.info' then echo shar: will not over-write existing file "'unpack.info'" else sed 's/^XX//' << \SHAR_EOF > 'unpack.info' XXInstructions for unpacking: XX XXDownload the three files "to.apple.x" (where x is 1, 2, and 3) to a XXfreshly initialized DOS 3.3 diskette. When finished, log out and XXboot the disk with the "to.apple.x" files on it. At the ']' prompt XXtype: XX XXEXEC TO.APPLE.1 XX XX(The disk will spin and let you know that it's unpacking. When it XXis done, it will ask you to type a few things. Don't be shy. Type XXaway.) Don't be alarmed if you don't see your particular hardware XXdriver being unpacked, some of the drivers do the work for many XXhardware configurations. XX XXYou will be asked to EXEC all 3 "to.apple.x" files on the disk. The XXlast file unpacks the BASIC startup programs and is silent. Please XXbe patient. XX XXAfter your system has pronounced itself sane, and unpacking has XXfinished, type "RUN HELLO" at the ']' prompt (or re-boot your XXsystem). XX XXNow read the file "instructions" for information on how to use XXDCOM 3.21. SHAR_EOF if test 908 -ne "`wc -c < 'unpack.info'`" then echo shar: error transmitting "'unpack.info'" '(should have been 908 characters)' fi fi # end of overwriting check echo shar: extracting "'instructions'" '(19867 characters)' if test -f 'instructions' then echo shar: will not over-write existing file "'instructions'" else sed 's/^XX//' << \SHAR_EOF > 'instructions' XX XX XX XX XX XX XX XXDistribution Notes: Version 3.21 XX XX XX1. Side one of the diskette contains a working version of XX XX DCOM. Everything needed to run the program (programs, XX XX documentation) is on side one. XX XX XX2. Side two contains the copyrighted (yes really. Library XX XX of Congress, TX form in all!) source code as Apple TEXT XX XX files. The source files were created with the Merlin XX XX Assembler from Southwestern Data Systems. All attempts XX XX have been made to "de-Merlinize" the code. XX XX XX3. The X-ON/X-OFF handshaking protocol has been imple- XX XX mented. XX XX XX4. The vt100 "report" strings were added. XX XX XX5. All the documented vt100 sequences are recognized and XX XX only hardware limitations prevent some of them from XX XX working. (i.e. 132 columns.) XX XX XX6. The vt52 compatibility set has been added also. XX XX XX7. The vt52 Pf and arrow keys are working properly. XX XX XX8. General bugs were fixed. XX XX XX XX XX XXShareware donations can be mailed to the following address. XXFor more information on what that entitles you, see the XXstartup screen when you run the program. XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XX XX XX XXThe vital information: XX XXJim Hayes (619) 450-9316 <- Until June '86 XXP.O. Box 221044 (Yes, 221044) <- Forever XXUniversity City, CA XX 92122-1044 XX XX XX XXUUCP: {ucbvax, ihnp4, decvax, etc.}!sdcsvax!wizard!hayes XX XXARPA: hayes%wizard@UCSD.ARPA XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XX XX XX XX XX XX DCOM 3.21 XX XX XX XX XX XX Instructions XX XX XX XX Copyright (C) 1986 James A. Hayes XX La Jolla, California XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Use this program at your own risk. Feel free to XX distribute SIDE ONE of the distribution diskette, XX as everything needed to run DCOM is on SIDE ONE. XX You are licensed to SIDE TWO. SIDE TWO contains XX the complete, un-assembled program. Copying side XX two is in violation of this agreement. Side two XX is provided as a service to programmers who wish XX to add customized functions, or modify DCOM for XX special hardware. You are allowed to copy both XX sides for archival purposes only. XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XX XX XX XX XXBackground XX XX XX The DCOM vt100 emulator was developed from utter frus- XX XXtration at the lack of a suitable terminal emulator on the XX XXmarket. While some programs promise ``vt100'' emulation, XX XXmore often than not they usually deliver a ``brain-damaged'' XX XXprogram that barely works with UNIX+ or VMS*, or not at all. XX XXDCOM was written with UNIX and VMS in mind. It has many XX XXbells and whistles not found in other emulators. XX XX XX In the mainframe computer world, connecting to an Apple XX XXPersonal Computer can be (and most usually is) FRUSTRATING. XX XXSo many variables that didn't used to be problems show up. XX XXFor instance: Can the computer talk to the modem? Can the XX XXmodem talk to the computer? Can the computer talk to the XX XXApple's screen? Most (usually all) of these problems are XX XXsolved using DCOM. XX XX XX DCOM is written entirely in 6502 Assembly Language, and XX XXis started from a BASIC program at boot time. It does not XX XXuse interrupts, and can operate at speeds as fast as 7200 XX XXbaud. Some serial drivers cannot tolerate this however. XX XX(See driver notes at the end.) XX XX XX XX XX XX XX--------------------------------- XX+UNIX is a trademark of AT&T Bell Laboratories XX*VMS is a trademark of Digital Equipment Corporation XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -2- XX XX XXInstructions: XX XX XX Before you can successfully run DCOM, you must know a XX XXfew things about the hardware connected to your computer. XX XXThese are the major questions: XX XX XX1. Can my modem dial the phone using the standard Hayes XX XX dialing commands? (e.g. ATDT 5551212) If it can't, you XX XX will have to dial the phone manually. XX XX XX2. What communication parameters do I need to know, so I XX XX can tell DCOM so it can communicate properly with the XX XX machine I'm calling? (Find out how many stop bits you XX XX need, parity, and number of transmission data bits from XX XX the operators of the machine you are calling.) If you XX XX can't find out, just experiment! XX XX XX3. What type of display (//e, //c, DoubleVision, etc.) do XX XX I have? XX XX XX4. What type of connection will I be using? (A //c serial XX XX port, Apple Super Serial Card, etc.) XX XX XX5 Where is the serial connection located? (Internal for XX XX //c or a slot number for everyone else.) XX XX XX Don't worry if you can't answer all the questions, the XX XXprogram is very flexible about what you do to it, and exper- XX XXimentation is easy. XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -3- XX XX XXStarting the Program XX XX XX Insert the DCOM diskette into your computer, turn on XX XXyour modem, and turn on the computer. Please type answers to XX XXthe configuration program in uppercase letters. (Uppercase XX XXletters are used to allow Apple ][ and ][+ users to use the XX XXconfiguration program.) You will be greeted with a friendly XX XXstart-up message. At this point you have two easy choices. XX XXTyping <RETURN> will start-up the terminal, and <ESC> will XX XXlet you tell the program about the hardware you have XX XXattached to your Apple. XX XX XX Since it is your first time, type <ESC> (If you hit XX XX<RETURN> DCOM will figure out what's going on and move you XX XXto the configure program just as well.) XX XX XX You will be asked a few questions about your hardware. XX XX XX1. What 80-column display do you have? Select your card XX XX from the list, type it's number, and hit <RETURN>. If XX XX your equipment is not on the list, (Notably the VIDEX XX XX INC. cards) then you cannot use DCOM. (If you can't XX XX use DCOM, see the section about writing your own XX XX drivers toward the end of the manual.) XX XX XX2. What serial comm. card do you have? This is asking XX XX about how your computer talks to the modem. Choose XX XX your setup from the presented choices, type its number XX XX and hit <RETURN>. If you don't see your choice, try XX XX the GENERIC PASCAL COMPATIBLE driver. That works in XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -4- XX XX XX most cases with ANYTHING. When you select your set-up XX XX and have a ][, ][+, or //e, you will be asked what slot XX XX your serial communication equipment is in. This is XX XX usually 2. For you //c owners, your hardware is built XX XX in, so you won't get this question. XX XX XX3. What dialing personality do you have? While this might XX XX seem like an unusual question, it must be asked- so XX XX DCOM can dial the phone when you use the OPEN-APPLE "D" XX XX command. If you have a Hayes (or compatible) modem, XX XX then select the Hayes dialing. If you are using DCOM XX XX to directly connect with a network without using a XX XX modem, then select network. If you have a modem but it XX XX does not use the Hayes commands, select the DUMB XX XX option. (Using the DUMB options means, you will have to XX XX dial the phone manually. [i.e. Use your fingers.]) XX XX XX4. Once everything is all said and done, the computer will XX XX tell you what you have selected, and you will be given XX XX the option to `S'AVE, or `A'BORT and start over. When XX XX you type `S' your configuration will be saved on the XX XX disk and you will be asked if you want to start the XX XX terminal. Hit <RETURN> to start the terminal. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -5- XX XX XXUsing the Terminal Emulator XX XX XX When you type <RETURN> to get things rolling, the XX XXscreen will clear, and DCOM will tell you what it is load- XX XXing. When it has finished loading, the screen will clear, XX XXand the word ``Go...'' will appear at the top of the screen. XX XXIf you've gotten this far, GREAT! XX XX XX READ THIS: In the following sections, you are asked to XX XXtype some letters while holding the OPEN or CLOSED Apple XX XXkey. The letter you type in conjunction with the OPEN or XX XXCLOSED Apple key can be in upper or lower case. Only the XX XXBASIC hardware configuration program requires upper case XX XXletters. Clear? XX XX XX XXSetting the Communication Parameters XX XX XX It's all down hill from here; you are ready to play. XX XXHold your finger on the OPEN or CLOSED Apple key, and while XX XXholding it, type an M. {let go of the keys.} If you both- XX XXered to look at the quick reference chart, you are now in XX XXthe modem parameter menu. (If you have a hardware driver XX XXthat is not capable of using this menu, you will be given a XX XXpolite message and then asked to hit return; skip the rest XX XXof this section.) XX XX XX Now you have free reign at controlling your communica- XX XXtions system. When ``---'' appears by an option, it means XX XXthat the emulator cannot set that option because your XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -6- XX XX XXhardware won't allow it. XX XX XX Now, if you found all the answers to the introductory XX XXquestions, select the letters corresponding to the parame- XX XXters you need. If you don't know what these controls should XX XXbe set at, choose 8 bits, one stop bit, and NO parity. The XX XXbaud rate should be chosen depending on your modem. XX XX XX When you finish, type <ESC> and your choices will be XX XXimplemented. XX XX XX XXThe Set-Up Menu XX XX XX To invoke the set-up menu, just hold down the OPEN or XX XXCLOSED Apple keys and strike the <ESC> key. The set-up menu XX XXis the controlling portion of the program. With it, you XX XXmay: XX XX XXi. Adjust the tab settings or reset them to standard set- XX XX tings. XX XX XXii. Reset the terminal to a recognizable state. (You will XX XX need to do this if your local phone company introduces XX XX static into the data stream.) This option is generally XX XX used to recover when the terminal gets put into the XX XX graphics mode or inverse mode by phone line noise. XX XX XXiii. Save the terminal's settings, so they stick around each XX XX time you use the program. NOTE: This also saves the XX XX serial parameters. XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -7- XX XX XXiv. Make a click every time you touch a key. XX XX XXv. Truncate characters if they go past 80 columns. XX XX XXvi. Invert the screen. XX XX XXJust strike the key corresponding to the option you wish to XX XXinvoke. XX XX XX XXDialing the Phone XX XX(Or connecting to a system if on a direct-wired network.) XX XX XX If your hardware supports dialing and you selected a XX XXdialing driver in the configuration phase, you will be able XX XXto dial the phone by typing OPEN (or CLOSED) Apple D. It XX XXwill ask for the phone number. Type away. If you decide XX XXyou didn't want to dial the phone, type <ESC>, otherwise hit XX XX<RETURN> to dial. XX XX XX For direct wired LAN (Local Area Network) connections, XX XXuse the same sequence above, but type the system name XX XXinstead of the phone number. XX XX XX XXRedialing the Last Number (or System) Dialed XX XX XX To redial the last number dialed, or reconnect to the XX XXlast system, type OPEN (or CLOSED) Apple A. XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -8- XX XX XXHanging-Up the Phone (Or disconnecting from a LAN connec- XX XXtion) XX XX XX To hang-up the phone, (or terminate a LAN connection) XX XXtype OPEN (or CLOSED) Apple X. In some cases, this may take XX XXa few seconds. XX XX XX XXSending a Break Signal XX XX XX If your hardware driver is capable of sending a break XX XXsignal, typing OPEN (or CLOSED) Apple B will do it. (A XX XXbreak signal is often used while connecting to remote sys- XX XXtems to let them know you exist and want to login.) Break XX XXsignals are very useful while connecting to data switches. XX XX XX XXUsing vt100 Keys That Do Not Appear on Your Keyboard XX XX XX The vt100 terminal has some very special keys that XX XXdon't appear on your Apple's keyboard. To type some of XX XXthese non-existent keys requires the use of the Open (or XX XXClosed) Apple key. Because of the way the Apple keyboards XX XXare designed, the arrow keys cannot be used directly as XX XXvt100 arrow keys. To use these Apple keys as vt100 arrow XX XXkeys, use the Open (or Closed) Apple key in conjunction with XX XXthe arrow key. Please see the function key chart at the end XX XXof this manual for the special key listings. XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -9- XX XX XXExiting the Terminal XX XX XX To exit the terminal, you may do any of the following: XX XX XXA. Type @ from the set up menu XX XX XXB. Turn the power off (Terminal defaults will not be XX XX saved.) XX XX XXC. Type Control-Reset. (Terminal defaults will not be XX XX saved.) XX XX XX XX XX XX XX XXWriting Your Own Hardware Drivers XX XX XX If DCOM does not support your current hardware confi- XX XXguration, you can write your own. On side one of the XX XXdiskette (executable code), there are three text files XX XXcalled ``DRIVER SPECIFICATIONS.x'' where x is part 1, 2, or XX XX3. They contain about 20 pages of application notes format- XX XXted for 80 columns and 66 lines a page. You will need to XX XXprint these out to do any serious work. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -10- XX XX XXNotes About Hardware Implementations XX XX XX Here are some notes about the DCOM hardware implementa- XX XXtions: XX XX XX XX XXCommunication Drivers: XX XX XX1. The Super Serial Card and //c driver do the most so far XX XX in terms of setting options and sending breaks. XX XX XX2. The ALS Dispatcher is incapable of sending a break sig- XX XX nal. It also does not allow certain combinations of XX XX stop bits and parity. Illegal settings are suppressed XX XX automatically. The baud rate can only be set by the XX XX DIP switches on the card. XX XX XX3. The CPS MultiFunction Card driver cannot yet send a XX XX break signal. It also cannot send a CTRL-A. Paging on XX XX the serial port must be turned off, as well as the XX XX default device. These options are chosen from the XX XX SETUP program on the CPS distribution disk. XX XX XX4. The generic Pascal compatible driver works with almost XX XX anything, but does not support break signals nor the XX XX changing of communication parameters. XX XX XX XX XXScreen Drivers: XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XX XXDCOM Instructions -11- XX XX XX1. The Double Vision and Omni Vision drivers flicker when XX XX the screen scrolls. (They use the same display con- XX XX troller as in the IBM PC.) Fixing this would result in XX XX a GREAT reduction in speed. XX XX XX2. The VIDEX Inc. display cards are NOT implemented yet. XX XX I'm still waiting for documentation. XX XX XX XX XXDialing Drivers XX XX XX XX XX1. The Hayes dialing drivers are slow to allow for ``off- XX XX brand'' modems to work also. XX XX XX2. The Ungermann/Bass Net/One driver can only disconnect XX XX at the ``>>'' prompt . XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XXDCOM Instructions -12- XX XX XX +-----------------------------------------+ XX | Apple keys vs. vt100 Keys | XX +-----------------------------------------+ XX |Open/Closed Apple becomes Vt100 key | XX | | XX |key | XX +-----------------------------------------+ XX | Q, q | Pf1 | XX | W, w | Pf2 | XX | E, e | Pf3 | XX | R, r | Pf4 | XX +---------------------+-------------------+ XX | 0 | Keypad 0 | XX | 1 | Keypad 1 | XX | 2 | Keypad 2 | XX | 3 | Keypad 3 | XX | 4 | Keypad 4 | XX | 5 | Keypad 5 | XX | 6 | Keypad 6 | XX | 7 | Keypad 7 | XX | 8 | Keypad 8 | XX | 9 | Keypad 9 | XX +---------------------+-------------------+ XX | - | Keypad - | XX | , | Keypad , | XX | Period | Keypad . | XX | RETURN | Keypad ENTER | XX +---------------------+-------------------+ XX | K, k, UP arrow | UP arrow | XX | J, j, DOWN arrow | DOWN arrow | XX | H, h, LEFT arrow | LEFT arrow | XX | L, l, RIGHT arrow | RIGHT arrow | XX +---------------------+-------------------+ XX | B, b | Break key | XX +---------------------+-------------------+ XX | ESCAPE | SET-UP key | XX +-----------------------------------------+ XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX XX XX XX XXDCOM Instructions -13- XX XX XX +------------------------------------------------------+ XX | DCOM Quick Reference Card | XX +------------------------------------------------------+ XX |Open/Closed Apple | Function | Comments | XX +------------------+-----------------+-----------------+ XX | A,a | "Again" Redials | | XX | | the last number | | XX | | called. | | XX +------------------+-----------------+-----------------+ XX | D,d | "Dial" Dials a | Number can con- | XX | | phone number. | tain anything, | XX | | | including | XX | | | embedded dial- | XX | | | ing commands. | XX | | | See modem | XX | | | manual for pos- | XX | | | sible embedded | XX | | | dialing charac- | XX | | | ters. | XX +------------------+-----------------+-----------------+ XX | X,x | Hang-up. Hangs | Can take a few | XX | | up the phone if | seconds. | XX | | possible. | | XX +------------------+-----------------+-----------------+ XX | B,b | "Break" Sends a | Some serial | XX | | "break" signal. | cards can't do | XX | | | this. | XX +------------------+-----------------+-----------------+ XX | M,m | "Modem" | Some modems and | XX | | Displays the | serial cards | XX | | serial/modem | are incapable | XX | | transmission | of doing any- | XX | | characteris- | thing on that | XX | | tics. | menu. | XX +------------------+-----------------+-----------------+ XX | <ESCAPE> | Presents the | | XX | | set-up menu. | | XX +------------------+-----------------+-----------------+ XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX April 14, 1986 XX SHAR_EOF if test 19867 -ne "`wc -c < 'instructions'`" then echo shar: error transmitting "'instructions'" '(should have been 19867 characters)' fi fi # end of overwriting check echo shar: extracting "'to.apple.1'" '(27350 characters)' if test -f 'to.apple.1' then echo shar: will not over-write existing file "'to.apple.1'" else sed 's/^XX//' << \SHAR_EOF > 'to.apple.1' XXTEXT:HOME:?"UNPACKING:":?"MAIN CODE":POKE 34,3:HOME:CALL -151 XX2000: 4C 13 20 4C 61 20 4C C6 XX2008: 20 4C 1F 21 4C 52 2A 00 00 00 XX2012: 00 20 00 50 20 00 40 20 03 50 XX201C: A2 17 8E 13 03 A2 20 8E 08 03 XX2026: A2 00 8E 00 02 8E 0F 20 8E 10 XX2030: 20 8E 12 03 8E 0C 03 8E 14 03 XX203A: 8E 02 03 8E 0B 03 8E 16 03 8E XX2044: 17 03 8E 0D 03 8E 18 03 A2 00 XX204E: 8E 0F 03 8E 10 03 8E FF 02 20 XX2058: 21 50 A2 66 A0 2B 20 0F 70 AD XX2062: FF 02 30 19 2C 00 C0 30 15 20 XX206C: 1E 50 20 A5 20 90 EE 20 15 21 XX2076: 8D 12 20 20 1F 21 4C 61 20 60 XX2080: 8D 10 C0 AD 00 C0 20 C6 20 20 XX208A: 00 60 2C 07 03 30 03 4C 97 20 XX2094: 20 1F 21 2C 06 03 10 C5 A0 0A XX209E: 20 D3 21 4C 61 20 60 20 C6 20 XX20A8: AD 0F 20 CD 10 20 F0 02 38 60 XX20B2: 2C 0E 03 30 02 18 60 A9 11 20 XX20BC: 09 40 A9 00 8D 0E 03 18 60 60 XX20C6: 48 98 48 20 03 40 90 31 20 06 XX20D0: 40 C9 00 F0 2A AE 10 20 9D 9B XX20DA: 2B EE 10 20 AE 0F 20 EC 10 20 XX20E4: B0 0E AD 10 20 38 ED 0F 20 C9 XX20EE: C8 B0 12 4C FF 20 AD 0F 20 38 XX20F8: ED 10 20 C9 37 90 04 68 A8 68 XX2102: 60 2C 0E 03 30 F7 A9 13 20 09 XX210C: 40 A9 FF 8D 0E 03 4C FF 20 AE XX2116: 0F 20 BD 9B 2B EE 0F 20 60 C9 XX2120: 7F F0 32 C9 18 F0 29 C9 1A F0 XX212A: 25 AC 1C 03 C0 00 F0 36 C0 01 XX2134: F0 20 C0 02 F0 1F C0 03 F0 1E XX213E: C0 04 F0 1D C0 05 F0 1C C0 06 XX2148: F0 1B 20 D1 21 20 D1 21 A2 00 XX2152: 8E 1C 03 60 4C 4D 22 4C 51 23 XX215C: 4C 27 24 4C 27 50 4C 5C 2A 4C XX2166: 22 2B C9 20 90 03 4C BD 21 C9 XX2170: 07 F0 35 C9 08 F0 34 C9 09 F0 XX217A: 33 C9 0A F0 32 C9 0B F0 2E C9 XX2184: 0C F0 2A C9 0D F0 29 C9 0E F0 XX218E: 28 C9 0F F0 27 C9 1B D0 10 2C XX2198: 0D 03 10 06 A0 05 8C 1C 03 60 XX21A2: A0 01 8C 1C 03 60 4C D1 21 4C XX21AC: EA 21 4C FB 21 4C 15 22 4C 23 XX21B6: 22 4C 40 22 4C 34 22 2C 09 03 XX21C0: 10 0C 2C 0A 03 30 02 A9 2D 20 XX21CA: 27 50 A9 20 4C 27 50 A0 64 A2 XX21D4: 09 20 DF 21 2C 30 C0 88 D0 F5 XX21DE: 60 8A 48 20 C6 20 68 AA CA D0 XX21E8: F6 60 20 1B 50 CE 0F 03 AE 0F XX21F2: 03 10 03 EE 0F 03 4C 21 50 20 XX21FC: 1B 50 AE 0F 03 E0 4F F0 0A E8 XX2206: E0 4F F0 05 BD 20 03 F0 F6 8E XX2210: 0F 03 4C 21 50 20 1B 50 2C 03 XX221A: 03 10 03 4C 42 50 4C 45 50 20 XX2224: 1B 50 A2 00 8E 0F 03 2C 04 03 XX222E: 30 F0 20 21 50 60 A2 00 8E 19 XX2238: 03 AE 16 03 8E 0B 03 60 A2 FF XX2242: 8E 19 03 AE 17 03 8E 0B 03 60 XX224C: 00 C9 63 F0 7A C9 5B B0 3E C9 XX2256: 41 90 03 4C A9 22 C9 3A B0 07 XX2260: C9 30 90 03 4C A9 22 C9 23 D0 XX226A: 09 A2 02 8D 4C 22 8E 1C 03 60 XX2274: C9 3E D0 0A A9 00 8D 14 03 A2 XX227E: 00 4C 70 22 C9 3D F0 03 4C 93 XX2288: 22 A9 FF 8D 14 03 A2 00 4C 70 XX2292: 22 C9 5B D0 05 A2 03 4C 70 22 XX229C: C9 28 F0 CB C9 29 F0 C7 A2 00 XX22A6: 4C 70 22 A0 00 8C 1C 03 C9 44 XX22B0: F0 3E C9 45 F0 3D C9 4D F0 3C XX22BA: C9 37 F0 3B C9 38 F0 3A C9 48 XX22C4: F0 39 A2 00 4C 70 22 68 68 20 XX22CE: 1B 50 20 03 50 A2 00 8E 0F 03 XX22D8: 8E 10 03 20 21 50 A2 6E A0 2B XX22E2: A9 00 8D 1C 03 20 0F 70 20 1B XX22EC: 50 4C 1C 20 4C 02 23 4C 08 23 XX22F6: 4C 0E 23 4C 2A 23 4C 36 23 4C XX2300: 48 23 20 1B 50 4C 45 50 20 1B XX230A: 50 4C 42 50 20 1B 50 AC 10 03 XX2314: 88 C0 FF F0 05 CC 12 03 B0 06 XX231E: 20 18 50 AC 12 03 8C 10 03 4C XX2328: 21 50 A2 10 BD 00 03 9D 00 82 XX2332: CA 10 F7 60 20 1B 50 A2 10 BD XX233C: 00 82 9D 00 03 CA 10 F7 20 21 XX2346: 50 60 AE 0F 03 A9 FF 9D 20 03 XX2350: 60 AC 4C 22 C0 28 F0 07 C0 29 XX235A: F0 03 4C 92 23 C9 42 D0 26 A2 XX2364: 00 C0 28 F0 06 8E 17 03 4C 72 XX236E: 23 8E 16 03 AE 19 03 10 09 AE XX2378: 17 03 8E 0B 03 4C B2 23 AE 16 XX2382: 03 8E 0B 03 4C B2 23 C9 30 D0 XX238C: D6 A2 FF 4C 65 23 C0 23 D0 1C XX2396: C9 33 F0 24 C9 34 F0 34 C9 35 XX23A0: F0 44 C9 36 F0 18 C9 31 F0 3C XX23AA: C9 32 F0 10 C9 38 F0 06 A2 00 XX23B4: 8E 1C 03 60 20 3C 50 4C B2 23 XX23BE: 20 1B 50 20 03 24 AC 10 03 A9 XX23C8: C0 99 80 03 20 21 50 4C B2 23 XX23D2: 20 1B 50 20 03 24 AC 10 03 A9 XX23DC: 80 99 80 03 20 21 50 4C B2 23 XX23E6: AC 10 03 B9 80 03 10 0A AD 0F XX23F0: 03 4A 8D 0F 03 20 4E 50 A9 00 XX23FA: AC 10 03 99 80 03 4C B2 23 AC XX2404: 10 03 B9 80 03 10 03 60 00 00 XX240E: 20 51 50 AD 0F 03 0A C9 28 B0 XX2418: 04 8D 0F 03 60 A9 27 8D 0F 03 XX2422: 60 FF 00 00 00 2C 23 24 10 14 XX242C: A2 00 8E 70 03 8E 71 03 8E 24 XX2436: 24 8E 25 24 8E 26 24 8E 23 24 XX2440: C9 1B D0 06 A2 01 8E 1C 03 60 XX244A: C9 3B D0 04 20 92 24 60 C9 7B XX2454: B0 0A C9 41 90 06 20 92 24 4C XX245E: CD 24 C9 3F D0 05 A2 FF 8E 26 XX2468: 24 C9 3A B0 1A C9 30 90 16 38 XX2472: E9 30 A8 AD 24 24 0A 0A 0A 0A XX247C: 8D 24 24 98 18 6D 24 24 8D 24 XX2486: 24 60 00 0A 14 1E 28 32 3C 46 XX2490: 50 5A A8 AD 24 24 29 F0 4A 4A XX249A: 4A 4A 29 0F AA BD 88 24 AA AD XX24A4: 24 24 29 0F 8D 24 24 8A 18 6D XX24AE: 24 24 AE 25 24 9D 70 03 98 A2 XX24B8: 00 8E 24 24 EE 25 24 AE 25 24 XX24C2: E0 0A B0 01 60 A2 00 8E 25 24 XX24CC: 60 A2 00 8E 1C 03 A2 FF 8E 23 XX24D6: 24 C9 41 F0 63 C9 42 F0 62 C9 XX24E0: 43 F0 61 C9 44 F0 60 C9 48 F0 XX24EA: 5F C9 66 F0 5B C9 4B F0 5A C9 XX24F4: 4A F0 59 C9 67 F0 58 C9 68 F0 XX24FE: 57 C9 6C F0 56 C9 6E F0 55 C9 XX2508: 63 F0 54 C9 50 F0 53 C9 4C F0 XX2512: 52 C9 4D F0 51 C9 54 F0 50 C9 XX251C: 53 F0 4F C9 6D F0 4E C9 72 F0 XX2526: 4D C9 78 F0 4C C9 71 F0 4B C9 XX2530: 79 F0 4A A9 7F 20 27 50 A0 0A XX253A: 20 D3 21 60 4C FB 25 4C 2A 26 XX2544: 4C 57 26 4C 7A 26 4C A0 26 4C XX254E: DD 26 4C 0A 27 4C 28 27 4C 45 XX2558: 27 4C CB 27 4C 4A 29 4C C1 28 XX2562: 4C 87 29 4C 9B 29 4C AF 29 4C XX256C: C3 29 4C DD 29 4C F7 29 4C 18 XX2576: 2A 4C 9A 25 4C 99 25 4C 80 25 XX2580: 20 1B 50 20 03 50 A2 00 8E 0F XX258A: 03 8E 10 03 20 21 50 A2 85 A0 XX2594: 2B 20 0F 70 60 60 A9 1B 20 09 XX259E: 40 A9 5B 20 09 40 AC 70 03 F0 XX25A8: 06 A9 33 20 09 40 60 A9 32 20 XX25B2: 09 40 A9 3B 20 09 40 A9 31 20 XX25BC: 09 40 A9 3B 20 09 40 A9 31 20 XX25C6: 09 40 A9 3B 20 09 40 A9 36 20 XX25D0: 09 40 A9 34 20 09 40 A9 3B 20 XX25DA: 09 40 A9 36 20 09 40 A9 34 20 XX25E4: 09 40 A9 3B 20 09 40 A9 31 20 XX25EE: 09 40 A9 3B 20 09 40 A9 78 20 XX25F8: 09 40 60 20 1B 50 AC 70 03 D0 XX2602: 02 A0 01 98 48 CE 10 03 AC 10 XX260C: 03 C0 FF F0 05 CC 12 03 B0 0B XX2616: 2C 02 03 10 03 20 18 50 EE 10 XX2620: 03 68 A8 88 D0 DF 20 21 50 60 XX262A: 20 1B 50 AC 70 03 D0 02 A0 01 XX2634: 98 48 EE 10 03 AC 10 03 CC 13 XX263E: 03 90 0D F0 0B 2C 02 03 10 03 XX2648: 20 15 50 CE 10 03 68 A8 88 D0 XX2652: E1 20 21 50 60 20 1B 50 AD 70 XX265C: 03 D0 02 A9 01 18 6D 0F 03 C9 XX2666: 50 B0 07 8D 0F 03 20 21 50 60 XX2670: A9 4F 8D 0F 03 20 21 50 60 00 XX267A: 20 1B 50 AD 70 03 D0 02 A9 01 XX2684: 8D 79 26 AD 0F 03 38 ED 79 26 XX268E: 30 07 8D 0F 03 20 21 50 60 A9 XX2698: 00 8D 0F 03 20 21 50 60 20 1B XX26A2: 50 AC 70 03 D0 02 A0 01 AE 71 XX26AC: 03 D0 02 A2 01 88 2C 18 03 10 XX26B6: 06 98 18 6D 12 03 A8 B9 80 03 XX26C0: C0 18 90 02 A0 00 CA 2A 90 03 XX26CA: 8A 0A AA E0 50 90 02 A2 00 8C XX26D4: 10 03 8E 0F 03 20 21 50 60 AE XX26DE: 70 03 D0 09 20 1B 50 20 0F 50 XX26E8: 4C 21 50 E0 01 D0 03 4C 30 50 XX26F2: 20 1B 50 AC 10 03 B9 80 03 48 XX26FC: 20 06 50 68 AC 10 03 99 80 03 XX2706: 20 21 50 60 AE 70 03 D0 09 20 XX2710: 1B 50 20 12 50 4C 21 50 E0 01 XX271A: D0 03 4C 33 50 20 1B 50 20 03 XX2724: 50 4C 21 50 AE 70 03 F0 0F E0 XX272E: 03 D0 13 A2 79 A9 00 9D 20 03 XX2738: CA 10 FA 60 AE 0F 03 A9 00 9D XX2742: 20 03 60 AE 25 24 D0 02 A2 01 XX274C: 8E 11 20 2C 26 24 30 2E BD 6F XX2756: 03 A8 F0 67 C0 04 D0 08 A2 FF XX2760: 8E 01 03 4C C1 27 C0 05 F0 F4 XX276A: C0 0C D0 08 A2 FF 8E 07 03 4C XX2774: C1 27 C0 14 D0 47 A2 FF 8E 03 XX277E: 03 4C C1 27 BD 6F 03 A8 A2 FF XX2788: C0 01 D0 06 8E 15 03 4C C1 27 XX2792: C0 02 D0 03 4C C1 27 C0 05 D0 XX279C: 10 2C 08 03 30 1F A2 A0 8E 08 XX27A6: 03 20 3F 50 4C C1 27 C0 06 D0 XX27B0: 06 8E 18 03 4C C1 27 C0 07 D0 XX27BA: 03 8E 05 03 4C C1 27 AE 11 20 XX27C4: CA D0 01 60 4C 4C 27 AE 25 24 XX27CE: D0 02 A2 01 8E 11 20 2C 26 24 XX27D8: 30 2E BD 6F 03 A8 F0 38 C0 04 XX27E2: D0 08 A2 00 8E 01 03 4C 18 28 XX27EC: C0 05 F0 F4 C0 0C D0 08 A2 00 XX27F6: 8E 07 03 4C 18 28 C0 14 D0 18 XX2800: A2 00 8E 03 03 4C 18 28 BD 6F XX280A: 03 A8 A2 00 C0 01 D0 09 8E 15 XX2814: 03 4C 18 28 4C B7 28 C0 02 D0 XX281E: 6D A2 FF 8E 0D 03 A0 17 A9 00 XX2828: 99 80 03 88 10 FA 8D 01 03 8D XX2832: 05 03 8D 03 03 8D 04 03 8D 06 XX283C: 03 8D 07 03 8D 09 03 8D 0A 03 XX2846: 8D 0B 03 8D 12 03 8D 14 03 8D XX2850: 18 03 8D 19 03 A9 17 8D 13 03 XX285A: A9 FF 8D 20 03 8D 28 03 8D 30 XX2864: 03 8D 38 03 8D 40 03 8D 48 03 XX286E: 8D 50 03 8D 58 03 8D 60 03 8E XX2878: 68 03 8E 70 03 8D 02 03 8E 0D XX2882: 03 8E 02 03 8E 15 03 4C 18 28 XX288C: C0 05 D0 10 2C 08 03 10 22 A2 XX2896: 20 8E 08 03 20 3F 50 4C 18 28 XX28A0: C0 06 D0 06 8E 18 03 4C 18 28 XX28AA: C0 07 D0 06 8E 05 03 4C 18 28 XX28B4: 4C 18 28 AE 11 20 CA D0 01 60 XX28BE: 4C D2 27 A9 1B 20 09 40 A9 5B XX28C8: 20 09 40 A9 3F 20 09 40 A9 31 XX28D2: 20 09 40 A9 3B 20 09 40 A9 30 XX28DC: 20 09 40 A9 63 20 09 40 60 00 XX28E6: 00 00 10 20 30 40 50 60 00 01 XX28F0: 02 03 04 05 06 07 08 09 10 11 XX28FA: 12 13 14 15 00 00 E8 8E FE 28 XX2904: 8A 4A 4A 4A 4A AA BD E7 28 A8 XX290E: AD FE 28 29 0F AA BD EE 28 8D XX2918: FF 28 98 F8 18 6D FF 28 8D FE XX2922: 28 D8 4A 4A 4A 4A 18 69 30 8D XX292C: E5 28 AD FE 28 29 0F 18 69 30 XX2936: 8D E6 28 AD E5 28 C9 30 F0 03 XX2940: 20 09 40 AD E6 28 20 09 40 60 XX294A: AC 70 03 C0 05 F0 21 A9 1B 20 XX2954: 09 40 A9 5B 20 09 40 AE 10 03 XX295E: 20 00 29 A9 3B 20 09 40 AE 0F XX2968: 03 20 00 29 A9 52 20 09 40 60 XX2972: A9 1B 20 09 40 A9 5B 20 09 40 XX297C: A9 30 20 09 40 A9 6E 20 09 40 XX2986: 60 AE 70 03 D0 02 A2 01 8E 11 XX2990: 20 20 36 50 AE 11 20 CA D0 F4 XX299A: 60 AE 70 03 D0 02 A2 01 8E 11 XX29A4: 20 20 2A 50 AE 11 20 CA D0 F4 XX29AE: 60 AE 70 03 D0 02 A2 01 8E 11 XX29B8: 20 20 2D 50 AE 11 20 CA D0 F4 XX29C2: 60 20 1B 50 AE 70 03 D0 02 A2 XX29CC: 01 8E 11 20 20 18 50 AE 11 20 XX29D6: CA D0 F4 20 21 50 60 20 1B 50 XX29E0: AE 70 03 D0 02 A2 01 8E 11 20 XX29EA: 20 15 50 AE 11 20 CA D0 F4 20 XX29F4: 21 50 60 A0 00 B9 70 03 C9 08 XX29FE: B0 04 C9 00 D0 05 A2 00 4C 0B XX2A08: 2A A2 FF 8E 0C 03 C8 CC 25 24 XX2A12: B0 03 4C F9 29 60 20 1B 50 AE XX2A1C: 70 03 D0 02 A2 01 CA E0 18 B0 XX2A26: 22 8E 12 03 2C 18 03 10 06 8E XX2A30: 10 03 4C 3A 2A A9 00 8D 10 03 XX2A3A: AE 71 03 D0 02 A2 18 CA E0 18 XX2A44: B0 03 8E 13 03 A2 00 8E 0F 03 XX2A4E: 20 21 50 60 A9 00 8D 0F 20 8D XX2A58: 10 20 60 60 A2 00 8E 1C 03 8E XX2A62: 70 03 C9 41 F0 39 C9 42 F0 38 XX2A6C: C9 43 F0 37 C9 44 F0 36 C9 46 XX2A76: F0 35 C9 47 F0 34 C9 48 F0 33 XX2A80: C9 49 F0 32 C9 4A F0 31 C9 4B XX2A8A: F0 30 C9 59 F0 2F C9 5A F0 2E XX2A94: C9 3D F0 2D C9 3E F0 2C C9 3C XX2A9E: F0 2B 60 4C 3E 25 4C 41 25 4C XX2AA8: 57 26 4C 7A 26 4C DD 2A 4C E9 XX2AB2: 2A 4C CE 2A 4C 0E 23 4C 0F 27 XX2ABC: 4C E2 26 4C F5 2A 4C 56 2B 4C XX2AC6: 00 2B 4C 06 2B 4C 0C 2B 20 1B XX2AD0: 50 A2 00 8E 0F 03 8E 10 03 20 XX2ADA: 21 50 60 A2 FF 8D 16 03 8D 0B XX2AE4: 03 8D 19 03 60 A2 00 8D 16 03 XX2AEE: 8D 0B 03 8D 19 03 60 A0 06 8C XX2AF8: 1C 03 A0 00 8C 21 2B 60 A9 FF XX2B02: 8D 14 03 60 A9 00 8D 14 03 60 XX2B0C: A9 00 8D 02 03 8D 15 03 8D 14 XX2B16: 03 8D 0D 03 8D 0B 03 8D 16 03 XX2B20: 60 00 AC 21 2B C0 00 D0 04 8D XX2B2A: 21 2B 60 48 20 1B 50 68 AA AD XX2B34: 21 2B 38 E9 20 A8 8A 38 E9 20 XX2B3E: AA C0 18 B0 0A E0 50 B0 06 8E XX2B48: 0F 03 8C 10 03 20 21 50 A9 00 XX2B52: 8D 1C 03 60 A9 1B 20 09 40 A9 XX2B5C: 2F 20 09 40 A9 5A 20 09 40 60 XX2B66: 47 6F 2E 2E 2E 0D 0A 00 0D 0A XX2B70: 44 43 4F 4D 3A 20 53 6F 66 74 XX2B7A: 20 72 65 73 65 74 2E 07 0D 0A XX2B84: 00 44 43 4F 4D 3A 20 53 65 6C XX2B8E: 66 20 74 65 73 74 3A 20 4F 4B XX2B98: 0D 0A 00 00 00 XX3D0G XXBSAVE DCOM.MAIN,A$2000,L2972 XXTEXT:HOME:?"UNPACKING:":?"TERMINAL DEFAULTS":POKE 34,3:HOME:CALL -151 XX0300: 00 17 XX0302: FF 00 00 FF 00 00 20 00 FF 17 XX030C: 00 00 00 02 17 05 00 17 00 00 XX0316: 02 00 00 17 02 00 00 00 07 03 XX0320: FF 00 00 00 00 00 00 00 FF 00 XX032A: 00 00 00 00 00 00 FF 00 00 00 XX0334: 00 00 00 00 FF 00 00 00 00 00 XX033E: 00 00 FF 00 00 00 00 00 00 00 XX0348: FF 00 00 00 00 00 00 00 FF 00 XX0352: 00 00 00 00 00 00 FF 00 00 00 XX035C: 00 00 00 00 FF 00 00 00 00 00 XX0366: 00 00 FF 00 00 00 00 00 00 00 XX0370: 0C 2E 03 04 05 06 07 00 00 00 XX037A: 00 00 00 00 00 00 00 00 00 00 XX0384: 00 00 00 00 00 00 00 00 00 00 XX038E: 00 00 00 00 00 00 00 00 00 00 XX0398: 00 00 00 00 00 00 00 00 01 XX3D0G XXBSAVE DCOM.MAIN.D,A$300,L$A0 XXTEXT:HOME:?"UNPACKING:":?"CONTROL PANEL":POKE 34,3:HOME:CALL -151 XX7000: 4C 5B 70 4C A1 7A 4C 58 XX7008: 7C 4C 44 7D 4C 74 7D 4C 16 70 XX7012: 00 00 00 00 8E 1D 70 8C 1E 70 XX701C: AD FF FF F0 15 C9 01 F0 13 20 XX7026: 09 20 EE 1D 70 D0 EF EE 1E 70 XX7030: 20 06 20 4C 1C 70 60 00 AD 0C XX703A: 03 49 80 8D 0C 03 A2 4F 8E 37 XX7044: 70 A9 20 20 09 20 AE 37 70 CA XX704E: 10 F2 AD 0C 03 49 80 8D 0C 03 XX7058: 4C 28 70 A9 00 20 63 70 4C 9C XX7062: 70 8D 15 70 C9 00 D0 0B A9 13 XX706C: 20 09 40 AD 1C 03 8D 14 70 AD XX7076: 04 03 8D A6 70 A9 00 8D 04 03 XX7080: 8D 1C 03 AE 12 03 8E 12 70 AE XX708A: 13 03 8E 13 70 8E 01 03 8E 19 XX7094: 03 8E 0B 03 20 48 50 60 A2 A7 XX709E: A0 70 20 16 70 4C 2D 74 00 1B XX70A8: 5B 32 4A 1B 5B 48 1B 5B 30 6D XX70B2: 1B 5B 31 3B 32 34 72 3C 45 53 XX70BC: 43 3E 20 52 65 74 75 72 6E 73 XX70C6: 20 79 6F 75 20 74 6F 20 79 6F XX70D0: 75 72 20 66 72 69 65 6E 64 6C XX70DA: 79 20 74 65 72 6D 69 6E 61 6C XX70E4: 2E 2E 2E 0D 0A 0A 59 65 73 2F XX70EE: 4E 6F 20 4B 65 79 20 46 75 6E XX70F8: 63 74 69 6F 6E 0D 0A 0D 0A 20 XX7102: 20 20 20 20 20 20 20 41 20 20 XX710C: 45 63 68 6F 20 63 68 61 72 61 XX7116: 63 74 65 72 73 20 74 79 70 65 XX7120: 64 3F 0D 0A 20 20 20 20 20 20 XX712A: 20 20 42 20 20 43 52 2F 4C 46 XX7134: 20 6F 6E 20 4C 46 3F 0D 0A 20 XX713E: 20 20 20 20 20 20 20 43 20 20 XX7148: 43 52 2F 4C 46 20 6F 6E 20 43 XX7152: 52 3F 0D 0A 20 20 20 20 20 20 XX715C: 20 20 44 20 20 57 72 61 70 20 XX7166: 63 68 61 72 61 63 74 65 72 73 XX7170: 20 6F 66 66 20 72 69 67 68 74 XX717A: 20 73 69 64 65 3F 0D 0A 20 20 XX7184: 20 20 20 20 20 20 45 20 20 4B XX718E: 65 79 2D 63 6C 69 63 6B 3F 0D XX7198: 0A 20 20 20 20 20 20 20 20 46 XX71A2: 20 20 42 61 63 6B 67 72 6F 75 XX71AC: 6E 64 20 69 6E 76 65 72 74 65 XX71B6: 64 3F 0D 0A 0D 0A 42 4C 49 4E XX71C0: 4B 20 53 50 45 45 44 20 30 2D XX71CA: 39 20 28 30 3D 4E 4F 20 42 4C XX71D4: 49 4E 4B 29 20 31 3D 46 41 53 XX71DE: 54 2C 20 39 3D 53 4C 4F 57 20 XX71E8: 28 20 29 0D 0A 0D 0A 40 29 20 XX71F2: 51 75 69 74 20 74 68 69 73 20 XX71FC: 70 72 6F 67 72 61 6D 0D 0A 53 XX7206: 29 20 53 61 76 65 20 74 68 65 XX7210: 73 65 20 73 65 74 74 69 6E 67 XX721A: 73 0D 0A 54 29 20 53 65 74 20 XX7224: 73 74 61 6E 64 61 72 64 20 74 XX722E: 61 62 73 2E 20 28 46 6F 72 20 XX7238: 55 4E 49 58 2C 20 56 4D 53 2C XX7242: 20 65 74 63 2E 29 0D 0A 0D 0A XX724C: 52 29 20 52 65 73 65 74 20 74 XX7256: 65 72 6D 69 6E 61 6C 2E 0D 0A XX7260: 1B 5B 32 32 3B 30 48 20 20 20 XX726A: 20 35 20 20 20 20 30 20 20 20 XX7274: 20 35 20 20 20 20 30 20 20 20 XX727E: 20 35 20 20 20 20 30 20 20 20 XX7288: 20 35 20 20 20 20 30 20 20 20 XX7292: 20 35 20 20 20 20 30 20 20 20 XX729C: 20 35 20 20 20 20 30 20 20 20 XX72A6: 20 35 20 20 20 20 30 20 20 20 XX72B0: 20 35 20 20 20 20 30 1B 5B 32 XX72BA: 31 3B 30 48 20 20 20 20 20 20 XX72C4: 20 20 20 31 20 20 20 20 31 20 XX72CE: 20 20 20 32 20 20 20 20 32 20 XX72D8: 20 20 20 33 20 20 20 20 33 20 XX72E2: 20 20 20 34 20 20 20 20 34 20 XX72EC: 20 20 20 35 20 20 20 20 35 20 XX72F6: 20 20 20 36 20 20 20 20 36 20 XX7300: 20 20 20 37 20 20 20 20 37 20 XX730A: 20 20 20 38 1B 5B 32 30 3B 30 XX7314: 48 54 41 42 53 3A 20 55 73 65 XX731E: 20 74 68 65 20 6C 65 66 74 20 XX7328: 61 6E 64 20 72 69 67 68 74 20 XX7332: 61 72 72 6F 77 73 20 74 6F 20 XX733C: 73 65 6C 65 63 74 2C 20 61 6E XX7346: 64 20 3C 53 50 41 43 45 3E 20 XX7350: 74 6F 20 74 6F 67 67 6C 65 20 XX735A: 6F 6E 20 61 6E 64 20 6F 66 66 XX7364: 2E 0D 0A 0A 0A 2D 2D 2D 2D 2D XX736E: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX7378: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX7382: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX738C: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX7396: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX73A0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX73AA: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX73B4: 2D 2D 2D 2D 2D 00 1B 5B 48 1B XX73BE: 5B 32 4A 0A 0A 0A 0A 0A 59 6F XX73C8: 75 72 20 64 65 66 61 75 6C 74 XX73D2: 20 73 65 74 74 69 6E 67 73 20 XX73DC: 77 69 6C 6C 20 62 65 20 73 61 XX73E6: 76 65 64 20 77 68 65 6E 20 79 XX73F0: 6F 75 20 65 78 69 74 20 74 68 XX73FA: 65 20 70 72 6F 67 72 61 6D 2E XX7404: 0D 0A 0D 0A 50 4C 45 41 53 45 XX740E: 20 53 54 52 49 4B 45 20 41 4E XX7418: 59 20 4B 45 59 20 54 4F 20 43 XX7422: 4F 4E 54 49 4E 55 45 2E 0D 0A XX742C: 00 A2 28 8E 1E 77 20 A4 76 20 XX7436: 76 76 A2 15 A0 77 20 16 70 AD XX7440: 11 03 18 69 30 20 09 20 A9 08 XX744A: 20 09 20 20 35 7F C9 40 F0 7A XX7454: C9 5F 90 03 38 E9 20 C9 30 90 XX745E: 15 C9 3A B0 76 38 E9 30 48 20 XX7468: 1B 50 68 8D 11 03 20 21 50 4C XX7472: 3F 74 C9 08 F0 64 C9 15 F0 71 XX747C: C9 20 F0 7D C9 1B F0 03 4C 3F XX7486: 74 20 4B 50 AD A6 70 8D 04 03 XX7490: AE 12 70 8E 12 03 AE 13 70 8E XX749A: 13 03 A2 10 BD 00 81 9D 00 03 XX74A4: CA E0 08 D0 F5 AD 01 81 8D 01 XX74AE: 03 AD 19 81 8D 19 03 AD 0B 81 XX74B8: 8D 0B 03 AD 15 70 C9 00 D0 0B XX74C2: A9 11 20 09 40 AD 14 70 8D 1C XX74CC: 03 60 AD FF 02 09 F0 8D FF 02 XX74D6: 4C 87 74 4C 16 75 AE 1E 77 CA XX74E0: D0 02 A2 50 8E 1E 77 20 A4 76 XX74EA: 4C 3F 74 AE 1E 77 E8 E0 51 D0 XX74F4: EF A2 01 8E 1E 77 4C E4 74 AE XX74FE: 1E 77 CA BD 20 03 30 05 A9 FF XX7508: 4C 0D 75 A9 00 9D 20 03 20 A4 XX7512: 76 4C 3F 74 C9 41 D0 0C AE 07 XX751C: 03 20 1F 77 8E 07 03 4C 35 74 XX7526: C9 42 D0 0C AE 03 03 20 1F 77 XX7530: 8E 03 03 4C 35 74 C9 43 D0 0C XX753A: AE A6 70 20 1F 77 8E A6 70 4C XX7544: 35 74 C9 44 D0 0C AE 05 03 20 XX754E: 1F 77 8E 05 03 4C 35 74 C9 45 XX7558: D0 0C AE 06 03 20 1F 77 8E 06 XX7562: 03 4C 35 74 C9 46 D0 26 AD 08 XX756C: 03 49 80 8D 08 03 AD 0C 03 49 XX7576: 80 8D 0C 03 A9 FF 8D 15 70 20 XX7580: 87 74 A9 00 8D 15 70 20 3F 50 XX758A: 20 98 70 4C 9C 70 C9 53 D0 12 XX7594: A2 BA A0 73 20 16 70 20 35 7F XX759E: A9 0F 8D FF 02 4C 9C 70 C9 54 XX75A8: D0 38 A2 20 A9 00 9D 00 03 E8 XX75B2: E0 71 90 F8 A2 FF 8E 20 03 8E XX75BC: 28 03 8E 30 03 8E 38 03 8E 40 XX75C6: 03 8E 48 03 8E 50 03 8E 58 03 XX75D0: 8E 60 03 8E 68 03 8E 70 03 20 XX75DA: A4 76 4C 73 76 4C 35 74 C9 52 XX75E4: D0 F6 20 00 50 A2 17 8E 13 03 XX75EE: A2 20 8E 08 03 A2 00 8E 12 03 XX75F8: 8E 0D 03 8E 14 03 8E 0C 03 8E XX7602: 19 03 8E 01 03 8E 03 03 8E 04 XX760C: 03 8E 07 03 8E 09 03 8E 0B 03 XX7616: 8E 16 03 8E 17 03 8E 18 03 20 XX7620: 03 50 A2 00 8E 0F 03 8E 10 03 XX762A: 8E FF 02 8E 1C 03 20 21 50 A2 XX7634: 40 A0 76 20 16 70 A9 11 20 09 XX763E: 40 60 1B 5B 48 1B 5B 32 4A 1B XX7648: 23 38 07 1B 5B 48 07 1B 5B 32 XX7652: 4A 54 65 72 6D 69 6E 61 6C 20 XX765C: 72 65 73 65 74 2E 20 50 72 6F XX7666: 63 65 65 64 2E 2E 2E 07 0D 0A XX7670: 0D 0A 00 4C 3F 74 A2 F9 A0 76 XX767A: 20 16 70 2C 07 03 20 E7 76 2C XX7684: 03 03 20 E7 76 2C A6 70 20 E7 XX768E: 76 2C 05 03 20 E7 76 2C 06 03 XX7698: 20 E7 76 2C 08 03 20 E7 76 4C XX76A2: DF 76 A2 0C A0 77 20 16 70 A2 XX76AC: 00 8E 14 77 CE 1E 77 EC 1E 77 XX76B6: D0 05 A0 FF 8C 0C 03 EE 1E 77 XX76C0: BD 20 03 30 08 A9 20 20 09 20 XX76CA: 4C D2 76 A9 54 20 09 20 A0 00 XX76D4: 8C 0C 03 AE 14 77 E8 E0 50 D0 XX76DE: CE A2 15 A0 77 20 16 70 60 10 XX76E8: 08 A2 00 A0 77 20 16 70 60 A2 XX76F2: 06 A0 77 20 16 70 60 1B 5B 35 XX76FC: 3B 30 48 00 59 65 73 0D 0A 00 XX7706: 4E 6F 20 0D 0A 00 1B 5B 32 34 XX7710: 3B 30 48 00 00 1B 5B 31 32 3B XX771A: 34 36 48 00 00 E0 50 B0 03 A2 XX7724: FF 60 A2 00 60 1B 5B 48 1B 5B XX772E: 32 4A 50 6C 65 61 73 65 20 65 XX7738: 6E 74 65 72 20 6F 6E 65 20 6F XX7742: 66 20 74 68 65 20 66 6F 6C 6C XX774C: 6F 77 69 6E 67 20 6C 65 74 74 XX7756: 65 72 73 3A 0D 0A 0D 0A 41 43 XX7760: 54 49 56 45 20 20 4B 45 59 20 XX776A: 20 46 55 4E 43 54 49 4F 4E 0D XX7774: 0A 2D 2D 2D 2D 2D 2D 20 20 2D XX777E: 2D 2D 20 20 2D 2D 2D 2D 2D 2D XX7788: 2D 2D 0D 0A 0D 0A 20 20 20 20 XX7792: 20 20 20 20 20 41 20 20 20 33 XX779C: 30 30 20 42 61 75 64 0D 0A 20 XX77A6: 20 20 20 20 20 20 20 20 42 20 XX77B0: 20 20 31 32 30 30 20 42 61 75 XX77BA: 64 0D 0A 20 20 20 20 20 20 20 XX77C4: 20 20 43 20 20 20 32 34 30 30 XX77CE: 20 42 61 75 64 0D 0A 20 20 20 XX77D8: 20 20 20 20 20 20 44 20 20 20 XX77E2: 38 20 64 61 74 61 20 62 69 74 XX77EC: 73 2C 20 31 20 73 74 6F 70 20 XX77F6: 62 69 74 0D 0A 20 20 20 20 20 XX7800: 20 20 20 20 45 20 20 20 38 20 XX780A: 64 61 74 61 20 62 69 74 73 2C XX7814: 20 32 20 73 74 6F 70 20 62 69 XX781E: 74 73 0D 0A 20 20 20 20 20 20 XX7828: 20 20 20 46 20 20 20 37 20 64 XX7832: 61 74 61 20 62 69 74 73 2C 20 XX783C: 31 20 73 74 6F 70 20 62 69 74 XX7846: 0D 0A 20 20 20 20 20 20 20 20 XX7850: 20 47 20 20 20 37 20 64 61 74 XX785A: 61 20 62 69 74 73 2C 20 32 20 XX7864: 73 74 6F 70 20 62 69 74 73 0D XX786E: 0A 20 20 20 20 20 20 20 20 20 XX7878: 48 20 20 20 4E 6F 20 70 61 72 XX7882: 69 74 79 0D 0A 20 20 20 20 20 XX788C: 20 20 20 20 49 20 20 20 45 76 XX7896: 65 6E 20 70 61 72 69 74 79 0D XX78A0: 0A 20 20 20 20 20 20 20 20 20 XX78AA: 4A 20 20 20 4F 64 64 20 70 61 XX78B4: 72 69 74 79 0D 0A 20 20 20 20 XX78BE: 20 20 20 20 20 4B 20 20 20 4D XX78C8: 61 72 6B 20 70 61 72 69 74 79 XX78D2: 0D 0A 20 20 20 20 20 20 20 20 XX78DC: 20 4C 20 20 20 53 70 61 63 65 XX78E6: 20 70 61 72 69 74 79 0D 0A 0D XX78F0: 0A 3C 45 53 43 3E 20 65 78 69 XX78FA: 74 73 20 74 68 69 73 20 6D 65 XX7904: 6E 75 20 61 6E 64 20 72 65 74 XX790E: 75 72 6E 73 20 79 6F 75 20 74 XX7918: 6F 20 74 68 65 20 74 65 72 6D XX7922: 69 6E 61 6C 2E 0D 0A 00 1B 5B XX792C: 36 3B 30 48 00 1B 5B 32 33 3B XX7936: 30 48 4F 50 54 49 4F 4E 3A 00 XX7940: 1B 5B 38 3B 31 48 1B 5B 31 4A XX794A: 01 1B 5B 33 3B 31 48 53 6F 72 XX7954: 72 79 2C 20 79 6F 75 72 20 63 XX795E: 6F 6D 6D 75 6E 69 63 61 74 69 XX7968: 6F 6E 73 20 64 72 69 76 65 72 XX7972: 20 64 6F 65 73 20 6E 6F 74 20 XX797C: 73 75 70 70 6F 72 74 20 74 68 XX7986: 65 20 73 65 74 74 69 6E 67 20 XX7990: 6F 66 20 61 6E 79 0D 0A 63 6F XX799A: 6D 6D 75 6E 69 63 61 74 69 6F XX79A4: 6E 73 20 6F 70 74 69 6F 6E 73 XX79AE: 2E 20 50 6C 65 61 73 65 20 73 XX79B8: 65 65 20 74 68 65 20 61 70 70 XX79C2: 6C 69 63 61 74 69 6F 6E 73 20 XX79CC: 6E 6F 74 65 73 20 69 6E 20 74 XX79D6: 68 65 20 6D 61 6E 75 61 6C 2E XX79E0: 0D 0A 0D 0A 50 6C 65 61 73 65 XX79EA: 20 73 74 72 69 6B 65 20 61 6E XX79F4: 79 20 6B 65 79 20 74 6F 20 63 XX79FE: 6F 6E 74 69 6E 75 65 2E 2E 2E XX7A08: 00 A0 0B A9 00 18 79 12 40 88 XX7A12: 10 F9 C9 00 F0 2B A2 29 A0 77 XX7A1C: 20 16 70 A2 2A A0 79 20 16 70 XX7A26: A2 00 BD 12 40 8E 14 77 20 4E XX7A30: 7A AE 14 77 E8 E0 0C 90 EF A2 XX7A3A: 31 A0 79 20 16 70 4C 7E 7A A2 XX7A44: 40 A0 79 20 16 70 20 35 7F 60 XX7A4E: C9 00 F0 0B C9 F0 F0 0E A2 6C XX7A58: A0 7A 4C 68 7A A2 72 A0 7A 4C XX7A62: 68 7A A2 78 A0 7A 20 16 70 60 XX7A6C: 28 20 29 0D 0A 00 2D 2D 2D 0D XX7A76: 0A 00 28 2A 29 0D 0A 00 20 35 XX7A80: 7F C9 1B F0 1B C9 60 90 03 38 XX7A8A: E9 20 C9 41 90 0D C9 4D B0 09 XX7A94: 38 E9 41 20 0C 40 4C 1F 7A 4C XX7A9E: 7E 7A 60 20 63 70 20 09 7A 4C XX7AA8: 87 74 1B 5B 39 3B 31 48 1B 5B XX7AB2: 31 4A 1B 5B 38 3B 31 48 01 1B XX7ABC: 5B 48 43 4F 4E 4E 45 43 54 49 XX7AC6: 4F 4E 20 4D 45 4E 55 3A 0D 0A XX7AD0: 0D 0A 50 6C 65 61 73 65 20 65 XX7ADA: 6E 74 65 72 20 74 68 65 20 73 XX7AE4: 79 73 74 65 6D 20 6E 61 6D 65 XX7AEE: 20 79 6F 75 20 77 69 73 68 20 XX7AF8: 63 6F 6E 6E 65 63 74 20 74 6F XX7B02: 2E 20 50 72 65 73 73 20 3C 52 XX7B0C: 45 54 55 52 4E 3E 20 74 6F 20 XX7B16: 63 6F 6E 6E 65 63 74 2C 0D 0A XX7B20: 6F 72 20 3C 45 53 43 3E 20 74 XX7B2A: 6F 20 61 62 6F 72 74 2E 0D 0A XX7B34: 0D 0A 53 79 73 74 65 6D 20 6E XX7B3E: 61 6D 65 20 3A 20 20 20 5F 5F XX7B48: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F XX7B52: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F XX7B5C: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F XX7B66: 5F 5F 5F 5F 5F 5F 5F 5F 1B 5B XX7B70: 36 3B 31 37 48 00 1B 5B 39 3B XX7B7A: 31 48 1B 5B 31 4A 1B 5B 38 3B XX7B84: 31 48 01 1B 5B 48 44 69 61 6C XX7B8E: 69 6E 67 20 6D 65 6E 75 3A 0D XX7B98: 0A 0D 0A 50 6C 65 61 73 65 20 XX7BA2: 65 6E 74 65 72 20 74 68 65 20 XX7BAC: 64 69 61 6C 69 6E 67 20 73 74 XX7BB6: 72 69 6E 67 20 62 65 6C 6F 77 XX7BC0: 3B 20 3C 52 45 54 55 52 4E 3E XX7BCA: 20 74 6F 20 64 69 61 6C 2C 20 XX7BD4: 6F 72 20 3C 45 53 43 3E 20 74 XX7BDE: 6F 20 61 62 6F 72 74 2E 0D 0A XX7BE8: 0D 0A 50 68 6F 6E 65 20 6E 75 XX7BF2: 6D 62 65 72 3A 20 20 20 5F 5F XX7BFC: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F XX7C06: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F XX7C10: 5F 5F 5F 5F 5F 5F 5F 5F 5F 5F XX7C1A: 5F 5F 5F 5F 5F 5F 5F 5F 1B 5B XX7C24: 35 3B 31 37 48 00 1B 5B 38 3B XX7C2E: 31 48 1B 5B 31 4A 01 00 1B 5B XX7C38: 39 3B 31 48 1B 5B 31 4A 1B 5B XX7C42: 38 3B 31 48 01 1B 5B 34 3B 31 XX7C4C: 48 53 45 4E 44 49 4E 47 3A 20 XX7C56: 00 00 A9 FF 20 63 70 AD 00 68 XX7C60: F0 30 C9 03 F0 2C A2 2A A0 7C XX7C6A: 20 16 70 AD 00 68 C9 01 D0 0A XX7C74: A2 FE A0 7D 20 16 70 4C 85 7C XX7C7E: A2 74 A0 7E 20 16 70 A2 0B A0 XX7C88: 7F 20 16 70 20 35 7F 4C 87 74 XX7C92: C9 03 F0 03 4C A0 7C A2 AA A0 XX7C9C: 7A 4C A4 7C A2 76 A0 7B 20 16 XX7CA6: 70 A2 00 8E 57 7C 20 35 7F C9 XX7CB0: 08 F0 4A C9 7F F0 46 C9 1B F0 XX7CBA: 3A C9 0D F0 5E C9 20 90 E9 AE XX7CC4: 57 7C 9D 00 02 8E 57 7C 20 09 XX7CCE: 20 AE 57 7C E8 E0 28 90 D2 8E XX7CD8: 57 7C A9 07 20 09 20 A9 08 20 XX7CE2: 09 20 A9 20 20 09 20 A9 08 20 XX7CEC: 09 20 AE 57 7C CA 4C A9 7C A9 XX7CF6: 00 8D 00 02 4C 87 74 AE 57 7C XX7D00: E0 00 F0 A5 8E 57 7C A9 08 20 XX7D0A: 09 20 A9 5F 20 09 20 A9 08 20 XX7D14: 09 20 AE 57 7C CA 4C A9 7C AE XX7D1E: 57 7C A9 00 9D 00 02 AD 00 02 XX7D28: C9 00 F0 C9 A2 36 A0 7C 20 16 XX7D32: 70 20 01 68 20 87 74 A2 8E A0 XX7D3C: 7D 20 16 70 20 07 68 60 AD 00 XX7D46: 02 C9 00 D0 01 60 20 63 70 4C XX7D50: 25 7D 1B 5B 35 3B 31 48 1B 5B XX7D5A: 31 4A 01 1B 5B 33 3B 31 48 44 XX7D64: 69 73 63 6F 6E 6E 65 63 74 69 XX7D6E: 6E 67 2E 2E 2E 00 A9 FF 20 63 XX7D78: 70 A2 52 A0 7D 20 16 70 20 04 XX7D82: 68 20 87 74 A2 D9 A0 7D 20 16 XX7D8C: 70 60 0D 0A 2D 2D 2D 2D 2D 2D XX7D96: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX7DA0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX7DAA: 2D 2D 2D 2D 2D 2D 2D 2D 0D 0A XX7DB4: 57 61 69 74 69 6E 67 2E 20 28 XX7DBE: 68 69 74 20 61 6E 79 20 6B 65 XX7DC8: 79 20 74 6F 20 73 74 6F 70 2E XX7DD2: 29 2E 2E 2E 0D 0A 00 0D 0A 2D XX7DDC: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D XX7DE6: 2D 2D 2D 2D 0D 0A 44 69 73 63 XX7DF0: 6F 6E 6E 65 63 74 65 64 2E 2E XX7DFA: 2E 0D 0A 00 1B 5B 33 3B 31 48 XX7E04: 54 68 69 73 20 63 6F 6D 70 75 XX7E0E: 74 65 72 20 69 73 20 63 6F 6E XX7E18: 6E 65 63 74 65 64 20 74 6F 20 XX7E22: 61 20 63 6F 6D 6D 75 6E 69 63 XX7E2C: 61 74 69 6F 6E 73 20 6E 65 74 XX7E36: 77 6F 72 6B 2E 20 54 68 65 72 XX7E40: 65 20 69 73 20 6E 6F 74 68 69 XX7E4A: 6E 67 0D 0A 74 6F 20 64 69 61 XX7E54: 6C 2C 20 79 6F 75 20 61 72 65 XX7E5E: 20 61 6C 72 65 61 64 79 20 63 XX7E68: 6F 6E 6E 65 63 74 65 64 2E 0D XX7E72: 0A 00 1B 5B 33 3B 31 48 59 6F XX7E7C: 75 72 20 6D 6F 64 65 6D 20 69 XX7E86: 73 20 6E 6F 74 20 63 6F 6D 70 XX7E90: 61 74 69 62 6C 65 20 77 69 74 XX7E9A: 68 20 74 68 69 73 20 70 72 6F XX7EA4: 67 72 61 6D 2E 20 20 41 75 74 XX7EAE: 6F 6D 61 74 69 63 20 64 69 61 XX7EB8: 6C 69 6E 67 20 69 73 0D 0A 49 XX7EC2: 6D 70 6F 73 73 69 62 6C 65 2E XX7ECC: 20 20 50 6C 65 61 73 65 20 64 XX7ED6: 69 61 6C 20 6D 61 6E 75 61 6C XX7EE0: 6C 79 2C 20 6F 72 20 74 79 70 XX7EEA: 65 20 79 6F 75 72 20 6D 6F 64 XX7EF4: 65 6D 20 63 6F 6D 6D 61 6E 64 XX7EFE: 73 20 64 69 72 65 63 74 6C 79 XX7F08: 2E 0D 0A 1B 5B 36 3B 31 48 50 XX7F12: 6C 65 61 73 65 20 73 74 72 69 XX7F1C: 6B 65 20 61 6E 79 20 6B 65 79 XX7F26: 20 74 6F 20 63 6F 6E 74 69 6E XX7F30: 75 65 2E 20 00 20 1E 50 A9 04 XX7F3A: 20 A8 FC 2C 00 C0 10 F3 2C 10 XX7F44: C0 AD 00 C0 60 A0 XX3D0G XXBSAVE DCOM.CONTROL,A$7000,L3913 XXTEXT:HOME:?"UNPACKING:":?"KEYBOARD DRIVER":POKE 34,3:HOME:CALL -151 XX6000: 4C 9A 60 48 XX6004: 68 4A 6A 4B 6B 4C 6C 51 71 57 XX600E: 77 45 65 72 52 37 38 39 34 35 XX6018: 36 31 32 33 2E 2D 2C 0D 30 08 XX6022: 0A 0B 15 42 62 00 00 00 00 00 XX602C: 00 00 00 00 00 00 00 00 04 04 XX6036: 02 02 01 01 03 03 05 05 06 06 XX6040: 07 07 08 08 09 0A 0B 0D 0E 0F XX604A: 11 12 13 16 0C 10 14 15 04 02 XX6054: 01 03 17 17 00 00 00 00 00 00 XX605E: 00 00 00 00 00 00 00 00 00 00 XX6068: 00 00 00 00 00 00 00 00 41 42 XX6072: 43 44 50 51 52 53 77 78 79 6D XX607C: 74 75 76 6C 71 72 73 4D 70 6E XX6086: 00 00 00 00 00 00 00 00 00 00 XX6090: 00 00 00 00 4C 00 70 00 00 00 XX609A: 8D 98 60 2C 61 C0 30 20 2C 62 XX60A4: C0 30 1B 20 09 40 2C 03 03 30 XX60AE: 01 60 A9 0A 4C 09 40 60 4C 06 XX60B8: 70 4C 03 70 4C 0C 70 4C 09 70 XX60C2: C9 1B F0 CE C9 44 F0 EC C9 64 XX60CC: F0 E8 C9 4D F0 E7 C9 6D F0 E3 XX60D6: C9 58 F0 E2 C9 78 F0 DE C9 41 XX60E0: F0 DD C9 61 F0 D9 2C 0D 03 10 XX60EA: 05 A2 3F 4C F2 60 A2 4F 8E 99 XX60F4: 60 A2 00 A8 DD 03 60 F0 06 E8 XX60FE: E0 32 D0 F6 60 BC 34 60 88 BE XX6108: 70 60 8E 97 60 C0 04 90 40 C0 XX6112: 16 F0 38 C0 08 90 0B AD 98 60 XX611C: 2C 14 03 10 86 4C 2E 61 2C 0D XX6126: 03 10 05 A2 00 8E 99 60 A9 1B XX6130: 20 09 40 20 06 20 AD 99 60 C9 XX613A: 00 F0 03 20 09 40 20 06 20 AD XX6144: 97 60 20 09 40 20 06 20 60 20 XX614E: 0F 40 60 2C 0D 03 10 08 A9 00 XX6158: 8D 99 60 4C 63 61 2C 15 03 10 XX6162: 1F A9 1B 20 09 40 20 06 20 AD XX616C: 99 60 C9 00 F0 03 20 09 40 20 XX6176: 06 20 AD 97 60 20 09 40 20 06 XX6180: 20 60 A9 1B 20 09 40 20 06 20 XX618A: A9 5B 20 09 40 20 06 20 AD 97 XX6194: 60 20 09 40 20 06 20 60 0A XX3D0G XXBSAVE DCOM.KEYBOARD.IIE,A$6000,L412 XXTEXT:HOME:?"DONE. TYPE 'EXEC TO.APPLE.2' TO GO ON.":?:? SHAR_EOF if test 27350 -ne "`wc -c < 'to.apple.1'`" then echo shar: error transmitting "'to.apple.1'" '(should have been 27350 characters)' fi fi # end of overwriting check echo shar: extracting "'to.apple.2'" '(20774 characters)' if test -f 'to.apple.2' then echo shar: will not over-write existing file "'to.apple.2'" else sed 's/^XX//' << \SHAR_EOF > 'to.apple.2' XXTEXT:HOME:?"UNPACKING:":?"ALS DISPATCHER DRIVER":POKE 34,3:HOME:CALL -151 XX4000: 4C B8 41 4C 0E 42 XX4006: 4C 34 42 4C 1C 42 4C 32 40 4C XX4010: 43 42 00 00 00 F0 FF FF FF F0 XX401A: FF FF 00 00 00 60 00 00 00 00 XX4024: 15 11 1D 00 19 00 00 00 00 00 XX402E: 0D 05 09 01 C9 03 90 13 AA A8 XX4038: B9 12 40 F0 0C C0 05 90 0C C0 XX4042: 07 90 59 C0 0A 90 01 60 4C 12 XX404C: 41 C0 03 D0 27 A9 FF A0 06 99 XX4056: 12 40 88 C0 03 D0 F8 A9 F0 99 XX4060: 12 40 A0 09 B9 12 40 C9 F0 F0 XX406A: 05 A9 FF 99 12 40 88 C0 06 D0 XX4074: EF 4C 63 41 A0 09 A9 00 99 12 XX407E: 40 88 99 12 40 88 A9 F0 99 12 XX4088: 40 88 A9 FF 99 12 40 88 C0 03 XX4092: B0 F8 A0 04 A9 F0 99 12 40 4C XX409C: 63 41 C0 05 F0 13 20 C8 40 A0 XX40A6: 05 A9 FF 99 12 40 C8 A9 F0 99 XX40B0: 12 40 4C 63 41 20 C8 40 A0 05 XX40BA: A9 F0 99 12 40 C8 A9 FF 99 12 XX40C4: 40 4C 63 41 A0 03 A9 FF 99 12 XX40CE: 40 C8 99 12 40 A0 07 B9 12 40 XX40D8: C9 F0 F0 21 A9 00 99 12 40 C8 XX40E2: B9 12 40 C9 F0 F0 0C A9 FF 99 XX40EC: 12 40 C8 A9 F0 99 12 40 60 C8 XX40F6: A9 FF 99 12 40 60 60 A9 F0 A0 XX4100: 08 99 12 40 88 A9 00 99 12 40 XX410A: A9 FF A0 09 99 12 40 60 BD 12 XX4114: 40 C9 00 F0 1B A0 09 B9 12 40 XX411E: C9 00 F0 05 A9 FF 99 12 40 88 XX4128: C0 06 D0 EF A9 F0 9D 12 40 4C XX4132: 63 41 60 A0 0B B9 12 40 C9 F0 XX413C: F0 06 88 10 F6 4C 50 41 C0 03 XX4146: 90 09 C0 07 90 0B C0 0C 90 0D XX4150: 60 8C 1D 03 4C 3E 41 8C 1F 03 XX415A: 4C 3E 41 8C 1E 03 4C 3E 41 20 XX4164: 35 41 AD 1F 03 C9 03 F0 0D C9 XX416E: 04 F0 0E C9 05 F0 0F C9 06 F0 XX4178: 10 60 A2 00 4C 8B 41 A2 01 4C XX4182: 8B 41 A2 08 4C 8B 41 A2 09 AD XX418C: 1E 03 C9 07 F0 09 C9 08 F0 0A XX4196: C9 09 F0 0B 60 A0 02 4C A7 41 XX41A0: A0 06 4C A7 41 A0 04 8A 8C B7 XX41AA: 41 18 6D B7 41 A8 B9 22 40 8D XX41B4: AE C0 60 00 AD 1A 03 18 69 C0 XX41BE: 8D 20 40 AD 1A 03 0A 0A 0A 0A XX41C8: 8D 21 40 AE 20 40 8E 3F 42 8E XX41D2: 2F 42 8E 1B 42 8E F5 41 A0 0D XX41DC: AD 20 40 85 01 A9 00 85 00 B1 XX41E6: 00 8D F4 41 AE 20 40 AC 21 40 XX41F0: 2C FF CF 20 FF FF A0 0E B1 00 XX41FA: 8D 3E 42 A0 0F B1 00 8D 2E 42 XX4204: A0 10 B1 00 8D 1A 42 4C 35 41 XX420E: AE 20 40 AC 21 40 A9 01 2C FF XX4218: CF 4C FF FF 2C 00 03 30 12 20 XX4222: 06 20 AE 20 40 AC 21 40 2C FF XX422C: CF 20 FF FF 4C 06 20 60 AE 20 XX4236: 40 AC 21 40 2C FF CF 20 FF FF XX4240: 29 7F 60 60 C0 XX3D0G XXBSAVE DCOM.MODEM.ALSDIS,A$4000,L580 XXTEXT:HOME:?"UNPACKING:":?"ALS DISPATCHER DEFAULTS":POKE 34,3:HOME:CALL -151 XX4012: 00 00 00 F0 FF FF FF F0 XX401A: FF FF 00 00 00 60 XX3D0G XXBSAVE DCOM.MODEM.ALSDIS.D,A$4012,L13 XXTEXT:HOME:?"UNPACKING:":?"CPS MULTIFUNCTION CARD DRIVER":POKE 34,3:HOME:CALL -151 XX4000: 4C 23 40 4C 60 40 XX4006: 4C 71 40 4C 6B 40 4C 22 40 4C XX4010: 22 40 00 00 00 00 00 00 00 00 XX401A: 00 00 00 00 00 00 00 00 60 AD XX4024: 1A 03 18 69 C0 8D 1F 40 8D 3D XX402E: 40 8D 67 40 8D 73 40 8D 6F 40 XX4038: 8D 64 40 20 00 FF A2 00 8E 21 XX4042: 40 BD 55 40 C9 FF F0 0A 20 6B XX404C: 40 AE 21 40 E8 4C 40 40 60 09 XX4056: 01 01 43 01 4B 01 4F 0D 00 FF XX4060: A9 00 8D FE FF AD FB FF 6A 6A XX406A: 60 29 7F 20 05 FF 60 AD FA FF XX4074: 29 7F 60 41 XX3D0G XXBSAVE DCOM.MODEM.CPS,A$4000,L119 XXTEXT:HOME:?"UNPACKING:":?"CPS DEFAULTS":POKE 34,3:HOME:CALL -151 XX4012: 00 00 00 00 00 00 00 00 XX401A: 00 00 00 00 00 00 XX3D0G XXBSAVE DCOM.MODEM.CPS.D,A$4012,L13 XXTEXT:HOME:?"UNPACKING:":?"GENERIC PASCAL DRIVER":POKE 34,3:HOME:CALL -151 XX4000: 4C 22 40 4C 76 40 XX4006: 4C 9C 40 4C 84 40 4C 21 40 4C XX4010: 21 40 00 00 00 00 00 00 00 00 XX401A: 00 00 00 00 00 00 00 60 AD 1A XX4024: 03 18 69 C0 8D 1F 40 AD 1A 03 XX402E: 0A 0A 0A 0A 8D 20 40 AE 1F 40 XX4038: 8E A7 40 8E 97 40 8E 83 40 8E XX4042: 5F 40 A0 0D AD 1F 40 85 01 A9 XX404C: 00 85 00 B1 00 8D 5E 40 AE 1F XX4056: 40 AC 20 40 2C FF CF 20 FF FF XX4060: A0 0E B1 00 8D A6 40 A0 0F B1 XX406A: 00 8D 96 40 A0 10 B1 00 8D 82 XX4074: 40 60 AE 1F 40 AC 20 40 A9 01 XX407E: 2C FF CF 4C FF FF 2C 00 03 30 XX4088: 12 20 06 20 AE 1F 40 AC 20 40 XX4092: 2C FF CF 20 FF FF 4C 06 20 60 XX409C: AE 1F 40 AC 20 40 2C FF CF 20 XX40A6: FF FF 29 7F 60 40 XX3D0G XXBSAVE DCOM.MODEM.PASCAL,A$4000,L171 XXTEXT:HOME:?"UNPACKING:":?"GENERIC PASCAL DEFAULTS":POKE 34,3:HOME:CALL -151 XX4012: 00 00 00 00 00 00 00 00 XX401A: 00 00 00 00 00 00 XX3D0G XXBSAVE DCOM.MODEM.PASCAL.D,A$4012,L13 XXTEXT:HOME:?"UNPACKING:":?"SUPER SERIAL CARD DRIVER":POKE 34,3:HOME:CALL -151 XX4000: 4C 9F 40 4C 2D 41 XX4006: 4C 53 41 4C 3B 41 4C 2E 40 4C XX4010: 62 41 FF F0 FF FF F0 FF FF F0 XX401A: FF FF 00 00 FF 60 00 00 06 08 XX4024: 0A 10 90 30 B0 0B 6B 2B 00 00 XX402E: A8 AA BD 12 40 F0 25 98 AA E0 XX4038: 03 90 0D 98 AA E0 07 90 0D 98 XX4042: AA E0 0C 90 0D 60 8E 1D 03 4C XX404C: 5B 40 8E 1F 03 4C 5B 40 8E 1E XX4056: 03 4C 5B 40 60 AE 1D 03 AC 1F XX4060: 03 BD 22 40 18 79 22 40 AC 21 XX406A: 40 99 8B C0 AE 1E 03 BD 22 40 XX4074: 99 8A C0 A2 00 BD 12 40 C9 00 XX407E: F0 05 A9 FF 9D 12 40 E8 E0 0D XX4088: 90 EF A9 F0 AE 1F 03 AC 1D 03 XX4092: 9D 12 40 99 12 40 AE 1E 03 9D XX409C: 12 40 60 AD 1A 03 18 69 C0 8D XX40A6: 20 40 AD 1A 03 0A 0A 0A 0A 8D XX40B0: 21 40 AE 20 40 8E 5E 41 8E 4E XX40BA: 41 8E 3A 41 8E DC 40 A0 0D AD XX40C4: 20 40 85 01 A9 00 85 00 B1 00 XX40CE: 8D DB 40 AE 20 40 AC 21 40 2C XX40D8: FF CF 20 FF FF A0 0E B1 00 8D XX40E2: 5D 41 A0 0F B1 00 8D 4D 41 A0 XX40EC: 10 B1 00 8D 39 41 A2 02 BD 12 XX40F6: 40 C9 F0 F0 06 CA 10 F6 4C 04 XX4100: 41 8E 1D 03 A2 06 BD 12 40 C9 XX410A: F0 F0 08 CA E0 03 B0 F4 4C 18 XX4114: 41 8E 1F 03 A2 0B BD 12 40 C9 XX411E: F0 F0 06 CA E0 07 B0 F4 60 8E XX4128: 1E 03 4C 5B 40 AE 20 40 AC 21 XX4132: 40 A9 01 2C FF CF 4C FF FF 2C XX413C: 00 03 30 12 20 06 20 AE 20 40 XX4146: AC 21 40 2C FF CF 20 FF FF 4C XX4150: 06 20 60 AE 20 40 AC 21 40 2C XX415A: FF CF 20 FF FF 29 7F 60 2C FF XX4164: CF AD 00 C2 AC 21 40 20 C1 CD XX416E: 60 F0 XX3D0G XXBSAVE DCOM.MODEM.SSC,A$4000,L367 XXTEXT:HOME:?"UNPACKING:":?"SUPER SERIAL DEFAULTS":POKE 34,3:HOME:CALL -151 XX4012: FF F0 FF F0 FF FF FF F0 XX401A: FF FF 00 00 FF 60 XX3D0G XXBSAVE DCOM.MODEM.SSC.D,A$4012,L13 XXTEXT:HOME:?"UNPACKING:":?"HAYES TONE DIALING DRIVER":POKE 34,3:HOME:CALL -151 XX6800: 00 4C 30 68 4C 76 XX6806: 68 4C AD 68 00 20 09 40 A9 00 XX6810: 20 A8 FC A9 20 20 A8 FC 60 00 XX681A: A2 0F 8E 19 68 A9 00 20 A8 FC XX6824: A9 2E 20 09 20 AE 19 68 CA 10 XX682E: ED 60 A9 0D 20 0B 68 A9 41 20 XX6838: 0B 68 A9 54 20 0B 68 A9 44 20 XX6842: 0B 68 A9 54 20 0B 68 A9 20 20 XX684C: 0B 68 A2 00 BD 00 02 C9 00 F0 XX6856: 16 8E 0A 68 48 20 09 20 68 20 XX6860: 0B 68 AE 0A 68 E8 E0 28 F0 03 XX686A: 4C 50 68 A9 0D 20 0B 68 20 0C XX6874: 20 60 A9 0D 20 0B 68 20 1A 68 XX687E: A9 2B 20 0B 68 A9 2B 20 0B 68 XX6888: A9 2B 20 0B 68 20 1A 68 A9 41 XX6892: 20 0B 68 A9 54 20 0B 68 A9 48 XX689C: 20 0B 68 A9 30 20 0B 68 A9 0D XX68A6: 20 0B 68 20 0C 20 60 60 BE XX3D0G XXBSAVE DCOM.PERSONALITY.HAYES,A$6800,L174 XXTEXT:HOME:?"UNPACKING:":?"HAYES PULSE DIALING DRIVER":POKE 34,3:HOME:CALL -151 XX6800: 00 4C 30 68 4C 76 XX6806: 68 4C AD 68 00 20 09 40 A9 00 XX6810: 20 A8 FC A9 20 20 A8 FC 60 00 XX681A: A2 0F 8E 19 68 A9 00 20 A8 FC XX6824: A9 2E 20 09 20 AE 19 68 CA 10 XX682E: ED 60 A9 0D 20 0B 68 A9 41 20 XX6838: 0B 68 A9 54 20 0B 68 A9 44 20 XX6842: 0B 68 A9 50 20 0B 68 A9 20 20 XX684C: 0B 68 A2 00 BD 00 02 C9 00 F0 XX6856: 16 8E 0A 68 48 20 09 20 68 20 XX6860: 0B 68 AE 0A 68 E8 E0 28 F0 03 XX686A: 4C 50 68 A9 0D 20 0B 68 20 0C XX6874: 20 60 A9 0D 20 0B 68 20 1A 68 XX687E: A9 2B 20 0B 68 A9 2B 20 0B 68 XX6888: A9 2B 20 0B 68 20 1A 68 A9 41 XX6892: 20 0B 68 A9 54 20 0B 68 A9 48 XX689C: 20 0B 68 A9 30 20 0B 68 A9 0D XX68A6: 20 0B 68 20 0C 20 60 60 BE XX3D0G XXBSAVE DCOM.PERSONALITY.PHAYES,A$6800,L174 XXTEXT:HOME:?"UNPACKING:":?"U/B NET-ONE LAN DRIVER":POKE 34,3:HOME:CALL -151 XX6800: 03 4C 20 68 4C 5F XX6806: 68 4C 74 68 00 20 09 40 A2 07 XX6810: 20 75 68 60 00 A2 1D 20 75 68 XX681A: A9 2E 20 09 20 60 A9 0D 20 0B XX6824: 68 20 15 68 A9 0D 20 0B 68 20 XX682E: 15 68 A9 43 20 0B 68 A9 20 20 XX6838: 0B 68 A2 00 BD 00 02 C9 00 F0 XX6842: 16 8E 0A 68 48 20 09 20 68 20 XX684C: 0B 68 AE 0A 68 E8 E0 28 F0 03 XX6856: 4C 3C 68 A9 0D 20 0B 68 60 A9 XX6860: 0D 20 0B 68 A9 51 20 0B 68 A9 XX686A: 20 20 0B 68 A9 0D 20 0B 68 60 XX6874: 60 8A 48 A0 FF 98 48 20 06 20 XX687E: 68 A8 88 D0 F6 68 AA CA D0 ED XX6888: 60 2B XX3D0G XXBSAVE DCOM.PERSONALITY.NETONE,A$6800,L137 XXTEXT:HOME:?"UNPACKING:":?"DIRECT CONNECT NETWORK DRIVER":POKE 34,3:HOME:CALL -151 XX6800: 01 4C 0A 68 4C 0B XX6806: 68 4C 19 68 60 A9 00 20 A8 FC XX6810: 20 A8 FC 20 A8 FC 20 A8 FC 60 XX681A: A9 2E 20 09 20 60 A9 0D 20 0B XX6824: 68 20 15 68 A9 0D 20 0B 68 20 XX682E: 15 68 A9 43 20 0B 68 A9 20 20 XX6838: 0B 68 A2 00 BD 00 02 C9 00 F0 XX6842: 16 8E 0A 68 48 20 09 20 68 20 XX684C: 0B 68 AE 0A 68 E8 E0 28 F0 03 XX6856: 4C 3C 68 A9 0D 20 0B 68 60 A9 XX6860: 0D 20 0B 68 A9 51 20 0B 68 A9 XX686A: 20 20 0B 68 A9 0D 20 0B 68 60 XX6874: 60 8A 48 A0 FF 98 48 20 06 20 XX687E: 68 A8 88 D0 F6 68 AA CA D0 ED XX6888: 60 2B 20 0B 68 20 1A 68 A9 41 XX6892: 20 0B 68 A9 54 20 0B 68 A9 48 XX689C: 20 0B 68 A9 30 20 0B 68 A9 0D XX68A6: 20 0B 68 20 0C 20 60 60 BE 8E XX68B0: BA 97 CA 8E A6 BE 8E 6F BE 8D XX68BA: 91 C0 20 68 BF 4C 1C F6 C4 C1 XX68C4: D6 C9 C4 AD C4 CF D3 C9 CE A0 XX68CE: C3 C1 D2 C4 A0 B0 06 09 0E 04 XX68D8: A0 14 0C 0F 01 04 A0 14 0C 09 XX68E2: 13 14 A0 04 15 0D 10 A0 04 09 XX68EC: 13 01 A0 01 0C C3 CF D0 D9 D2 XX68F6: C9 C7 C8 D4 A0 B1 B9 B8 B2 A0 XX6900: C4 C1 D6 C9 C4 A0 D7 C5 D3 D4 XX690A: CF CE XX3D0G XXBSAVE DCOM.PERSONALITY.NETWORK,A$6800,L267 XXTEXT:HOME:?"UNPACKING:":?"DUMB DIALING MODULE":POKE 34,3:HOME:CALL -151 XX6800: 02 4C 0A 68 4C 0B XX6806: 68 4C 19 68 60 A9 00 20 A8 FC XX6810: 20 A8 FC 20 A8 FC 20 A8 FC 60 XX681A: A9 XX3D0G XXBSAVE DCOM.PERSONALITY.DUMB,A$6800,L26 XXTEXT:HOME:?"UNPACKING:":?"DOUBLE VISION SCREEN DRIVER":POKE 34,3:HOME:CALL -151 XX5000: 4C F0 50 4C FC 50 4C 05 51 4C XX500A: 2D 51 4C 67 51 4C 80 51 4C A8 XX5014: 51 4C BA 51 4C D3 51 4C EA 51 XX501E: 4C 04 52 4C 3E 52 4C 8A 52 4C XX5028: C3 52 4C 52 53 4C 7B 53 4C 9E XX5032: 53 4C C4 53 4C DF 53 4C 14 54 XX503C: 4C 4C 54 4C A3 54 4C 2D 53 4C XX5046: 32 53 4C B2 54 4C 18 55 4C 9B XX5050: 55 4C ED 55 60 6C 50 59 05 1D XX505A: 16 18 1C 00 07 20 07 00 00 00 XX5064: 00 00 50 A0 F0 40 90 E0 30 80 XX506E: D0 20 70 C0 10 60 B0 00 50 A0 XX5078: F0 40 90 E0 30 80 C8 C8 C8 C8 XX5082: C9 C9 C9 CA CA CA CB CB CB CC XX508C: CC CC CD CD CD CD CE CE CE CF XX5096: CF 20 18 7F 09 0A 0D 0B 0E 0E XX50A0: 0D 08 2B 2B 2B 2B 2B 2D 2D 2D XX50AA: 2D 5F 2D 2D 2D 2D 7C 3C 3E 07 XX50B4: 19 23 0F 00 00 00 00 00 00 00 XX50BE: 2C FF CF 2C B4 C0 2C B2 C0 30 XX50C8: FB 2C B2 C0 10 FB 8D FF FF 2C XX50D2: B6 C0 60 2C B2 C0 30 FB 2C B2 XX50DC: C0 10 FB 8C B0 C0 2C B2 C0 30 XX50E6: FB 2C B2 C0 10 FB 8D B1 C0 60 XX50F0: A0 0F B9 55 50 20 D5 50 88 10 XX50FA: F7 60 A0 17 20 05 51 88 10 FA XX5104: 60 A9 00 99 80 03 2C FF CF 2C XX510E: B4 C0 B9 65 50 8D 22 51 B9 7E XX5118: 50 8D 23 51 AD 08 03 A2 4F 9D XX5122: FF FF CA 10 FA 2C B6 C0 4C 06 XX512C: 20 BD 80 03 99 80 03 8A 48 2C XX5136: FF CF 2C B4 C0 BD 65 50 8D 56 XX5140: 51 BD 7E 50 8D 57 51 B9 65 50 XX514A: 8D 59 51 B9 7E 50 8D 5A 51 A2 XX5154: 4F BD FF FF 9D FF FF CA 10 F7 XX515E: 2C B6 C0 20 06 20 68 AA 60 48 XX5168: 8A 18 79 65 50 8D CF 50 B9 7E XX5172: 50 69 00 8D D0 50 68 20 BE 50 XX517C: 20 06 20 60 AE 0F 03 E0 00 D0 XX5186: 06 AC 10 03 4C 05 51 A2 4F AC XX5190: 10 03 AD 08 03 8E BA 50 20 67 XX519A: 51 AE BA 50 EC 0F 03 F0 04 CA XX51A4: 4C 95 51 60 20 80 51 A0 17 CC XX51AE: 10 03 F0 07 20 05 51 88 4C AD XX51B8: 51 60 AC 12 03 C8 98 AA 88 20 XX51C2: 2D 51 C8 E8 EC 13 03 90 F6 F0 XX51CC: F4 AC 13 03 4C 05 51 AC 13 03 XX51D6: 88 98 AA C8 20 2D 51 88 CA CC XX51E0: 12 03 D0 F6 AC 12 03 4C 05 51 XX51EA: 2C BB 50 30 01 60 AD B8 50 AE XX51F4: 0F 03 AC 10 03 20 67 51 A9 00 XX51FE: 8D BB 50 4C 35 52 AE 11 03 D0 XX5208: 01 60 EE BC 50 F0 03 4C 15 52 XX5212: EE BD 50 AE BD 50 EC 11 03 F0 XX521C: 01 60 2C BB 50 10 09 20 EA 51 XX5226: A9 00 8D BB 50 60 20 3E 52 A9 XX5230: 80 8D BB 50 60 A9 00 8D BC 50 XX523A: 8D BD 50 60 2C BB 50 30 44 AE XX5244: 0F 03 AC 10 03 20 8A 52 8D B8 XX524E: 50 49 80 AE 0F 03 20 67 51 A9 XX5258: 80 8D BB 50 AC 10 03 B9 80 03 XX5262: 2A B0 0D A2 00 8E 09 03 A2 FF XX526C: 8E 0A 03 4C 87 52 A2 FF 8E 09 XX5276: 03 2A B0 08 A2 00 8E 0A 03 4C XX5280: 87 52 A2 FF 8E 0A 03 4C 35 52 XX528A: 18 8A 79 65 50 8D A1 52 B9 7E XX5294: 50 69 00 8D A2 52 2C FF CF 2C XX529E: B4 C0 AD FF FF 2C B6 C0 20 06 XX52A8: 20 60 2C 0B 03 10 0B C9 5F 90 XX52B2: 07 38 E9 5F A8 B9 97 50 2C 0A XX52BC: 03 30 02 A9 2D 60 00 20 AA 52 XX52C6: 48 20 EA 51 2C C2 52 10 24 AE XX52D0: 0F 03 E0 4F D0 1D 2C 05 03 10 XX52DA: 18 A2 00 8E 0F 03 EE 10 03 AC XX52E4: 10 03 CC 13 03 90 08 F0 06 20 XX52EE: BA 51 CE 10 03 A2 00 8E C2 52 XX52F8: 2C 01 03 10 03 20 14 54 AE 0F XX5302: 03 AC 10 03 68 2C 08 03 10 02 XX530C: 49 80 2C 0C 03 10 02 49 80 20 XX5316: 67 51 EE 0F 03 AE 0F 03 E0 50 XX5320: 90 08 A9 FF 8D C2 52 CE 0F 03 XX532A: 4C 3E 52 A2 00 8E 0F 03 EE 10 XX5334: 03 AC 10 03 C0 18 F0 0A CC 13 XX533E: 03 B0 03 4C 3E 52 F0 FB 20 BA XX5348: 51 AC 13 03 8C 10 03 4C 3E 52 XX5352: 20 EA 51 A2 00 8E 0F 03 AC 10 XX535C: 03 C0 00 F0 14 A0 17 A2 16 20 XX5366: 2D 51 88 CA EC 10 03 B0 F6 20 XX5370: 80 51 4C 3E 52 20 D3 51 4C 3E XX537A: 52 A2 00 8E 0F 03 20 EA 51 AC XX5384: 10 03 C0 17 F0 0C 98 AA E8 20 XX538E: 2D 51 C8 E8 E0 18 D0 F7 A0 17 XX5398: 20 05 51 4C 3E 52 20 EA 51 AE XX53A2: 0F 03 8E C2 53 AC 10 03 8C C3 XX53AC: 53 AD 08 03 20 67 51 AC C3 53 XX53B6: CE C2 53 AE C2 53 10 EF 20 3E XX53C0: 52 60 00 00 20 EA 51 AC 10 03 XX53CA: F0 12 88 8C C3 53 20 05 51 CE XX53D4: C3 53 AC C3 53 10 F5 20 9E 53 XX53DE: 60 20 EA 51 AE 0F 03 8E C2 53 XX53E8: AE C2 53 E8 AC 10 03 20 8A 52 XX53F2: AE C2 53 AC 10 03 20 67 51 EE XX53FC: C2 53 AE C2 53 E0 4F 90 E3 A2 XX5406: 4F AC 10 03 AD 08 03 20 67 51 XX5410: 20 3E 52 60 AE 0F 03 E0 4F F0 XX541A: 2F 20 3E 52 A2 4E 8E B7 50 AE XX5424: B7 50 20 8A 52 AE B7 50 E8 20 XX542E: 67 51 AE B7 50 EC 0F 03 F0 06 XX5438: CE B7 50 4C 23 54 AE 0F 03 AC XX5442: 10 03 AD 08 03 20 67 51 60 00 XX544C: 20 EA 51 AE 08 03 8E 4B 54 A2 XX5456: 45 8E 08 03 20 FC 50 AE 4B 54 XX5460: 8E 08 03 20 3E 52 60 2C B4 C0 XX546A: B9 65 50 8D 85 54 8D 7F 54 B9 XX5474: 7E 50 8D 86 54 8D 80 54 A2 4F XX547E: BD FF FF 18 69 80 9D FF FF CA XX5488: 10 F4 2C B6 C0 2C FF CF 20 06 XX5492: 20 8D 00 C3 2C FF CF 2C B4 C0 XX549C: AD 00 CE 8D 00 CE 60 20 EA 51 XX54A6: A0 17 20 67 54 88 10 FA 20 3E XX54B0: 52 60 20 EA 51 AD B8 50 8D B9 XX54BA: 50 2C FF CF 2C B4 C0 A2 00 8E XX54C4: D9 54 A2 84 8E DA 54 A9 00 8D XX54CE: D6 54 A9 C8 8D D7 54 AD FF FF XX54D8: 8D FF FF EE D6 54 D0 1C 2C B6 XX54E2: C0 2C FF CF 20 06 20 2C B4 C0 XX54EC: AD 00 CE 8D 00 CE EE D7 54 AD XX54F6: D7 54 C9 D0 F0 0B EE D9 54 D0 XX5500: D4 EE DA 54 4C D5 54 A0 A0 B9 XX550A: 00 03 99 00 81 88 C0 FF D0 F5 XX5514: 2C B6 C0 60 2C B4 C0 AD 00 CE XX551E: 8D 00 CE A2 00 8E 36 55 A2 84 XX5528: 8E 37 55 A9 00 8D 39 55 A9 C8 XX5532: 8D 3A 55 AD FF FF 8D FF FF EE XX553C: 39 55 D0 22 2C B6 C0 2C FF CF XX5546: 20 06 20 8D 00 C3 2C FF CF 2C XX5550: B4 C0 AD 00 CE 8D 00 CE EE 3A XX555A: 55 AD 3A 55 C9 D0 F0 0B EE 36 XX5564: 55 D0 CE EE 37 55 4C 35 55 A0 XX556E: A0 B9 00 81 99 00 03 88 C0 7F XX5578: D0 F5 A0 0F B9 00 81 99 00 03 XX5582: C8 B9 00 81 99 00 03 2C B6 C0 XX558C: AD B9 50 8D B8 50 A9 00 8D BB XX5596: 50 20 3E 52 60 20 EA 51 A2 00 XX55A0: 8E EB 55 8E EC 55 20 EA 51 AC XX55AA: 10 03 AE EB 55 20 8A 52 AC 10 XX55B4: 03 AE EC 55 20 67 51 EE EB 55 XX55BE: EE EB 55 EE EC 55 AC EC 55 C0 XX55C8: 28 F0 03 4C A9 55 20 3E 52 AD XX55D2: 0F 03 48 20 EA 51 A2 28 AC 10 XX55DC: 03 8E 0F 03 20 80 51 68 8D 0F XX55E6: 03 20 3E 52 60 00 00 A2 27 8E XX55F0: EB 55 A0 4E 8C EC 55 AE EB 55 XX55FA: AC 10 03 20 8A 52 AE EC 55 AC XX5604: 10 03 20 67 51 CE EC 55 AC 10 XX560E: 03 AE EC 55 AD 08 03 20 67 51 XX5618: CE EC 55 CE EB 55 AC EB 55 F0 XX5622: 03 4C F7 55 60 03 XX3D0G XXBSAVE DCOM.SCREEN.DVISION,A$5000,L1575 XXTEXT:HOME:?"UNPACKING:":?"APPLE IIE SCREEN DRIVER":POKE 34,3:HOME:CALL -151 XX5000: 4C AB 50 4C AF 50 4C B8 50 4C XX500A: EF 50 4C 36 51 4C 5C 51 4C 86 XX5014: 51 4C 98 51 4C B1 51 4C C8 51 XX501E: 4C E2 51 4C 1C 52 4C 69 52 4C XX5028: A3 52 4C 4B 53 4C 74 53 4C 97 XX5032: 53 4C BF 53 4C DA 53 4C 11 54 XX503C: 4C 4B 54 4C 9C 54 4C 26 53 4C XX5046: 2B 53 4C 09 55 4C 3A 55 4C 9E XX5050: 55 4C F0 55 00 80 00 80 00 80 XX505A: 00 80 28 A8 28 A8 28 A8 28 A8 XX5064: 50 D0 50 D0 50 D0 50 D0 04 04 XX506E: 05 05 06 06 07 07 04 04 05 05 XX5078: 06 06 07 07 04 04 05 05 06 06 XX5082: 07 07 20 18 7F 09 0A 0D 0B 0E XX508C: 0E 0D 08 2B 2B 2B 2B 2B 2D 2D XX5096: 2D 2D 5F 2D 2D 2D 2D 7C 3C 3E XX50A0: 07 19 23 0F 00 00 00 00 00 00 XX50AA: 00 8D 0D C0 60 A0 17 20 B8 50 XX50B4: 88 10 FA 60 20 D2 50 8D 01 C0 XX50BE: 8D 55 C0 20 D2 50 8D 54 C0 8D XX50C8: 00 C0 A9 00 99 80 03 4C 06 20 XX50D2: B9 54 50 8D E9 50 B9 6C 50 8D XX50DC: EA 50 AD 08 03 49 80 8D FF BF XX50E6: A2 27 9D FF FF CA 10 FA 60 BD XX50F0: 80 03 99 80 03 8A 48 20 12 51 XX50FA: 8D 01 C0 8D 55 C0 68 48 AA 20 XX5104: 2A 51 8D 54 C0 8D 00 C0 20 06 XX510E: 20 68 AA 60 BD 54 50 8D 2D 51 XX5118: BD 6C 50 8D 2E 51 B9 54 50 8D XX5122: 30 51 B9 6C 50 8D 31 51 A2 27 XX512C: BD FF FF 9D FF FF CA 10 F7 60 XX5136: 48 B9 54 50 8D 50 51 B9 6C 50 XX5140: 8D 51 51 8A 4A B0 06 8D 01 C0 XX514A: 8D 55 C0 AA 68 9D FF FF 20 06 XX5154: 20 8D 54 C0 8D 00 C0 60 AE 0F XX515E: 03 E0 00 D0 06 AC 10 03 4C B8 XX5168: 50 A2 4F AC 10 03 AD 08 03 49 XX5172: 80 8E A7 50 20 36 51 AE A7 50 XX517C: EC 0F 03 F0 04 CA 4C 73 51 60 XX5186: 20 5C 51 A0 17 CC 10 03 F0 07 XX5190: 20 B8 50 88 4C 8B 51 60 AC 12 XX519A: 03 C8 98 AA 88 20 EF 50 C8 E8 XX51A4: EC 13 03 90 F6 F0 F4 AC 13 03 XX51AE: 4C B8 50 AC 13 03 88 98 AA C8 XX51B8: 20 EF 50 88 CA CC 12 03 D0 F6 XX51C2: AC 12 03 4C B8 50 2C A8 50 30 XX51CC: 01 60 AD A5 50 AE 0F 03 AC 10 XX51D6: 03 20 36 51 A9 00 8D A8 50 4C XX51E0: 13 52 AE 11 03 D0 01 60 EE A9 XX51EA: 50 F0 03 4C F3 51 EE AA 50 AE XX51F4: AA 50 EC 11 03 F0 01 60 2C A8 XX51FE: 50 10 09 20 C8 51 A9 00 8D A8 XX5208: 50 60 20 1C 52 A9 80 8D A8 50 XX5212: 60 A9 00 8D A9 50 8D AA 50 60 XX521C: 2C A8 50 30 45 AE 0F 03 AC 10 XX5226: 03 20 69 52 8D A5 50 20 7F 55 XX5230: AE 0F 03 20 36 51 A9 80 8D A8 XX523A: 50 AC 10 03 B9 80 03 2A B0 0D XX5244: A2 00 8E 09 03 A2 FF 8E 0A 03 XX524E: 4C 66 52 A2 FF 8E 09 03 2A B0 XX5258: 08 A2 00 8E 0A 03 4C 66 52 A2 XX5262: FF 8E 0A 03 4C 13 52 B9 54 50 XX526C: 8D 81 52 B9 6C 50 8D 82 52 8A XX5276: 4A B0 06 8D 01 C0 8D 55 C0 AA XX5280: BD FF FF 8D 54 C0 8D 00 C0 60 XX528A: 2C 0B 03 10 0B C9 5F 90 07 38 XX5294: E9 5F A8 B9 84 50 2C 0A 03 30 XX529E: 02 A9 2D 60 00 20 8A 52 48 20 XX52A8: C8 51 2C A2 52 10 24 AE 0F 03 XX52B2: E0 4F D0 1D 2C 05 03 10 18 A2 XX52BC: 00 8E 0F 03 EE 10 03 AC 10 03 XX52C6: CC 13 03 90 08 F0 06 20 98 51 XX52D0: CE 10 03 A2 00 8E A2 52 2C 01 XX52DA: 03 10 09 AE 0F 03 AC 10 03 20 XX52E4: 11 54 AE 0F 03 AC 10 03 68 2C XX52EE: 08 03 10 0D 2C 0C 03 30 15 49 XX52F8: 80 20 7F 55 4C 0E 53 2C 0C 03 XX5302: 10 08 49 80 20 7F 55 4C 0E 53 XX530C: 49 80 20 36 51 EE 0F 03 AE 0F XX5316: 03 E0 50 90 08 A9 FF 8D A2 52 XX5320: CE 0F 03 4C 1C 52 A2 00 8E 0F XX532A: 03 EE 10 03 AC 10 03 C0 18 F0 XX5334: 0A CC 13 03 B0 03 4C 1C 52 F0 XX533E: FB 20 98 51 AC 13 03 8C 10 03 XX5348: 4C 1C 52 20 C8 51 A2 00 8E 0F XX5352: 03 AC 10 03 C0 00 F0 14 A0 17 XX535C: A2 16 20 EF 50 88 CA EC 10 03 XX5366: B0 F6 20 5C 51 4C 1C 52 20 B1 XX5370: 51 4C 1C 52 A2 00 8E 0F 03 20 XX537A: C8 51 AC 10 03 C0 17 F0 0C 98 XX5384: AA E8 20 EF 50 C8 E8 E0 18 D0 XX538E: F7 A0 17 20 B8 50 4C 1C 52 20 XX5398: C8 51 AE 0F 03 8E BD 53 AC 10 XX53A2: 03 8C BE 53 AD 08 03 49 80 20 XX53AC: 36 51 AC BE 53 CE BD 53 AE BD XX53B6: 53 10 ED 20 1C 52 60 00 00 20 XX53C0: C8 51 AC 10 03 F0 12 88 8C BE XX53CA: 53 20 B8 50 CE BE 53 AC BE 53 XX53D4: 10 F5 20 97 53 60 20 C8 51 AE XX53DE: 0F 03 8E BD 53 AE BD 53 E8 AC XX53E8: 10 03 20 69 52 AE BD 53 AC 10 XX53F2: 03 20 36 51 EE BD 53 AE BD 53 XX53FC: E0 4F 90 E3 A2 4F AC 10 03 AD XX5406: 08 03 49 80 20 36 51 20 1C 52 XX5410: 60 AE 0F 03 E0 4F F0 31 20 C8 XX541A: 51 A2 4E 8E A4 50 AE A4 50 20 XX5424: 69 52 AE A4 50 E8 20 36 51 AE XX542E: A4 50 EC 0F 03 F0 06 CE A4 50 XX5438: 4C 20 54 AE 0F 03 AC 10 03 AD XX5442: 08 03 49 80 20 36 51 60 00 20 XX544C: C8 51 AE 08 03 8E 4A 54 A2 45 XX5456: 8E 08 03 20 AF 50 AE 4A 54 8E XX5460: 08 03 20 1C 52 60 B9 54 50 8D XX546A: 96 54 8D 90 54 B9 6C 50 8D 97 XX5474: 54 8D 91 54 20 8D 54 8D 01 C0 XX547E: 8D 55 C0 20 8D 54 8D 54 C0 8D XX5488: 00 C0 4C 06 20 A2 27 BD FF FF XX5492: 20 7F 55 9D FF FF CA 10 F4 60 XX549C: 20 C8 51 A0 17 20 66 54 88 10 XX54A6: FA 20 1C 52 60 B9 54 50 8D BC XX54B0: 54 B9 6C 50 8D BD 54 A0 00 A2 XX54BA: 27 BD FF FF 91 02 E6 02 D0 02 XX54C4: E6 03 CA 10 F2 60 A0 17 98 48 XX54CE: 20 AB 54 20 06 20 68 A8 88 10 XX54D8: F3 60 B9 54 50 8D ED 54 B9 6C XX54E2: 50 8D EE 54 A0 00 A2 27 B1 02 XX54EC: 9D FF FF E6 02 D0 02 E6 03 CA XX54F6: 10 F2 60 A0 17 98 48 20 DA 54 XX5500: 20 06 20 68 A8 88 10 F3 60 20 XX550A: C8 51 AD A5 50 8D A6 50 A9 00 XX5514: 85 02 A9 84 85 03 20 CA 54 8D XX551E: 01 C0 8D 55 C0 20 CA 54 8D 54 XX5528: C0 8D 00 C0 A0 A0 B9 00 03 99 XX5532: 00 81 88 C0 FF D0 F5 60 A9 00 XX553C: 85 02 A9 84 85 03 20 F9 54 8D XX5546: 01 C0 8D 55 C0 20 F9 54 8D 54 XX5550: C0 8D 00 C0 A0 A0 B9 00 81 99 XX555A: 00 03 88 C0 7F D0 F5 A0 0F B9 XX5564: 00 81 99 00 03 C8 B9 00 81 99 XX556E: 00 03 AD A6 50 8D A5 50 A9 00 XX5578: 8D A8 50 20 1C 52 60 C9 80 90 XX5582: 0F C9 C0 90 04 C9 E0 90 03 29 XX558C: 7F 60 38 E9 C0 60 C9 20 90 04 XX5596: 18 69 80 60 18 69 C0 60 20 C8 XX55A0: 51 A2 00 8E EE 55 8E EF 55 20 XX55AA: C8 51 AC 10 03 AE EE 55 20 69 XX55B4: 52 AC 10 03 AE EF 55 20 36 51 XX55BE: EE EE 55 EE EE 55 EE EF 55 AC XX55C8: EF 55 C0 28 F0 03 4C AC 55 20 XX55D2: 1C 52 AD 0F 03 48 20 C8 51 A2 XX55DC: 28 AC 10 03 8E 0F 03 20 5C 51 XX55E6: 68 8D 0F 03 20 1C 52 60 00 00 XX55F0: A2 27 8E EE 55 A0 4E 8C EF 55 XX55FA: AE EE 55 AC 10 03 20 69 52 AE XX5604: EF 55 AC 10 03 20 36 51 CE EF XX560E: 55 AC 10 03 AE EF 55 AD 08 03 XX5618: 49 80 20 36 51 CE EF 55 CE EE XX5622: 55 AC EE 55 F0 03 4C FA 55 60 XX562C: AD XX3D0G XXBSAVE DCOM.SCREEN.IIE,A$5000,L1580 XXTEXT:HOME:?"DONE. TYPE 'EXEC TO.APPLE.3' TO GO ON.":?:? SHAR_EOF if test 20774 -ne "`wc -c < 'to.apple.2'`" then echo shar: error transmitting "'to.apple.2'" '(should have been 20774 characters)' fi fi # end of overwriting check echo shar: extracting "'to.apple.3'" '(9024 characters)' if test -f 'to.apple.3' then echo shar: will not over-write existing file "'to.apple.3'" else sed 's/^XX//' << \SHAR_EOF > 'to.apple.3' XXTEXT:HOME XXNEW XX XX1 LC = 0 XX10 D$ = CHR$ (4): TEXT : HOME : INVERSE XX20 PRINT SPC( 40);: FOR I = 1 TO 16: INVERSE : PRINT " "; XX30 NORMAL : PRINT SPC( 38);: INVERSE : PRINT " ";: NEXT I XX40 INVERSE : PRINT SPC( 40);: NORMAL : VTAB 3 XX45 A$ = "THANK YOU FOR USING DCOM 3.21.": GOSUB 960 XX50 PRINT XX52 A$ = "THIS IS A SHAREWARE PROGRAM. PLEASE": GOSUB 960 XX54 A$ = "FEEL FREE TO DISTRIBUTE THIS PROGRAM": GOSUB 960 XX56 A$ = "TO YOUR FRIENDS.": GOSUB 960 XX58 PRINT :A$ = "PLEASE NOTE, HOWEVER, THAT THIS": GOSUB 960 XX60 A$ = "PROGRAM TOOK OVER 1.5 YEARS OF": GOSUB 960 XX62 A$ = "PAINFUL RESEARCH AND PROGRAMMING.": GOSUB 960 XX63 PRINT :A$ = "YOU HAVE 30 DAYS TO TEST DCOM 3.21.": GOSUB 960 XX65 A$ = "IF IT FITS YOUR NEEDS AND YOU WOULD": GOSUB 960 XX67 A$ = "LIKE TO KEEP IT, AS WELL AS": GOSUB 960 XX68 A$ = "RECEIVE UPDATE NOTICES, AND TYPESET": GOSUB 960 XX70 A$ = "COPYRIGHT(C) 1986 JAMES A. HAYES": VTAB 23 XX71 GOSUB 960: VTAB 21: PRINT "PLEASE HIT "; XX72 INVERSE : PRINT "<RETURN>";: NORMAL XX73 PRINT " FOR THE NEXT PAGE." XX74 WAIT - 16384,128: POKE - 16368,0 XX76 POKE 33,38: POKE 32,1: POKE 34,1: POKE 35,17: HOME XX77 TEXT : VTAB 21: PRINT SPC( 40);: VTAB 3: HTAB 1 XX79 A$ = "DOCUMENTATION, PLEASE SEND $25 TO": GOSUB 960 XX80 A$ = "THE ADDRESS BELOW.": GOSUB 960 XX85 PRINT XX92 A$ = "PROGRAM DISK, DOCUMENTATION, AND": GOSUB 960 XX93 A$ = "FREE UPDATE NOTICES, ALSO COST $25.": GOSUB 960 XX95 PRINT XX96 A$ = "ADD AN ADDITONAL $10 FOR THE": GOSUB 960 XX98 A$ = "6502 ASSEMBLY LANGUAGE SOURCE": GOSUB 960 XX99 A$ = "CODE. (WILL ARRIVE ON DISKETTE)": GOSUB 960 XX101 PRINT XX102 A$ = "MAIL CHECK OR MONEY ORDER TO:": GOSUB 960 XX103 PRINT XX104 A$ = "JIM HAYES, P.O. BOX 221044": GOSUB 960 XX105 A$ = "UNIVERSITY CITY, CA, 92122-1044": GOSUB 960 XX106 PRINT : INVERSE XX110 A$ = "OFFER EXPIRES JANUARY 1990": GOSUB 960 XX111 NORMAL XX200 FOR I = 1 TO 1000: NEXT I: VTAB 20 XX210 POKE 34,19: POKE 35,22: HOME XX220 PRINT "HIT ";: INVERSE : PRINT "<RETURN>";: NORMAL XX230 PRINT " TO START THE TERMINAL,": PRINT "OR ";: INVERSE XX240 PRINT "<ESC>";: NORMAL XX250 PRINT " TO CONFIGURE FOR YOUR HARDWARE."; XX260 WAIT - 16384,128 XX270 GET A$: IF A$ = CHR$ (13) THEN 300 XX280 IF A$ < > CHR$ (27) THEN 270 XX290 HOME : GOTO 940 XX300 HOME : FOR I = 1 TO 500: NEXT I XX305 IF LC < > 695 THEN PRINT "SHAREWARE MESSAGED MODIFIED.": END XX310 PRINT "LOOKING FOR TERMINAL CONFIGURATION FILE." XX320 ONERR GOTO 900 XX330 PRINT D$"OPEN CONFIG.TERM" XX340 PRINT D$"READ CONFIG.TERM" XX350 FOR I = 1 TO 6: INPUT F$(I): INPUT DE$(I) XX360 NEXT I XX370 INPUT SL XX380 PRINT D$"CLOSE" XX390 POKE 216,0 XX400 POKE 34,0: HOME XX410 PRINT "DCOM 3.21 IS NOW LOADING THE TERMINAL" XX420 PRINT "SOFTWARE. ONE MOMENT PLEASE.": PRINT XX430 INVERSE XX440 VTAB 4: PRINT " DRIVERS " XX450 VTAB 13: PRINT " DEFAULTS " XX460 VTAB 21: INVERSE : PRINT SPC( 40) XX470 NORMAL XX480 NORMAL : FOR I = 1 TO 6 XX490 VTAB 5 + I: HTAB 1: PRINT DE$(I): NEXT I: VTAB 15 XX500 PRINT "VIDEO DEFAULTS": PRINT "SERIAL CARD DEFAULTS" XX510 FOR I = 1 TO 6 XX520 VTAB 5 + I: HTAB 1: INVERSE : PRINT DE$(I) XX530 NORMAL XX540 VTAB 20: PRINT XX550 PRINT D$"BLOAD ",F$(I) XX560 VTAB 5 + I: HTAB 1: PRINT DE$(I) XX570 NEXT I XX580 VTAB 15: INVERSE : PRINT "VIDEO DEFAULTS": NORMAL XX590 PRINT : PRINT D$"BLOAD DCOM.MAIN.D" XX600 VTAB 15: PRINT "VIDEO DEFAULTS" XX610 VTAB 16: INVERSE : PRINT "SERIAL CARD DEFAULTS": NORMAL XX620 PRINT : PRINT D$"BLOAD "F$(5)".D" XX630 VTAB 16: PRINT "SERIAL CARD DEFAULTS" XX640 POKE 794,SL XX650 HOME XX660 INVERSE : PRINT " THE TERMINAL HAS FINISHED LOADING. "; XX670 PRINT "PLEASE SWITCH TO YOUR OUTPUT DEVICE. ": NORMAL XX680 PRINT XX690 IF F$(4) < > "DCOM.SCREEN.IIE" GOTO 730 XX700 TEXT : HOME : PR# 0 XX710 IN# 0: PR# 3: HOME : CALL 1002 XX720 PRINT "* Serial Init Error *" XX730 CALL 8192 XX740 POKE - 16372,128 XX750 TEXT : HOME : PR# 0: IN# 0: TEXT : HOME : CALL 1002 XX760 IF PEEK (767) < > 255 THEN END XX770 VTAB 8: PRINT "STORING TERMINAL DEFUALTS..." XX780 VTAB 10: HTAB 1 XX790 PRINT "POWER-ON VIDEO CHARACTERISTICS..." XX800 PRINT CHR$ (4)"BSAVE DCOM.MAIN.D,A$300,L$A0" XX810 VTAB 10: HTAB 1 XX820 PRINT "POWER-ON VIDEO CHARACTERISTICS...DONE" XX830 VTAB 11: HTAB 1 XX840 PRINT "SERIAL CARD SETTINGS..." XX850 PRINT CHR$ (4)"BSAVE "F$(5)".D,A$4012,L13" XX860 VTAB 11: HTAB 1 XX870 PRINT "SERIAL CARD SETTINGS...DONE" XX880 PRINT : PRINT : PRINT : PRINT "DCOM ENDED NORMALLY" XX890 END XX900 POKE 216,0 XX905 TEXT : HOME XX910 HOME : PRINT "YOUR TERMINAL HAS NOT BEEN CONFIGURED." XX920 PRINT : PRINT : PRINT "HIT RETURN TO CONFIGURE THE TERMINAL.."; XX930 INPUT "";A$ XX940 PRINT "RUNNING: 'CONFIGURE TERMINAL'" XX950 PRINT D$"RUN CONFIGURE TERMINAL" XX960 LC = LC + LEN (A$) XX980 HTAB 21 - ( LEN (A$) / 2): PRINT A$ XX990 RETURN XXSAVE HELLO XXNEW XX XX10 D$ = CHR$ (4):CF$ = "CONFIG.TERM" XX20 TEXT : HOME XX30 PRINT "DCOM 3.21 TERMINAL CONFIGURATION MENU:" XX40 PRINT : POKE 34,3 XX50 PRINT "----------------------------------------" XX60 HOME XX70 PRINT : PRINT XX80 NO = 1 XX90 REM LOOP BEGINS HERE XX100 READ A$ XX110 IF A$ = "**" THEN 400 XX120 POKE 34,3: HOME : PRINT "WHAT "A$" DO YOU HAVE?" XX130 PRINT :I = 1 XX140 READ N$,F$(I),DE$(I): IF N$ = "*" THEN 190 XX150 N$(I) = N$ XX160 PRINT I") "N$(I) XX170 I = I + 1 XX180 GOTO 140 XX190 POKE 34,17: HOME XX200 I = I - 1 XX210 PRINT : PRINT "ENTER THE NUMBER OF YOU CHOICE, OR 'Q' TO EXIT." XX220 PRINT XX230 INPUT "-> ";B$ XX240 IF B$ = "Q" THEN TEXT : HOME : END XX250 A = VAL (B$): IF A < 1 OR A > I THEN PRINT CHR$ (7): GOTO 210 XX260 FF$(NO) = F$(A) XX270 DD$(NO) = DE$(A) XX280 NO = NO + 1 XX290 IF LEFT$ (A$,3) < > "SER" THEN 390 XX300 IF LEFT$ (N$(A),3) = "//C" THEN SL = 2: GOTO 390 XX310 PRINT : PRINT "WHAT SLOT IS YOUR SERIAL CARD IN?" XX320 INPUT "[USUALLY 2] >";SL$:ER = 0:SL = VAL (SL$) XX330 IF SL < 1 OR SL = 3 OR SL = 6 THEN ER = 1 XX340 IF SL > 7 OR SL < > INT (SL) THEN ER = 1 XX350 IF ER THEN PRINT "THAT'S IMPOSSIBLE!?! SLOTS 0, 3 AND 6" XX360 IF ER THEN PRINT "ARE DIDICATED TO MEMORY, 80 COLS., AND" XX370 IF ER THEN PRINT "YOUR DISK CONTROLLER. PLEASE TRY AGAIN." XX380 IF ER THEN 310 XX390 GOTO 90 XX400 POKE 34,3: HOME XX410 NO = NO - 1 XX420 PRINT "I HAVE:": PRINT XX430 FOR I = 1 TO NO XX440 PRINT I") ";DD$(I); XX450 IF I = 2 THEN PRINT " (SLOT "SL")"; XX460 PRINT XX470 NEXT I XX480 POKE 34,17 XX490 HOME XX500 PRINT "S) SAVE": PRINT "A) ABORT AND START OVER." XX510 PRINT : XX520 INPUT "-> ";A$ XX530 IF A$ = "S" THEN 560 XX540 IF A$ = "A" THEN RUN XX550 PRINT : GOTO 500 XX560 TEXT : HOME XX570 PRINT "SAVING DRIVER SETTINGS." XX580 PRINT D$"OPEN "CF$ XX590 PRINT D$"DELETE "CF$ XX600 PRINT D$"OPEN "CF$ XX610 PRINT D$"WRITE "CF$ XX620 PRINT "DCOM.MAIN" XX630 PRINT "TERMINAL MAIN CODE" XX640 PRINT "DCOM.CONTROL" XX650 PRINT "TERMINAL CONTROL PANEL" XX660 PRINT "DCOM.KEYBOARD.IIE" XX670 PRINT "TERMINAL KEYBOARD DRIVER" XX680 FOR I = 1 TO NO XX690 PRINT FF$(I): PRINT DD$(I): NEXT I XX700 PRINT SL XX710 PRINT D$"CLOSE" XX720 HOME : PRINT "DONE. HIT ";: INVERSE : PRINT "RETURN"; XX730 NORMAL : PRINT " IF YOU WOULD LIKE TO" XX740 PRINT : PRINT "FIRE-UP THE TERMINAL, -OR- TYPE "; XX750 INVERSE : PRINT "ESC";: NORMAL : PRINT " TO" XX760 PRINT : PRINT "EXIT. "; XX770 GET A$: IF A$ = CHR$ (27) THEN HOME : END XX780 IF A$ < > CHR$ (13) THEN 770 XX790 HOME XX800 PRINT : PRINT "RUNNING 'HELLO'": PRINT D$"RUN HELLO" XX810 END XX820 END XX830 DATA 80 COLUMN CARD XX840 DATA OMNI-VISION (SLOT 2),DCOM.SCREEN.DVISION XX850 DATA 'COMPUTER STOP' OMNI-VISION DRIVER XX860 DATA DOUBLE-VISION (SLOT 3),DCOM.SCREEN.DVISION XX870 DATA 'COMPUTER STOP' DOUBLE-VISION DRIVER XX880 DATA APPLE //E IN AUX SLOT,DCOM.SCREEN.IIE XX890 DATA APPLE (AUX SLOT) 80 COLUMN DRIVER XX900 DATA APPLE //C BUILT-IN 80 COLUMN CARD,DCOM.SCREEN.IIE XX910 DATA APPLE //C 80 COLUMN DRIVER XX920 DATA *,XX,XX XX930 DATA SERIAL CARD XX940 DATA SUPER SERIAL CARD,DCOM.MODEM.SSC XX950 DATA SUPER SERIAL CARD DRIVER XX960 DATA ALS DISPATCHER,DCOM.MODEM.ALSDIS XX970 DATA ALS DISPATCHER DRIVER XX980 DATA //C SERIAL PORT,DCOM.MODEM.SSC XX990 DATA APPLE //C MODEM PORT DRIVER XX1000 DATA GENERIC PASCAL COMPATIBLE,DCOM.MODEM.PASCAL XX1010 DATA GENERIC P-SYS SERIAL DRIVER XX1020 DATA CPS MULTIFUNCTION CARD,DCOM.MODEM.CPS XX1030 DATA CPS MULTIFUNCTION DRIVER XX1035 DATA SSM-AIO-II SERIAL CARD XX1036 DATA DCOM.MODEM.PASCAL XX1037 DATA SSM-AIO-II SERIAL DRIVER XX1040 DATA *,XX,XX XX1050 DATA DATA COMM. HARDWARE XX1060 DATA HAYES COMPAT. MODEM (TONE DIALING) XX1070 DATA DCOM.PERSONALITY.HAYES XX1080 DATA HAYES (OR COMPAT.) TONE DIALER XX1090 DATA HAYES COMPAT. MODEM (PULSE DIALING),DCOM.PERSONALITY.PHAYES XX1100 DATA HAYES (OR COMPAT.) PULSE DIALER XX1110 DATA DUMB (NON HAYES COMPAT.) MODEM XX1120 DATA DCOM.PERSONALITY.DUMB XX1130 DATA NON DIALING MODEM DRIVER XX1140 DATA NO MODEM (HOOKED DIRECTLY TO SYSTEM) XX1150 DATA DCOM.PERSONALITY.NETWORK XX1160 DATA DIRECT NETWORK CONNECTION DRIVER XX1170 DATA UNGERMANN/BASS NETONE DIRECT CONNECT XX1180 DATA DCOM.PERSONALITY.NETONE XX1190 DATA U/B NET-ONE BROADBAND NETWORK DRIVER XX1200 DATA *,XX,XX XX1210 DATA ** XX1220 DATA ** XXSAVE CONFIGURE TERMINAL XXTEXT XXHOME:PRINT"DONE. RE-BOOT TO START THE TERMINAL." SHAR_EOF if test 9024 -ne "`wc -c < 'to.apple.3'`" then echo shar: error transmitting "'to.apple.3'" '(should have been 9024 characters)' fi fi # end of overwriting check # End of shell archive exit 0
ix742@sdcc6.UUCP (James Hayes) (04/14/86)
This is the "write-your-own-driver" documentation portion. Have fun. -----CUT-----CUT-----CUT-----CUT-----CUT-----CUT-----CUT----- #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # driver.notes # This archive created: Mon Apr 14 01:10:59 1986 # By: James Hayes (UC San Diego EE/CS Department.) export PATH; PATH=/bin:$PATH echo shar: extracting "'driver.notes'" '(38017 characters)' if test -f 'driver.notes' then echo shar: will not over-write existing file "'driver.notes'" else sed 's/^XX//' << \SHAR_EOF > 'driver.notes' XX XX XX Terminal Program Applications Notes XX XX XX XX This document covers writing your own hardware drivers to work XX with the DCOM 3.21 vt100 emulator. XX XX Overview: XX XX The vt100 emulator is broken up into several modules: XX XX The standard (non hardware specific) modules: XX 1) The main terminal driver. (It uses all drivers) XX 2) The keyboard driver (Maps what you type to what gets XX sent.) XX 3) The control panel (The "set up", dailing, and modem XX menus) XX XX The non-standard (hardware specific) modules: XX 1) The video driver XX 2) The serial card driver XX 3) The modem personality (Defines dialing and on/off hook XX characteristics.) XX XX XX Each driver is allocated a segment of memory, and all the driver XX functions are handled through standardized entry points. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX DCOM.MAIN: XX XX This is the main controller for the terminal emulator. It XX handles all aspects of the emulation. (Decoding, translating, XX and interpretation) XX XX It lives at $2000 and is allocated 4096 bytes for the program + XX any buffers it might need to perform its duties. XX XX Standardized calls to the main module: XX XX $2000 - Begin emulation. This initilizes all the hardware, XX clears the screen, and becomes a terminal. XX XX $2003 - Not presently used, BUT.. May be used to return when XX there is a need to exit for some reason. (To another XX program {e.g. BASIC} that can perform higher level XX functions such as saving buffers, files, etc.) XX XX $2006 - WARNING! WARNING! (Just a trick to get you to read this.) XX This routine is the HEART of the terminal program. This XX call polls the modem for a character, and if one exists, XX the character is stored in a queue. If the queue is near XX full, an X-OFF (Ctrl-S) is sent. When the queue empties, XX an X-ON (Ctrl-Q) is sent. This routine is used by all XX drivers to keep checking the modem. If you write a XX driver and any particular routine has a loop, BY ALL XX MEANS, call $2006 (STUFFBUF) every few milliseconds. XX XX $2009 - This call simulates the input of a character from the XX modem. (This might be used to "play-back" a terminal XX session stored on disk.) It is presently used to output XX characters to the screen from the control panel. XX XX $200C - This call clears the incomming character queue. This is XX used in the phone dialing routines, so the dialing XX commands aren't echoed back. XX XX Unless there are glaring bugs in the main driver, the source for XX the main driver should never have to be touched. (I know someone XX out there will make me eat my words. I just know it...) XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX Global variables used by the main program and all drivers: XX XX $2FF - This is the return flag. When you type @ from the XX set up menu, this flag gets set (to tell the main XX program that you want to exit) to $F0. If before XX you exited, you selected S, then the flag would by $FF XX indicating that you want to save all the defaults when XX you exit. XX XX $300 - Development flag. This is used during the course of XX debugging the program. Please do not use this for XX anything but testing purposes. I guess you can call it XX reserved. That has a nice ring to it... "reserved" XX XX $301 - MODEINS. This is the "insert character" mode flag. XX Real life vt100's have no clue as how to insert XX characters, so I gave my program the abaility to do XX so using standard ANSI (American National Standards XX institute) codes. Therefore, this emulator can also XX look like a vt125, vt220, and practically anything made XX by microterm and other companies. XX XX The insert mode is "on" when the high-bit is set. XX XX $302 - MODESCRL. This flag determines whether or not the XX emulator will scroll when a cursor movement (e.g. up, XX down, left, right) is going to go off the screen. Real XX vt100's don't have this flag, but it was included as XX part of the added ANSI control sequences mentioned XX above. XX XX The screen will scroll on cursor movements when the XX high bit is set. XX XX $303 - MODELFNL. MODE LineFeed->NewLine. When the high bit of XX this puppy is set, any linefeeds received will XX automatically be converted to "New line"s (CR+LF) XX sequences. XX XX $304 - MODECRNL. MODE Carriage Return->NewLine. When the high XX bit of this is set, any carriage returns that are XX received are mapped to "New line" (CR+LF) sequences. XX XX $305 - MODEWRAP. Wraparound mode. A high bit here indicates XX that incomming chartacters will not be truncated once XX they bang into the right edge of the screen. (I.E. any XX line longer than 80 columns will be wrapped.) XX XX $306 - MODEKEY. This mode determines whether your apple will XX let you know (via a click) everytime you type a key. XX XX If the high bit is set, it will do so. XX XX $307 - MODEECHO. When the high bit is set, anything typed will XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX be echoed to the screen (except escape sequences). XX XX $308 - MODEBACK. This is really misnamed. It contains the XX current background clear character. $20 for normal XX screen, and $A0 for reversed image screen. XX XX $309 - MODEDBL. High bit indicates that the emulator is in the XX "double wide" mode on the current line. When this XX happens, Each character takes up two character XX positions, (the character + space). The line is XX effectively 40 columns wide, and subsequent cursor XX positions will reflect a 40 column line. XX XX $30A - MODETOP. When in the double wide mode is set, there XX is another thing to worry about.. The double wide, XX double high mode. This flag takes care of that. When XX the high bit is not set, all is normal. BUT WHEN IT IS XX SET, it means that the emulator wants to display the XX lower portions of the letters. Since no Apple 80 column XX card today has the capability of double high letters XX mixed in with regular text, the lower portions of the XX letters are just converted to "--" which adds a nice XX accenting touch to the letters. XX XX $30B - MODECHR. This flag determines what character set the XX emulator is using. If the highbit is set, the emulator XX will use the substitute line drawing character set, if XX the 80 column card can handle it. XX XX $30C - MODEINV. As ususal "This flag bs bs bs bs" It controls XX the status of the character output. If the high bit is XX set, the screen driver will output inverted characters. XX BE CAREFUL TO NOTE THAT THE BACKGROUND CHOICE (MODEBACK) XX INVERTS THE ABOVE STATEMENT. XX XX $30D - MODEVT52. When this flag is set, the terminal will only XX respond to vt52 command strings. XX XX $30E - XOFF. When the high-bit of this flag is set, it means XX that the buffer is near full, and an X-OFF was sent. XX (When the buffer depletes, an X-ON will be sent.) XX XX $30F - CX. This is the current cursor position as known to all XX the routines. This is the formost authority of the X XX coordinate of the cursor. (0-79) XX XX $310 - CY. This is the current cursor position as known to all XX the routines. This is the formost authority of the Y XX coordinate of the cursor. (0-23) XX XX $311 - BLINK. This is the current cursor blink rate. 0=no XX blink, while 1 is fast and 9 is slow. XX XX $312 - SCRLTOP. This number represents the top of the current XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX scrolling region. (0-23). The scrolling region is XX the active text region. Usually it starts on line 0 XX and extends to line 23. Some programs however, like to XX use a smaller scrolling window, while using the rest XX of the screen for other data. Any data written to the XX screen will only appear in the scrolling region, so it XX will not affect the rest of the display. XX XX $313 - SCRLBOT. This is the bottom line of the scrolling XX region. (0-23) See above. XX XX $314 - MODEKAM. KAM is the ANSI term for Keyboard XX Applications Mode. When this mode is set (via the XX high bit) different vt100 keypad codes will be used XX instead of the standard codes that are normally used. XX (See real vt100 manual) XX XX $315 - MODECURS. This is used (why I don't know) to indicate XX that an alternate set of codes should be used when the XX arrow keys are hit. As usual, a high bit inticates that XX these alternate codes should be used. Please see a real XX vt100 manual for more information. XX XX $316 - G0MODE. This selects the character set used for the g0 XX character set. The high bit indicates the graphic XX character set. XX XX $317 - G1MODE. This selects the character set used for the g1 XX character set. The high bit indicates the graphic XX character set. XX XX $318 - MODEORIG. This is the ANSI related flag that tell the XX terminal that cursor positioning should be done with XX respect to the scrolling region's home position instead XX of the display's home position. XX XX $319 - GOG1TOg. G-Oh-G-1. High bit here indicates that the XX alternate character set (inverse or graphic) should be XX used. (See MODECHR and MODEINV for the specific set XX that we're looking for...) XX XX $31A - MSLOT. This contains the current slot of the serial XX card. (1-7), except 3 and 6 XX XX $31B - Unused. XX XX $31C - MODE. This is the state of the current command XX sequence parser. 0=No escape sequence in progress. XX 1=Escape sequence started. XX 2=wait for next. If "[" set mode 3, XX otherwise, interpret single letter XX escape code. XX 3=<ESC> [ received, collect parameters XX and act on command wishes. XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX 4=Transparency mode, ANSI CRM. XX Control Representation Mode. All XX characters are sent to screen and XX no escape codes are interpreted. XX Must be reset via the R option on XX the setup menu. XX 5=vt52 escap sequence started, this XX current character will end the XX code sequence. XX 6=vt52 cursor positioning sequence XX is on it's way. read two characters XX in this mode and position the XX cursor. XX XX $31D - BAUD. Current serial card Baud Rate. 0=300 XX 1=1200, 2=2400 XX XX $31E - PARITY. Current serial card Pariry method. XX 7=None, 8=Even, 9=Odd, 10=Mark, 11=Space XX XX $31F - STOP. Current serial card stop bits setting. XX 3=8 bits, 1 stop 4=8 bits, 2 stop XX 5=7 bits, 1 stop 6=7 bits, 2 stop XX XX $320 - TABTABL. Starting at $320 and extending 79 bytes, is the XX image of the terminal's tabstops. 320=column 0. A high XX bit indicates a tab is set there. XX XX $380 - LNMODES. Starting at $380 and extending 23 bytes, is the XX image of the terminal's "line modes" Bit 7=1 when Double XX wide is selected for that particular line, Bit 6=1 when XX the line refers to the bottom half of the double wide XX characters. XX XX $8100 - This 255 byte area holds a copy of the terminals XX -$8200 defaults when the screen is saved. XX XX $8200 - Holds a copy of the terminal parameters when the save XX -$83FF cursor mode is selected. XX XX $8400 - Holds a memory image of the saved screen. You have XX -$9400 roughly 4K to play with here. Use it wisely. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX DCOM.MODEM.xxxx: XX XX The DCOM modem driver lives at $4000 and is alloted 2048 bytes. XX DON'T Panic. The modem driver usually takes about 200 bytes. XX XX The established calling conventions: XX XX $4000 - Initialize the serial card/modem here. XX This should do the following: XX Reset the page 3 values of MODE, BAUD, and PARITY from XX the default table DCOM.MODEM.xxxx.D. XX Reset the AICA port on the card/modem. XX Hang up the phone (in cases when this is not XX a serial card but something like a XX Apple-Cat or Micro-Modem) XX XX $4003 - Sense the status of the serial card. It returns the XX carry set if something is waiting to be read in. XX XX $4006 - Get a character from the modem. (Use the above to make XX sure one is waiting. (The character will be put into XX the 6502 ACCUMULATOR) XX XX $4009 - Output a character on the modem. The character must be XX in the accumulator. No stripping of high bits is XX performed here. XX XX $400C - Change the transmission characteristics. The XX characteristic is in the accumulator: XX XX 0 = 300 Baud 3 = 8 data, 1 stop XX 1 = 1200 Baud 4 = 8 data, 2 stop XX 2 = 2400 Baud 5 = 7 data, 1 stop XX 6 = 7 data, 2 stop XX XX 7 = No parity XX 8 = Even parity XX 9 = Odd parity XX A = Mark parity XX B = Space parity XX XX XX $400F - Send a break "character" XX XX $4012 - Compatibility table; If a member of the table is $FF, XX then the equipment is capable of "doing it". The meaning of each XX entry coresponds to the above transmission characteristics. If XX an entry is $F0, then then this is the default mode for the card. XX If the member is $00 then the hardware is incapable of inheriting XX that characteristic. There is one capability in the table that is XX not listed above, index $C which is the break signal. The XX default table is the responsibility of the user to set. The XX modem's default parameter list is 13 bytes long and is overlayed XX at $4012. works. All in all, it should not be difficult to write XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX your own driver for your serial card. Please see also, the XX dialing personality module in upcoming pages. XX XX NOTES: XX XX Remember that the defaults are overlayed starting at $4012 XX for 13 bytes. Please choose the defaults carefully. Failure to XX understand that particular portion of the code and what it does XX and how it works can lead to months and months of dispair. XX XX Enough Warnings! XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX DCOM.SCREEN.xxxx: XX XX The screen driver lives at $5000 and is alloted 2048 bytes to do XX it's work. The kernel jumps are: XX XX $5000 - Initialize the screen. This should initialize any display XX INIT- hardware, soft-switches, etc. It should in no way clear XX SCRN the screen. XX XX $5003 - Zap the screen clean! Does not reset the cursor to the XX ZAP home position. XX XX $5006 - Clear the line number contained in the Y reg. XX CLRLINE XX XX $5009 - Move the line in the x-reg to the line in the y-reg. XX MOVELINE XX XX $500C - Store the contents of the accumulator to the screen XX STORE- location (x-reg,y-reg) This routine should not care what XX XY it gets fed. It should just deposit anything. XX XX $500F - Clear from the current cursor postion to the end of the XX CLEAR- line. XX EOL XX XX $5012 - Clear from the current cursor to the end of the screen. XX CLEAR- XX EOS XX XX $5015 - Scroll the screen up. (With respect to the scrolling XX SCROLL- window. XX UP XX XX $5018 - Scroll the screen down. (With respect to the scrolling XX SCROLL- region. XX DO XX XX $501B - HIDE the cursor from sight. This call is VITAL to the XX HCP health and well being of the terminal program. Follow XX this rule of thumb: BEFORE YOU DO ANYTHING TO THE XX SCREEN, REMOVE THE CURSOR, MUCK WITH THE SCREEN, AND PUT XX THE CURSOR BACK. This routine saves what ever was under XX the cursor in order to put it back. See SHOW routine XX below. XX XX $501E - Cycle the cursor blink counter through one cycle. If XX CCHECK counter reaches it's blink threshold, ("BLINK" times XX $100) then invert the cursor. This is done to get the XX damn thing to blink. XX XX $5021 - SHOW the cursor (After a remove) Opposite of $501B XX SCP XX XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX $5024 - Pickup the character from (x-reg,y-reg) and stuff it into XX PICKUP the accumulator. The screen remains unblemished. XX XX $5027 - Output the accumulator to the screen at the current XX CHOUT cursor location. Scroll if necessary, display as inverse XX if necessary, use doulbe wide double high modes. etc. XX XX $502A - Insert a line at the present cursor position and return XX INSERT- the cursor to the left edge. XX LN XX XX $502D - Delete a line at the present cursor position and return XX DELETE- the cursor to the left edge. XX LN XX XX $5030 - Clear from the beginning of the line to the cursor. XX CLEAR- (Inclusive) XX BLC XX XX $5033 - Clear from the home (0,0) position to the cursor. XX CLEAR- (Inclusive) XX HC XX XX $5036 - Delete the character under the cursor and move the XX DELT- rest of the line over one position. (Clears the last XX CHAR column on that line.) XX XX $5039 - Insert a blank under the cursor and move the rest of XX INST- the line over one position. XX CHAR XX XX $503C - Fill the screen with E's, (Video Alignment Pattern.) XX FILLE (invoked by <ESC>#8) XX XX $503F - INVERT the whole screen. For example, white on black XX FIX- becomes black on white and vice versa. XX SCRN XX XX $5042 - Do a carriage return and a line feed. XX DOCR XX XX $5045 - Do a line feed. XX DOLF XX XX $5048 - Save the screen in memory. $8400-$9400 is reserved for XX SAVE- this. This also saves the video defaults so we can come XX SCRN back without damaging anything. XX XX $504B - Restore the screen from the memory save to by the above XX REST- routine. Also restore any video flags that might have XX SCRN been altered. XX XX $504E - Reset the line (make single width from double width) XX $5051 - Make Double (make double width from single width) XX XX XX XX XX XX XX XX XX Terminal Program Applications Notes XX XX XX XX NOTES FOR WRITING A SCREEN DRIVER: XX XX You DO NOT have to rewrite all the above routines! YEA! There XX are only a few that need to be adapted to your own hardware. XX XX They are: XX XX INITSCRN (for obvious reasons) XX CLRLINE XX MOVELINE (allows for scrolling) XX STOREXY (to put characters on the screen.) XX PICKUP (to get the character under the cursor) XX FIXSCRN (to invert the screen.) XX SAVESCRN (save the screen to memory) XX RESTSCRN (..and bring it back.) XX XX You see, all the other routines can use combinations of the above XX "CORE" routines. Even some of the core routines can use other XX core routines. For example: SAVESCRN can use PICKUP. It will be XX slow, but it will work. FIXSCRN can also use PICKUP. Again, it XX will be slower, but it will work. Restscrn can use STOREXY. As XX usual, it will be slower. MOVELINE can use PICKUP and STOREXY to XX do it's work. (THIS IS ONLY RECOMMENDED FOR TESTING PURPOSES. IT XX IS A DANGER TO SPEED CONCERNS TO LEAVE IT THAT WAY.) XX XX So you see, only a few routines need to be written. XX XX Since speed is so critical, the routines should never assume XX that the calling routine wants registers returned intact. So, XX don't keep pushing and popping stuff on and off the stack. That XX REALLY slows things down. XX XX During a scroll and "looping" routines, poll the "STUFFBUF" XX routine so characters coming into the computer get read and are XX not thrown away. I.E., after every CLRLINE, MOVELINE, etc. This XX will insure that characters will not be "dropped" because the XX program is not reading them fast enough. XX XX That about exhausts the Video Driver section... XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX DCOM.KEYBOARD.xxxx XX XX XX The Keyboard Interpreter lives at $6000 and is allotted a meager XX 1024 byte spread in the memory map. This is true. (It's really a XX small piece of code!) XX XX Anyway it does the following: XX XX $6000 - Interpret keyboard character in the accumulator and send. XX This will intercept open/closed apple commands and XX interpret them. XX XX $6003- This is the Key Table. This is a table of the ASCII XX $6033 representation of the special keys we want to redifine XX as vt100 keypad/function keys. For example: Q and q are XX defined to be the PF1 key... So Q and q would appear in XX this table as special characters that are to be XX intercepted when the open/close apple key is struk. How XX do we translate them? NEXT.... XX XX $6034- Key Dispatch Table. Here the key's special purpose is XX $6064 defined. The order in which the one byte definition XX appears is the same order that the one byte key code XX appears in the above Key Table. XX XX The one byte codes that are used are: XX XX 1 - vt100 UP arrow 9 - vt100 keypad 7 XX 2 - vt100 DOWN arrow 10 - vt100 keypad 8 XX 3 - vt100 RIGHT arrow 11 - vt100 keypad 9 XX 4 - vt100 LEFT arrow 12 - vt100 keypad - XX 5 - vt100 Pf1 13 - vt100 keypad 4 XX 6 - vt100 Pf2 14 - vt100 keypad 5 XX 7 - vt100 Pf3 15 - vt100 keypad 6 XX 8 - vt100 Pf4 16 - vt100 keypad , XX XX XX 17 - vt100 keypad 1 XX 18 - vt100 keypad 2 XX 19 - vt100 keypad 3 XX 20 - vt100 keypad <ENTER> XX 21 - vt100 keypad 0 XX 22 - vt100 keypad . XX 23 - vt100 BREAK KEY XX XX $6070- Translate table. The single byte translate table. Here XX $6090 is where the the function key is mapped to the character XX to send to the host. XX XX An example to clear up all this confusion: XX XX Let's say you type an open-apple W. "W" appears as the third XX element in the Key Table. So, look at the 3rd byte in the XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX Dispatch Table. It is 6 (meaning pf2), so look at the 6th XX element in the Translate table. Here we find that an S is to be XX sent. (So the sequence looks like "<ESC>?S".) XX XX This wonderful method means that your own preferences in keys can XX be mapped into the program. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX Modem Personality Description: XX XX DCOM.PERSONALITY.xxxx lives at $6800 and is alloted 1024 bytes. XX It controls the modem dialing aspects. XX XX $6800 - This byte contains the "ability" flag for the equipment's XX ability to dial the phone. It has these meanings: XX XX 0 - YES -- This equipment can dial the phone. XX 1 - NO -- This equipment is directly wired to its host XX and does not need a modem. XX 2 - NO -- The equipment is a modem but can't dial the XX phone XX 3 - YES -- The equipment is not a phone, but a hardwired XX network. It can "connect" to other machines. XX In this case, the menu asks for the machine XX name you want to connect to. XX XX $6801 - Dial/connect to the phone number/system name with the XX string of ASCII characters starting at $200. The string XX is terminated (as are the conventions) by a ZERO. There XX is a 40 character maximum. XX XX $6804 - Hangs up the phone. (If the modem/network is capable.) XX XX $6007 - Wait for carrier. (Return if detected, return if time XX runs out.) XX XX The control panel does all the controlling. These routines are XX used just to do the dirty work. XX XX (See the source code for a look at what it all means...) XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX The control panel: XX XX DCOM.CONTROL lives at $7000 and occupies 2048 bytes. This my XX change in the near future if things tend to get as large as they XX are starting to. Anyway, this is the simple part. XX XX $7000 - The set up menu XX $7003 - The serial card menu. XX $7006 - The dialing menu XX $7009 - Re-dial/connect to the last number/system XX dialed/connected to. XX $700C - Disconnect XX $700F - Print a message to the screen. (Low byte in x, high in y) XX XX Basically all these do is save the screen, do their bits of XX business on a fresh screen, and cover it up when finished. (Using XX the saved screen to restore everything.) There is really nothing XX to play with here unless you are curious and want to muck with XX the internal things. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX XX XX The BASIC program: 'CONFIGURE TERMINAL' XX XX The CONFIGURE TERMINAL program is a very simple piece of code XX that just asks 4 or 5 questions and saves the results to a text XX file "CONFIG.TERM" XX XX The DATA statements in the program consist of all the possible XX screen, serial and 80-column cards. They are divided up by XX sections. Which look like this: XX XX xxx DATA TYPE-OF-DRIVER-WE-WANT-TO-INSTALL XX XX xxx DATA SHORT-NAME-OF-CARD XX xxx DATA DCOM.xxxx.xxxx (NAME OF DRIVER ON DISK) XX xxx DATA LONG NAME (USED WHEN LOADING THE TERMINAL) XX XX --- Repeat the above 3 data statements until all the cards of XX that catagory are exhausted. XX XX xxx DATA *,XX,XX (Indicates the end of a "card section") XX XX --- Start over with the name of the next type of driver to be XX installed. XX XX xxx DATA ** (indicates the end of the cards to be installed.) XX XX XX The file looks like this: XX XX DCOM.MAIN XX MAIN DRIVER XX DCOM.KEYBOARD.IIE XX KEYBOARD DRIVER XX DCOM.CONTROL XX CONTROL PANEL XX DCOM.SCREEN.xxxx XX NAME-OF-VIDEO-DRIVER XX DCOM.MODEM.xxxx XX NAME-OF-SERIAL-DRIVER XX DCOM.PERSONALITY.xxxx XX NAME-Of-DIALING PERSONALITY XX n <-- The slot number of the serial card. XX {EOF} XX XX The order of the modules within the file is not important. XX XX The 'HELLO' program just reads the file, and loads each named XX file while it prints its name on the screen. XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX XX XX Notes on writing your own drivers: XX XX 1) Video drivers should use the DCOM.SCREEN.DVISION as the XX "reference" driver. You should examine this driver carefully XX by printing it out first. XX XX 2) Serial card drivers should use the DCOM.MODEM.SSC (Super XX Serail Card) driver. This driver is pretty characteristic XX of a serial driver. Again print it out first. XX XX 3) Avoid using built in ROM as much as possible, as ROM usually XX contains very unwanted side-effects. XX XX 4) BEWARE of the Apple's wonder system of peripheral card XX expansion ROM. Some cards enable the $C800-$CFFF space but XX don't disable it until another card SPECIFICALLY REQUESTS that XX it be disabled. The standard Apple convention to disable the XX card occupying the space is to reference the $CFFF location. XX So, before you do anything to a peripheral card, read (or XX write) to $CFFF and then reference a memory location within XX the 256 byte ROM space on the card you want to talk to. If XX you don't do this STRANGE things may happen. XX XX 5) Don't make any assumptions about using registers. Do not save XX any registers because no routine assumes that they are saved. XX If ever a section of the terminal dies after adding a new XX chunk, just save the registers of the new chunk. If the XX program works after that, then I'll have to eat my words. XX The video driver has the saved/killed registers in a routine XX by routine format in the source listings. XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX Terminal Program applications notes: XX XX XX XX XX XX XX XX That's about it. I do think 18 some-odd pages of documentation XX is enough! I've done all the hand-holding I can do. You're on XX your own. XX XX Jim Hayes XX P.O. Box 221044 < Valid forever. XX University City, CA XX 92122-1044 XX XX (619) 450-9315 (213) 377-3001 XX XX ^^^^Phone-invalid after June '86 ^^^^Phone is reliable through XX SUMMER of '86 XX XX ARPA: hayes%wizard@UCSD.ARPA XX UUCP: [ihnp4, ucbvax]!sdcsvax!wizard!hayes XX XX XX IF ALL ELSE FAILS: XX XX Jim Hayes Mail Station: RS R1/C311 XX Hughes Aircraft (Radar Systems Group) XX P.O. BOX 92426 XX Los Angeles, CA XX 90009 XX XX (213) 648-4400 (<-- My secretary. Be nice to her or the boogie XX man will destroy your code...) XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX SHAR_EOF if test 38017 -ne "`wc -c < 'driver.notes'`" then echo shar: error transmitting "'driver.notes'" '(should have been 38017 characters)' fi fi # end of overwriting check # End of shell archive exit 0
ix742@sdcc6.UUCP (James Hayes) (04/14/86)
Be sure you set the high bits on the to.apple.x files before you EXEC them. Please let me know if you get the new verion working properly. Quick questions may be handled over the phone. Other questions/complaints should be relegated to the world of E-mail. My phone: (9am-1pm and 7pm-11pm WEST COAST TIME): (619) 450-9316 {Beware of obnoxious answering machine} Ideal E-mail: ARPA: hayes%wizard@UCSD.ARPA UUCP: {ihnp4, ucbvax, decvax, etc.}!sdcsvax!wizard!hayes So-So E-mail: ARPA: ix742%sdcc6@UCSD.ARPA UUCP: {ihnp4, ucbvax, decvax, etc.}!sdcsvax!sdcc6!ix742 Have fun, and may your all dreams be vt100 compatible. Jim Hayes, UCSD