Skip to content

Developer Documentation

This section contains implementation notes, design decisions, and development history for the MBASIC project.

Last Updated: 2026-08-21 Total Documents: 52

What's Here

This directory contains documentation for developers working on MBASIC:

  • Implementation Notes - How features were implemented
  • Design Decisions - Why things work the way they do
  • Testing Documentation - Test coverage and methodologies
  • Work in Progress - Current development tasks
  • Bug Fixes - Historical fixes and their explanations

Organization

Documents are organized chronologically as they were created during development. Use the search function or browse by topic below.

For Contributors

If you're contributing to MBASIC: 1. Read .claude/CLAUDE.md for coding guidelines 2. Check WORK_IN_PROGRESS.md for current tasks 3. Review relevant implementation docs before making changes 4. Add new docs here when implementing significant features

Z80/CP/M Toolchain

The compiler backend targets CP/M through a Z80 C toolchain and a CP/M emulator:

Role    Preferred   Supported alternate
C compiler  uc80 (+ um80, ul80) z88dk (zcc)
CP/M emulator   cpmemu  tnylpo

uc80 and cpmemu are the default pair. z88dk and tnylpo remain supported and are still the route for Microsoft Binary Format floats, true Intel 8080 output, and INP/OUT/WAIT port I/O — but they are not required. Read Toolchain Policy before editing any doc that names them, and Compiler Setup to install either pair.

Browse by Category

UI Implementation

Language Features

Testing & Quality

File I/O

Debugging & Errors

Settings & Configuration

Refactoring & Cleanup

Work in Progress

Other

See Also

  • MBASIC Help - User-facing documentation
  • Search function (top of page) - Find docs by keyword