|
Post by Leif Bloomquist on Jul 12, 2004 14:05:44 GMT -5
I ran into a tricky problem with BBS Server. I may fix it for the next version, but I'm not sure how. So I'm looking for help. I've entered all your BBSes into my Novaterm 9.6 phone book, which works great. However, Novaterm is looking for the string 'CONNECT' (uppercase) after a successful connection. For BBSes using the ANSI emulation, this works fine, but for those with the Commodore (petscii) font, I get back 'connect' and Novaterm doesn't catch it. Another way to illustrate this is by simply sending 'AT'. With ANSI I get 'OK' back, but in Commodore term mode I get back "ok". The problem is even more noticeable with 'ATI'. So my question is - how should this work? A *real* Hayes modem (Non-Commodore) wouldn't know the difference either. Yet I've not heard of this issue before. How do real modems handle this? brain, did you run into this with tcpser? One idea would be to look at the case of the AT command that the terminal sends, but that can be fooled in manual mode if you could have Shift Lock on. Might be better than nothing. Thanks for any input.
|
|
|
Post by Jim Brain on Jul 13, 2004 9:57:39 GMT -5
My core modem emulator does not implement translation as a real modem would not implement that.
However, in order to handle this feature and others, I'm planning on implementing a "filter" option. When the filter is turned on, all data transmitted from the 64 to IP will go 64 -> filter -> IP and incoming data will go IP -> filter -> 64, with the filters being executables that receive input on STDIN and output on STDOUT. I'll deliver a simple translator people can use, and they can write their own (an ANSI to CG translator, etc.)
This filter is not in the odem feedback loop 64 -> MODEM EMU -> 64, so it will not be converted (CONNECTED will always be sent in UPPERCASE, as will NO CARRIER.)
Truly, though, I am not sure people will want to use translation on BBS systems that do file transfers, since it pretty much ruins that function.
Jim
|
|
|
Post by Leif Bloomquist on Jul 13, 2004 10:17:49 GMT -5
This filter is not in the odem feedback loop 64 -> MODEM EMU -> 64, so it will not be converted (CONNECTED will always be sent in UPPERCASE, as will NO CARRIER.) Right. But UPPERCASE in ASCII is still lowercase in PETSCII. Novaterm 9.6, at least in the Commodore terminal mode, would therefore see these uppercase responses as "connected" and "no carrier" unless the program knew to swap the case of the responses. So in other words, you have the same problem as me ;D I agree completely. I only use it because EBBS is ASCII-only and therefore the text was all swapped when using CGTerm. I'm planning on moving away from EBBS, so that feature will probably fade out of BBS Server in the future. I don't use filtering/translation on my dialout setup.
|
|
|
Post by Jim Brain on Jul 13, 2004 11:13:00 GMT -5
I'll check tonight when I get home, but if we both have the same issue, then it is a bug in Novaterm, as I just checked your code and your's looks fine. You are sending the responses in ASCII all the time, which is per spec.
Jim
|
|
|
Post by Jim Brain on Jul 13, 2004 13:05:09 GMT -5
Dunno, tried it against your BBS a few times using NT9.5, and it always connected from the autodial menu.
Jim
|
|
|
Post by Jim Brain on Jul 13, 2004 18:20:30 GMT -5
More verbosely:
I tested via SL, and that worked I set DCD pin to be high all the time, thinking that NT checked that. DId not make a difference I tested via a VIC-1101a cart type interface I again set DCD pin to high, no difference I set responses to short form ("CONNECT" versus "CONNECT 2400"), since your app just says CONNECT, and that had no effect
I saw the "connect" and such.
Since I initially tested my implementation by comparing it to yours, I'd suggest grabbning RC4 of tcpser and running it there. The only thing I can think of is your cable, since it is different.
Jim
|
|
|
Post by Leif Bloomquist on Jul 14, 2004 6:49:35 GMT -5
Dunno, tried it against your BBS a few times using NT9.5, and it always connected from the autodial menu. What Terminal type did you have set for the BBS in the Novaterm phone book? It works fine in ANSI terminal mode, but not Commodore. So it's not the cable, just the case of the response string. Might just be a Novaterm limitation. I should find an old (real) 2400 baud modem and try it.
|
|
|
Post by Jim Brain on Jul 14, 2004 16:35:36 GMT -5
I set the terminal settings to all non-ANSI things (characters, emulation, etc.), and set ANSI setting off in phone book.
Jim
|
|