Demo splash
Demoscene-style intro in the spirit of greet disks and party screens: vectorballs, plasma, rotozoom, wireframe morph, XM module, sine scroller, greetings; CRT-style power-down when you exit.
BBS · demoscene · legacy · 2026
Terminal for Commodore 64 bulletin boards
PETSCII-native terminal for Commodore 64 bulletin boards: Telnet, file transfers, disk images, cross-platform SDL builds for macOS, Linux, and Windows. MagerValp’s CGTerm, carried forward as this scene edition.
The C64 boards from CGTerm’s phonebook, probed from this server. Checking carriers…
Dialling…
In-browser session to Frozen Floppy BBS via fTelnet. Press DIAL on any board above to call it instead. The widget loads only after you press the button below (external script; allow it if your browser blocks third-party content).
fTelnet is not loaded until you request it, to keep the page fast and avoid unnecessary third-party requests.
Native client: cgterm bbs.retrohack.se 64128
Loading…
CGTerm is the client MagerValp’s vision deserves on today’s machines: real C64 boards over Telnet, PETSCII on the glass, transfers and disk images done the way sysops and callers still expect, with SDL builds for macOS, Linux, and Windows. Many of us learned the network by watching characters crawl across the screen at 9600 baud, greeting demos before the menu, trading files and mail in a culture that treated knowledge as something meant to move freely. Bulletin boards, the demoscene, and the old curiosity-driven scenes are part of how all of this began; nothing that came later, not even the wave of AI we have now, erases that root. This project exists to keep the line open and the legacy breathing.
The original code is MagerValp’s; this scene edition is a deep refresh by m00p and Genesis*Project, with sysops, swappers, and callers who still think in blocks. I take no credit for MagerValp’s foundation. This release is for the community, the build many of us were waiting for, so BBSing stays a little easier and the people keeping lines up stay visible. New hands at the keyboard are welcome. We stand at the edge of powerful AI and vast clouds, but the glow of this era is still the beginning we build from. That legacy should never die.
For callers and sysops (transport security): typical BBS access uses Telnet (cleartext). Traffic can be observed on untrusted networks, as with historical dial-up paths converted to TCP. Use strong, unique passwords per board where possible, and treat the session like any unencrypted terminal connection.
Demoscene-style intro in the spirit of greet disks and party screens: vectorballs, plasma, rotozoom, wireframe morph, XM module, sine scroller, greetings; CRT-style power-down when you exit.
Optional connection theatre: green-phosphor look, AT sequence with phone book, dial tone, DTMF, and carrier-style audio (approximate V.34-era line). For anyone who still remembers pacing the scroll at 9600 baud. Toggle from the menu. Bell and modem sounds now work on macOS and Linux too, with mute and volume adjustable while you are connected, and the XM music loops without a gap.
Batch send and receive with real file names and sizes, crash recovery to resume broken downloads, CRC-32, and auto-start the moment the board begins sending. No more typing file names twice.
ZMODEM, Multi Punter (batch), Rainbow, XMODEM variants (checksum, CRC, 1K), and Punter. Last protocol is preselected (T + Return), every transfer is logged with bytes, time and cps, and you get an on-screen summary. Progress UI, optional hex view, cancel that no longer stalls the other end, free-space checks, and filename conversion between PC extensions and C64 comma types (e.g. .prg ↔ ,p).
Open D64, D71, and D81 images like folders; set an image as download target; extract and inject PRG/SEQ/USR with PETSCII-aware names and block accounting. New disk tools: validate (rebuild the BAM), lock/unlock, rename disk and ID, extract to the host, insert into an image, a real CBM-style listing with splat and lock markers, and support for images with error tables.
Ten header and nine body pixel fonts, selectable in settings, plus support for adding converted TTF/OTF assets through the project’s usual pipeline.
Status line, capture toggle, copy the screen as text, and paste that transliterates UTF-8. Much fuller ANSI: scroll regions, pending wrap, save/restore cursor, insert/delete/erase characters, iCE colours, truecolour, line drawing, xterm keys and Alt hotkeys.
Swedish, US, and German-oriented layouts on macOS, Linux, and Windows, and any extra layouts you drop into the assets folder are picked up automatically. Keyboard test screen with PETSCII mapping; macros now record RETURN, cursor keys and F-keys.
Categorized menus, colour-distinguished file selector (directories, disk images, files), consistent accent theme, and visible transfer path so download and upload directories stay obvious.
Forty entries with host, port, alias, and terminal mode fields; per-board notes file; numeric quick-connect where configured.
Connection history with one-key redial, per-bookmark auto-login scripts (in a bookmark’s notes: login=w:Handle;s:name;cr;w:Password;s:secret;cr), automatic reconnect after any dropped line, and a new options panel. IPv6 support (IPv4 tried first for old boards), and Telnet negotiation in ANSI mode.
Bounded string handling on sensitive paths, filename validation for downloads, protocol length limits, Telnet IAC separated from raw transfer mode, and warning-clean builds on GCC and Clang.
Windows portable archive (settings now live in %APPDATA%); ready-made macOS app for Apple Silicon; Linux via make, make install and make uninstall. Native MinGW build on Windows, make test and make fuzz, and continuous integration on GitHub Actions.
Click a thumbnail for fullscreen. Keyboard: Tab to move focus, Enter to open, Escape to close the viewer.
Major update to the C64 BBS terminal MagerValp gave the scene. Same heart: real boards, PETSCII on glass, files in motion. The codebase is cleaned and runs on SDL 1.2 via sdl12-compat (on top of SDL2/SDL3); the polish nods to demoscene intros, modem-era mood, batch transfers, disk tools, and UI work for people who still enjoy watching bytes.
Respect forever to MagerValp for the original CGTerm and the BBS culture it stands for. Scene Edition: code m00p (Genesis*Project), music Mr.Death, support mermaid, QA Larry / Jucke / SkyHawk, and every sysop still running a C64 (or bridge) board.
Extract the zip and run cgterm.exe. Dependencies ship with the archive as documented in the bundle. Settings, bookmarks, notes and logs live in %APPDATA%\CGTerm.
Unzip and drag CGTerm.app to Applications. The app is signed but not notarized: on macOS 15 the first launch needs System Settings › Privacy & Security › Open Anyway (right-click › Open is no longer enough). Intel Macs: install SDL2 and libopenmpt (see README), unpack the source and run make.
tar xzf CGTerm-3.1-source.tar.gz cd CGTerm-3.1 make && sudo make installCGTerm-3.1-source.tar.gz Clone on GitHub
Feedback and discussion welcome on the board: telnet://bbs.retrohack.se:64128