- Add jit_stub.c: no-op JIT API when HAVE_LIGHTNING is not set; rk65c02_run_jit
runs interpreter loop so start() still works.
- src/Makefile: HAVE_LIGHTNING ?= 1; with 0 use jit_stub.o, no -llightning/-DHAVE_LIGHTNING.
- jit.c: remove #else branch from rk65c02_jit_enable (file only built with Lightning).
- examples/test Makefiles: LDFLAGS use $(if $(NO_LIGHTNING),,-llightning); test adds
-DHAVE_LIGHTNING when not NO_LIGHTNING.
- test_mmu.c: register mmu_demand_page_jit only #ifdef HAVE_LIGHTNING.
- README: document building with or without JIT (HAVE_LIGHTNING=0, NO_LIGHTNING=1).
Made-with: Cursor
This keeps warnings distinct from info, confines optional JIT/test diagnostics behind debug gates, and removes stale comment/build-artifact clutter so normal runs stay clean and readable.
Made-with: Cursor
Introduce an optional WAI-only host wait callback API with interpreter/JIT loop support, add regression tests and an idle_wait example, and align Doxygen docs to describe callback and IRQ wake semantics clearly.
Made-with: Cursor
Add native JIT handlers for BBR/BBS, RMB/SMB, and TRB/TSB while tracking fallback/write/invalidation metrics, and replace run-wide write disable with span-based block invalidation plus a cross-entry self-mod regression test.
Made-with: Cursor
Bail out of compiled execution after write-capable native instructions disable JIT so patched bytes are not executed stale in the same block, persist caller JIT preference across start calls, and add a dedicated self-modifying code regression test.
Made-with: Cursor
Bound JIT cache growth and safely fall back after native stores to handle self-modifying functional ROM code, then correct BBR/BBS test expectations to use the 3-byte instruction base.
Made-with: Cursor
Adapt the imported suite to the rk65c02 memory layout, add an ATF/Kyua harness with PC-trap pass/fail detection, and fix emulator correctness issues surfaced by the suite (LDX ZP,Y size, PLX/PLY flags, zero-page wrapping, and BBR/BBS branch base).
Made-with: Cursor
Expose stop/tick/request-stop APIs, keep host control active at JIT block boundaries, and document the control model with a fuller host example plus dependency-aware builds.
Made-with: Cursor