This commit adds optional hardware floating-point acceleration for PLASMA programs running on Apple IIc/IIc+ systems with MegaFlash storage devices. New Features: - fpu_mf.pla: Drop-in replacement for fpu.pla with hardware acceleration - API-compatible with existing fpu.pla library - Automatic hardware detection and transparent SANE fallback - 10-100x speedup for transcendental functions (sin, cos, tan, log, exp) - 3-5x speedup for multiplication and division New Files: - src/inc/megaflash.plh: MegaFlash hardware constants - src/libsrc/fpu_mf.pla: Hardware-accelerated FPU library - src/libsrc/README_fpu_mf.md: Library documentation - src/samplesrc/fptest_mf.pla: Comprehensive test program - MEGAFLASH_FPU.md: Integration overview and PR documentation Usage: Users can switch from 'import fpu' to 'import fpu_mf' with no other code changes required. Programs work on all systems (with or without MegaFlash hardware). Backwards Compatibility: - No changes to existing PLASMA code - Opt-in only - existing programs unchanged - Works on all Apple II systems (fallback to SANE if no hardware) Technical Details: - Automatic format conversion (SANE Extended <-> MBF) - Hardware operations: mul, div, sqrt, sin, cos, tan, atan, ln, exp - SANE fallback for unsupported operations - MegaFlash detection via ID register () See MEGAFLASH_FPU.md for complete documentation.
The PLASMA Environment has evolved: PLEIADES
(PLasma Enhanced InterActive Development EnvironmentS)
image credit: NASA, ESA, AURA/Caltech, Palomar Observator
PLASMA has grown from a language compiler to a full featured interactive environment for developing and running applications on a 6502 computer. Currently the Apple // series and the Apple /// are fully supported. With the addition of FORTH and LISP to the PLASMA ecosystem as well as support for assembly programming with EDASM and even a bugfix so AppleSoft can run from the PLEIADES command line, a new designation for the expanded functionality seems in order. PLEIADES incorporates many feature improvements and bug fixes from the previous PLASMA 2.11 release. Here a some of the biggest updates:
- Increase evaluation stack size to 32 entries for more complex algorithms
- Support longer lines and line continuations in PLASMA compiler
- Add 80 column (and greater) video mode to text editor and console I/O
- Increase editor max line length to 127 characters
- Greatly improve text loading performance of text editor
- PLVM, the Portable PLASMA VM, now runs modules with 6502 code
- Bug fixes and performance improvements to FORTH and LISP interpreters
- Suite of libraries and utilities for Double Hires GRaphics development
- Simple command file execution
The combination of all these enhancements make PLEIADES an efficient environment for programming and interacting with a 6502 computer.
Documents:
- PLASMA Language and Compiler
- PLASMA Command Line, Implementation Details and Libraries
- PLFORTH - FORTH for PLEIADES
- DRAWL - LISP 1.5 for PLEIADES
- PLEIADES Text Editor
YouTube Video Series
- Welcome to PLEIADES
- Modern Retrogramming with PLASMA
- KansasFest 2025 - DHGR image conversion in PLASMA
Disk Images:
- 140K Single Disk Bootable FORTH
- 140K Single Disk Bootable LISP
- 140K ASM Toolkit
- 140K DHGR Toolkit
- 1/6 - 140K PLEIADES Install Boot
- 2/6 - 140K PLEIADES System
- 3/6 - 140K PLEIADES Networking
- 4/6 - 140K PLEIADES Demos
- 5/6 - 140K PLEIADES Floating Point & Apple /// SOS
- 6/6 - 140K PLEIADES Build
- 32 MB PLEIADES Full Install including DHGR Toolkit
- 140K Apple /// MAME Boot
- 16 MB Apple /// MAME Hard Disk