6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Apr 27, 2024 6:46 am

All times are UTC




Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Fri Mar 24, 2023 7:41 pm 
Offline

Joined: Sat Dec 12, 2015 7:48 pm
Posts: 122
Location: Lake Tahoe
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: 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/watch?v=_JEqbcz ... p=gAQBiAQB

Enjoy!


Top
 Profile  
Reply with quote  
PostPosted: Fri Mar 24, 2023 9:43 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
Great - congrats at v2.0!


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 15, 2024 10:25 pm 
Offline

Joined: Sat Dec 12, 2015 7:48 pm
Posts: 122
Location: Lake Tahoe
PLASMA 2.1 Released
A great number of performance and reliability improvements. The big feature update is PLFORTH, a FORTH language module for PLASMA that makes FORTH a first class citizen to the PLASMA environment. Many on-the-metal programming tools for software development or use PLASMA as a command line interface with a full suite of file manipulation tools and program launcher.

VMs for 64K 6502, 128K 6502, and 128K 65802/65816 including a JIT compiler for on-the-fly bytecode -> machine code translation. Floating point operations by way of the 80 bit extended SANE (Standard Apple Numerics Environment) library.

https://github.com/dschmenk/PLASMA


Top
 Profile  
Reply with quote  
PostPosted: Wed Feb 28, 2024 3:36 pm 
Offline

Joined: Sat Dec 12, 2015 7:48 pm
Posts: 122
Location: Lake Tahoe
A small update to version 2.11 that provides for assembly language development "on the metal" for PLASMA modules. Available at above link with a quick video walk through: https://youtu.be/FR0Ul4BYPuU?si=52h-2iGxpXamaX9U


Top
 Profile  
Reply with quote  
PostPosted: Wed Feb 28, 2024 5:31 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
Thanks for the video explanation!


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 29, 2024 3:38 pm 
Offline

Joined: Sat Dec 12, 2015 7:48 pm
Posts: 122
Location: Lake Tahoe
BigEd wrote:
Thanks for the video explanation!


I always feel the need to apologize for my videos ;-)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 18 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: