CTRLSQ.THD --- Copyright 1987 by Phil Wheeler An original compilation of Compuserve Model 100 Forum messages for use by Forum members only. It has been noted that the Model 100 loses characters when on-line with certain public BBS's -- notably some those hosted on an IBM compatible (e.g., Fido). This collection of messages discusses this phenomenon and some reasons for it. No GREAT solutions, I'm afraid -- other than to keep the baud rate down. [I've done some experimenting with a Fido BBS; see Ed. Notes in this THD file]. Message range: 177744 to 178057 Dates: 12/16/88 to 12/22/88 Sb: #Fido hates M100s Fm: Randy Rendfeld 76004,1470 To: all Have any other M100 users experienced loss of characters when trying to read messages on Fido bulletin boards? I've tried numerous settings, but nothing works. While the messages are scrolling, I'll lose characters, words, sometimes whole lines. If anyone knows a cure, I'd sure appreciate hearing about it. Fm: GERALD LINDSAY 73717,2710 To: Randy Rendfeld 76004,1470 As regards the Fido BBSs, they do the same thing with MSDOS comm programs as well. I use Qmodem, and get escape characters everytime there is a clear screen command. I assume that you have set yourself up as no graphics on the boards that you call as well. I think the whole thing is going to be the escape sequences that Fido uses, that the M100 can't handle. Fm: Phil Wheeler 71266,125 To: GERALD LINDSAY 73717,2710 I use Procomm on the PC with a fido BBS (my own) and there is no problem at all. I have not used Procomm in a while. I have not noticed any problem with the 100, either --- but .... . [Ed. Note: It turns out that Fido DOES have this problem with the 100, but I've seen it only in the File system, not when reading messages. But Fido handles messages differently (wraps them to a user-specified width, for example).] Fm: Randy Rendfeld 76004,1470 To: GERALD LINDSAY 73717,2710 Well, it seems more like a mismatch in handshaking signals; but I can't figure it. Or it's as if the M100 screen can't keep up with the transmission. But I lose characters regardless, whether I use 300, 1200 or 2400 on Fido boards. On the other hand, everything works fine on CompuServe. Hmm. Fm: Randy Rendfeld 76004,1470 To: Phil Wheeler 71266,125 Procomm, Fidos and my PC work just fine together. The loss of characters only happens with the Model 100. [wandering off scratching head....] Fm: Phil Wheeler 71266,125 To: Randy Rendfeld 76004,1470 Roger! Denny reports that MOST public BBS's don;t live well with the 100. But you can use the utility option on the Fido BBS to set your width and page length. Try setting to 39, with some nulls, and see what that does. [Ed. Note: But this Width setteing and length setting affeects only the message area, not the file T)ype or A)scii download output -- which does make sense.] Fm: Denny Thomas 76701,40 To: Randy Rendfeld 76004,1470 I've had exactly the same problem, but not at 300 baud, only 1200 and 2400. My theory is that the handshaking is not being recognized by the BBS in sync with the M100. If the M100 sends a signal to stop transmitting (Xoff), it seems the BBS doesn't recognize it until a bunch of characters later. In the meantime, those characters are lost. By the time the BBS get around to stopping, the M100 is ready to start transmitting again (confusion sets in about this time). The problem is probably linked to the screen scroll speed of the M100. At 300 baud, the screen is faster than the transmission rate so the RS232 isn't getting ahead of the screen. Above 600 baud, the screen lags behind and probably isn't sending a "stop" signal to the RS232 port quick enough. The thing that messes up this theory for you is that you have problems at 300 baud. I can't explain that one. Fm: Will Linden 72737,2150 To: Randy Rendfeld 76004,1470 The only time I suffer consistent character loss is when calling over Telenet ("PC Pursuit"). For direct links, my usual settings are sufficient. Fm: GERALD LINDSAY 73717,2710 To: Randy Rendfeld 76004,1470 Do you have X-ON/X-OFF enabled? The M100 screen is only good to about 600bps, and if X-ON/X-OFF is disabled it will give you the problem you are describing. Fm: Randy Rendfeld 76004,1470 To: Phil Wheeler 71266,125 Good idea, setting the screen width and nulls. I'll give it a shot. Thanks Fm: Randy Rendfeld 76004,1470 To: Denny Thomas 76701,40 That's the theory I've been chasing (also purported awhile back byM100SIGger Jon Diercks. You around, Jon?).... If you hear of any solutions, I'd be interested to hear them. Thanks Fm: Randy Rendfeld 76004,1470 To: GERALD LINDSAY 73717,2710 I've tried x/on x/off enabled and disabled, both with the same results. Fm: Alan Rowberg 76703,4421 To: Will Linden 72737,2150 Telenet has an arcane way of handling user options. While you are talking to the Telenet system, before you call a bbs, try SET ? 3:126 12:1 and see if that helps. I cannot tell you more but try HELP SET and I think there is a way you can get Telenet to tell more. Fm: Phil Wheeler 71266,125 To: Randy Rendfeld 76004,1470 Last night I tested a Fido BBS with my M100 and lost no characters. Of course it could have to do with the modems involved (either end) or the speed of the computer hosting the BBS, or..... . BTW -- BBS I did the testing with is at 213-370-2754, and up most of the time. Very empty board, but good for testing at least. [Ed. Note: As often happens, my test was not complete!] Fm: Randy Rendfeld 76004,1470 To: Phil Wheeler 71266,125 Hmm. I only have trouble with two particular Fido BBSs. So I'd tend to think it's some peculiarity with the host modems. I may be able to talk one of the SysOps into experimenting. Fm: Alan Rowberg 76703,4421 To: Randy Rendfeld 76004,1470 Why not ask the fido bbs operators if they have enabled xon/xoff flow control at their end. What happens when you type CTRL-S while they are sending a text block? Have you lost characters when you CTRL-Q to restart? Fm: Randy Rendfeld 76004,1470 To: Alan Rowberg 76703,4421 CNTL-S does stop the flow. CNTL-Q restarts. Often there's a loss of characters upon restart. But there's loss during "normal" flow, too. I can chat with one of the sysops about this. But the other sysop rarely logs onto his own board. (Go figure, as they say.) If I figure this out, I'll post. Thanks and merry holidays. Fm: Alan Rowberg 76703,4421 To: Randy Rendfeld 76004,1470 It appears that's the problem then. The bbs does not handle the ctrl-s properly, and the only fix if for you to never send them, and be able to handle the characters as fast as they come. You should be able to do this with the 300 baud, not at 1200, with a direct telephone call. Thru telenet, you are probably at their mercy. Fm: Will Linden 72737,2150 To: Alan Rowberg 76703,4421 I entered "SET...." without the question mark at the @ prompt, and it seems to have an effect. I could not get the system to acknowledge HELP SET at any level, and I simply could not understand the files on NET EXCHANGE supposedly explaining it. Lucky for me there are people like you here. Fm: Randy Rendfeld 76004,1470 To: Alan Rowberg 76703,4421 Hmm, I'll try it again at 300 baud tonight, at 39 characters per line, with the max 20 nulls set, and see if Fido barks. Sb: #1200 baud: Fm: Paul Globman 72227,1661 To: all I have a local user that swears his M100 runs perfectly at 1200 baud and he loses no characters (re:LCD display). He also claims that with XON/XOFF enabled, the M100 automatically sends ^Q/^S to stop/start the host while it scrolls. This is a news to me! I don't know where he got that impression. Can anyone confirm this? My own personal experiences totally refute his theory. Fm: Tony Anderson 76703,4062 To: Paul Globman 72227,1661 I've never heard anyone claim that they didn't lose characters at 1200 baud if they had Xon/Xoff disabled. But perhaps he's experienceing some function of his modem. With X/X enabled, he's getting an effective transfer rate of 600 baud, regardless of the speed the modem is set for. It's similar to the problem in the 600. You can run at 9600 baud, but only get the same number of characters transfered that you would at 600 baud. In the 100's case, it just sends a lot of Xon/Xoff signals to keep the data flow within it's limitations, and he's not aware of it happening. But that assumes the host responds to X/X signals. But I suppose one _could_ say that they ran at 1200 baud, didn't lose char., and the M100 handled it quite well. -- I do that, too; on ocassion. But the effective transfer rate is the same as if you were running at 600 baud. Fm: Paul Globman 72227,1661 To: Tony Anderson 76703,4062 Are you saying that with Xon/Xoff enabled, the M100 automatically (on its own) sends ^S and ^Q to keep the host from sending data while the LCD is scrolling? If the answer is "yes", can you direct me to the source of your info (Files in the DL's, a reference book or whatever) ? I know of no circuitry within the M100 that handles this, nor am I aware of any ROM'ed code that does this either. Fm: Tony Anderson 76703,4062 To: Paul Globman 72227,1661 OK... the key phrase in your question is "while the LCD is scrolling". And that, exactly, may not be what is occurring. It most likely has nothing to do with whether the LCD is scrolling, standing still, or in "fade to black" condition. But it does have to do with incoming data, and how full the incoming data buffer is getting. I haven't inspected the relevent ROM routines, nor read up on the subject lately, but this is vaguely how I understand it works.... There is a 64 byte circular ring buffer for incoming data, either modem data or RS-232 data. As data arrives, it is stuffed into the buffer, sequentially, and it is also read out of the buffer as fast as the ROM routines can pull it out and use it, i.e. send it to the LCD. When this ring buffer gets 75% full, 48 characters or so, a routine is called that automatically sends a ^S if Xon/Xoff is Enabled. As characters are removed, when the buffer gets down to only 10% full (6 characters or so) the ROM routine is called that sends a ^Q to start the host transmitting again. If the host does not recognize the ^S/^Q protocol, then it keeps sending as the ring buffer keeps storing more characters than the OS can extract and put someplace else. The buffer is thus overrun, and characters are lost. Remember, this is a semi-techie layman's interpretation of what's happening. I may be a digit or two off. The process is covered in detail in "Hidden Powers of the TRS-80 Model 100", starting on page 185. If you don't have a copy of the book, I'd be glad to send you Xeroxes of the pertinent pages. The 200 probably works the same way; but that's only an assumption. Fm: Paul Globman 72227,1661 To: Tony Anderson 76703,4062 In essence, that's the info I'm looking for. I don't have the book you mentioned. I have "Inside The Model 100" by Oppedahl and it doesn't go into that aspect. If the material you have offers more technical details, then I'd like to see the write-up (thanks for the offer). The T200 may work in a similar manner, but since the LCD moves along at 1200 baud quite nicely, it's possible that Xoff is never sent when using 1200 baud (also an assumption). Fm: Tony Anderson 76703,4062 To: Paul Globman 72227,1661 OK, send me your mailing address, and I'll send you a copy of that section of the book. Fm: Wilson Van Alst 76576,2735 To: Paul Globman 72227,1661 I've had mixed results with 1200 and 2400 Baud on the M100. Both work fine if you disable scrolling. With scrolling active, the machine _does_ send an Xoff while it performs the screen chores. (This is what lowers the maximum _effective_ Baud rate to 600 or so.) But I've experienced missing characters when connected with some host computers. It seems to depend on how quickly the host responds to the ^S. I get the feeling that some systems send a pre-measured packet of data (sometimes a fairly large one) between Xoff checks -- and if the packet is big enough to saturate the M100 telcom buffer, you start losing stuff. It's worth noting that I have _not_ had this problem with Compuserve. I have been on-line here at 2400 bps, with M100 scrolling active, and received accurate data. Fm: Wilson Van Alst 76576,2735 To: Paul Globman 72227,1661 Afraid I can't tell you how the ^S/^Q for LCD scrolling get sent, but it's pretty clear that they do -- and apparently by some means other than the published SENCS/SENCQ ROM routines. The , or , key also seems to signal the host for an immediate Xoff, but I haven't explored how that's done either. Maybe the same method is used for both and scrolling? Don't know when I'll have a chance to explore this further; but if you come up with anything -- confirming or refuting these notions -- lemme know.