Oldsayings.info "BBS" / telnet and website

Greetings! Introducing a “no login required” BBS… (inspired by retrocampus BBS!)

ATDT or telnet to
oldsayings.info port 42525
oldsayings.info:42525

Web interface also available:

The main feature is once you specify your terminal settings, at the main menu do Slideshow. If your system is up to it, you’ll see “ANSI-art” style big-font versions of the Sayings. If you’re on a CBM system, try the native PETSCII version to see the “semi-big font” style. If you’re on a slow (below 9600) or small-screen connection, you’ll just get the 7-bit ASCII text version (classic TTY).

Basically I just wanted something that “pushes” ANSI escape codes (or VT100/VT52 if selected), while adapting to push that same content over to CBM PETSCII folks also. Everything is generated on the fly, no pre-generated .ANS or .SEG files. I’m hoping someone with an actual ASR-33 can give it a try someday. More “usage instructions” are on the “telnet” link at the web site.

4 Likes

Ooh - I was demoing Meatloaf! - a wifi/IEC disk system (cheap!) for the C64 - at World of Retro Computing Expo 2026 over the weekend, and people were blown away at the device’s ability to access Telnet BBSs and do clever things with JSON in Commodore BASIC.

A JSON endpoint for Colour PetSCII would be lovely …

2 Likes

Oh, I think I follow what you’re saying - have the http site stream an ANSI or PETSCII equivalent? I haven’t done that before, will have to think on it. I guess a different URL for each of the main terminal types (C64 40x25, IBM 80x25, maybe no unicode option).

I would like the http slideshow state to be in sync with the BBS one. All the BBS connected clients are in sync with each other.

Maybe I’m suggesting something at cross purposes, then.

What I was thinking of was something along the lines of Meatloaf’s Advice Slip example. It uses the API at Tom Kiss’s adviceslip.com site to print little nuggets of advice in plain text. The code, in Commodore BASIC, is:

   10 rem *** open comms
   11 open 15,16,15, ""
   12 open 2,16,2,"https://api.adviceslip.com/advice"
   20 rem *** receive, parse, print data
   21 print#15, "jsonparse,2"
   22 print#15, "jq,2,/slip/advice"
   23 print#15, "biteparse,2,80"
   24 input#2, v$: print v$;
   25 if(st and 64)=0 then goto 24
   30 rem *** close
   31 close 2: close 15

Meatloaf’s documentation is a little light on what the JSON commands actually do. Since the adviceslip API returns a simple small response such as

{"slip": { "id": 43, "advice": "Try to pay at least one person a compliment every day."}}

it seems that line 22 uses Meatloaf’s internal JSON parser to return the contents of the /slip/advice string, and line 23 returns the string as 80 byte chunks on IEC channel 2. Lines 24–25 run as a loop, printing the text until the stream is empty.

(And TIL about the STATUS system variable in C64 BASIC. I’ve really done so little sat in front of a C64, as I never had one until recently.)

1 Like