• Acorn BBC Mode 7 (viewdata) conrtol codes

    From vela025@1:103/705 to All on Fri Feb 9 08:22:05 2024
    Hi,
    I currently run a BBS on my BBC Micro (beebs.ddns.net for info), its running over telnet and supports vt100, ANSI and Viewdata/Teletext (on a machine that supports this i.e. a BBC Micro or Acorn Archimedes). With the machine running the BBS most of the time I don't actually get to use it so I was hoping to transition to SBBS but cannot figure out how to send the correct control codes to send viewdata to a BBC Micro client, I've tried a few different formats of files created in a teletext editor (replacing the .msg menu files) but on the BBC Micro it displays the control codes as text rather than interpreting them as teletext control codes over terminal. Is what I'm trying to achieve possible within the currenet parameters of SBBS?
    Many thanks,
    Fred
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deon@1:103/705 to vela025 on Sat Feb 10 16:21:54 2024
    Re: Acorn BBC Mode 7 (viewdata) conrtol codes
    By: vela025 to All on Fri Feb 09 2024 08:22 am

    Hey Fred,

    ...
    that supports this i.e. a BBC Micro or Acorn Archimedes). With the machine running the BBS most of the time I don't actually get to use it so I was hoping to transition to SBBS but cannot figure out how to send the correct control codes to send viewdata to a BBC Micro client, I've tried a few different formats of files created in a teletext editor (replacing the .msg menu files) but on the BBC Micro it displays the control codes as text rather than interpreting them as teletext control codes over terminal. Is what I'm trying to achieve possible within the currenet parameters of SBBS?

    I'm not sure that SBBS can be "configured" to give out Mode 7 graphics - it only understands Raw, ANSI and C64 (I think).

    I've always been interested in Viewdata (working for a service provider in Australia in 80's for Australia's national viewdata service) - I started creating a "shell" that rendered Mode 7.

    Actually my "shell" makes SBBS work as a viewdata server and supports ANSI (on port 23) and Viewdata (on port 516), and while I have the rendering of viewdata frames done, I havent implemented rendering and replying to messages - I've started work on it (on the ANSI side, with FSX on page *10021#) but its far from complete.

    I'll finish it one day, but I'm distracted by other things ...


    ...

    ---
    Synchronet AnsiTEX bringing back videotex but with ANSI
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From vela025@1:103/705 to deon on Sat Feb 10 01:30:00 2024
    Thanks for the reply, your mode 7 shell sounds great. My current BBS software is OBBS from 1984 which I've modded to support sending full Mode 7 graphics frames and ANSI which it does via terminal rather than acting as a viewdata server it just uses bget to read each byte of either a teletext frame or ansi file and sends it over serial. So on a BBC you get mode 7 graphics but on an ANSI terminal you get ANSI (there's also vt100 if you have neither). It really supprises me that I can't find a BBS host which can do the same.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From nelgin@1:103/705 to vela025 on Sun Feb 11 09:05:20 2024
    On Fri, 9 Feb 2024 08:22:05 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    Hi,
    I currently run a BBS on my BBC Micro (beebs.ddns.net for info), its
    running over telnet and supports vt100, ANSI and Viewdata/Teletext
    (on a machine that supports this i.e. a BBC Micro or Acorn
    Archimedes). With the machine running the BBS most of the time I
    don't actually get to use it so I was hoping to transition to SBBS
    but cannot figure out how to send the correct control codes to send
    viewdata to a BBC Micro client, I've tried a few different formats of
    files created in a teletext editor (replacing the .msg menu files)
    but on the BBC Micro it displays the control codes as text rather
    than interpreting them as teletext control codes over terminal. Is
    what I'm trying to achieve possible within the currenet parameters of
    SBBS? Many thanks, Fred

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

    Videotex uses escape sequences. I can't say I've tried to use a mode 7
    type file with synchronet. I wrote my own videotex script which runs on
    a different port since sbbs doesn't auto detect the protocol and it's
    just easier that way.

    To change color and graphics, double height, separated or contiguous
    etc, they're all preceded by an escape character, often referenced as
    ^[ it's ascii 27.

    So for red text you'd put something ^[ followed by a letter A-G to
    change the color to red, green, yellow, blue, magenta, cyan, or white
    or @ for black.

    ^[] should change the background to previous foreground color

    See if you can get that working to start with.

    ^[D^[] ^[FVIDEOTEX^[S^?^?5j^?j|^?}~j ^?55^?^?^?^?57h4k

    This should provide some text and graphics. Replace ^[ with a literal
    escape and ^? with a CTRL-?

    If you want to download it, I've put my index page at https://www.endofthelinebbs.com/1a.vtx if you want to download it. I'm
    actually going to change the format of my files but this will work. You
    could try changing it to a .asc file and just accessing it from sbbs.

    Good luck.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From nelgin@1:103/705 to vela025 on Sun Feb 11 09:46:20 2024
    On Fri, 9 Feb 2024 08:22:05 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    Hi,
    I currently run a BBS on my BBC Micro (beebs.ddns.net for info), its
    running over telnet and supports vt100, ANSI and Viewdata/Teletext
    (on a machine that supports this i.e. a BBC Micro or Acorn
    Archimedes). With the machine running the BBS most of the time I
    don't actually get to use it so I was hoping to transition to SBBS
    but cannot figure out how to send the correct control codes to send
    viewdata to a BBC Micro client, I've tried a few different formats of
    files created in a teletext editor (replacing the .msg menu files)
    but on the BBC Micro it displays the control codes as text rather
    than interpreting them as teletext control codes over terminal. Is
    what I'm trying to achieve possible within the currenet parameters of
    SBBS? Many thanks, Fred

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


    Ah, also keep in mind that you're probably trying to mix terminal and
    videotex which isn't going to work. videotex is 7E1 and it sends a #
    when you press return, which is actually a _ sign ASCII 96 if I
    remember correctly, so that videotex page probably wont work.

    In the case of terminal I would expect sending ascii 129 to change text
    to red but sbbs seems to want to do something with that and sends -U
    when using something like ;TYPE sysop command.

    Maybe there is some way to stop sbbs of processing a file and send it
    "as is". Maybe I'm talking out my ass :)

    So I loaded up commstar and went into viewdata move a did ;TYPE /sbbs/text/1a.asc and it actually worked, sort of. First you'd need to
    insert ^L at the top to clear the screen, and because it's all 1 line,
    sbbs doesn't display it all correctly.


    I've created https://www.endofthelinebbs.com/1b.asc which does display correctly when using the ;TYPE sysop command if you're in viewdata
    mode, but your problem there is twofold, there's no scrolling, it only
    wraps around to the top and the user still has to use ^M rather than
    enter unless you re-write the shell to deal with that.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From vela025@1:103/705 to nelgin on Sun Feb 11 09:15:24 2024
    Thanks for the info, I'm not sure why but I'm unable to access endofthelinebbs.com the connection times out so am unable to see the files you have pointed to. Out of interest what editor do you use to edit your menu files that accepts ESC as an ASCII entry?

    Ah, also keep in mind that you're probably trying to mix terminal and >videotex which isn't going to work. videotex is 7E1 and it sends a #
    when you press return, which is actually a _ sign ASCII 96 if I
    remember correctly, so that videotex page probably wont work.

    My current BBS is sending the Mode 7 graphics via terminal using 8n1, obvoiusly it only displays the mode 7 graphics on a terminal that supports it (so either an acorn computer with filtering off in whichever comms software you use (e.g. commstar) or either of the PC connection options here http://beebs.ddns.net/connecting.html)...or just good old syncterm, but displays as vt100 or ANSI depending on what you select.

    I was hoping there might be some BBS package out there that will just bget the file as is rather than trying to process it. Feel free to check out beebs.ddns.net to see the mode 7 graphics over terminal.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From nelgin@1:103/705 to All on Sun Feb 11 20:36:09 2024
    On Sun, 11 Feb 2024 09:15:24 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    Thanks for the info, I'm not sure why but I'm unable to access endofthelinebbs.com the connection times out so am unable to see the
    files you have pointed to. Out of interest what editor do you use to
    edit your menu files that accepts ESC as an ASCII entry?

    Ah, also keep in mind that you're probably trying to mix terminal and >videotex which isn't going to work. videotex is 7E1 and it sends a #
    when you press return, which is actually a _ sign ASCII 96 if I
    remember correctly, so that videotex page probably wont work.

    My current BBS is sending the Mode 7 graphics via terminal using 8n1, obvoiusly it only displays the mode 7 graphics on a terminal that
    supports it (so either an acorn computer with filtering off in
    whichever comms software you use (e.g. commstar) or either of the PC connection options here http://beebs.ddns.net/connecting.html)...or
    just good old syncterm, but displays as vt100 or ANSI depending on
    what you select.

    I was hoping there might be some BBS package out there that will just
    bget the file as is rather than trying to process it. Feel free to
    check out beebs.ddns.net to see the mode 7 graphics over terminal.

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

    In SBBS set your terminal accordingly

    [+] Use automatic terminal type detection? No
    [+] Does your terminal support UTF-8? No
    [+] Does your terminal support ANSI? No
    [+] Are you using a CBM/PETSCII terminal? No
    [+] Does your terminal support IBM extended ASCII (CP437)? Yes
    [+] HIT your BACKSPACE or DELETE-LEFT key: Character 127 (7Fh)
    received.

    Then create a file like this:

    <81>RED
    <82>Green
    <83>Yellow
    <86><88>Flashy!
    <84><9d><83>My favorite yellow on blue

    You'll need to replace <81> and <82> with the comparable ascii code. In
    vi you can do ^V129 or if you want to enter the hex value ^Vx81

    Before saving, make sure your file is iso-8859-1 format with

    :set fileencoding=iso-8859-1

    All this assumes you're on Linux using vim. If not then No idea how
    you'd do it in windows. I guess you can use notepad and use the ALT 129
    method for entering control codes.

    Anyway, I did all that and put my file.asc in the menu directory and
    just tried it with bbs.menu and it printed fine.

    Hope that helps.

    You'll find all the codes in a chart at the back of the BBC Micro User
    Guide, something like page 476.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From vela025@1:103/705 to nelgin on Tue Feb 13 06:28:29 2024
    Hope that helps.

    YES! Thanks so much, I've made quite a bit of progress thanks to your help. In doing so has raised two more questions.
    1. Do you know how to customise the prompt, the bit I've circled here: http://beebs.ddns.net/images/sync/Prompt.jpg (not sure if it's actually called prompt, as it uses characters that Mode 7 does not support. I just want to swap out the divide symbol for something else (I'm at peace with the arrows).
    2. When using strings (some that are buffered with "..." like the strings used for message sender, date etc. are fine, but others will insert a chacter rather than overwrite a charater like the toggles here (http://beebs.ddns.net/images/sync/strings.png), did you find a way around this?
    Thanks again, you've been a great help
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From nelgin@1:103/705 to All on Tue Feb 13 10:28:59 2024
    On Tue, 13 Feb 2024 06:28:29 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    Hope that helps.

    YES! Thanks so much, I've made quite a bit of progress thanks to your
    help. In doing so has raised two more questions.
    1. Do you know how to customise the prompt, the bit I've circled here: http://beebs.ddns.net/images/sync/Prompt.jpg (not sure if it's
    actually called prompt, as it uses characters that Mode 7 does not
    support. I just want to swap out the divide symbol for something else
    (I'm at peace with the arrows). 2. When using strings (some that are
    buffered with "..." like the strings used for message sender, date
    etc. are fine, but others will insert a chacter rather than overwrite
    a charater like the toggles here (http://beebs.ddns.net/images/sync/strings.png), did you find a way
    around this? Thanks again, you've been a great help

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

    1. The prompts are controlled by the menu files, probably default.src
    or default.js depending on which stage of development you picked up
    your sbbs.

    You can use some logic like checking if the term is ANSI compatible to
    give one prompt and then give something different if not.


    2. You can use something like @CODE|L3@ and it'll pad to 3 characters,
    if I'm understanding your question correctly. You can find more
    information on padding, centering and the like on the wiki if you
    search for "message variables".

    Looks good so far.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From vela025@1:103/705 to nelgin on Wed Feb 14 05:37:11 2024

    The prompts are controlled by the menu files, probably default.src
    or default.js

    Excellent that you that has worked well. There are still a few prompt that display the division sign next to them even though (for the ones that aren't in default.js) in text.dat they have no control codes at all around them, an example of this the prompt after starting a search where it asks if you wish to include unread messages...but I can live with this!

    You can use something like @CODE|L3@
    Again thanks that has worked great. I had spent quite a while on the wiki, I just seem to be looking in the wrong places!
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From nelgin@1:103/705 to All on Wed Feb 14 11:39:55 2024
    On Wed, 14 Feb 2024 05:37:11 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    The prompts are controlled by the menu files, probably default.src
    or default.js

    Excellent that you that has worked well. There are still a few
    prompt that display the division sign next to them even though (for
    the ones that aren't in default.js) in text.dat they have no control
    codes at all around them, an example of this the prompt after
    starting a search where it asks if you wish to include unread
    messages...but I can live with this.

    What is the exact message it displays? I don't see anything like
    "include unread messages".
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From vela025@1:103/705 to nelgin on Wed Feb 14 13:04:16 2024
    What is the exact message it displays? I don't see anything like
    include unread messages".

    Sorry my mistake line 945 of text.dat
    "Display Unread Messages Only" 766 DisplayUnreadMessagesOnlyQ

    ...no control codes but it still gets preceded by the 1/4 symbol in mode 7

    I don't have the expertise to set it up so that different ports get different terminal settings...so I'm going to have instructions on the answer page to explain for beeb users the terminal settings they need to choose.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From nelgin@1:103/705 to All on Wed Feb 14 16:23:21 2024
    On Wed, 14 Feb 2024 13:04:16 -0800
    "vela025" (VERT) <VERT!vela025@endofthelinebbs.com> wrote:

    What is the exact message it displays? I don't see anything like
    include unread messages".

    Sorry my mistake line 945 of text.dat
    "Display Unread Messages Only" 766 DisplayUnreadMessagesOnlyQ

    ...no control codes but it still gets preceded by the 1/4 symbol in
    mode 7

    I don't have the expertise to set it up so that different ports get
    different terminal settings...so I'm going to have instructions on
    the answer page to explain for beeb users the terminal settings they
    need to choose.

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

    Looking at the source, that is wrapped around yesno.

    scansubs.cpp: && text[DisplayUnreadMessagesOnlyQ][0] && yesno(text[DisplayUnreadMessagesOnlyQ]))
    scansubs.cpp: && text[DisplayUnreadMessagesOnlyQ][0] && yesno(text[DisplayUnreadMessagesOnlyQ]))

    My guess is that you'll need to change yesnobar.js in /sbbs/exec - of
    course, copy it to mods first before making any changes.

    My guess is the checkmark translates to divide on the BBS.
    --
    End Of The Line BBS - Plano, TX
    telnet endofthelinebbs.com 23
    ---
    Synchronet End Of The Line BBS - endofthelinebbs.com
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)