Skip to content

Commit 01e7c9d

Browse files
ecliptikclaude
andcommitted
Bump version to v1.9.2 with CP437/ANSI-BBS support
Update version references (CMakeLists.txt, About dialog, About Flynn), CHANGELOG with full v1.9.2 release notes, and README/About Flynn with ANSI-BBS terminal type, SGR attributes, and expanded glyph coverage. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 41f2157 commit 01e7c9d

File tree

5 files changed

+77
-11
lines changed

5 files changed

+77
-11
lines changed

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,51 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [1.9.2] - 2026-03-10
6+
7+
### Added
8+
- CP437/ANSI-BBS terminal emulation for bulletin board systems
9+
- Full 256-entry CP437 lookup table mapping each byte to ASCII, Mac Roman,
10+
or QuickDraw glyph rendering
11+
- cp437_mode bypasses UTF-8 decoder for raw byte rendering, essential for
12+
BBS art using 0x80-0x9F range (C1 control code collision in UTF-8 mode)
13+
- ANSI-BBS terminal type in TTYPE negotiation, settings, preferences menu,
14+
and connect dialog — follows BBS community convention (ansi-bbs = CP437)
15+
- True SGR attribute rendering
16+
- Italic (SGR 3) via TextFace(italic)
17+
- Strikethrough (SGR 9) via horizontal line at cell mid-height
18+
- Dim (SGR 2) halves foreground RGB on color systems
19+
- Blink (SGR 5/6) promotes background to bright colors (DOS-style)
20+
- Bold-to-bright color promotion: SGR 1;30-37m promotes to bright colors
21+
(indices 8-15), matching standard ANSI/BBS behavior
22+
- UTF-8 CP437 fallback for BBSes that send raw CP437 bytes despite
23+
xterm-256color TTYPE negotiation
24+
- 57 new QuickDraw glyph primitives: double-line box drawing, mixed
25+
junctions, smileys, Greek/math symbols (160+ total primitives)
26+
- 18 fractional block element glyphs (U+2581-U+258F, U+2594-U+2595)
27+
- 60 sextant characters (U+1FB00-U+1FB3B) as 2x3 grid patterns
28+
- DNS-over-TCP fallback for NAT environments
29+
- Rendering diagnostic script (`scripts/render-test.sh`)
30+
31+
### Fixed
32+
- DNS resolution through NAT: Snow's DaynaPORT rewrites UDP source IPs,
33+
causing Flynn to reject valid DNS responses. Removed redundant source IP
34+
validation (txn_id match already authenticates responses)
35+
- Backspace sends BS (0x08) instead of DEL (0x7F) for BBS compatibility
36+
(Linux telnetd accepts both; BBSes universally expect BS)
37+
- Bytes 0xF8-0xFF silently dropped by UTF-8 parser — now route to CP437
38+
- Legacy Computing chars (U+1FB00-U+1FBFF) produced double '??' instead
39+
of single '?' (they are single-width, not wide)
40+
41+
### Changed
42+
- Glyph count: 103 → 160+ QuickDraw primitives
43+
- Dead code removal: 25 cases from boxdraw_to_dec() superseded by glyph
44+
tables, 3 cases from unicode_symbol_to_macroman(), dead block element
45+
fallback block (~50 lines, ~700 bytes recovered)
46+
- Performance: eliminated double cell fetch in draw_row() (~80K cycles/redraw
47+
saved on 68000), replaced dark shade MULU with shift operation
48+
- New source files: `cp437.c`, `cp437.h`
49+
550
## [1.9.1] - 2026-03-10
651

752
### Changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.9)
2-
project(Flynn VERSION 1.9.1)
2+
project(Flynn VERSION 1.9.2)
33

44
add_application(Flynn
55
src/main.c

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ No build toolchain required — just download and run.
2929
## Features
3030

3131
- **Multiple sessions** (up to 4 simultaneous windows)
32-
- **VT100/VT220/xterm/xterm-256color terminal emulation**
32+
- **VT100/VT220/xterm/xterm-256color/ANSI-BBS terminal emulation**
33+
- **CP437/ANSI-BBS mode** for bulletin board systems (full 256-char CP437 rendering)
3334
- **256-color support** on System 7 with Color QuickDraw (zero System 6 impact)
35+
- **SGR attributes**: bold, italic, underline, dim, strikethrough, blink, inverse
3436
- **UTF-8 with box-drawing, Unicode glyphs, emoji, and Braille patterns**
3537
- **Resizable window and scrollback** (80x24 up to 132x50)
3638
- **6 fonts** (Monaco 9/12, Courier 10, Chicago 12, Geneva 9/10)

docs/About Flynn

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
=====================================================
22
Flynn
33
Telnet Client for Macintosh
4-
Version 1.9.1
4+
Version 1.9.2
55
=====================================================
66

77
Connect your classic Macintosh to the modern world.
@@ -25,6 +25,13 @@ handles UTF-8 text, and provides all the keyboard
2525
mappings needed to work comfortably on the original
2626
Macintosh keyboard.
2727

28+
Flynn also supports CP437/ANSI-BBS mode for connecting
29+
to bulletin board systems (BBSes). The ANSI-BBS
30+
terminal type enables raw CP437 byte rendering for
31+
correct display of BBS ANSI art, including block
32+
elements, shade characters, and the full CP437
33+
character set.
34+
2835
On System 7 with Color QuickDraw, Flynn supports full
2936
256-color rendering (16 ANSI + 216 color cube + 24
3037
grayscale). Truecolor sequences are downgraded to the
@@ -86,10 +93,19 @@ Features
8693
quotes, em dashes, and other Unicode symbols
8794
- 256-color support on System 7 with Color QuickDraw
8895
(automatic detection, zero impact on System 6)
89-
- Unicode glyph rendering: 103 QuickDraw primitives
96+
- CP437/ANSI-BBS mode for bulletin board systems
97+
(full 256-character CP437 rendering, sextant and
98+
fractional block characters for BBS ANSI art)
99+
- True SGR attributes: italic, strikethrough, dim,
100+
and blink (DOS-style bright background on color)
101+
- Bold-to-bright color promotion for standard
102+
ANSI/BBS color rendering
103+
- Unicode glyph rendering: 160+ QuickDraw primitives
90104
(arrows, shapes, blocks, triangles, diamonds,
91-
circles, superscripts, subscripts, card suits),
92-
15 monochrome bitmap emoji, and braille patterns
105+
circles, superscripts, subscripts, card suits,
106+
double-line box drawing, sextants, fractional
107+
blocks), 15 monochrome bitmap emoji, and braille
108+
patterns
93109
- Alternate screen buffer for full-screen apps
94110
(vi, nano, less, tmux)
95111
- 96-line scrollback buffer with position indicator
@@ -104,7 +120,8 @@ Features
104120
- Six font choices: Monaco 9, Monaco 12, Courier
105121
10, Chicago 12, Geneva 9, Geneva 10
106122
- Per-session font and terminal type overrides
107-
- Terminal type: xterm, VT220, VT100, xterm-256color
123+
- Terminal type: xterm, VT220, VT100, xterm-256color,
124+
ANSI-BBS
108125
- Dark mode (white text on black background)
109126
- Custom DNS server configuration
110127
- Username auto-login
@@ -324,9 +341,11 @@ terminal type, networking, and display mode.
324341
Terminal Type
325342
~~~~~~~~~~~~~
326343
Choose the terminal type reported to the server:
327-
xterm (default), VT220, VT100, or xterm-256color.
328-
This controls which escape sequences the server
329-
sends. Changes take effect on the next connection.
344+
xterm (default), VT220, VT100, xterm-256color, or
345+
ANSI-BBS. The first four use UTF-8 text encoding;
346+
ANSI-BBS uses raw CP437 byte encoding for correct
347+
BBS ANSI art rendering. Changes take effect on the
348+
next connection.
330349

331350
Networking
332351
~~~~~~~~~~

resources/telnet.r

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ resource 'DITL' (130, "About Flynn") {
181181

182182
/* 3: App name + version */
183183
{10, 55, 30, 280},
184-
StaticText { disabled, "Flynn 1.9.1" };
184+
StaticText { disabled, "Flynn 1.9.2" };
185185

186186
/* 4: Machine type (set at runtime) */
187187
{33, 55, 49, 280},

0 commit comments

Comments
 (0)