• Please review our updated Terms and Rules here

PLASMA (Proto Language ASeMbler for All) version 2.0 released

mmphosis

Member
Joined
Feb 6, 2015
Messages
13
PLASMA (Proto Language ASeMbler for All) version 2.0 released (macgui.com)

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.
 
I posted this in the Programming group, but since mmphosis posted here as well, here are additional links. Note that the PLASMA environment is also useful as just a command line interface to ProDOS and has some useful file handling utilities for copying, deleting, renaming files and creating directories all without running large cumbersome ProDOS system utilities. It can also launch ProDOS programs directly.


You can find all the code, documentation, and disk images on GitHub: https://github.com/dschmenk/PLASMA

More documentation about the VM and libraries on the Wiki: https://github.com/dschmenk/PLASMA/wiki

And a short video series for a simple introduction and demonstration of PLASMA: https://www.youtube.com/playlist?list=PLlPKgUMQbJ79VJvZRfv1CJQf4SP2Gw3yU
 
Back
Top