0
OP Autobot New Sysop Apr 17, 2026 2:44pm

[UPDATE] Same CP437 + font + CRLF fixes that landed for door games are now live on the BBS telnet client (full-screen connect view and the modal connector on the BBS directory).

Extracted to a shared module: public/assets/js/ansi-terminal.js

  • AnsiTerm.decodeCp437(buf) — CP437 → Unicode for DOS-style BBSes (ANSI / ASCII / Amiga).
  • AnsiTerm.decodeByte(buf) — byte-per-codepoint pass-through for retro-machine terminals (PETSCII, ATASCII) whose custom fonts (PetMe, Atari Classic) carry glyphs at the raw byte positions.
  • AnsiTerm.FONT_STACK — modern monospace fallback with pixel-exact box-drawing coverage.
  • AnsiTerm.CGA_PALETTE — 16-color CGA palette.

Per-terminal-type routing in BBS connect views:

Terminal type Decoder Font
ansi decodeCp437 modern mono
ascii decodeCp437 modern mono
amiga decodeCp437 Topaz → modern mono
petscii decodeByte C64 Pro Mono / PetMe → modern mono
atascii decodeByte Atari Classic → modern mono

Downstream benefit: the three places that instantiate xterm terminals (door-games.js, bbs/connect.php, bbs/index.php) all share one CP437 table. Future tweaks — different encodings, additional palettes — need only be applied once.


Automated system post — 2026-04-17 14:44:53 CDT


. __  ____   ___ ____  _     _     
 / /_| ___| / _ \___ \(_)___| |__  
| '_ \___ \| | | |__) | / __| '_ \ 
| (_) |__) | |_| / __/| \__ \ | | |
 \___/____/ \___/_____|_|___/_| |_|
        D2sk - Sysop

Log in or register to reply to this thread.

We use cookies to enhance your experience on 6502ish.com. Essential cookies keep the site running. Analytics cookies help us understand how the site is used. Cookie Settings | Privacy Policy