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
David Schmenk
e2ef600dd2
Add visibility algorithm to solving
2026-01-24 13:24:04 -08:00
David Schmenk
51a33d5750
Timer divisor measured on actual //c
2026-01-03 14:56:37 -08:00
David Schmenk
a9befc3b37
Improved maze generation and timer result
2026-01-03 13:59:08 -08:00
David Schmenk
e968a5911f
Further random number improvements
2026-01-02 20:04:45 -08:00
David Schmenk
2522d1faab
Play again option
2026-01-02 17:47:17 -08:00
David Schmenk
2239b6de9e
Force 40 column mode before HGR
2026-01-02 15:56:01 -08:00
David Schmenk
0424867ead
Maze game and improve random numbers
2026-01-02 14:39:51 -08:00
David Schmenk
0d4b0f9607
Change autorun script
2026-01-01 11:02:50 -08:00
David Schmenk
6bc88b8f7d
Change volume label
2025-12-30 19:14:05 -08:00
David Schmenk
ff175b5d1e
Script cleanup
2025-12-30 08:33:30 -08:00
David Schmenk
dd545c7aa5
Improve starbusrt visual
2025-12-29 16:32:02 -08:00
David Schmenk
102b1ef652
Happy New Year 2026 demo
2025-12-29 13:43:58 -08:00
David Schmenk
c143596032
run turtle graphics demo in PLFORTH disk image
2025-12-22 07:29:47 -08:00
David Schmenk
e3550d4a83
Add fixed point move routine and sample
2025-12-21 17:27:53 -08:00
David Schmenk
d6a51f4656
Update turtle graphics sample
2025-12-20 21:40:15 -08:00
David Schmenk
5830f8b34e
Add to turtle graphics demo
2025-12-20 15:08:32 -08:00
David Schmenk
eafd2df444
Fix resetting of lastsym after execmod
2025-12-20 13:38:36 -08:00
David Schmenk
34bc475d16
Add TXTMODE word
2025-12-20 09:18:41 -08:00
David Schmenk
2d419672e0
Tweak line clip outcode checks
2025-12-15 20:15:59 -08:00
David Schmenk
9c76ea92c3
Simplify turtle API
2025-12-11 18:28:45 -08:00
David Schmenk
d35774eac4
Use high precision cos for RGB->DHGR Conversion
...
Add some raster op routines for FORTH turtle graphcis
2025-12-10 15:23:30 -08:00
David Schmenk
f987458a15
Use fractional coordinates to improve angular movement accuracy
2025-12-09 09:47:34 -08:00
David Schmenk
1286daff45
Why am I having problems editing this script?
2025-12-07 14:57:52 -08:00
David Schmenk
9891eec8cd
Why haven't I ever had the problem with the filename before?
2025-12-07 14:39:06 -08:00
David Schmenk
2955e07d93
Fix TEXT hack to check that it is already defined
2025-12-04 04:36:44 -08:00
David Schmenk
786bb692f6
Hack fix for crashing textmode set from hgrlib
2025-12-04 04:28:51 -08:00
David Schmenk
c4b98f1866
Increase symbol table and increase free memory for 64K VM
2025-12-03 19:57:24 -08:00
David Schmenk
6b4017abb1
Fix extended clip line error and add mixed hires mode turtle
2025-12-03 09:02:22 -08:00
David Schmenk
1413ddd30a
Fix sin/cos accuracy
2025-12-02 17:51:09 -08:00
David Schmenk
73bf667236
make FORTH callable from PLASMA
2025-12-02 16:28:51 -08:00
David Schmenk
1dd707dcee
Remove unused tilebuf init
2025-12-02 10:01:51 -08:00
David Schmenk
43c5ed5839
Break out HGR libraries into separate includes for memory savings
2025-12-02 09:59:34 -08:00
David Schmenk
ca87c5b678
Update turtle test
2025-12-01 19:55:16 -08:00
David Schmenk
af2e3143f6
Add rounding to sin/cos calc to improve accuracy
2025-12-01 19:24:44 -08:00
David Schmenk
15488e61c7
Add hires turtle graphics sample
2025-12-01 17:51:04 -08:00
David Schmenk
4172c2c5e4
Move and increase symbol table
2025-12-01 16:53:04 -08:00
David Schmenk
77b94b0339
Initial turtle graphics library
2025-12-01 11:06:58 -08:00
David Schmenk
35dd0f0eb5
add SINCOS include
2025-11-30 13:58:45 -08:00
David Schmenk
d4d8fab650
add scaled sin/cos calculation
2025-11-29 17:19:19 -08:00
David Schmenk
a24ff6cc10
Add delay to portio.4th
2025-10-30 14:49:24 -07:00
David Schmenk
1647a06a21
Fix readport again
2025-10-30 14:37:38 -07:00
David Schmenk
997ab30f44
Fix portRead
2025-10-30 14:30:16 -07:00
David Schmenk
3271c85306
Optimize portio
2025-10-30 13:56:51 -07:00
David Schmenk
76f5915a98
remove wav files
2025-10-24 16:44:21 -07:00
David Schmenk
98f45b33dc
Take 2 for PCM playback
2025-10-24 16:41:12 -07:00
David Schmenk
a9a346b3b6
Somewhat passable PCM player
2025-10-20 15:34:54 -07:00
David Schmenk
f1bff1e05d
Fix initial line number in Editor command line processing
2025-10-18 11:54:51 -07:00
David Schmenk
3d9ac64b21
MouseText UI WIP
2025-10-17 19:20:37 -07:00
David Schmenk
7d090a92f6
Initial MouseText UI library
2025-10-16 12:41:22 -07:00