mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-28 02:56:36 -04:00
55cec09acd
The sljit Tier-2 in-process JIT was replaced by the tcc tier inc2a3f6ad(2026-06-25) and removed outright in5b7e69b4(2026-07-15). That removal reworded the C-level comments but touched no markdown, so the prose still described sljit as a live, default-on backend. Backends today are static -> gcc -> tcc: gcc is the development default when it is on PATH, tcc is the toolchain-free path for players. Both are external compilers invoked as a subprocess that produce a DLL; neither is an in-process JIT. docs/ARCHITECTURE.md, docs/BUILDING.md, docs/EXECUTION_MODEL.md, docs/COMPILING_OVERLAYS.md and README.md already said this correctly and are unchanged here. - THIRD_PARTY_ATTRIBUTION.md: the sljit entry claimed code vendored at lib/sljit/ and compiled into the runtime. That directory does not exist. Replaced with a TinyCC entry, which was missing entirely despite tcc being the compiler intended to reach end users. - docs/internal/SLJIT_PERSIST_CACHE.md: deleted. It documented the persisted shard cache of a subsystem that no longer exists, as "implemented" and "default-on". docs/internal/README.md updated to point at the current model instead of a dead link. - docs/ASYNC_OVERLAY_COMPILE.md: superseded-in-part header. Deliberately NOT rewritten sljit->tcc: the passages about serializing .sljit blobs, overlay_sljit_deserialize and an in-memory JIT registry describe a mechanism tcc never used, so renaming it would trade one false claim for another. The async worker/file-handoff design and the CPS work remain accurate. - docs/OVERLAY_CACHE_V2.md: sljit dropped from the dispatch priority chain. - ISSUES.md: Issue #7 closed as superseded — the backend it reported against was deleted rather than fixed. - docs/internal/COSIM_ORACLE.md: sljit_helpers left CPUState with the tier. - Dated session logs (RECURSION_BUG.md 25.5, BACKDROP_PRELOAD.md, ecosystem-watch.md) keep their narrative and get a pointer to the removal. One thing this does not fix: docs assert the tcc toolchain is "downloaded at release-packaging time and bundled beside the game exe". runtime/src/main.cpp does look for <exe_dir>/overlay_toolchain/, but no script in this repository creates it. The attribution entry now states only what the code does and notes that if packaging supplies the bundle, it happens outside this repo and must carry the TinyCC notice. Flagged rather than papered over. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
46 lines
2.4 KiB
Markdown
46 lines
2.4 KiB
Markdown
# Internal dev-logs & design notes
|
||
|
||
These are the working design documents and burn-down logs the project was built
|
||
from. They are **historical/working notes**, not contributor onboarding docs —
|
||
they capture decisions, phased plans, and deep subsystem investigations in the
|
||
order they happened, and some sections are superseded by later ones.
|
||
|
||
If you're new here, start with the top-level [`README.md`](../../README.md),
|
||
then [`docs/ARCHITECTURE.md`](../ARCHITECTURE.md),
|
||
[`docs/EXECUTION_MODEL.md`](../EXECUTION_MODEL.md),
|
||
[`docs/BUILDING.md`](../BUILDING.md), and
|
||
[`CONTRIBUTING.md`](../../CONTRIBUTING.md). Come here when you need the *why*
|
||
behind a specific subsystem.
|
||
|
||
## Plans & roadmap
|
||
- [`PLAN.md`](PLAN.md) — the original phased build plan (P1–P6).
|
||
- [`FAITHFUL_TIMING_PLAN.md`](FAITHFUL_TIMING_PLAN.md) — the authoritative
|
||
cycle-accuracy north-star plan and status log.
|
||
- [`FIRST_MILESTONE.md`](FIRST_MILESTONE.md) — the first-boot milestone gate.
|
||
- [`STUBS_TO_FIX.md`](STUBS_TO_FIX.md) — hardware-stub burn-down (pre-game gate).
|
||
|
||
## Cycle accuracy & timing
|
||
- [`PRECISE_IRQ_SLICE.md`](PRECISE_IRQ_SLICE.md) — exact-instruction IRQ delivery.
|
||
- [`CYCLE_MODEL_BEETLE.md`](CYCLE_MODEL_BEETLE.md) — the Beetle-derived cycle model.
|
||
- [`ACCURACY_BURNDOWN.md`](ACCURACY_BURNDOWN.md) — full accuracy burn-down across
|
||
all axes (semantics, cycle, IRQ, MMIO, peripherals, determinism).
|
||
- [`COSIM_ORACLE.md`](COSIM_ORACLE.md) — the first-divergence co-sim oracle.
|
||
|
||
## BIOS / scheduler
|
||
- [`HLE_SCHEDULER_CARVEOUT_PLAN.md`](HLE_SCHEDULER_CARVEOUT_PLAN.md) — the
|
||
cooperative-thread scheduler HLE carve-out.
|
||
- [`WEDGE_load4_shell_rootcause.md`](WEDGE_load4_shell_rootcause.md) — a specific
|
||
boot-shell wedge root-cause writeup.
|
||
|
||
## Renderer / widescreen
|
||
- [`GL_RENDERER_HANDOFF.md`](GL_RENDERER_HANDOFF.md) — OpenGL renderer design.
|
||
- [`NATIVE_WIDE_PLAN.md`](NATIVE_WIDE_PLAN.md) — native-wide 16:9 (GTE FOV) plan.
|
||
- [`BACKDROP_PRELOAD.md`](BACKDROP_PRELOAD.md) — widescreen backdrop preload.
|
||
|
||
## Overlay cache internals
|
||
- `SLJIT_PERSIST_CACHE.md` — **removed.** It described the persisted shard cache
|
||
of the sljit Tier-2 backend, which was deleted in `5b7e69b4` (2026-07-15).
|
||
For the current model see `runtime/src/overlay_loader.c` (per-entry candidate
|
||
validity), `tools/compile_overlays.py` (shard formation and the `.ranges`
|
||
manifest), and [`../COMPILING_OVERLAYS.md`](../COMPILING_OVERLAYS.md).
|