magiblot/tvision is a cross-platform C++14 port of Borland’s Turbo Vision 2.0 TUI framework, adding Unicode support while preserving source-level compatibility with 1990s TV applications.
Key Takeaways
Builds as a static library (libtvision.a) via CMake on Linux/Windows (MSVC, MinGW) and still compiles with Borland C++ 4.52 for DOS/Win32 targets.
Unicode support was retrofitted into the original architecture between July-August 2020 using UTF-8 setlocale, avoiding wchar_t/TCHAR entirely and keeping char arrays throughout.
Ships built-in widgets: resizable overlapping windows, pull-down menus, dialog boxes, scroll bars, input boxes, checkboxes, radio buttons, plus event dispatching and fullwidth Unicode rendering.
Platform quirks are handled internally: bright background colors on Linux console require setting the blink attribute, which Turbo Vision does automatically so application code stays clean.
Available via vcpkg (./vcpkg install tvision) and as a CMake submodule with find_package; no stable release yet, maintainer recommends tracking latest commit.
Hacker News Comment Review
Commenters with hands-on experience report that pre-1993 TV source code compiles and runs with minimal changes, validating the backward-compatibility goal; one commenter built a Turbo Debugger-style LLDB frontend with it.
An alternative TUI framework, Final Cut (github.com/gansm/finalcut), was surfaced as a comparable modern option worth evaluating alongside tvision.
Notable Comments
@lepicz: successfully used tvision to build an LLDB debugger frontend mimicking Borland’s Turbo Debugger; notes a Scintilla-based internal editor with syntax highlighting is available.
@jgord: frames Turbo Vision as a “cultural treasure,” citing Borland’s compiler performance and documentation quality as formative for a generation of builders.