1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2026-03-15 07:16:53 +00:00
Files
PLASMA/src
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-10-24 16:44:21 -07:00
2025-12-30 08:33:30 -08:00
2025-03-14 19:45:55 -07:00
2026-01-24 13:24:04 -08:00
2026-01-01 11:02:50 -08:00
2025-04-13 21:26:24 -07:00
2025-04-06 22:45:56 -07:00
2025-03-05 22:01:40 -08:00
2025-04-06 22:45:56 -07:00
2025-04-06 22:45:56 -07:00
2025-04-19 12:39:02 -07:00
2025-01-02 19:03:30 -08:00
2026-01-24 13:24:04 -08:00
2025-04-06 22:45:56 -07:00