Skip to content

MBASIC User Interfaces

MBASIC offers four different user interfaces to suit different workflows and preferences.

Available Interfaces

📟 Curses UI

Full-screen terminal interface with split editor/output panes.

Best for: Interactive development, debugging, terminal workflows

Start with:

mbasic                # Default UI
mbasic --ui curses

Features: - Split editor/output view - Syntax highlighting - Real-time variable viewing - Visual debugger with breakpoints - Menu system (Ctrl+M)


💻 CLI Mode

Classic MBASIC command-line REPL interface.

Best for: Scripting, automation, authentic MBASIC experience

Start with:

mbasic --ui cli

Features: - Authentic MBASIC 5.21 command interface - Direct mode execution - Program mode with line numbers - File I/O operations - Classic Ok prompt


🖼️ Tkinter GUI

Native graphical interface with menus and toolbars.

Best for: Users who prefer graphical interfaces

Start with:

mbasic --ui tk

Features: - Native GUI widgets - Menu bar and toolbar - Syntax highlighting - Variable inspection window - Visual debugger


🌐 Web IDE

Browser-based interface accessible from any device.

Best for: Remote access, shared environments, cross-platform use

Start with:

mbasic --ui web

Then open: http://localhost:8080

Features: - Access from any browser - Three-pane layout (editor/output/command) - Automatic line numbering - In-memory filesystem - Session isolation


Comparison

Feature Curses CLI Tkinter Web Notes
Visual Editor
Split View
Debugger Limited Web: breakpoints, step, basic variable inspection (planned: advanced panels, watch expressions)
Variables Window Web: popup dialog, not persistent panel
Remote Access
Syntax Highlighting
Terminal Required
Browser Required

Choosing an Interface

For learning BASIC: - Start with Curses UI - full-featured and easy to use

For running existing programs: - Use CLI mode for authentic MBASIC experience

For GUI preference: - Try Tkinter GUI for native desktop experience

For remote/web access: - Use Web IDE for browser-based development


Beyond the Interpreter: The Compilers

All interfaces above run BASIC programs in interpreter mode. MBASIC-2025 also includes TWO production-ready compilers:

🔧 MBASIC Compilers - TWO complete compiler backends:

  • Z80/8080 Compiler - Compile BASIC to native .COM files for CP/M systems (8080 or Z80)
  • JavaScript Compiler - Compile BASIC to JavaScript for browsers and Node.js

Both compilers are 100% feature complete! The Z80/8080 backend generates real machine code with hardware access, while the JavaScript backend generates portable code for modern platforms.


Click any interface above to view detailed documentation, keyboard shortcuts, and feature guides.