Skip to content

About

MSX BASIC to ROM compiler tool

Resources

Code of conduct

Contributing

Stars

60 stars

Watchers

13 watching

Forks

Latest commit

 

History

654 Commits

Folders and files

Repository files navigation

MSXBAS2ROM — MSX-BASIC to ROM Compiler

Compile your MSX-BASIC programs into ROMs with ease — for use in emulators or real MSX hardware.
Fast, flexible, and open source.

Spec-Driven Development


💡 WHAT IS MSXBAS2ROM?

MSXBAS2ROM is a powerful, open-source, cross-platform compiler for MSX-BASIC, developed in C++ within the VSCode IDE.

Designed as a command-line tool (CLI), it offers seamless execution from the terminal and easy integration with any development environment, giving developers full control over compiling their MSX-BASIC programs into ROMs.

📥 INSTALL

On the releases project area you will find binaries and install packages for Linux, Windows (32 and 64 bits) and macOS.

Get a detailed How-To on the Installation project wiki page.

⚙️ USAGE

Use command below in a terminal to compile your MSX-BASIC program from plain text code into a ROM file.

msxbas2rom test.bas

To test your brand new MSX-BASIC ROM file, use an emulator like WebMSX or OpenMSX:

Run it at command line to get more compiling options:

msxbas2rom

See more on the Getting Started project wiki page.

📚 VERSION HISTORY AND REFERENCE GUIDE

See the current version with command line below:

msxbas2rom -v

A Reference Guide can be listed too:

msxbas2rom --doc

🧠 WANT TO KNOW MORE?

See the Main project wiki page for more information.

📐 SPECIFICATIONS

Project specifications, requirements, and architectural decisions are maintained in the openspec/ directory using the OpenSpec format:

  • openspec/specs/<capability>/spec.md — Capability specifications (lexer, parser, compiler, builder, CLI, ON statements, file handling, sprites handling, architecture, governance, glossary)
  • openspec/changes/ — Active and archived changes with proposal, design, and task artifacts

🧑‍💻 DEVELOPER ONBOARDING

New contributors should start with Architecture and Developer Guide. It explains the layered architecture, the end-to-end compilation pipeline, how the Z80 kernel is built and packed into the ROM, and how to add or change MSX-BASIC statements and functions.

❤️ SUPPORT THE PROJECT!

Support us on Patreon, Catarse.me, PayPal or Brazilian PIX, so we can buy AI coding agent token credits and new resources (ex: msx related hardware) to help us to speed up in coding new functionalities and test bug fixes.

See the Support project wiki page for more information.

Follow me on LinkedIn.

🚀 SUPPORTERS SPECIAL THANKS

  • Luciano Cadari (iPlay);
  • Mario Cavalcanti (ClubeMSX);
  • Pedro de Medeiros;
  • Claudio Pinheiro;
  • Diogo Patrao;
  • Paulo Goncalves;
  • Gilberto Taborda;
  • Ronaldo Prado;
  • Julio Berrincha.

MSXBAS2ROM — Create a ROM file from your old MSX-BASIC code!

About

MSX BASIC to ROM compiler tool

Resources

Code of conduct

Contributing

Stars

60 stars

Watchers

13 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages