Modern port of MagerValp's legendary C64 BBS terminal, released by Genesis Project in 2026. Same soul, modern systems.
CGTerm is the C64 BBS terminal originally written by Per Olofsson (MagerValp) in 2003. For two decades it has been the go-to client for connecting to elite Commodore 64 BBSes.
CGTerm 3.0 is a major overhaul: the codebase is cleaned, the foundation is lifted to modern SDL, and the client is extended with the features sysops, swappers and elites have been asking for. PETSCII on glass. Files in motion. Real boards.
File transfers and disk images
- Punter (single + Multi Punter batch)
- XMODEM, XMODEM-CRC, XMODEM-1K
- Rainbow protocol
- Read and write D64 / D71 / D81 disk images directly
- PETSCII-correct filename conversion (
.prg<->,p,.seq<->,s,.usr<->,u) - Transfer progress UI with live hex feed and cancel
Terminal
- PETSCII and ANSI (80 col) with runtime toggle
- Telnet IAC filtering for clean chat display
- Raw byte mode for transfer protocols (no IAC interference)
- Clipboard paste paced to baud (no BBS flood)
- Macro record and playback
- Keyboard profiles: US, SE, DE
- SEQ file posting with live PETSCII preview at 300 / 1200 / 2400 / 4800 / 9600 bps
Scene polish
- Demo-style splash: vectorballs, plasma, fire, rotozoom, wireframe morph
- Sine wave scroller with scene greetz
- XM/MOD tracker music via libopenmpt
- Modem theatre: fake AT dial sequence + V.34-ish carrier audio
- CRT power-off effect on quit
- 15 header and menu fonts, custom font converter (
tools/make_font.py)
Networking and UX
- Non-blocking connect (UI stays responsive during connection)
- ESC to cancel connection attempts, auto-reconnect
- 40-slot bookmark manager with notes per bookmark
- Overlay menu with categorized sections and timed dismiss
| Platform | Status |
|---|---|
| macOS (arm64 + x86_64) | Native .app bundle |
| Linux | make install, .deb-friendly paths |
| Windows | Portable zip (unzip and run) |
Cross-compilation from macOS to Windows via MinGW.
Grab the latest build from Releases.
Open the .app bundle. First launch may require right-click → Open (unsigned build).
sudo apt install libsdl1.2-dev libsdl-mixer1.2-dev libopenmpt-dev
make && sudo make installUnzip the portable archive and run cgterm.exe.
Requirements: SDL 1.2 (sdl12-compat is fine), libopenmpt, GCC or Clang, GNU make.
git clone https://github.com/unbreached/CGTerm-3.0.git
cd CGTerm-3.0
makeFull guide in INSTALL. Changelog in CHANGELOG.md. Rainbow protocol notes in docs/RAINBOW.txt.
Frozen Floppy BBS telnet://bbs.retrohack.se:64128
scene code........ m00p
music............. Mr.Death
support........... mermaid
ideas............. Larry
tested by......... hedning
original code..... MagerValp
Full greetz list in the classic README.
BSD 2-Clause. Same license as the original CGTerm by Per Olofsson. See LICENSE.
Copyright (c) 2003, Per Olofsson. (original CGTerm)
Copyright (c) 2026, The Genesis Project. (CGTerm 3.0 Scene Edition changes)
