• Setting a default terminal type for a specific port

    From vela025 to All on Wednesday, February 14, 2024 05:31:26
    Thanks to the help from nelgin@EOTLBBS I now have a pretty well functioning BBS that supports Acorn BBC Mode 7 (teletext/viewdata). With my current BBS (OBBS from 1984) the user selects if they would like BBC mode 7 support/vt100 or ANSI at the start of their session. I'd like to set up SBBS so that connections coming in on port 6502 default to the terminal settings that allow BBC Mode 7 graphics to show and connections coming in on port *TBD* default to ANSI with vt100 fallback. Or have everything on 6502 but in the same way as my current BBS disable auto detection and have the user select their terminal type each session from 3 different profiles. Is this possible? I've scoured the different files and cannot find one containing the default terminal settings or how to disable auto terminal detection. I did try using the PETSCII port as 6502 and changing the .asc files I've used for BBC Mode 7 to .seq but this corrupts them.
    Any help or ideas on how to achieve this, or achieve this in a different way welcome!
  • From Digital Man to vela025 on Wednesday, February 14, 2024 11:29:44
    Re: Setting a default terminal type for a specific port
    By: vela025 to All on Wed Feb 14 2024 05:31 am

    Thanks to the help from nelgin@EOTLBBS I now have a pretty well functioning BBS that supports Acorn BBC Mode 7 (teletext/viewdata). With my current BBS (OBBS from 1984) the user selects if they would like BBC mode 7 support/vt100 or ANSI at the start of their session. I'd like to set up SBBS so that connections coming in on port 6502 default to the terminal settings that allow BBC Mode 7 graphics to show and connections coming in on port *TBD* default to ANSI with vt100 fallback. Or have everything on 6502 but in the same way as my current BBS disable auto detection and have the user select their terminal type each session from 3 different profiles. Is this possible? I've scoured the different files and cannot find one containing the default terminal settings or how to disable auto terminal detection. I did try using the PETSCII port as 6502 and changing the .asc files I've used for BBC Mode 7 to .seq but this corrupts them.
    Any help or ideas on how to achieve this, or achieve this in a different way welcome!

    You could check the server port in your login.js and take a different control path based on that.

    What would you need to disable auto terminal detection?

    The answer.* file is displayed before login.js is executed, so you might want your answer.asc a blank/0-byte file (your answer.ans could contain ANSI since it'll only be displayehd to ANSI-detected terminals).
    --
    digital man (rob)

    Breaking Bad quote #40:
    This Bogdan character... he wrestled you into submission with his eyebrows. Norco, CA WX: 59.2°F, 63.0% humidity, 0 mph S wind, 0.00 inches rain/24hrs
  • From vela025 to Digital Man on Wednesday, February 14, 2024 13:05:35
    Thanks for the reply digital man.

    The answer.* file is displayed before login.js is executed, so you might want your answer.asc a blank/0-byte file (your >answer.ans could contain ANSI since it'll only be displayehd to ANSI-detected terminals).

    I did try something similar to this previously, however if a person logs on with their BBC Micro (and a Mode 7 .asc file has been created) as they haven't got to the logon prompt where it loads up their terminal preferences it just shows them the un-formatted file.

    You could check the server port in your login.js and take a different control path based on that.

    This sound like what I'd like to do, ideally I'd like when they login on port 6502 it sets their formatting as extended ascii on and utf8 and ansi off...but I'm at a loss on how to do that.
  • From Digital Man to vela025 on Wednesday, February 14, 2024 13:46:12
    Re: Setting a default terminal type for a specific port
    By: vela025 to Digital Man on Wed Feb 14 2024 01:05 pm

    Thanks for the reply digital man.

    The answer.* file is displayed before login.js is executed, so you might want your answer.asc a blank/0-byte file (your >answer.ans could contain ANSI since it'll only be displayehd to ANSI-detected terminals).

    I did try something similar to this previously, however if a person logs on with their BBC Micro (and a Mode 7 .asc file has been created) as they haven't got to the logon prompt where it loads up their terminal preferences it just shows them the un-formatted file.

    I'm suggesting a blank/0-byte answer.asc file. Have your login.js file display something to these non-ANSI users if you like, but don't make it an answer.* file.

    You could check the server port in your login.js and take a different control path based on that.

    This sound like what I'd like to do, ideally I'd like when they login on port 6502 it sets their formatting as extended ascii on and utf8 and ansi off...but I'm at a loss on how to do that.

    Something like this in your exec/login.js:

    if(client.socket.local_port == 6502) {
    console.autoterm = 0;
    console.printfile("somefile");
    // etc.
    }
    --
    digital man (rob)

    Synchronet/BBS Terminology Definition #32:
    FREQ = File Request
    Norco, CA WX: 61.1°F, 56.0% humidity, 6 mph WNW wind, 0.00 inches rain/24hrs
  • From vela025 to Digital Man on Wednesday, February 14, 2024 14:34:17
    Something like this in your exec/login.js:

    Ahh OK I think that might be something I could manage, thank you.

    I'm currently playing with msglist.js so that it presents nicely in mode 7, however this breaks the ANSI version...could I have two versions of msglist.js (e.g. msglist.js and msglist7.js) and use a similar logic to above to direct the user to the correct version? Or would it be best to instead have an extra menu entry for the adapted msglist.js from the main menu?
  • From nelgin@EOTLBBS to All on Wednesday, February 14, 2024 16:29:38
    On Wed, 14 Feb 2024 13:46:12 -0800
    "Digital Man" (VERT) <VERT!Digital.Man@endofthelinebbs.com> wrote:

    Re: Setting a default terminal type for a specific port
    By: vela025 to Digital Man on Wed Feb 14 2024 01:05 pm

    Thanks for the reply digital man.

    The answer.* file is displayed before login.js is executed, so
    you might
    want your answer.asc a blank/0-byte file (your >answer.ans could
    contain ANSI since it'll only be displayehd to ANSI-detected
    terminals).

    I did try something similar to this previously, however if a
    person logs on with their BBC Micro (and a Mode 7 .asc file has
    been created) as they haven't got to the logon prompt where it
    loads up their terminal preferences it just shows them the
    un-formatted file.

    I'm suggesting a blank/0-byte answer.asc file. Have your login.js
    file display something to these non-ANSI users if you like, but don't
    make it an answer.* file.

    You could check the server port in your login.js and take a
    different
    control path based on that.

    This sound like what I'd like to do, ideally I'd like when they
    login on port 6502 it sets their formatting as extended ascii on
    and utf8 and ansi off...but I'm at a loss on how to do that.

    Something like this in your exec/login.js:

    if(client.socket.local_port == 6502) {
    console.autoterm = 0;
    console.printfile("somefile");
    // etc.
    }

    He might have to specifically set the terminal type to accept IBM
    extended ASCII (CP437) otherwise SBBS will filter out the BBC Mode 7
    control codes also./sbbs/exec/load/termdesc.js may help with that.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    ■ Synchronet ■ End Of The Line BBS - endofthelinebbs.com
  • From nelgin@EOTLBBS to All on Wednesday, February 14, 2024 17:15:08
    On Wed, 14 Feb 2024 14:34:17 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    Something like this in your exec/login.js:

    Ahh OK I think that might be something I could manage, thank you.

    I'm currently playing with msglist.js so that it presents nicely in
    mode 7, however this breaks the ANSI version...could I have two
    versions of msglist.js (e.g. msglist.js and msglist7.js) and use a
    similar logic to above to direct the user to the correct version? Or
    would it be best to instead have an extra menu entry for the adapted msglist.js from the main menu?

    ---
    _ Synchronet _ Vertrauen _ Home of Synchronet _
    [vert/cvs/bbs].synchro.net

    Rather than trying to get the original to fit, I'd create a new one for
    Mode 7 though there's no reason why you couldn't check console.term_supports(USER_ANSI) I suppose and then decide what to do
    from there. Keep in mind, if you change anything in exec then you
    should move it to mods and if they're ever updated, you'll have to
    manually make changes accordingly. That might be why it could be easier
    to just create a new version for Mode 7.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    ■ Synchronet ■ End Of The Line BBS - endofthelinebbs.com
  • From Digital Man to vela025 on Wednesday, February 14, 2024 15:40:32
    Re: Setting a default terminal type for a specific port
    By: vela025 to Digital Man on Wed Feb 14 2024 02:34 pm

    Something like this in your exec/login.js:

    Ahh OK I think that might be something I could manage, thank you.

    I'm currently playing with msglist.js so that it presents nicely in mode 7, however this breaks the ANSI version...could I have two versions of msglist.js (e.g. msglist.js and msglist7.js) and use a similar logic to above to direct the user to the correct version? Or would it be best to instead have an extra menu entry for the adapted msglist.js from the main menu?

    It'd be better if you didn't have to break the ANSI "version". Anyway, your msglist.js could detect a "mode 7" terminal somehow and then run msglist7.js (nested). But that's certainly not an ideal design.
    --
    digital man (rob)

    Rush quote #3:
    The men who hold high places must be the ones who start... Closer to the Heart Norco, CA WX: 65.9°F, 47.0% humidity, 2 mph SW wind, 0.00 inches rain/24hrs
  • From Digital Man to nelgin on Wednesday, February 14, 2024 15:42:40
    Re: Re: Setting a default terminal type for a specific port
    By: nelgin to All on Wed Feb 14 2024 04:29 pm

    On Wed, 14 Feb 2024 13:46:12 -0800
    "Digital Man" (VERT) <VERT!Digital.Man@endofthelinebbs.com> wrote:

    Re: Setting a default terminal type for a specific port
    By: vela025 to Digital Man on Wed Feb 14 2024 01:05 pm

    Thanks for the reply digital man.

    The answer.* file is displayed before login.js is executed, so
    you might
    want your answer.asc a blank/0-byte file (your >answer.ans could contain ANSI since it'll only be displayehd to ANSI-detected terminals).

    I did try something similar to this previously, however if a
    person logs on with their BBC Micro (and a Mode 7 .asc file has
    been created) as they haven't got to the logon prompt where it
    loads up their terminal preferences it just shows them the
    un-formatted file.

    I'm suggesting a blank/0-byte answer.asc file. Have your login.js
    file display something to these non-ANSI users if you like, but don't
    make it an answer.* file.

    You could check the server port in your login.js and take a
    different
    control path based on that.

    This sound like what I'd like to do, ideally I'd like when they
    login on port 6502 it sets their formatting as extended ascii on
    and utf8 and ansi off...but I'm at a loss on how to do that.

    Something like this in your exec/login.js:

    if(client.socket.local_port == 6502) {
    console.autoterm = 0;
    console.printfile("somefile");
    // etc.
    }

    He might have to specifically set the terminal type to accept IBM
    extended ASCII (CP437) otherwise SBBS will filter out the BBC Mode 7
    control codes also./sbbs/exec/load/termdesc.js may help with that.

    For terminal output, CP437 is the default charset, so no 8th bit filtering should be happening.

    When you say "accept IBM extended ASCII", it sounds like you're talking about input (from the user's keyboard), but I think you're talking about output (from the server).
    --
    digital man (rob)

    Breaking Bad quote #49:
    So you do have a plan? Yeah, Mr. White! Yeah, Science! - Jesse Pinkman
    Norco, CA WX: 65.9°F, 47.0% humidity, 2 mph SW wind, 0.00 inches rain/24hrs
  • From nelgin@EOTLBBS to All on Wednesday, February 14, 2024 18:07:04
    On Wed, 14 Feb 2024 15:42:40 -0800
    "Digital Man" (VERT) <VERT!Digital.Man@endofthelinebbs.com> wrote:


    For terminal output, CP437 is the default charset, so no 8th bit
    filtering should be happening.

    When you say "accept IBM extended ASCII", it sounds like you're
    talking about input (from the user's keyboard), but I think you're
    talking about output (from the server).

    If going through a terminal setup through Default User Settings,
    there's an option:

    Does your terminal support IBM extended ASCII (CP437)?

    If you select No, then the BBS will not send mode 7 characters. This
    has to be selected as yes.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    ■ Synchronet ■ End Of The Line BBS - endofthelinebbs.com
  • From Digital Man to nelgin on Wednesday, February 14, 2024 16:25:35
    Re: Re: Setting a default terminal type for a specific port
    By: nelgin to All on Wed Feb 14 2024 06:07 pm

    On Wed, 14 Feb 2024 15:42:40 -0800
    "Digital Man" (VERT) <VERT!Digital.Man@endofthelinebbs.com> wrote:


    For terminal output, CP437 is the default charset, so no 8th bit
    filtering should be happening.

    When you say "accept IBM extended ASCII", it sounds like you're
    talking about input (from the user's keyboard), but I think you're
    talking about output (from the server).

    If going through a terminal setup through Default User Settings,
    there's an option:

    Does your terminal support IBM extended ASCII (CP437)?

    If you select No, then the BBS will not send mode 7 characters. This
    has to be selected as yes.

    Right and "yes" is the default.
    --
    digital man (rob)

    Breaking Bad quote #16:
    Thinking Operation Breath Mint evertime you and me are on a stakeout together. Norco, CA WX: 64.3°F, 47.0% humidity, 4 mph NW wind, 0.00 inches rain/24hrs
  • From nelgin@EOTLBBS to All on Wednesday, February 14, 2024 20:16:38
    On Wed, 14 Feb 2024 16:25:35 -0800
    "Digital Man" (VERT) <VERT!Digital.Man@endofthelinebbs.com> wrote:

    Re: Re: Setting a default terminal type for a specific port
    By: nelgin to All on Wed Feb 14 2024 06:07 pm

    On Wed, 14 Feb 2024 15:42:40 -0800
    "Digital Man" (VERT) <VERT!Digital.Man@endofthelinebbs.com> wrote:


    For terminal output, CP437 is the default charset, so no 8th bit filtering should be happening.

    When you say "accept IBM extended ASCII", it sounds like you're
    talking about input (from the user's keyboard), but I think
    you're talking about output (from the server).

    If going through a terminal setup through Default User Settings,
    there's an option:

    Does your terminal support IBM extended ASCII (CP437)?

    If you select No, then the BBS will not send mode 7 characters.
    This has to be selected as yes.

    Right and "yes" is the default.


    Cool. That should do it then.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    ■ Synchronet ■ End Of The Line BBS - endofthelinebbs.com