REFERENCEALPHA · USE AT YOUR OWN RISK
Reference
Everything declarative lives in beeb-dev.ini; everything agentic lives behind the MCP server and the installed skills.
beeb-dev.ini
| Section | Key | Meaning |
|---|---|---|
[beeb-dev] | src_dir | Assemble every *.6502 here when no build script is declared. |
[beeb-dev] | build_dir | Output directory for discs and ROMs. |
[env:name] | platform | b-em. |
[env:name] | model | Model B, Master 128 or Master Turbo. |
[env:name] | tube | no | internal | external | turbo | a number. |
[env:name] | disc | Disc image to insert at launch. |
[env:name] | build_script | Optional; delegates the whole build. |
[env:name] | run_script | Optional; delegates the run (takes arguments, e.g. tools/run.sh master). |
[env:name] | rom_N | Sideways ROM image for slot N (e.g. rom_4 = ../egfx/build/EGFX.rom). |
[env:name] | paste | Keyboard paste at launch; \r presses Return. |
[env:name] | speed | B-em speed, e.g. 9 for -sp9 (500%). |
[assets] | dir | Asset root holding audio/ and text/. |
[assets] | audio_rom | 16 KB eAudio sideways ROM image. |
[assets] | audio_bank | Optional ROM bank; auto-assigned to a free bank otherwise. |
[assets] | rom_N | Sprite companion ROM (e.g. rom_5 = build/EGASSETS.rom). |
Built and runtime state lives per environment under .beeb-dev/runtime/<env>/. Companion and eAudio ROMs mount automatically into the generated B-em config, avoiding reserved banks 3, 4, 6, 14 and 15 and any collisions.
Language support
| Language | Files | Support |
|---|---|---|
| BeebAsm 6502 | .6502 | Syntax highlighting; folding for MACRO/IF blocks. |
| BBC BASIC | .bbc, .bas | Highlighting, DEF PROC/FN and loop folding, formatter (keyword casing + structural indent), star commands, hex. |
| Acorn Fortran | .for, .ftn | Fixed-form ISO Fortran: column-1 comments, labels, column-6 continuations, compilation-unit folding. |
| Acorn Pascal | .pas | ISO subset: { } / (* *) comments, {$I} directives, $ hex, BEGIN/END folding. |
| Acornsoft Lisp | .lsp, .lisp | S-expressions with Acornsoft builtins; top-level folding by paren balance. |
| Memory map | build/*-labels.txt | Address/label/region view parsed from beebasm -labels output. |
MCP tools
Run node <extension>/out/mcp/server.js <project-root> - bundled, zero-dependency, stdio. MCP is an open protocol; the same command works in every host. Beeb-dev: Copy MCP Server Config for AI Hosts clipboards the generic mcpServers JSON, which most hosts accept directly:
{ "mcpServers": { "beeb-dev": { "command": "node", "args": ["/path/to/out/mcp/server.js", "/path/to/project"] } } }| Host | Where it goes |
|---|---|
| Claude Desktop | claude_desktop_config.json, mcpServers key |
| Claude Code | .mcp.json in the project, or claude mcp add beeb-dev -- node …/server.js . |
| Cursor / Windsurf | .cursor/mcp.json / ~/.codeium/windsurf/mcp_config.json, same JSON |
| VS Code | .vscode/mcp.json, "servers" key |
| Codex CLI | ~/.codex/config.toml: [mcp_servers.beeb-dev] with command/args |
| Gemini CLI | .gemini/settings.json, mcpServers key |
| Zed | context_servers in settings.json |
| Kilo, OpenCode and other AGENTS.md readers | the host-native MCP store (kilo.json and friends) with the same JSON shape |
| Tool | Purpose |
|---|---|
beeb_project_info | Environments, model, disc and ROM layout of the project. |
beeb_build | Run the declared build for an environment. |
beeb_run | Launch B-em for an environment. |
beeb_memory_map | Read the assembled label/memory map. |
beeb_list_sprites | Enumerate discovered sprite packs and frames. |
beeb_list_assets | Enumerate audio, text and ROM-bank assets. |
beeb_read_screen | Read a .bscreen layout. |
beeb_export_screen | Export a screen as EGFX or VDU code. |
beeb_compile_basic | Compile supplied BASIC text with the experimental native subset; returns assembly, diagnostics and an optimisation report. Writes no files and runs nothing. |
AI skills
Beeb-dev: Install AI Skills Into Workspace writes the six skills - beeb-build, beeb-run-debug, beeb-deploy, beeb-memory, beeb-screen-assets, beeb-cohort-testing - plus the beeb-project startup skill and BBC startup handbook, wherever your agents read them: an AGENTS.md template (created if the workspace has none; read by Codex, OpenCode, Cursor, Zed and most other coding agents), .claude/skills/ for Claude Code and .kilo/skills/ for Kilo. Gemini CLI users can point GEMINI.md at the same AGENTS.md. The skills describe how to build, run, debug, budget memory and edit screens/sprites in this project, so any agent gets the workflow, not just the tools.
Formats
- OSWORD
&C0, signatureEG, transport v1 - the same 64-byte block documented in the EGFX assembly reference; parameter block&2A00..&2A0D. - EGSP packs - EGFX 0.6 reads only v3: a nine-byte header (
EGSP, version 3, frame count, width, height, bits per pixel), then all pixel frames, then all mask frames. Square frames of 2, 4, 8, 16 or 32 pixels; rows areceil(width×bpp/8)bytes. Mask 00 writes the pixel’s colour (including black), 11 keeps the background. The older v1 (pre-shifted 16×16) and v2 layouts are obsolete. - Companion ROMs - sprite packs ride at file offset
0x100in a 16 KB image (e.g.EGASSETS.rom); eAudio is a plain 16 KB ROM. Future ROMs register the same way.