new file!!!!!!!!!!!!4-27-94 =====note from sparky================================ make sure music is turned off in "system setup"!!!!! ===================================================== * MODEM COMMUNICATIONS FOR FALCON 3.0, MiG-29 AND F/A-18 HORNET * This focus of this document is how to achieve successful modem to modem communications within Falcon, MiG-29 and F/A-18 Hornet. The basics of using the communication screens and the steps involved in calling another player are adequately covered in the your software manuals. This discussion will go beyond the basics and give you specific suggestions to help overcome problems establishing a connection. Since the procedures and modem commands outlined here apply equally well to ALL the programs, I'll use the term "Falcon" as a shortcut to simplify the discussions. Establishing modem to modem communications in Falcon can be extremely frustrating. Even if you have no difficulties getting your modem to communicate with online services or BBS's, you may find yourself unable to connect with another player in the Falcon environment. First off, don't panic. Problems of this kind are quite common. Getting communications to work can sometimes take a good deal of luck. With "luck", this will help you overcome any problems you may encounter in playing Falcon via modem. I strongly urge ALL players having problems to read through the "general notes" section before moving on to the specifics. The comments contained therein apply regardless of the type or speed of connection. The following two sections will provide some background into how Falcon communications work and what goes on during game play and setup. While not directly concerned with "specific" problems, they may nonetheless provide some interesting material to help you better understand how Falcon works and why it sometimes doesn't. * THE MECHANICS OF FALCON COMMUNICATIONS * Falcon's communication routines differ greatly from those employed by your communications programs. Most problems occur during the initial connection between the modems. The reason for this is that Falcon doesn't "parse" or "examine" the responses coming from the modem during the "handshake" phase of the connection. Falcon merely watches the serial port and treats ALMOST ANY incoming information as a sign that a connection has been established. While communication programs "understand" what the modems are telling them, Falcon does not. This can become an even more serious problem during High Speed connections. It is not unusual for a brief burst of "noise" to result from the initial exchange of data carriers, etc.. In addition, connections employing data compression or error correction often include extra "connect messages" from the modem. These include information about the connection type, DTR/DTE speeds, etc. and are sent during the handshaking process, even before the connection is fully established. As a result, Falcon often interprets this "garbage" or "extra information" from the serial port as indicating a connection exists when it doesn't. Falcon will move on to the next phase in it's connection process too soon and a system lock up is generally the result. For this reason, using the DIRECT method of connection (covered later on) will often succeed where other methods fail. By going DIRECT, you take control of establishing a connection away from Falcon and allow the game to proceed on the basis of an already established modem to modem link. * WHAT'S GOING ON DURING SETUP AND PLAY * Falcon transmits a great deal of data during setup. This includes theater data, information on the environmental settings, aircraft settings, etc. etc. etc.. This is sent in a "packet" fashion, that is to say, the caller sends data, then the other machine sends a short "got it" message back, then the caller sends more data, etc. You'll notice that the "caller" is doing most of the work, and transmitting most of the data (for those with external modems, you can see this process by watching the RD/SD lights.) During this process, if there are any errors in transmission occur you'll notice a slow down in the rate of progress due to data re-transmittals since both computers must have ALL the information before the game may proceed. During actual play, Falcon doesn't wait for data acknowledgements, rather, the data is sent as a "stream" towards the other end. The data stream includes information not only about the location of the aircraft and the status of weapons fired, but also contains "velocity vectors" indicating how fast you're moving and how fast you are changing in attitude . From this information, the computer on the other end can make it's "best guess" as to where you will be by the time the next "clean" packet of data is received. If there are transmission errors, the computer will proceed with it's "best guess" until it gets solid piece of information. This is why there may appear to be a lot of jumping around by the other plane (or "warping" as it's commonly called) at low baud rates or over noisy phone lines. The computer "projects" the anticipated flight path based on position and vectors, but "teleports" the opponent to the next known point in space when it gets the next fix. The less "good" information being received, the more warping there will be. With bad connections, you also may not get hits because the shots are either being lost in bad data packets, or are being directed at a point where the other plane "was" or where the computer thinks it "could be" rather where it really is. If enough data packets are lost, Falcon may become entirely unable to re-synchronize the players. When this occurs, you will each end up chasing "ghost" planes. These are phantoms of the last known position and velocity vectors that Falcon received and have no basis in reality to where your opponent really is. Obviously, you can't "kill" a ghost plane. Even if your weapons appear to hit it, the other side doesn't register the hit because it's not really there! Under these conditions, the only option is to end the round and restart from the WAR ROOM. If the condition occurs repeatedly, you may need to hang up and try the call over again, or attempt connection at a slower baud rate. Obviously, a clean, high speed connect will result in smoother movement of the other plane and good registration of the weapons impacts. However, high speed connection are not without problems of their own. Due to the greater density of the data stream, high speed connections are more sensitive to phone line quality. Modems equipped with data compression and error correction can often help alleviate a lot of these problems and improve the quality of game play. Despite the occasional problem caused by warping and synchronization loss, data streaming play is actually a very ingenious and effective way to treat game play communications. By allowing your computer to operate independently of the modem, Falcon runs at full speed. While you may see your opponent's plane jumping around, your plane handles exactly the same as it does in single player mode. Some game publishers that support modem play use the "transmit/acknowledgement" method of communications during game play. The difference compared to Falcon is dramatic. There is almost NEVER any warping in these games because the computer will NOT refresh the screen unless it has received a valid data packet. However, what results is a very low screen update rate. Movement occurs in a "stop action" manner, and it becomes extremely hard to exert fine control over your own aircraft. Try executing maneuvers in INSTANT ACTION or RED FLAG while you blink your eyes rapidly and you'll get the picture. In the worst cases, the screen will "freeze" completely if several data packets in a row get corrupted while being sent over the lines. All things considered, Falcon's communication routines are an excellent compromise between speed and accuracy. Higher speed modems and the implementation of data compression and error correction all contribute to make Falcon one of the most realistic and fluid air combat simulations available. * GENERAL NOTES AND CONSIDERATIONS FOR ALL FALCON CONNECTIONS * Before attempting ANY Falcon connection, you should verify that both you and your opponent have compatible versions of Falcon installed. Versions are constantly being updated and the "newest" versions are not always compatible with their predecessors. As a general rule, don't try to connect dissimilar versions of Falcon. You can obtain current upgrade patches from a variety of BBS's and online services, or you can contact Spectrum Holobyte directly and they will send out upgrade diskettes free of charge. For best results, both players should choose squadrons based in the KUWAIT theater. All head to head play in Falcon takes place in this theater regardless of the default location for the chosen squadron. Make life simpler for yourself and the program by using the Kuwait theater. Both players should select the same baud rate while in Falcon. The baud rate should equal the "highest" available speed of the "slowest" modem. Players whose modems are equipped with V.42bis data compression and error correction hardware can use higher baud rates within Falcon by utilizing one of the V.42bis programs written by Ken "Stinger" Richardson. Stinger's modifications to the Falcon code to enable the use of data compression can result in a 25-35% increase in the speed of Falcon communications. Not only do you connect faster, but game play is more fluid and stable. V.42bis patches and TSR's are available only for Falcon versions 3.01 and above as well as all versions of MiG-29 and Hornet. You should verify that you have the correct V.42bis support program for the version of Falcon you are running. Special modem initialization strings and other procedures will generally be required to utilize Stinger's V.42bis programs. See the section on V.42bis connections for specific details. Players with 14,400 baud modems who are not using Stinger's programs may attempt to connect in Falcon at 19,200 baud. However, you may find that the fastest and most reliable connects are made at 9,600 baud. Falcon DOES NOT support ANY form of error correction, data compression or speed buffering without the installation of Stinger's programs. If you are NOT running these programs, or if new version of Falcon release for which Stinger's programs are not yet available, you MUST disable V.42bis data compression, error correction and speed buffering while using Falcon. See the section on Non-V.42bis connections for more details. If you are using a high speed modem, verify that your serial port has a high speed UART (Universal Asynchronous Receive/Transmit) chip installed. The best UART for high speed communications is the 16550A. A 16450 UART chip generally works reasonably well, but you may not be able to utilize baud rates in excess of 19,200 without incurring data transmission errors. If your computer has an 8450 or 8550 UART, consider upgrading your serial port. If you are using an external modem, it is especially critical that you check your UART and ensure that you are using a high quality, shielded serial cable. By default, Falcon utilizes the "stored zero profile" in your modems NVRAM (Non-Volatile RAM) to set your modem parameters. You will want to ensure that your stored settings are correct in order for Falcon to work. I'll be discussing what settings to use in greater detail as they can vary widely amongst different modem manufacturers and different types of Falcon connections. See the appropriate sections for more details. NOTE: Some modems will incorrectly set the values &C0 &D0 in response to the &F command to reset factory defaults. The correct default values should be &C1 &D2. Setting these to "zero" causes the modem to indicate a continous "on-line" status and in some cases can interfere with the establishment of a connection. Verify the results of issuing an AT&F command by typing AT&V (works for most modems) in order to see the contents of the ACTIVE PROFILE while you are in your communications program. If in doubt, when directed to use AT&F, use the command AT&F&C1&D2 instead. ALWAYS REBOOT your computer between any failed attempts to establish connections in Falcon. If you have an internal modem, you should perform a COLD boot. If your modem is external, power down the modem and perform either a COLD or WARM boot. Have a communications program handy so that you may issue commands to your modem, modify your stored profiles, and if necessary establish a DIRECT communications link for Falcon. A direct link is generally the easiest way to get connected if your modem is especially recalcitrant and you're still having problems. For best results, use a DOS communications program. Using ANY communications program for WINDOWS will only complicate matters. It is extremely difficult to achieve a DIRECT link in Falcon using Windows. Have your modem documentation available to verify modem command strings, S register settings, etc.. Modem manufacturers may change the command strings without notice. The information provided here is the best available at this time, but be prepared to verify all commands before executing them. If your modems establish a connection, but Falcon remains stuck on either the "MODEM STATUS: DIALING", "MODEM STATUS: WAITING" or "WAITING FOR OTHER SIDE TO CONNECT" messages, try the following procedure: 1. Answer "NO" to the "USE MODEM DEFAULTS" question that appears when you press "ACCEPT" at the Falcon communications screen. 2. You'll see the following commands presented in turn: "ATZ", "ATE0V0Q0", and either "ATS0=1" or "ATDx" (the former if set to "ANSWER", the latter if set to "CALLER" in Falcon). 3. Press as each of the above strings is presented, pausing a moment before moving on to the next one. IMPORTANT NOTE: The above assumes that all initialization strings for your modem have been properly saved to the "stored zero profile". Please refer to the specific strings listed for differing modems and connection types in the following sections where appropriate. 4. A final "blank" command box will appear. DO NOT hit until the modems have established the connection (ie. the handshaking noises have stopped) and you've waited a second or two in order to allow the connection to settle. NOTE: The above procedure may also be used if you choose NOT to modify the contents of your "stored zero profile" for a specific Falcon connection. Simply append the appropriate strings to the "ATE0V0Q0" command. DO NOT use the AT&F command in your string in this case. For example: Player X has set up his "stored zero profile" for use with V.42bis high speed data connection. He wishes to play using a plain 9600 connection for a particular game. Rather than reinitialize his modem, he answers "NO" to the "USE MODEM DEFAULTS" question, replaces the ATE0V0Q0 command string with ATE0V0Q0&Q0N0S37=9 and proceeds according to the instructions above. This works ONLY for a single session, if the connection is broken and/or needs to be reattempted, the string must be entered again. (Specific strings may vary, see the detailed sections below for the string to use with your modem.) If you can establish a connection but find that Falcon "locks up" inbetween rounds, try turning off the Music and Animation clips that play between rounds, while setting up, etc. etc.. On some systems, the added overhead of the music and video causes problems. If your modems fail to establish a connection at all, or if they hang up before a connection can be established, it is advised that you attempt a connection directly with your standard communications packages to ensure that the modems are not experiencing a basic incompatibility. If you cannot establish a connection with a communications program, you will certainly not be able to establish one with Falcon. Problems of this sort are often very difficult to track down, modems are finicky beasts at times. Use your communications programs to ascertain what types of connections are possible, and by all means consider using the DIRECT method for Falcon. * 2400 BAUD CONNECTIONS WITHOUT V.42bis COMPRESSION * 2400 baud connections are generally trouble free. Since virtually every modem conforms to the basic HAYES command set, problems here are most often the result of some setting in your "stored 0 profile" that is not in line with the factory defaults. From your communications program, go into terminal mode so that you can "talk" to your modem. Restore your modem to it's factory defaults by typing . After you see the "OK" response, type to save these settings into your "stored 0 profile." If the modems establish a connection, but Falcon remains stuck on either the "MODEM STATUS: DIALING" or "MODEM STATUS: WAITING" messages, follow the directions indicated in the GENERAL NOTES section above. If you still have problems, consider establishing a DIRECT connection as a last resort. The procedures for "going direct" are outlined at the end of this document. * HIGH SPEED CONNECTIONS WITHOUT V.42bis COMPRESSION * High speed connections (9,600 baud or higher) present a much greater challenge to modems in general and Falcon in particular. The data stream more densely packed and hence more prone to interference by line noise, etc.. Also, there is no single accepted standard command set like there is for 2400 baud communications. Most High Speed modems today also support V.42bis data compression and error correction routines. You'll definitely want to use these capabilities if possible. In general, there are only two reasons why you would want to use a high speed connection without V.42bis. The first is obvious ... one or both player's modems do not support V.42bis compression or your version of Falcon has not been upgraded (with patches or TSR's) to support it. The second is if you are unable to establish a connection using V.42bis compression. This is occasionally the situation when phone lines are noisy, or other problems arise such that connection is impossible.