The content of this website is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Australia (CC BY-NC-SA 3.0)

MMBasic Home Page

MMBasic is a free and open BASIC interpreter for 32 bit microcontrollers.

It includes floating point numbers, extensive string handling, multi dimensional arrays and structured programming features like do loops, multiline if statements, user defined subroutines and functions.

MMBasic is generally backwards compatible with Microsoft's MBASIC and implements much of the ANSI Standard for Full BASIC (X3.113-1987).

 

MMBasic was originally developed for the Maximite.  A small self contained computer that emulated the early personal computers of the 80s like the Tandy TRS-80 and Commodore 64.

It is an interpreted language.  It allows you to type in your program and test it immediately, in fact you can test most elements of the language by just typing them in at the prompt and seeing the result.  It is fully self contained, there is no compiler, operating system or host computer... you just enter your program and run it.

Over time MMBasic has evolved into a productive language with an emphasis on ease of use.  The tradeoff is speed - it is not as fast as a compiled language but at about 35µS per command (on a PIC32) it is plenty fast for most uses.

MMBasic is written in ANSI C.  It requires a 32 bit microcontroller and uses about 94KB of program space (flash memory) and as little as 16KB RAM.  It was originally written for the Microchip PIC32 series of microcontrollers but has been ported to DOS and other ports are underway. 

A feature of MMBasic is that it is very easy to add new commands, functions and operators and this allows the language to be customised for special needs.  As a result it has been adopted by equipment manufacturers who are designing it into products that need a simple, user friendly, programming language.

Find Out More

To navigate this site you can select from the menu items on the left or follow the suggestions below.

For a start you should read the overview of MMBasic.  This will give you an overview of the language and its strengths and weaknesses.

Following this you will probably like to test MMBasic in action... so download the DOS executable and give it a go.  Just extract MMBasic.exe from the zip and run it under Windows XP/Vista/7, no installation is required.

The source code is freely available and can be requested on this page.