home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 330.V42INFO.TXT < prev    next >
Text File  |  1992-10-03  |  10KB  |  211 lines

  1. V42PATCH.COM ver 1.0
  2. By: Ken "Stinger" Richardson
  3. [70761,301]
  4.  
  5.  
  6.  
  7.       The following is a brief report of what research I have
  8. done, and what I have found while investigating the COMMS
  9. routines in Falcon 3.01. Before using this patch, please
  10. understand that it is only a "Hack", as far as I know it will not
  11. cause any problems for any other part of Falcon, but it is not
  12. possible to be absolutely sure. It will NOT modify your original
  13. installed version of Falcon. It will create another executable
  14. file named F3V42.EXE, this is the file you should execute to make
  15. the patch effective. Your FALCON3.EXE file WILL NOT be modified.
  16.  
  17.  
  18. V.42bis modems:
  19.  
  20. V.42bis is a CCITT standard for data compression and error
  21. correction. It can give a modem up to 4:1 compression with 100%
  22. reliability. A 9600bps V.42bis modem can achieve throughput of up
  23. to 38,400bps and a 14.4kbps V.42bis modem can go up to 57,600bps
  24. throughput. This is done by the modem by compressing the data it
  25. receives from the computer before it sends it across the phone
  26. line on it's 9600 or 14.4k bps carrier. The receiving modem
  27. decompresses the data before sending it to it's host computer.
  28. All data can not be compressed the same amout. For example, text
  29. files can be compressed a great amout while ZIP file can't
  30. because they are already compressed. Therefore the effective
  31. speed of a V.42bis modem can vary from it's carrier speed (9600
  32. or 14.4k bps) all the way up to 4 times it's carrier speed (38.4
  33. or 57.6k bps). The way the data flow is regulated by the modem is
  34. with FLOW CONTROL, or more specific harware flow control
  35. (CTS/RTS). The CTS (clear to send) line will tell the computer
  36. when the modem is ready for data. Your comm port might be set to
  37. 57,600bps while the modem is sending data at 15,000cps, obviously
  38. the computer must wait for the modem. So as you can see, flow
  39. control is absolutely needed when a V.42bis connection is made
  40. between two computers with the comm ports set to a bps rate
  41. higher than the modem's carrier.
  42.  
  43.  
  44. Original Falcon 3.01 and V42bis modems:
  45.  
  46. What I have found when connecting with Falcon using my modem and
  47. V.42bis turned on is severe warping and the occasional hang-up in
  48. the sattellite download. My opponent and I would configure our
  49. modems to connect at 38,400bps (57,600bps for 14.4kbps modem)
  50. with V.42bis turned on. When we decided who would be the caller,
  51. we would setup in Falcon and have Falcon connect. After
  52. connection we would go on to the sattellite download screens.
  53. Occasionally Falcon would hang-up half way through these screens.
  54. If we did make it through the sattellite download, we would enter
  55. Falcon and start dueling. While in flight, my opponent would be
  56. "teleported" from one location in space to another. He would be
  57. right in front of me and then all of a sudden he would be 2 miles
  58. off to my right, facing a completely different direction. I have
  59. had numerous reports from other players noting the same effect.
  60. Well, I decided to start "hacking" at Falcon 3.01's comms
  61. routine. What I discovered is Falcon 3.01 ignores the CTS line
  62. from the comm port. This makes hardware flow control impossible
  63. during a V.42bis connection. Falcon's comms routines don't
  64. realize when the modem is ready to accept data, it assumes the
  65. modem is ready as soon as the Transfer Holding Register is empty
  66. on the selected comm port. This works fine for a direct
  67. connection or a straight asynchronous connection using modems
  68. (9600bps or 14.4kbps), but not very well at all with a V.42bis
  69. modem. Falcon continues to send data even when the modem is not
  70. ready, the data send while the CTS is off, is lost. This is where
  71. all the problems begin.
  72.  
  73.  
  74. What V42PATCH.COM does:
  75.  
  76. V42PATCH will make numerous changes to Falcon 3.01 to enable
  77. Falcon to check the CTS line before it attempts to send data. It
  78. will allow data to be trasferred between the two computers error
  79. free and up to 57,600bps. It will NOT modify your FALCON3.EXE
  80. file, instead it will create a new file called F3V42.EXE. This
  81. file will be a copy of your FALCON3.EXE file with the patch
  82. applied. To run the patched version of Falcon to enable a
  83. reliable V.42bis connection, type F3V42 instead of FALCON3. You
  84. will need 1.3Meg of free disk space.
  85.  
  86.  
  87. To Install V42PATCH.COM:
  88.  
  89. To install V.42PATCH, simply copy V.42PATCH.COM to your Falcon
  90. 3.01 directory and type V42PATCH. It will reply with a success or
  91. failure message.
  92.  
  93.  
  94. What to Expect from F3V42.EXE:
  95.  
  96. 1. F3V42 is exactly the same as your original FALCON3.EXE file    
  97.    except for the comms patches.
  98. 2. You will still be able to connect with someone who doesn't     
  99.    have F3V42.EXE but only at the highest mutual raw speed of     
  100.    your modems without V.42bis turned on. Don't attempt a V.42bis 
  101.    connection with someone who is not using this patch. It will   
  102.    give no advantage.
  103. 3. You will see less "jittering" in your opponents plane.
  104. 4. You will have a 100% error free connection (with V.42 turned   
  105.    on).
  106. 5. There will be a 30% increase in cps rate while playing.
  107.  
  108. Number 5 and 4 above combined, result in number 3 above.
  109.  
  110. Tips on Connecting with Falcon using F3V42.EXE:
  111.  
  112. When connecting with F3V42.EXE, you will want to have V.42bis
  113. turned on, also you need hardware flow control enabled. Use your
  114. comm program to configure your modem for the correct setup and
  115. then save your modems configuration in "Stored Profile 0" in your
  116. modem's non-volitile memory. I found it is also a good idea to
  117. make sure the "Extended V.42 Response Codes" are turned off.
  118. After the proper configuration is stored in your modem's memory,
  119. your are ready to connect. Make sure you run F3V42.EXE to start
  120. Falcon. Go to the comms screen and select 57,600bps and modem
  121. connection. Select call or answer, whichever you and your
  122. opponent decided on. Use modem defaults when Falcon asks, this is
  123. important. If you use defaults, Falcon will use "Stored Profile
  124. 0" to make a connection as a result of the ATZ command Falcon
  125. will send. This is the configuration you just saved. You should
  126. get a connect message and everything else should work fine.Here
  127. is an example of how to setup your modem:
  128.  
  129. From TERMINAL mode in your comm program type:
  130. AT &F                ;Return to factory configuration
  131. AT &Q5               ;Enable V.42bis connection
  132. AT &K3               ;Enable hardware flow control (CTS/RTS)
  133. AT W0                ;Disable extended V.42 response codes
  134. AT &W0               ;Store in Profile 0, very important.
  135. AT &V                ;Display profile. Use this command to double 
  136.                       check your setup.
  137.  
  138. Note:  Your modem may have different commands than I have listed
  139. here, check your modem's manual before you type these commands,
  140. especially &Q5 and W0. Some modems use &M5 instead of &Q5. You
  141. may even have to change some S-registers. Whateven you must do,
  142. make sure the last thing you type is AT &W0 to store it in your
  143. modem's memory. If you type an illegal command, your modem should
  144. respond with ERROR, otherwise it will respond with OK.
  145.  
  146. I should mention that all 9600 V.42bis modems will not go to
  147. 57,600bps, some have a limit of 38,400bps which is fine. Using a
  148. 9600bps carrier and V.42bis compression (4 to 1), the maximum
  149. throughput will be 9600 * 4 = 38,400bps. So 57,600bps has no
  150. advantage when using a 9600bps modem/carrier. When using a
  151. 14,400bps V.42bis modem, you should select 57,600bps as all
  152. 14.4kbps modems will accept 57,600bps connections. If you have a
  153. 14.4kbps modem and your opponent has a 9600bps modem, you will
  154. have to connect using a 9600bps carrier. The modems should do
  155. this automatically. You can select 57,600bps (although it offers
  156. no advantage over 38,400bps over a 9600bps carrier) when in
  157. Falcon and your 9600bps opponent can select 38,400bps and you
  158. will still have a good connection. Remember, with V.42bis turned
  159. on, your computer is connected to your modem, not directly to
  160. your opponent's computer. When you select the baud rate in
  161. Falcon, what you are doing is telling Falcon how fast you can
  162. talk to your modem. The "Flow Control" with regulate the actual
  163. data transfer rate between computers. This is why when using
  164. V.42bis each player can select a different baud rate in Falcon,
  165. it makes no difference to your modem. I suggest selecting 38,400
  166. baud when using a 9600bps carrier and 57,600 baud with a 14.4kbps
  167. carrier.
  168.  
  169.  
  170. Results From F3V42.EXE Tests:
  171.  
  172. The CPS rates stated here were reported by a TSR program I wrote
  173. to monitor Falcon as it communicated with my opponent during
  174. actual games.
  175.  
  176. Connection Type  Avg CPS  Highst CPS  Avg. During  Highst During
  177.                  playing   playing    Satt downld   Satt downld
  178. ---------------------------------------------------------------
  179. 9600bps, No V.42   600       656          120           123
  180.  
  181. 38.4Kbps, V.42bis  775      1365         2000          3200
  182. (9600bps carrier)    
  183.  
  184.  
  185. Future Versions of V42PATCH:
  186.  
  187. As you can see from the above tests, during the sattellite
  188. download there is a great increase in CPS rate. This is not
  189. reflected in time taken to complete the download. I have not
  190. determined why yet but I have an idea is has to do with Falcon's
  191. own communication protocol. Spectrum Holobyte did not intend for
  192. Falcon to be run on V.42bis modems so Falcon may expect the two
  193. modems to be sycronized during the sattellite dowload. This is
  194. impossible with V.42bis turned on. Falcon may "think" an error
  195. has occured during the download when it doesn't receive the
  196. proper character at the proper time and resend the data it just
  197. sent. I intend to investigate this some more. If I am
  198. successfull, I may be able to get the sattellite download time
  199. down to about 10-15 seconds.
  200.  
  201.  
  202. Note:
  203. This patch is not supported by Spectrum Holobyte. If you
  204. experience problems, contact me in the ModemGames Forum.
  205.  
  206. Ken "Stinger" Richardson
  207. [70761,301]
  208.  
  209. P.S. Have fun!!!
  210.  
  211.