• Titan Update

    From apam@21:1/125.5 to ALL on Sunday, June 23, 2019 14:44:05
    Been doing lots of work on titan today.

    New things:

    Automatic detection of ansi mode, so you can have a coloured login
    screen.

    Dynamic Menu system. Menus are now json files and are no longer hard
    coded in.

    Menu text files can have special codes to display the area, conference
    etc.

    Various tweaks, it now clears the screen if you have ansi between menus,
    etc.

    Andrew


    --- TitanFTN (Linux/armv7l)
    * Origin: Scratch BBS - apam's experimental BBS (21:1/125.5)
  • From deon@21:2/116.1 to apam on Sunday, June 23, 2019 15:03:08
    On 23 Jun 2019, apam said the following...
    Automatic detection of ansi mode, so you can have a coloured login
    screen.

    Curios, how do you autodetect?

    ...deon

    _--_|\ | Deon George
    / \ | Chinwag BBS - A BBS on a PI in Docker!
    \_.__.*/ |
    V | Coming from the 'burbs of Melbourne, Australia

    --- Mystic BBS v1.12 A43 2019/02/23 (Raspberry Pi/32)
    * Origin: Chinwag | MysticBBS in Docker on a Pi! (21:2/116.1)
  • From apam@21:1/125 to deon on Sunday, June 23, 2019 15:44:43
    On 23 Jun 2019, apam said the following...
    Automatic detection of ansi mode, so you can have a coloured logi screen.

    Curios, how do you autodetect?

    Send a cursor position request and see if the client answers.

    Andrew

    --- MagickaBBS v0.12alpha (Linux/x86_64)
    * Origin: HappyLand - happyland.magickabbs.com:2023 (21:1/125)
  • From Black Panther@21:1/186 to apam on Sunday, June 23, 2019 00:57:27
    On 23 Jun 2019, apam said the following...

    Been doing lots of work on titan today.

    I still have to get over there and check it out... :)


    |15---

    |03B|09lack |03P|09anther|03(|09RCS|03)|07

    --- Mystic BBS v1.12 A43 2019/03/02 (Linux/64)
    * Origin: Castle Rock BBS - bbs.castlerockbbs.com (21:1/186)
  • From apam@21:1/125.5 to Black Panther on Sunday, June 23, 2019 17:53:43
    Been doing lots of work on titan today.

    I still have to get over there and check it out... :)

    I opened up my experimental BBS, it's at scratch.hopto.org 2023 or 2024
    for telnet or ssh.

    Andrew


    --- TitanFTN (Linux/armv7l)
    * Origin: Scratch BBS - apam's experimental BBS (21:1/125.5)
  • From Blue White@21:4/134 to apam on Sunday, June 23, 2019 17:37:28
    apam wrote to Black Panther <=-

    I opened up my experimental BBS, it's at scratch.hopto.org 2023 or 2024 for telnet or ssh.

    I pulled a copy earlier. I was trying to compile it using cmake on an
    ubilinux (debian) x64 box. Got an error saying it could not find OpenSSL,
    but apt says it is installed. I edited the CMake config file and got
    passed that (apparently).

    Now, when I try make, I get this error:

    [ 6%] Building CXX object CMakeFiles/Titan.dir/bbs.cpp.o
    In file included from /sbbs/titanbbs/Titan/Titan/Config.h:3:0,
    from /sbbs/titanbbs/Titan/Titan/bbs.cpp:29: /sbbs/titanbbs/Titan/Titan/TextFile.h:2:22: fatal error: filesystem: No such file or directory
    #include <filesystem>
    ^
    compilation terminated.
    CMakeFiles/Titan.dir/build.make:62: recipe for target
    'CMakeFiles/Titan.dir/bbs.cpp.o' failed
    make[2]: *** [CMakeFiles/Titan.dir/bbs.cpp.o] Error 1
    CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/Titan.dir/all' failed make[1]: *** [CMakeFiles/Titan.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2

    I am not sure why the filesystem does not exist. :)



    ... He does the work of 3 Men...Moe, Larry & Curly
    --- MultiMail
    * Origin: Possum Lodge South * possumso.fsxnet.nz:7636/SSH:2122 (21:4/134)
  • From apam@21:1/125 to Blue White on Monday, June 24, 2019 10:10:34
    I am not sure why the filesystem does not exist. :)

    It needs at least gcc 8 to have the filesystem stuff in it.

    Andrew

    --- MagickaBBS v0.12alpha (Linux/x86_64)
    * Origin: HappyLand - happyland.magickabbs.com:2023 (21:1/125)
  • From Blue White@21:4/134 to apam on Monday, June 24, 2019 16:50:17
    apam wrote to Blue White <=-

    I am not sure why the filesystem does not exist. :)

    It needs at least gcc 8 to have the filesystem stuff in it.

    That explains it. The newest one in debian stable is gcc 6. :)


    ... Got my tie caught in the fax... Suddenly I was in L.A.
    --- MultiMail
    * Origin: Possum Lodge South * possumso.fsxnet.nz:7636/SSH:2122 (21:4/134)
  • From Ozz Nixon@21:1/144 to apam on Tuesday, June 25, 2019 03:26:59
    On 2019-06-23 15:44:43 +0000, apam -> deon said:

    On 23 Jun 2019, apam said the following...
    Automatic detection of ansi mode, so you can have a coloured logi screen.

    Curios, how do you autodetect?

    Send a cursor position request and see if the client answers.

    Andrew

    Take it further Andrew! In PCBoard 16, I send 3 UTF8 characters - then
    do the cursor position request. Non-UTF terminal returns cursor
    position 10;1, whereas UTF8 terminal returns position 4;1

    I am working on PCBoard Terminal - no SDL! All native across every
    platform Lazarus compiler is available! I have tested 16 color (16 on
    8, 16 on 16), I am doing a test against Wikipedia right now for 256
    color. I had already built and test $rrggbb (24bit, 16 million colors successfully).

    I will use Titan to also test PCBTERM... I have an advanced ANSI
    parser, that also handles PCB MCI, and 16 on 16 Pipe MCI (|00 to
    |FF)... for when I am reading messages on BBSes that do not parse the
    pipes ;-) [option in setup].

    Ozz aka SqZ

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)
  • From Digital Man to Ozz Nixon on Thursday, June 27, 2019 00:52:53
    Re: Re: Titan Update
    By: Ozz Nixon to apam on Tue Jun 25 2019 03:26 am

    Take it further Andrew! In PCBoard 16, I send 3 UTF8 characters - then
    do the cursor position request. Non-UTF terminal returns cursor
    position 10;1, whereas UTF8 terminal returns position 4;1

    Thanks, I'm gonna borrow that idea! :-)

    digital man

    Synchronet/BBS Terminology Definition #43:
    JS = JavaScript
    Norco, CA WX: 60.1°F, 90.0% humidity, 2 mph ESE wind, 0.00 inches rain/24hrs
  • From Ozz Nixon@21:1/144 to Digital Man on Friday, June 28, 2019 22:34:01
    On 2019-06-27 00:52:53 +0000, Digital Man -> Ozz Nixon said:

    Re: Re: Titan Update
    By: Ozz Nixon to apam on Tue Jun 25 2019 03:26 am

    Take it further Andrew! In PCBoard 16, I send 3 UTF8 characters - then
    do the cursor position request. Non-UTF terminal returns cursor
    position 10;1, whereas UTF8 terminal returns position 4;1

    Thanks, I'm gonna borrow that idea! :-)

    Not a problem! I am trying to figure out how to detect terminal support
    font changes - possible?

    I know in VT mode some terminals will tell me their rows/cols, and can
    be set to send resize notification - which I want to implement this
    month, eg. ASAP if you can shed some light.

    * Still tinkering with Kitty Protocol, for pixel and png support. (an
    ANSI sequence).

    Ozz aka SqZ

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)
  • From Digital Man to Ozz Nixon on Friday, June 28, 2019 20:08:43
    Re: Re: Titan Update
    By: Ozz Nixon to Digital Man on Fri Jun 28 2019 10:34 pm

    On 2019-06-27 00:52:53 +0000, Digital Man -> Ozz Nixon said:

    Re: Re: Titan Update
    By: Ozz Nixon to apam on Tue Jun 25 2019 03:26 am

    Take it further Andrew! In PCBoard 16, I send 3 UTF8 characters - then do the cursor position request. Non-UTF terminal returns cursor position 10;1, whereas UTF8 terminal returns position 4;1

    Thanks, I'm gonna borrow that idea! :-)

    Not a problem! I am trying to figure out how to detect terminal support
    font changes - possible?

    The SyncTERM/CTerm support for font changes can be queried using ANSI-like sequences http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt

    More specifically, I send a: "\x1b[0c" and then check the response for a compatible version of the CTerm library:

    if(sscanf(p, "[=67;84;101;114;109;%u;%u", &x, &y) == 2 && *lastchar(p) == 'c') {
    lprintf(LOG_INFO,"received CTerm version report: %u.%u", x, y);
    cterm_version = (x*1000) + y;
    if(cterm_version >= 1061)
    autoterm |= CTERM_FONTS;
    }

    I know in VT mode some terminals will tell me their rows/cols, and can
    be set to send resize notification - which I want to implement this
    month, eg. ASAP if you can shed some light.

    I don't know of any BBS terminals that will send unsolicited terminal size information. The closest thing I can think of is the Telnet "NEGOTIATE_WINDOW_SIZE" option, but that still is queried by the server and only works over Telnet (e.g. not SSH).

    * Still tinkering with Kitty Protocol, for pixel and png support. (an
    ANSI sequence).

    Never heard of it. <shrug> I assume you're talking about this: https://sw.kovidgoyal.net/kitty/graphics-protocol.html

    Interesting.

    digital man

    This Is Spinal Tap quote #20:
    Well, I'm sure I'd feel much worse if I weren't under such heavy sedation. Norco, CA WX: 73.5°F, 55.0% humidity, 5 mph ENE wind, 0.00 inches rain/24hrs
  • From Ozz Nixon@21:1/144 to Digital Man on Monday, July 01, 2019 17:58:25
    On 2019-06-28 20:08:43 +0000, Digital Man -> Ozz Nixon said:

    Not a problem! I am trying to figure out how to detect terminal support font changes - possible?

    The SyncTERM/CTerm support for font changes can be queried using ANSI-like sequences http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt

    More specifically, I send a: "\x1b[0c" and then check the response for a compatible version of the CTerm library:

    if(sscanf(p, "[=67;84;101;114;109;%u;%u", &x, &y) == 2 && *lastchar(p) ==
    'c')
    {
    lprintf(LOG_INFO,"received CTerm version report: %u.%u", x, y);
    cterm_version = (x*1000) + y;
    if(cterm_version >= 1061)
    autoterm |= CTERM_FONTS;
    }

    Firstly, thank you for the share, and the code snippet. I am trying to
    be basic terminal compatible, if detected cterm/SyncTerm push it to its
    max, and if PCBTerm is detected put it to full GUI w/ Sound. PCB Team
    now consists of 4 programmers and 1 graphics artist - everyone else is parttime, I am full-time (you remember those days I am sure). I am
    going to Publish PCBTerm source - and whitepapers that explain each
    concept, the sequences, the theory (of what works) and notes on what
    didn't easily or does not work. I have seen an author of FP/BBS Corner
    - that is doing proprietary GUI and standard ANSI supprot for her
    games. I am trying my damndest to stay within an existing ANSI sequence
    - however, to do the layers for scroller games looks like I am going to
    go outside the lines :-(

    I don't know of any BBS terminals that will send unsolicited terminal size information. The closest thing I can think of is the Telnet "NEGOTIATE_WINDOW_SIZE" option, but that still is queried by the server and only works over Telnet (e.g. not SSH).

    I am planning to support "STARTTLS" like mail and certain FTP
    implementations do. No need to two ports, or existing accounts, you
    want security - just demand it from the terminal - but, I do not see an
    ANSI sequence for me to extend for this yet. Right now, I simply have
    in the setup - use TLS [_] - and when it connects, the socket layer
    sees the (for lack of correct terms) PKI/TLS negoation and turns on
    encryption at that socket on the fly. (I wrote my own socket suite in
    '95, and wrap OpenSSL - when I migrated from BBS world to ISP world).


    * Still tinkering with Kitty Protocol, for pixel and png support. (an
    ANSI sequence).

    Never heard of it. <shrug> I assume you're talking about this: https://sw.kovidgoyal.net/kitty/graphics-protocol.html

    Interesting.

    Yes. I have already made a VERY simple ANSI maze, the goes PNG
    graphical with PCBTerm (use GUI [_] enabled) - we have played it here -
    and the team is like "Wow, this is like a streamable Console"). I am
    just a n00b to game design - to thread, or events, etc. *** We even
    tested over dial-up! MNP/Arq error corrected session and it works great
    (slow, but, damn) ***

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)
  • From Ozz Nixon@21:1/144 to Digital Man on Sunday, July 07, 2019 02:15:14
    On 2019-06-27 00:52:53 +0000, Digital Man -> Ozz Nixon said:

    Re: Re: Titan Update
    By: Ozz Nixon to apam on Tue Jun 25 2019 03:26 am

    Take it further Andrew! In PCBoard 16, I send 3 UTF8 characters - then
    do the cursor position request. Non-UTF terminal returns cursor
    position 10;1, whereas UTF8 terminal returns position 4;1

    Thanks, I'm gonna borrow that idea! :-)

    digital man

    I left an open question about SyncTerm's XModem Block Size(s)... but, I
    wanted to share this and see your thoughts.

    I came across a Github ANSI post in some project, that they do

    CSI 48;2;r;g;bm
    CSI P$qm
    ESC \

    All as one string. And supposedly, ESC [ P $q m - is a "Did you under
    stand the last 'm' sequence"... a reply containing

    ESC [ 1 P (or was P 1) = YES
    ESC [ 0 P (or was P 0) = NO
    no response = NO

    Have you see or implemented anything like that in SyncTerm? As we could
    use that to extend the UTF8 auto-detect, to also detect Client Side
    understood 256 Color Sequence, and then Client Side understood 24bit
    Color Sequence... and then later focus on Client Side undersood Kitty
    Graphics Sequences, and Sound Sequences. At which point a BBS author
    would know ANSI, ROWS/COLUMNS, CP437 or UTF8, ANSI Colors, and Graphics/Sounds... and of course for old school vector, RIP detection
    too.

    Later,
    Ozz aka SqZ

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)
  • From Ozz Nixon@21:1/144 to Digital Man on Sunday, July 07, 2019 22:10:06
    Where does SyncTerm store it's configuration file(s) on a Mac?

    I switched from SDL to ANSI (to see what that does... it launches but I
    do not see anything)...

    O.

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)
  • From Digital Man to Ozz Nixon on Sunday, July 07, 2019 21:48:10
    Re: Re: Titan Update
    By: Ozz Nixon to Digital Man on Sun Jul 07 2019 02:15 am

    On 2019-06-27 00:52:53 +0000, Digital Man -> Ozz Nixon said:

    Re: Re: Titan Update
    By: Ozz Nixon to apam on Tue Jun 25 2019 03:26 am

    Take it further Andrew! In PCBoard 16, I send 3 UTF8 characters - then do the cursor position request. Non-UTF terminal returns cursor position 10;1, whereas UTF8 terminal returns position 4;1

    Thanks, I'm gonna borrow that idea! :-)

    digital man

    I left an open question about SyncTerm's XModem Block Size(s)... but, I wanted to share this and see your thoughts.

    I came across a Github ANSI post in some project, that they do

    CSI 48;2;r;g;bm
    CSI P$qm
    ESC \

    All as one string. And supposedly, ESC [ P $q m - is a "Did you under
    stand the last 'm' sequence"... a reply containing

    ESC [ 1 P (or was P 1) = YES
    ESC [ 0 P (or was P 0) = NO
    no response = NO

    Have you see or implemented anything like that in SyncTerm?

    I have not. The full list of sequences supported by SyncTERM is supposed to be in this document:
    http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt

    Got a link to the project you're referencing?

    As we could
    use that to extend the UTF8 auto-detect, to also detect Client Side understood 256 Color Sequence, and then Client Side understood 24bit
    Color Sequence... and then later focus on Client Side undersood Kitty Graphics Sequences, and Sound Sequences. At which point a BBS author
    would know ANSI, ROWS/COLUMNS, CP437 or UTF8, ANSI Colors, and Graphics/Sounds... and of course for old school vector, RIP detection
    too.

    It's an interesting concept. We added other query-type operations in SyncTERM 1.1 (e.g. for font support).

    Deuce (deuce in #synchronet on irc.synchro.net) would be the one to really discuss escape sequences in detail.

    digital man

    Synchronet/BBS Terminology Definition #48:
    NAPLPS = North American Presentation Layer Protocol Syntax (ANSI X3.110)
    Norco, CA WX: 62.2°F, 85.0% humidity, 1 mph ESE wind, 0.00 inches rain/24hrs
  • From Digital Man to Ozz Nixon on Sunday, July 07, 2019 21:51:22
    Re: Re: Titan Update
    By: Ozz Nixon to Digital Man on Sun Jul 07 2019 10:10 pm

    Where does SyncTerm store it's configuration file(s) on a Mac?

    On my MacBook, it's in ~/Library/Preferences/SyncTERM/SyncTERM.ini

    digital man

    Synchronet/BBS Terminology Definition #68:
    SSL = Secure Sockets Layer (precursor to TLS)
    Norco, CA WX: 62.2°F, 85.0% humidity, 1 mph ESE wind, 0.00 inches rain/24hrs
  • From Ozz Nixon@21:1/144 to Digital Man on Monday, July 08, 2019 18:05:49
    On 2019-07-07 21:51:22 +0000, Digital Man -> Ozz Nixon said:

    Re: Re: Titan Update
    By: Ozz Nixon to Digital Man on Sun Jul 07 2019 10:10 pm

    Where does SyncTerm store it's configuration file(s) on a Mac?

    On my MacBook, it's in ~/Library/Preferences/SyncTERM/SyncTERM.ini


    YEAH! I stopped at ~/Library and in /Library ... didn't know what to
    grep for. Back to SDL and viola - I have SyncTerm to test with again ;-)

    Thank you!
    Ozz aka SqZ

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)
  • From Ozz Nixon@21:1/144 to Digital Man on Monday, July 08, 2019 18:15:39
    On 2019-07-07 21:48:10 +0000, Digital Man -> Ozz Nixon said:

    [Snipped]
    I have not. The full list of sequences supported by SyncTERM is supposed to
    be
    in this document: http://cvs.synchro.net/cgi-bin/viewcvs.cgi/*checkout*/src/conio/cterm.txt

    Will do - thanks!


    Got a link to the project you're referencing?

    Found it again: In "Querying the Terminal":
    https://gist.github.com/XVilka/8346728


    As we could
    use that to extend the UTF8 auto-detect, to also detect Client Side understood 256 Color Sequence, and then Client Side understood 24bit
    Color Sequence... and then later focus on Client Side undersood Kitty Graphics Sequences, and Sound Sequences. At which point a BBS author
    would know ANSI, ROWS/COLUMNS, CP437 or UTF8, ANSI Colors, and Graphics/Sounds... and of course for old school vector, RIP detection
    too.

    It's an interesting concept. We added other query-type operations in
    SyncTERM
    1.1 (e.g. for font support).

    Deuce (deuce in #synchronet on irc.synchro.net) would be the one to really discuss escape sequences in detail.


    Will do...

    Ozz aka SqZ

    --- ExchangeBBS NNTP Server v3.1/Linux64
    * Origin: nntp://bbs.exchangebbs.com:119/ (21:1/144.0)