1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2026-03-14 16:16:40 +00:00
Brendan Robert 3103d44635 Add MegaFlash hardware-accelerated FPU library (fpu_mf)
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.
2026-01-24 17:36:30 -06:00
2025-11-27 17:36:41 -08:00
2025-03-20 17:35:34 -07:00
2022-05-08 21:20:26 -07:00
2025-10-18 18:50:43 -07:00

The PLASMA Environment has evolved: PLEIADES

(PLasma Enhanced InterActive Development EnvironmentS)

Pleiades 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:

  1. Increase evaluation stack size to 32 entries for more complex algorithms
  2. Support longer lines and line continuations in PLASMA compiler
  3. Add 80 column (and greater) video mode to text editor and console I/O
  4. Increase editor max line length to 127 characters
  5. Greatly improve text loading performance of text editor
  6. PLVM, the Portable PLASMA VM, now runs modules with 6502 code
  7. Bug fixes and performance improvements to FORTH and LISP interpreters
  8. Suite of libraries and utilities for Double Hires GRaphics development
  9. Simple command file execution

The combination of all these enhancements make PLEIADES an efficient environment for programming and interacting with a 6502 computer.

Documents:

YouTube Video Series

Disk Images:

Description
Proto Language AsSeMbler for All (formerly Apple)
Readme 2.1 GiB
Languages
Assembly 42.1%
C 36.8%
Shell 8.9%
Makefile 4.4%
Forth 3%
Other 4.8%