2026-02-15 16:56:02 -05:00
|
|
|
# Roadmap
|
|
|
|
|
|
|
|
|
|
## Planned Features
|
|
|
|
|
|
2026-02-22 14:09:18 -05:00
|
|
|
- **BSAVE / BLOAD** — binary file save/load for screen buffers and data
|
|
|
|
|
- **DEF SEG** — memory segment declaration for PEEK/POKE/BSAVE/BLOAD
|
|
|
|
|
- **PRINT USING edge cases** — `**` asterisk fill, `**$` combined
|
2026-02-15 16:56:02 -05:00
|
|
|
- **Binary SAVE/LOAD** — Protected (,P) and tokenized binary formats
|
2026-02-22 14:09:18 -05:00
|
|
|
- **GET/PUT graphics** — 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
|
2026-02-22 12:18:17 -05:00
|
|
|
function keys, matching the original two-byte encoding
|
2026-02-22 14:09:18 -05:00
|
|
|
- **VIEW / WINDOW / PALETTE** — graphics viewport, coordinate mapping, and palette
|
2026-02-15 16:56:02 -05:00
|
|
|
|
|
|
|
|
## IDE and Notebook Integration
|
|
|
|
|
|
2026-02-22 14:09:18 -05:00
|
|
|
- **Jupyter kernel for GW-BASIC** — a Jupyter Notebook kernel that runs
|
2026-02-15 16:56:02 -05:00
|
|
|
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](https://github.com/evvaletov/foxkernel).
|
2026-02-22 14:09:18 -05:00
|
|
|
- **JetBrains plugin (IntelliJ/CLion)** — full-featured language plugin with
|
2026-02-15 16:56:02 -05:00
|
|
|
syntax highlighting, code completion, line number navigation, run
|
|
|
|
|
configurations, debugger integration (breakpoints via `STOP`, variable
|
|
|
|
|
inspection), structure view (line number outline), and error annotations.
|
2026-02-22 14:09:18 -05:00
|
|
|
- **VS Code extension** — language extension providing syntax highlighting
|
2026-02-15 16:56:02 -05:00
|
|
|
(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)
|
2026-02-22 14:09:18 -05:00
|
|
|
- `PEEK`/`POKE` are stubs (POKE parses and discards, PEEK returns 0)
|
2026-02-15 16:56:02 -05:00
|
|
|
- String garbage collection not implemented (uses `malloc`/`free` instead)
|
2026-02-22 14:09:18 -05:00
|
|
|
- Maximum 256 variables, 64 arrays, 16 FOR nesting, 24 GOSUB nesting, 16 WHILE nesting
|
|
|
|
|
- Hardware I/O (OUT, INP, WAIT, COM, MOTOR) not implemented — no modern equivalent
|