< ALL POSTS

WHAT'S NEW ON THE COMM-ADORE BBS

The new Comm-Adore BBS login screen

Updated October 21, 2026: the first caller to try an upload took the board down for a night. The story and the fix are in "Uploads, and the night the board went down" below. Uploads now work, Punter and Xmodem, at 9600. There's a new section on the modem bridge we wrote, Bot Buster included. Page 4 of the games is in too: fifty-three games on four pages.

The Comm-Adore BBS has been busy. It runs on a Commodore 64 with a SuperCPU, a RAMLink and a CMD HD, and it answers at 9600 baud (the board software is Color 64 7.40, our 9600-baud edition, but this post is about the board). Over the last few days we've rebuilt the way you log in, opened a proper games room and fixed a long list of small things. Here's the rundown.

How to call

adorebbs.ddnsgeek.com, port 6400.

  • From a Commodore 64 with a WiFi modem, dial it the way you'd dial a phone number: ATDT adorebbs.ddnsgeek.com:6400. Any PETSCII terminal works. We use CCGMS 2021. Set your modem to 9600 if it can, or 2400 or 4800 if it can't. The board answers all three.
  • From a PC or Mac, use a PETSCII terminal such as CGTerm or SyncTERM and connect to the same address. The board is drawn in Commodore graphics, so a plain telnet client will show the text but not the pictures.

Pick a handle, answer the new-user questions and you're in. New users get full access right away; nobody has to wait for validation.

A new front door

That's the new login screen above. It was drawn by an AI PETSCII artist we're building, and it's the first of many.

  • Log in inside the box. "Member # or NEW", the "(? to list)" hint and the > prompt sit in the CALLER LOGIN box. Your password and the "Confirming" message write over the same line, so the whole login happens in one place.
  • The clock is in the frame. The date and time sit in the gap in the bottom border.
  • No more scrolling. A full-screen picture on a C64 used to scroll up a line as it finished, which cut the top row off. Our screens now draw right into the bottom-right corner without moving, so you see the art the way it was drawn.
  • The one-liner moved. The latest one-liner from the last caller now greets you at your first command prompt, not on the login screen.
  • No baud question. The board used to ask every caller whether to switch to 9600. Your speed is set by your modem, and with a WiFi modem you can't change it in the middle of a call, so the question is gone. So is the B command that did the same thing.

Welcome screens that change

After you log in, the board shows a welcome picture.

An autumn welcome screen on the Comm-Adore BBS

  • Random. The picture used to depend on your caller number, so calling twice in a row got you the same one. Now it's picked at random every call, and we can add as many as we like. There are twenty-six in the everyday set, all new.
  • Seasonal. The board reads the calendar and swaps sets. From October 1 it shows autumn scenes. On October 30 and 31 it's Halloween. November is autumn again until the day before Thanksgiving, when the turkey comes out for two days, and the day after Thanksgiving it switches to Christmas pictures through Christmas Day. The board works out Thanksgiving for itself every year. New Year's, Valentine's Day, St. Patrick's Day, Easter and the 4th of July have their months too, and their art is next on the list.

A Halloween welcome screen

A Thanksgiving welcome screen

A proper goodbye

Logging off used to show a plain list of other boards. Now it's a screen of its own, with a goodbye and a list of other BBSs worth a call. The list is where we point you at friends' boards, so if you run one, tell us.

The new goodbye screen

The games room

Press G at the main prompt for the new games menu. Every game lives behind it, and each one runs at a stock 1 MHz so it plays the way it was written. The board speeds back up when you leave. We also gave the games a new random number generator, built on the SID chip's noise channel. The old one barely changed between turns at 9600, and in Horse Race the same horse won every time. Now every horse has a chance.

The games menu, page 1

The menu is now three pages and forty-two games. Press N and P to turn the pages, or type any game's number from any page. The page-1 art was drawn by hand; pages 2 and 3 are generated from it, so a new page costs nothing but the games.

Page 1

# Game
1 Horse Race Pick a horse and watch them run
2 Hangman The classic word game
3 WordStar A word game
4 Stock Market Buy low, sell high
5 Master's Empire Build an empire and rule it
6 Football Back from the old Centipede game libraries
7 Blackjack Beat the dealer to 21
8 CG Blackjack Blackjack with the cards drawn in colour graphics
9 Slots Pull the handle
10 Vegas Nights Craps, high-low, roulette and slots in one casino
11 Wheel of Fortune 138 puzzles over seven categories, and a high score to beat
12 Asylum Talk your way out of the asylum and win credits
13 Nuke'em Global thermonuclear fun, with a hall of fame
14 DragonSlayer Fight your way to the dragon

Games 7 to 14 are new this week. Some came from Color 64 game disks that haven't been online in decades. Others came from the Centipede libraries, a huge archive of BBS games we unpacked and sorted.

Page 2: cards, dice and classics

# Game
15 Video Poker Five-card draw against the machine
16 Power Poker Poker with a hall of fame
17 Kings Corner The solitaire card game
18 Ten Thousand The dice game: first to 10,000
19 Ten's Dilemma A solitaire built on tens
20 Mille Bourne The French road-race card game
21 Master Mind Crack the code
22 Hi-Q Peg solitaire
23 Tic Tac Toe Against the computer
24 23 Matches Take the last match and you lose
25 Hurkle Find the Hurkle on the grid
26 Bowling Ten pins, with a champions list
27 Road Race Keep the car on the road
28 Safecracker Work out the combination

Page 3: words, puzzles and a few surprises

The games menu, page 3

# Game
29 Scramble Unscramble the word
30 Mind Probe A memory matching game
31 Puzzler Flip the grid until it's all zeros
32 Switch Sort 1 to 9 by reversing from the left
33 Quizzer A quiz, one go per call
34 Sniglets Words that should be in the dictionary. Add your own
35 Story Book Nine stories the callers write together, a line at a time
36 Gypsy Your fortune told
37 Master Hacker Dial the mystery numbers and break into the systems
38 Virus Attack Find the antibodies before it's too late
39 3D Labyrinth A first-person maze against the clock
40 Ocean Gunner A real-time naval gun duel
41 Orbit Hunt a cloaked Romulan ship
42 Shutout A dice game: cover the numbers, don't go over

All twenty-eight games on pages 2 and 3 arrived in one day. They are Centipede 128 games, written for the C128 cousin of Color 64, and we wrote a converter that turns them into Color 64 games: it reads the C128 BASIC, renumbers every line, swaps in the board's own routines, checks every jump, and flags any game that touches a variable the board needs. Each game still got a hand check, and a few bugs that had been in them since the 1980s got fixed on the way (one of them had a "press a key" that never waited, another a jump to a line that never existed).

Uploads, and the night the board went down

A board is only really open once a stranger tries something you didn't. Ours came on the night of October 20. A new member signed up, looked around, went to the file section and started an upload. The board crashed on the spot and stayed down until morning.

Here's what happened, because it's a good lesson in how a C64 BBS works. Color 64 keeps the Xmodem and Punter code in two small machine-language files and loads them into memory only when a transfer starts. The board's programs come from the RAMLink, and when we moved them there, those two files never made the trip. The transfer code jumped into memory that held nothing, the C64 did what a C64 does with nothing, a warm start, and that quietly killed the 9600-baud modem driver. The board's own crash handler then tried to print "SYSTEM CRASHED" out the modem, waited for a driver that would never answer, and sat there all night.

We read the frozen machine in the morning: the half-sent message still in the modem buffer, the transfer overlay still loaded, the caller's new member record safely on disk. The fix came in three parts:

  • The transfer modules are on both drives. Uploads and downloads load them again.
  • A guard. If a transfer module ever goes missing again, the caller gets "Transfer module missing - tell the Sysop!" and goes back to the menu. The board stays up.
  • The modem bridge decides telnet or raw per call. Most WiFi modems connect as plain raw TCP. The bridge had been treating every caller as a telnet client, which is fine for text and fatal for binary: a 255 byte or a carriage return inside an Xmodem block got eaten. Now the bridge watches whether the caller speaks telnet in the first few seconds and leaves the bytes alone if not. Our own tests pushed every byte value through both ways intact.

Then we uploaded with Punter and with Xmodem, from a real C64 through a WiFi modem at 9600, to two different directories. Both went through clean. If you tried an upload and it failed, try again; it was us, not you.

That bridge deserves a section of its own.

The modem bridge

The C64 that runs the board lives in VICE, and a C64 BBS wants a modem, so we wrote one. The bridge is a small Python program, about six hundred lines, that sits between the emulated C64's serial port and the internet. We started with the usual tool for this job, tcpser, and ended up replacing it, because every time a caller did something odd we wanted to see exactly what happened and change it that afternoon. The BBS has no idea; it thinks it's talking to a Hayes modem.

  • A Hayes modem to the board. RING when someone connects, ATA to answer, CONNECT 9600, the S0 register, +++ with the guard time, ATH, and a dropped DTR line hangs up the caller, exactly the way Color 64 expects. The board's own "ats0=0h0" after a call works as written in 1987.
  • A phone line to the internet. Callers dial adorebbs.ddnsgeek.com port 6400 from a WiFi modem or a PC terminal. One line, one caller at a time.
  • Telnet or raw, decided per call. A PC terminal speaks telnet; most WiFi modems send raw bytes. The bridge watches for the telnet handshake in the first three seconds and treats the call accordingly. That's what makes binary transfers survive, as the upload story above explains.
  • Gentle with small modems. The board sends its screens a byte at a time. Sent straight through, every byte became its own network packet, and the little ESP8266 inside a WiFi modem ran out of memory and rebooted on every big PETSCII picture. The bridge gathers the board's output for a few hundredths of a second and sends it in proper packets.
  • The Bot Buster. Port scanners connect to anything that listens, send nothing or an HTTP request, and hang up. Each one used to ring the board and burn a call. Now a new connection sees one line, "comm-adore bbs - bot buster - press return to connect", and the board doesn't hear a ring until a RETURN arrives. Junk openers are dropped on the spot, silence is dropped after 45 seconds, three failures ban the address for a day, and a short list file blocks or trusts addresses by hand. Your one RETURN also answers the board's own "hit return", so a real caller presses it once.
  • A busy message when someone else is on, in lower-case letters on purpose: a Commodore shows them as capitals, a PC shows them as they are, and both can read it. The text lives in a file next to the bridge, so it can be changed without touching the code.
  • A trace. A flag logs every byte in both directions. That's how we found the upload problem in minutes instead of guessing.

It's built for Color 64 under VICE, but nothing in it is Color 64 specific. Any C64 BBS running in an emulator could use it, and we're thinking about packaging it so other sysops can. If that's you, call the board or write us and say so.

Under the hood

The sysops will appreciate these.

  • The graphics on/off toggle moved from G to J, to make room for the games.
  • Leaving the games menu no longer crashes the board at log-off.
  • The "regenerate message index" question that came up at every start-up now lives on a sysop key, for when it's needed.
  • Shutting the board down from the sysop menu shuts it down again. It had been going back to the waiting-for-call screen.
  • Game access levels are sorted out, so members can get to every game.
  • The "Press Any Key to Continue" prompt after a game's title screen is centred and flashes between the board's colours instead of reverse video, and a title picture no longer loses its top line to the prompt.
  • Games that switch the screen to upper case for their artwork, like CG Blackjack and Vegas Nights, hand a clean screen back to the games menu.

Coming soon

  • SEC Football. A college football edition of Football: pick your team from the SEC, the computer picks its opponent, and a scoreboard keeps every game's score and date.
  • Betting on the horses. Horse Race with a betting window, rebuilt from old printouts.
  • More big games. Page 4 is in: Shell Game, Monte Carlo, Instant Lotto, Spades, Uno, Jigsaw, Qlue and Movie Mogul, with Shogun, Utopia and World of S&D riding along, each a game night on its own. Still to come: Red Storm Rising, Star Wars, Star Colony, 2112 Trade Wars and Murder Motel.
  • New art everywhere. Christmas and the rest of the holiday sets, title screens for the games that never had one, and fresh pictures to replace the old ones.

The board by the numbers

The whole thing runs on a Commodore 64. We think these are worth a look.

53 games, on four menu pages
39 of them converted from the Centipede 128 libraries, the first twenty-eight in a single day
20 program overlays: five that run the board, one for the games menu, fourteen full of games
27 KB the window of memory every overlay has to fit, the games packed four, five and six to an overlay, the fullest within a few hundred bytes of the line
67 data files behind the games: title screens, help, halls of fame, high scores and the nine shared stories
26 everyday welcome screens, plus the autumn, Halloween, Thanksgiving and Christmas sets
9600 baud, on a stock-speed C64 for the games and a 20 MHz SuperCPU for everything else
2 copies of every file: the RAMLink serves the board, the CMD HD mirrors it

Call adorebbs.ddnsgeek.com:6400, press G, and say hello in the one-liners.