User Tools

Site Tools


sd-8516_stellar_basic_v1.0

This is an old revision of the document!


SD-8516 Stellar Basic V1.0

Dennis Allison’s 1975 article in Dr. Dobb’s Journal was a key moment in the history of Computer Science. It contained a formal specification of Tiny BASIC, a BASIC that could be implemented in less than 4 KB.

Stellar BASIC is very much in the same vein as Tiny BASIC, and is intended to evolve over time.

Core features

  • Line-numbered programs
  • `LET` (often optional)
  • `PRINT`
  • `INPUT`
  • `IF … THEN`
  • `GOTO`
  • `GOSUB` / `RETURN`
  • `FOR` / `NEXT`
  • Integer arithmetic only (usually 16-bit)
  • Single-letter variables (`A`–`Z`)
  1. What’s usually removed
  • No floating-point math
  • No strings (or very limited strings)
  • No arrays (or extremely small ones)
  • No file I/O
  • Minimal error messages
  • Very limited editing commands

Some versions didn’t even store source code text—only tokenized forms.

  1. # Size

Typical Tiny BASIC interpreters:

  • 1–4 KB total
  • Some famous versions were under 2 KB
  • A few extreme versions fit in less than 1 KB

This was achieved through:

  • Hand-written assembly
  • Tokenization
  • Shared code paths
  • Aggressive simplification of syntax

  1. # Example: Tiny BASIC program

```basic 10 LET A = 1 20 PRINT A 30 A = A + 1 40 IF A ⇐ 10 THEN GOTO 20 50 END ```

Many Tiny BASICs would allow this even shorter form:

```basic 10 A=1 20 ?A 30 A=A+1 40 IF A⇐10 GOTO 20 ```

(`?` was often shorthand for `PRINT`.)

  1. # Notable Tiny BASIC implementations
  • Palo Alto Tiny BASIC (Dennis Allison)
  • Li-Chen Wang’s Tiny BASIC
  • 6800 Tiny BASIC
  • NASCOM Tiny BASIC
  • Apple I BASIC (inspired by Tiny BASIC ideas)
  • Micro-Soft 8080 BASIC (larger, but influenced by Tiny BASIC work)

Each one differed slightly, but all followed the “tiny, usable, interactive” idea.

  1. # Why Tiny BASIC matters

Tiny BASIC is important because it:

  • Made programming accessible on the *cheapest possible hardware*
  • Helped bootstrap the early microcomputer software ecosystem
  • Demonstrated how interpreters could be designed under extreme constraints
  • Influenced later minimal languages and embedded scripting systems

It’s often cited as an early example of open, shared language design, since many implementations were published openly in magazines.

  1. # In one sentence
Tiny BASIC is a deliberately minimal BASIC interpreter, typically fitting in a few kilobytes, designed to make interactive programming possible on the earliest and most constrained microcomputers.

If you’d like, I can:

  • Show a formal Tiny BASIC grammar
  • Compare Tiny BASIC vs Microsoft BASIC
  • Explain how a Tiny BASIC interpreter works internally
  • Show how to write your own Tiny BASIC in C or assembly
sd-8516_stellar_basic_v1.0.1767928114.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki