PLASMA (Proto Language ASeMbler for All) version 2.0 released

1 post / 0 new
resman's picture
Last seen: 1 month 1 week ago
Joined: Feb 9 2006 - 12:41
Posts: 217
PLASMA (Proto Language ASeMbler for All) version 2.0 released

After plugging away at this for over 5 years, there needed to be a push to wrap up the remaining issues and release.


What is PLASMA?


PLASMA is a medium level programming language targeting the 8-bit 6502, with 16-bit support for the 65802/65816 processors. Historically, there were simple languages developed in the early years of computers that improved on the tedium of assembly language programming while still being low level enough for system coding. Languages like B, FORTH, and PLASMA fall into this category.

PLASMA is a combination of operating environment, virtual machine, just-in-time compiler and source-code compiler matched closely to the 6502 architecture. It is an attempt to satisfy a few challenges surrounding code size, efficient execution, small runtime and flexible code location. By architecting a unique bytecode that maps nearly one-to-one to the higher-level representation, the compiler can be very simple and execute quickly on the Apple II and /// for a self-hosted environment. There is a cross compiler for developing in modern unix-like environments. A modular approach provides for incremental development and code reuse. The syntax of the language is heavily influenced by assembly, Pascal, and C. The design philosophy was to be as simple as feasible while retaining flexibility and semantic clarity. You won't find any unnecessary or redundant syntax in PLASMA.


You can find all the code, documentation, and disk images on GitHub:


More documentation about the VM and libraries on the Wiki:


And a short video series for a simple introduction and demonstration of PLASMA: