Update label addresses after INVERT_PIXEL grew by 6 bytes:
ADDR_GF_BUILD_TABLES 0x61CF→0x61D7
ADDR_MUL8 0x6839→0x6841
ADDR_DRAW_FINDER 0x648C→0x6494
ADDR_QR_ENCODE_DATA 0x66B8→0x66C0
ADDR_QR_INTERLEAVE 0x6849→0x6851
Add QR_ROW_OFFSET=7 / QR_COL_OFFSET=49 constants and apply them in
extractQrMatrix and all direct extractPixel calls that use logical QR
coordinates (T02-BEFORE, T02-AFTER, T12-AFTER). renderHgrScreen3x
reads raw HGR memory and is unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Commas are mid-sentence punctuation and should not cause a speech
dispatch. Hyphens were never in the set.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds CardVotrax, a subclass of CardSSC that routes Apple II serial
output to the host OS native TTS engine instead of a TCP socket:
- Buffers received characters; flushes to TTS on CR/LF or sentence-
ending punctuation (.,!?,:;) so speech is delivered phrase-by-phrase
- Speech runs on a dedicated daemon thread with a queue, so the
Apple II is never blocked waiting for synthesis to complete
- Configurable voice name and speech rate (-100..100); all SSC
baud/port/flow-control settings are suppressed from the config UI
- Forks jAdapterForNativeTTS (MIT) into jace.hardware.tts, supporting
macOS (say), Linux (spd-say), and Windows (PowerShell speech API)
- Adds field-shadowing support to Configuration.java so subclasses
can suppress inherited @ConfigurableField entries by re-declaring
the field without the annotation
- Exposes CardSSC.sendOutputByte as protected to allow subclass override
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Documents JACE terminal mode automation capabilities including all
commands, debugging techniques, and the $FC extended opcode interface.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds CardMegaFlash, a simulated expansion card implementing:
- Bluetooth mouse interface (12 commands, 0x60-0x6B)
- Math accelerator with MBF floating point (FADD, FMUL, FDIV, trig, log, exp, sqrt)
- Microsoft Binary Format (MBF) conversion utilities
- Full test suite covering all commands and math operations
- Registered as slot 4 default in Apple2e configuration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add bootdisk, showtext, expect, waitkey, type commands to terminal
- Add bd/st aliases for bootdisk/showtext
- Improve insertdisk/ejectdisk with filepath and slot arguments
- Disk II stability and drive improvements (DiskIIDrive, FloppyDisk, CardDiskII)
- Mass storage driver fixes
- Update Java version
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove bogus C7FF special case logic from Card.java that was interfering with normal card operation
- Remove CardMassStorage code that ignored firmware access at offset 0xFF
- Keep legitimate Card fixes: safety checks, null pointer prevention, and re-reads logic for correct ROM access
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implement RamAccessor utility for explicit memory bank control
- Add MemoryFlagListener for memory-configuration-aware event handling
- Create RAMEventWithFlags with detailed memory bank information
- Introduce MemorySwitch enum for precise bank switching control
- Enhance terminal mode with proper emulator initialization
- Improve command line argument processing with debug output
- Fix Card listener management and memory configuration issues
- Add extensive test coverage for new memory access functionality
- Update .gitignore to exclude Claude Code settings
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>