home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / WWIVMODS / PRE412.ZIP / ELRIC.HST < prev    next >
Text File  |  1990-04-18  |  26KB  |  646 lines

  1. Here's how Elric set up his HST. You of course are free to take this and do
  2. whatever you want to with it.
  3.  
  4.  
  5. First things first, let me identify my modem. I have a 14,400 HST, MNP 5. I 
  6. do not have the V.42bis installed yet, so this may change when the modem does.
  7.  
  8. Here are my ROM dates and such as given by the modem (ATI7)
  9.  
  10. ati7                                
  11. Configuration Profile...            
  12.                                     
  13. Product type           External     
  14. Options                HST          
  15. Eprom                  64k          
  16. Ram                    8k           
  17.                                     
  18. Supervisor date        09/29/89     
  19. IOP date               09/20/89     
  20. DSP date               09/18/89     
  21.                                     
  22. Supervisor rev         1.2          
  23. IOP rev                1.2          
  24. DSP rev                2            
  25.                                     
  26. OK                                  
  27.  
  28. Now the switches on the back, along with what they do and why they are set like
  29. they are.
  30.  
  31. First, with the modem rightside up, looking at the back, you should see one 
  32. big switch, then a bank of 10 more. 
  33.  
  34. Big Switch. Quad. Leave it alone. Should be up. Unless you know what this 
  35. thing is, and are sure you have to change it, just leave it alone.
  36.  
  37. Bank of 10 switches. Check to make sure your assignments for up and down
  38. are the same as mine...would hate for them to have put in upside down 
  39. switches on yours and really screw you up.
  40.  
  41.  
  42. Summarry:
  43. 1    2    3    4    5    6    7    8    9    10     UP=Off
  44. UP   UP        UP        UP   UP             UP     Down=On
  45.           DOWN      DOWN           DOWN DOWN     
  46.  
  47.  
  48. Switch 1. Data Terminal Ready Operations. UP
  49. Should be Up/off. The default for this is down, but trust me, you want it up. 
  50. In the up position, the modem will only maintain carrier if the computer holds 
  51. the DTR line high. This way the modem WILL hang up when they log off. And not
  52. after 10 minutes, but NOW. This is because when WWIV tries to hang up, first 
  53. it drops DTR, then sends an escape code to hang up. I am sure you have 
  54. experienced BBS's where the hang up function did not work correctly. Well, 
  55. this takes care of that problem. Trust me, this is the way to go.
  56.  
  57.  
  58. Switch 2. Verbal/Numeric Result codes.  UP
  59. This is a matter of preference. The default is UP, and that is what I have 
  60. mine set at, since most term programs prefer verbal codes. Also, programs like 
  61. Procomm Plus are not set up to handle 18 different result codes for 2400 baud...they dont care if it is 2400, 2400 HST, 2400 ARQ, or 2400 HST/ARQ. All they look for is just "connect 2400" and ignore the rest. So leave it up and your term program will be easier to deal with. Of course, there is a command to override this, ATV1 will return the verbal codes, ATV0 will return numeric. It's really up to you is what I guess I am saying here.
  62.  
  63.  
  64. Switch 3. Result Codes Enabled/Suppressed. DOWN
  65. The default is DOWN, which is enabled. That is also what mine is set for, 
  66. since without the result codes you might as well guess a random baud rate and 
  67. hope for the best.
  68.  
  69.  
  70. Switch 4. Command Mode Local Echo. UP
  71. Default is UP, mine is UP. What this does is when you type something in 
  72. command mode, like AT commands, they echo to the screen. Putting the switch 
  73. in the down position lets you type blindly away with no echo, if you prefer 
  74. that for some reason.
  75.  
  76.  
  77. Switch 5. Auto Answer.  DOWN
  78. The default is DOWN, and mine is down. What this does is disable the 
  79. auto answer feature of the modem. WWIV does not rely on the modem to 
  80. automatically answer, instead it continuously polls the modem looking for 
  81. a ring. When it finds one, it answers manually. That way there are no 
  82. surprises. And it works better than auto-answer.
  83.  
  84.  
  85. Switch 6. Carrier Detect  UP
  86. Factory default is down, mine is UP. The reason is in the down position, 
  87. the modem always assumes a carrier is detected. When it is up, it is actually 
  88. looking for the carrier. When it detects one, it sends the carrier detect(CD) 
  89. signal back to the computer. When it does not detect another modem, it drops 
  90. the carrier detect signal to the computer. Lets you know if the user hangs 
  91. up on you.
  92.  
  93.  
  94. Switch 7. Auxilary Switch  UP
  95. Default is UP, mine is UP. When it is UP, the result codes are always 
  96. displayed. When it is down, the result codes are suppressed in answer mode. 
  97. Since Answer is what you are in when you answer, and as we discussed in 
  98. switch 3, without them you could just guess the baud rate without them, you 
  99. do want this one up.
  100.  
  101.  
  102. Switch 8. Command Set Recognition DOWN
  103. Defualt is down, mine is down. This puts the modem in smart mode, as in it 
  104. recognizes the AT command set. Trust me, you dont want to not be able to 
  105. use the AT command set.
  106.  
  107.  
  108. Switch 9.  Escape code response.  DOWN
  109. You want this one down. In the UP position, if the modem receives the escape 
  110. code, it hangs up, returns to command mode, and returns a no carrier result 
  111. code. With it down, the modem maintains the connection, but just drops to 
  112. command mode.
  113.  
  114.  
  115. Switch 10.  Power on and ATZ reset defaults. UP
  116. With this up, when the modem powers up or when it is reset it loads the 
  117. ram with the options you have programmed. With it down, it loads the factory 
  118. defaults. If the factory defaults were satisfactory, I wouldnt be typing in 
  119. this bloody doc file, and you wouldnt be reading it. Leave it UP.
  120.  
  121.  
  122. OK, that pretty much covers the switches. Now for the NRAM settings. Lets 
  123. look at these one at a time and see how to set them up, and what they do. 
  124. To set these up, load up your term program of choice, and start entering 
  125. these options. Such as ATB1 <CR> ATC1 <CR>....
  126. When you are done, enter AT&W to write the settings to the NRAM.
  127. First, of course, the summary. 
  128.  
  129.  
  130. ati5                                            
  131. USRobotics Courier 14400 HST NRAM Settings...   
  132.                                                 
  133.    DIAL=TONE   B1  F1  M1  X7                   
  134.    BAUD=19200  PARITY=N  WORDLEN=8              
  135.                                                 
  136.    &A2  &B1  &G0  &H1  &I0  &J0  &K2  &L0       
  137.    &M4  &N0  &P0  &R2  &S0  &X0  &Y3            
  138.                                                 
  139.    S02=001   S03=013   S04=010   S05=008        
  140.    S06=002   S07=255   S08=002   S09=006        
  141.    S10=050   S11=055   S12=050   S13=004        
  142.    S15=008   S19=000   S21=010   S22=017        
  143.    S23=019   S24=150   S26=000   S27=000        
  144.    S28=008   S38=000                            
  145.                                                 
  146.  
  147. Lets look at these one at a time now.
  148.  
  149. B1. This puts the modem in HST mode by default. Since I am assuming you have 
  150. an HST and not a Dual Standard, just like me, you want this to be B1. 
  151. Setting it to B0 will let it answer in V.32 mode, and then fall back to HST 
  152. mode if it is connecting to an HST. But since you just have an HST modem, that 
  153. would be silly, since it cant answer in V.32 mode.
  154.  
  155.  
  156. C1. If it isnt set to 1, the modem does not transmit anything, just receives. 
  157. Set it to 1 if you want it to work.
  158.  
  159.  
  160. (E will be covered later, it doesnt get written to NRAM anyway. But set it to 
  161. E0 if you feel you have to.)
  162.  
  163.  
  164. F1 This turns online echo on. Good thing to do. Trust me.
  165.  
  166.  
  167. M1 Modem speaker options. You have several options here, so let me explain them.
  168.  
  169.    M0 speaker is always off
  170.    M1 Speaker is on until connection is made
  171.    M2 Speaker is ALWAYS on <--bad idea, except for testing.
  172.    M3 Speaker is on after dialing until connection is made
  173.  
  174. I prefer M1, since that way I can adjust the volume to a reasonable level, 
  175. and I can hear when someone is logging on, or when the BBS is networking. 
  176. But, I can turn the volume up and down at my own whim. Really a matter of 
  177. personal preference. If you dont want to hear the speaker ever, set to M0.
  178.  
  179.  
  180. Q0. This causes result codes to be displayed. Q1 disables result codes.
  181.  
  182.  
  183. V0/V1 Either one. We will set it to V0 in the init string, so doesnt really 
  184. matter. V0 is numeric result codes, V1 is verbal.
  185.  
  186.  
  187. X7 A huge extended result code list. Lets you know exactly how people are 
  188. logging on. With/without HST, with/without ARQ/MNP. If you choose a different 
  189. value, you will have to adjust the result codes page according to what is and 
  190. is not enabled by your setting. Just dont use X6 or X5, the voice result code 
  191. messes some things up at times.
  192.  
  193.  
  194. & codes
  195.  
  196.  
  197.    &A2  &B1  &G0  &H1  &I0  &J0  &K2  &L0
  198.    &M4  &N0  &P0  &R2  &S0  &X0  &Y3
  199.  
  200.  
  201. &A2 Allows even more extended result codes with ARQ info.
  202.  
  203. &B1 This allows you to fix the baud rate between the computer and the modem 
  204. at 19,200 or 38,400 baud. &B0 will cause the rate between the modem and the 
  205. computer to vary with the connection rate. You do want this set to &B1, so the 
  206. buffer will always be full in the modem, allowing the data compression to do 
  207. its stuff. If you set it to &B0, the transfer rates will go down.
  208.  
  209. &G0  No guard tone. If you are doing this in the US, leave it alone. 
  210. Some Europoean countries require different settings, see the docs.
  211.  
  212. &H, &I, and &R Flow control. First, what is flow control? This is how the 
  213. computer and the modem tell each other when it is OK to send data back and 
  214. forth. If the buffer on the modem is full, then the computer better not 
  215. keep sending data, or it will overflow. There are 4 ways to do this. One is 
  216. not to do any at all, and hope for the best. Another is to use hardware 
  217. signals, which work the best. Another is to use X-On and X-Off chars, and 
  218. let the software handle it. The third is a mixture of software and 
  219. hardware methods.
  220.  
  221. &H1 I reccomend &H1, hardware flow control for Transmit Data
  222. &I0 I reccomend &I0, software flow control disabled for Received Data.
  223. &R2 I reccomend &R2, hardware flow control for received data.
  224.  
  225. &J0 Single phone line. If you have standard phone lines, leave this one alone.
  226.  
  227. &K2 Always try to use data compression. Only makes sense.
  228.  
  229. &L0 Leased line disabled. Unless you have a dedicated leased line between 
  230. you and one other person (pretty stupid way to run a BBS) leave this one 
  231. alone.
  232.  
  233. &M4 Try to use ARQ (MNP error correction) if possible, otherwise just 
  234. make normal connection.
  235.  
  236. &N0 make the highest speed connection possible. If this is set to 
  237. something else, you can limit the highest baud rate at which someone can 
  238. log on, although I cant imagine why you would buy an HST and then limit the 
  239. speed to something lower than the max.
  240.  
  241. &P0 US Pulse dialing make/break ratio. Again, if you are in the US, 
  242. leave it alone.
  243.  
  244. &S0. This sends a signal to the computer that the modem is always ready.
  245.  
  246. &X0 Uses modem clock for timing. Leave it alone unless you have a FULL 
  247. cable setup.
  248.  
  249. &Y3 Something to do with break handling. Set it here and leave it. WWIV does 
  250. not use breaks, but some transfer protocols do. This is for non-destructive 
  251. non expedited breaks, if that means anything to you.
  252.  
  253.  
  254. S registers
  255. The S registers are a set of bitmapped registers that control even more 
  256. about the modem than you will ever want to or need to do. Most of these we 
  257. will leave the same, but here is how it should be set up anyway.
  258.  
  259.  
  260.    S02=001   S03=013   S04=010   S05=008        
  261.    S06=002   S07=255   S08=002   S09=006        
  262.    S10=050   S11=055   S12=050   S13=004        
  263.    S15=008   S19=000   S21=010   S22=017        
  264.    S23=019   S24=150   S26=000   S27=000        
  265.    S28=008   S38=000                            
  266.                                                 
  267.  
  268. S0=0 Disable auto answer. As was explained before, WWIV does not rely on the 
  269. modem to answer the phone, rather it looks for a ring and then picks up the 
  270. phone. Works rather well compared to some BBS programs, which may not 
  271. realize the modem just answered.
  272.  
  273. S1 counts the number of rings. Ignore it.
  274.  
  275. S2=1. Changes the default escape code for the modem. Will default to 43 (+), 
  276. but WWIV uses a different symbol () to enter command mode. Basically, if 
  277. you pause, then hit three escape codes, then pause again, the modem will 
  278. enter command mode. Some sysops complained about their cheapo-Tawain modems 
  279. entering command mode if people hit the + sign three times, so thats why it 
  280. is this way now.
  281.  
  282. S3=13 Carriage return = ASCII 13
  283.  
  284. S4=10 Line Feed  = 10
  285.  
  286. S5=8  Backspace = 8
  287.  
  288. S6=2 Time to wait before dialing. If you are using X7 like I reccomended, 
  289. the modem ignores this register and starts dialing as soon as it detects 
  290. a dial tone.
  291.  
  292. S7=255 Number of seconds modem will wait for a carrier. I have it set 
  293. to 255, the max, to make sure there is plenty of time to get connected.
  294.  
  295. S8=2 Time to delay if a pause command is sent (,) in command mode.
  296.  
  297. S9=6 Time the remote modem has to send a carrier before your modem 
  298. recognizes it. In tenths of a second.
  299.  
  300. S10=50 Time, in tenths of a second, the modem will withstand a loss of 
  301. carrier before it gives up. In other words, if you get some line noise or 
  302. something, wait 5 seconds before calling it quits.
  303.  
  304. S11=55 The duration and timing, in milliseconds, of tone dialing. This is 
  305. about as fast as it will work. And beleive me, its FAST. Any shorter tones 
  306. and the phone company may not recognize them. If you have a problem with 
  307. getting wrong numbers all the time, or not getting dialed out at all, you 
  308. might want to bump this up a bit.
  309.  
  310. S12=50  Duration, in fiftieths of a second, of the escape code guard time. 
  311. In other words, there has to be a 2.5 second delay before and after the 
  312. escape codes for them to work. That way some joker cant stick a  in the 
  313. middle of a post and have it kick your modem into command mode.
  314.  
  315. S13=4 Bitmapped 
  316.  
  317.     Bit  Value   What it does
  318.      0    1      Reset when DTR drops
  319.      1    2      Reverse Answer mode, enter Originate
  320.      2    4      Disable pause before result codes
  321.      3    8      On DTR signal, autodial stored number 0
  322.      4   16      On reset, autodial number 0
  323.      5   32      Reserved
  324.      6   64      Disable MNP 3
  325.      7  128      used in factory testing
  326.  
  327. The only one you want is bit 2, which disables a pause before the modem 
  328. sends a result code back to the computer. No real reason for it to be on in 
  329. the first place. Leave the others alone.
  330.  
  331. S14  Reserved for USR
  332.  
  333. S15=8  Bitmapped
  334.  
  335.     Bit  Value   What it does
  336.      0    1      Disable high frequency equalization
  337.      1    2      Disable online fallback
  338.      2    4      Force 300 bps back channel
  339.      3    8      Set non-ARQ transmit buffer to 128 bytes
  340.      4   16      Disable MNP 4
  341.      5   32      Set Del as backspace key
  342.      6   64      Unusual MNP compatibility
  343.      7  128      InterBridge network compatibility
  344.  
  345. Contrary to advice by some, disabling online fallbacks is bad. The HST will 
  346. fallback to a lower transfer rate if line conditions get bad. Then, as they 
  347. improve, the modems will bump the speed back up to the original rate. It 
  348. uses the following order of fallback:  14.4K  12K  9600 7200 4800
  349.  
  350. If online fallbacks are disabled, the modems will stay at the higher speed, 
  351. but will spend a lot of time re-sending data.
  352.  
  353. Bit 3 should be set, however. This reduces the modems data buffer to 128 
  354. bytes if someone is logged on in a non-ARQ mode. Normally the buffer in ARQ 
  355. mode is 3.25K, and in non-ARQ mode 1.5K. This presents problems to slower 
  356. callers, since if they try to abort a menu or screen with 1.5K already in 
  357. the buffer, they have to wait a long time for results. By reducing the buffer 
  358. to 128 bytes, they get faster results.
  359.  
  360. The other bytes should be left alone.
  361.  
  362. S16=0 Modem self test. Leave it set to 0 for normal operations.
  363.  
  364. S17 reserved for USR
  365.  
  366. S18 reserved for USR
  367.  
  368. S19=0 Sets the duration in minutes for the inactivity timer. 0 disables the 
  369. timer. Setting it to another value will cause the modem to hang up after that 
  370. many minutes of inactivity
  371.  
  372. S20 reserved for USR
  373.  
  374. S21=10 sets length of break in 10 millisecond units
  375.  
  376. S22=17 XON char. Not used
  377.  
  378. S23=19 XOFF char. Not used
  379.  
  380. S24=150 settings for pulsed DSR. in 20 millisecond units. Not used
  381.  
  382. S25 reserved for USR
  383.  
  384. S26=0 synchronous RTS/CTS response. Not used
  385.  
  386. S27=0 Bitmapped
  387.  
  388.     Bit  Value   What it does
  389.      0    1      Select Bell or V.21 mode at 300. Default is 0, Bell
  390.      1    2      only for dual standards
  391.      2    4      used for testing dual standards.
  392.      3    8      reserved
  393.      4   16      reserved
  394.      5   32      reserved
  395.      6   64      leave alone
  396.      7  128      leave alone
  397.  
  398. Well, anyway, the point is set it to 0 for standard 300 baud users, to 1 if 
  399. for some reason you have V.21 300 baud users. (VERY RARE!)
  400.  
  401. S28=8 .8 second V.32 tone. Only on Dual Standards anyway, so leave it alone.
  402.  
  403. S38=0  Delay, in seconds, before dropping carrier on an MNP/ARQ caller when 
  404. DTR drops to 0. What this basicly says is that when the BBS says hang up, 
  405. the modem hangs up right away. MNP callers might lose a few chars still in the 
  406. buffer, but the fast disconnect is worth it.
  407.  
  408.  
  409. Now to actually set up WWIV. Here is how to set up the init pages.
  410.  
  411. Modem initialization : ATZ{~~~~~ATV0E0S1=0{
  412.  
  413. Ring result code     : 2
  414.  
  415. Stay at highest speed: Y
  416. Use flow control     : Y
  417.  
  418. Com Port      : 1
  419. Baud Rate     : 38400
  420. Interrupt     : 4
  421. Base address  : 3f8
  422.  
  423. Answer        : ATA{
  424. Pick up phone : ATH1{
  425. Hang up phone : ATH0{
  426. Dial prefix   : ATDT
  427.  
  428.  
  429. The initialization string is set to ATZ{~~~~~ATV0E0S1=0{
  430. The initial ATZ tells it to reload the default settings you have entered. 
  431. The tildas ~~~~ are there to pause so the modem can reset itself. Then the 
  432. other codes do the following:
  433.   V0  Numeric result codes
  434.   E0  Command mode echo off (The BBS does not need to see the commands it is typing, in fact, it will try to interpret them as result codes..not good)
  435.   S1=0 Make sure the ring counter is set to 0
  436.   { The return code for WWIV.
  437.  
  438. Set the ring result code to 2, the BBS will be looking for this when it 
  439. is waiting for callers.
  440.  
  441. Answer yes to stay at highest speed, and yes to use flow control.
  442. Set your com port to the correct one, and make sure the interrupt and base 
  443. address are set up with your serial port. Now, as far as locking the baud 
  444. rate, 38400 is preferred, but you may have some problems, so you can set it 
  445. down to 19,200. One thing to check is the UART chip in your serial port. Look 
  446. for a chip with the number 8250, 8250A, 16540, or 16550. If you dont have the 
  447. 16550, get one and replace the one that is in there. This WILL make a BIG 
  448. difference in your transfers. Esp. at 38,400.
  449.  
  450. Set answer phone, pick up phone, hang up phone, and dial prefix like mine.
  451.  
  452. Now for the result codes. Fun fun fun. Here they all are. Note that if you 
  453. chose a com speed of 19,200, change these numbers accordingly.
  454.  
  455.  
  456.  
  457. ##   Return code               Modem Speed Com Speed   Description             
  458. ==   ----------------------    =========== ---------   ======================  
  459.  1  "3                     "   0           0          "No Carrier           " 
  460.  2  "6                     "   0           0          "No Dial Tone         " 
  461.  3  "7                     "   0           0          "Busy                 " 
  462.  4  "8                     "   0           0          "No Answer            " 
  463.  5  "1                     "   300         38400      "300                  " 
  464.  6  "14                    "   300         38400      "300/MNP              " 
  465.  7  "5                     "   1200        38400      "1200                 " 
  466.  8  "15                    "   1200        38400      "1200/MNP             " 
  467.  9  "10                    "   2400        38400      "2400                 " 
  468. 10  "16                    "   2400        38400      "2400/MNP             " 
  469. 11  "18                    "   4800        38400      "4800                 " 
  470. 12  "19                    "   4800        38400      "4800/MNP             " 
  471. 13  "28                    "   4800        38400      "4800/HST             " 
  472. 14  "29                    "   4800        38400      "4800/HST/MNP         " 
  473. 15  "13                    "   9600        38400      "9600                 " 
  474. 16  "17                    "   9600        38400      "9600/MNP             " 
  475. 17  "23                    "   9600        38400      "9600/HST             " 
  476. 18  "27                    "   9600        38400      "9600/HST/MNP         " 
  477.  
  478.  
  479. Now for some transfer protocols. If you do not have the source code, leave out
  480. the estimate 0 %4 part of these protocols. These are all based on DSZ Zmodem.
  481.  
  482.  
  483.  
  484. Description          : Zmodem 
  485. Receive command line : d:\wwiv\dsz port %2 ha on estimate 0 %4 rz -sm %3 
  486. Send command line    : d:\wwiv\dsz port %2 ha on estimate 0 %4 sz -sm %3 
  487. Xfer OK code         : 0 
  488.  
  489. Normal Zmodem to use with most file transfers. The compression option 
  490. actually slows down transmission of pre-compressed files, so this is what 
  491. you want to use.
  492.  
  493.  
  494. Description          : Zmodem Compressed
  495. Receive command line : D:\wwiv\dsz port %2 ha on estimate 0 %4 rz -sZ %3     
  496. Send command line    : D:\wwiv\dsz port %2 ha on estimate 0 %4 sz -srZ %3    
  497. Xfer OK code         : 0
  498.  
  499. For downloading text files, compression does make a difference, so here is 
  500. how to do that.
  501.  
  502.  
  503.                                                                              
  504. Description          : Qmodem-G/Streaming Xmodem
  505. Receive command line : d:\WWIV\dsz port %2 ha on estimate 0 %4 rx -ssg %3
  506. Send command line    : d:\wwiv\dsz port %2 ha on estimate 0 %4 sx -sss %3
  507. Xfer OK code         : 0
  508.  
  509. Nobody to my knowledge has ever used this on my BBS, but what the hell, here 
  510. it is anyway.
  511.  
  512. Description          : YModem-G
  513. Receive command line : d:\wwiv\dsz port %2 ha on estimate 0 %4 rb -g %3
  514. Send command line    : d:\wwiv\dsz port %2 ha on estimate 0 %4 sb -g %3
  515. Xfer OK code         : 0
  516.  
  517. YModem-G is the real way to go with HST's. DSZ MUST be registered for this to
  518. work.
  519.  
  520.  
  521. Some other protocol options you might want to try (I dont have them up myself,
  522. but I got these from someone else. [The Cure, no longer in WWIV])
  523.  
  524.  
  525. Name            : ZModem 1K {MNP/ARQ}
  526. Receive Line    : dsz port %2 ha on rz -ssskZ %3
  527. Send Line       : dsz port %2 ha on sz -sssrkZ %3
  528. XFer OK Code    : 0
  529. Note: I've gotten speeds upwards of 1645 cps with these settings on ZModem 1K.
  530. The -k really makes a BIG difference, about 100 cps. 
  531.  
  532. Name            : XModem 1K-G {MNP/ARQ}
  533. Receive Line    : dsz port %2 ha on rx -kg %3
  534. Send Line       : dsz port %2 ha on sx -kg %3
  535. XFer OK Code    : 0
  536.  
  537. Name            : XModem 1K
  538. Receive Line    : dsz port %2 ha on rx -k %3
  539. Send Line       : dsz port %2 ha on sx -k %3
  540. XFer OK Code    : 0
  541.  
  542. Name            : XModem 1K CRC
  543. Receive Line    : dsz port %2 ha on rx -kc %3
  544. Send Line       : dsz port %2 ha on sx -kc %3
  545. XFer OK Code    : 0
  546.  
  547.  
  548.  
  549. Now, the only problem I had with using these was when people started downloading
  550. things, DSZ would estimate the time based on the 38,400 baud rate that it found
  551. on the serial port. So someone logged on at 300 baud would get a 0.1
  552. time estimate for a 100K file or something stupid like that. I added 
  553. the %4 to the source, so now it also prints out the modem speed as well as 
  554. the com speed, so you can estimate the speed properly. Here's the patch to do 
  555. that.
  556.  
  557. Load up SR.C. Look down for int extern_prot. First, add sx4[21] to the
  558. char variables. This is where we will store the modem speed. Next, search 
  559. down for a line that looks like 
  560.    ultoa(com_speed,....). 
  561. Add the line
  562.    ultoa(modem_speed,sx4,10);
  563.  
  564. Next, look down for a line that starts 
  565.    stuff_in(s,....) 
  566. Change that to look like this.
  567.   stuff_in(s,s1,sx1,sx2,fn,sx4,"");   /** change me **/
  568.  
  569.  
  570. Now just re-compile. The code should look something like this when you are 
  571. done.
  572.  
  573.  
  574.  
  575. int extern_prot(int pn, char *fn1, int sending)
  576. {
  577.   char s[81],s1[81],s2[81],fn[81],sx1[21],sx2[21],sx4[21]; /** mod **/
  578.   int i,i1;
  579.  
  580.   i=0;
  581.   for (i1=0; i1<81; i1++) {
  582.     i+=externs[pn].description[i1];
  583.     i+=externs[pn].sendfn[i1];
  584.     i+=externs[pn].receivefn[i1];
  585.   }
  586.   if (i!=checkext[pn]) {
  587.     nl();
  588.     pl("Protocol Corrupted; can't use anymore.");
  589.     nl();
  590.     return(-5);
  591.   }
  592.   if (sending) {
  593.     nl();
  594.     pl("> Beginning file transmission, ^X to abort");
  595.     strcpy(s1,(externs[pn].sendfn));
  596.   } else {
  597.     nl();
  598.     pl("> Ready to receive, ^X to abort.");
  599.     strcpy(s1,(externs[pn].receivefn));
  600.   }
  601.   strcpy(fn,fn1);
  602.   stripfn1(fn);
  603.   ultoa(com_speed,sx1,10);    /** mod **/
  604.   ultoa(modem_speed,sx4,10);  /** add me **/
  605.   sx2[0]='0'+syscfg.primaryport;
  606.   sx2[1]=0;
  607.   stuff_in(s,s1,sx1,sx2,fn,sx4,"");   /** change me **/
  608.   if (s[0]) {
  609.     set_protect(0);
  610.     outs("\r\n*> Current user: ");
  611.     outs(nam(&thisuser,usernum));
  612.  
  613.  
  614.  
  615.  
  616. Now you can use %4 to pass the actual modem speed to your protocols for 
  617. estimation purposes. I had previously just changed %1, but that prevented 
  618. me from using some other protocols, since they DID need the com speed. 
  619. DSZ makes so much sense in the way it reads the com speed and assumes it 
  620. isnt going to change.
  621.  
  622. Oh well, enough rambling for one night. Its late, and cold, and I am about 
  623. as tired of all this as you are. Hope it helps you out.
  624.  
  625.  
  626. As usual, I take no responsibility for hard drive crashes, death in the
  627. family, or end of the world as we know it resulting from this mod/file.
  628.  
  629. It's your fault if you didn't back up the files before you made the mod.
  630.  
  631. It's your fault if you don't back up your ENTIRE hard drive AT LEAST once
  632. a month.
  633.  
  634. It works on my system with Turbo C 2.0, WWIV 4.1, V20/8088, 640K/640EMS.
  635.  
  636. If you use this, the only payment I ask is that you send me a note through
  637. WWIVLink to 1@18251 saying you are using it...not too much to ask is it?
  638.  
  639. The Kingdom of Melnibone(LINK/NET)
  640. 812-877-3488  24 Hrs a day
  641. 3/12/2400/4800/9600/12,000/14,400 baud HST MNP5
  642. Auto-validation of WWIV sysops on first call
  643. Xmodem, Ymodem, DSZ Zmodem with retry, Ymodem-G
  644. WWIV Link  1@18251
  645.  
  646. WWIV Net   1@8251