Files
gw-basic-2026/docs/roadmap.md
T
Eremey Valetov ad21350003 Add full-screen TUI editor, DOSBox-X compat testing, rename to GW-BASIC 2026
Authentic GW-BASIC screen editor with 25x80 buffer, free cursor movement,
enter-on-any-line, F1-F10 function keys, Insert/Overwrite toggle, KEY
ON/OFF/LIST statement, and Ctrl+Break handling. HAL pointer swap routes
all PRINT/LIST/error output through the TUI automatically. Piped mode
unchanged (50/50 tests pass).

Adds automated compatibility testing infrastructure: DOSBox-X headless
config, PRINT-to-file transform script, and run_compat.sh with --generate
and --compare modes for verifying output against real GWBASIC.EXE.

Project renamed from gwbasic-c to GW-BASIC 2026.
2026-02-22 12:18:17 -05:00

1.7 KiB

Roadmap

Planned Features

  • PRINT USING edge cases — Thousands separator (,), ** asterisk fill, **$ combined, ^^^^ scientific notation, & full-string format
  • Binary SAVE/LOAD — Protected (,P) and tokenized binary formats
  • DEF SEG / PEEK / POKE — Memory-mapped I/O emulation for common BIOS/screen addresses
  • GET/PUT — Sprite capture and blit for graphics mode
  • TUI color support — Map GW-BASIC COLOR attributes to ANSI 16-color output
  • INKEY$ extended keys — Return CHR$(0) + scan code for arrow keys and function keys, matching the original two-byte encoding

IDE and Notebook Integration

  • Jupyter kernel for GW-BASIC — A Jupyter Notebook kernel that runs GW-BASIC programs cell-by-cell, with rich output for PRINT, inline graphics rendering for drawing commands, and interactive INPUT via notebook widgets. Similar in spirit to foxkernel.
  • JetBrains plugin (IntelliJ/CLion) — Full-featured language plugin with syntax highlighting, code completion, line number navigation, run configurations, debugger integration (breakpoints via STOP, variable inspection), structure view (line number outline), and error annotations.
  • VS Code extension — Language extension providing syntax highlighting (TextMate grammar), snippets, run/debug tasks, integrated terminal runner, and Language Server Protocol support for diagnostics and hover info.

Known Limitations

  • No binary/protected file format support (ASCII only)
  • PEEK/POKE are no-ops
  • String garbage collection not implemented (uses malloc/free instead)
  • Maximum 256 variables, 64 arrays, 16 FOR nesting, 24 GOSUB nesting