Matthew Stanley
19e526d57d
gpu: reject oversized hardware primitives
...
Apply the PS1 1023x511 size rule to every polygon triangle, line, and polyline continuation before widescreen transforms while preserving textured-command state latching.
Co-authored-by: Martin Penkava <mpenkava1337@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-14 18:35:07 -07:00
Matthew Stanley
928085d5fb
gpu: use exclusive PS1 software-raster edges
...
Adapt PR #14 's biased 32.32 triangle edge DDA and half-open bottom/right coverage across the software raster paths, with a focused pure edge-math regression test.
Source: https://github.com/mstan/psxrecomp/pull/14
Source-commit: https://github.com/mstan/psxrecomp/commit/91a654f61dff18806f3eea43f72a30cb34430695
Co-authored-by: Kareem Olim <kareemolim@gmail.com >
2026-07-14 18:34:32 -07:00
Matthew Stanley
35684c5385
gpu: recognize shaded-polyline terminators in either phase
...
Adapted from NyperYuhgard's PR #13 .
Co-authored-by: NyperYuhgard <93950153+NyperYuhgard@users.noreply.github.com >
2026-07-14 18:34:14 -07:00
Matthew Stanley
c2b9d467e5
runtime: discover decodable unmarked overlay code
...
Admit post-EXE RAM to the dirty interpreter only after a real control transfer and an existing MIPS decodability check. Keep the already-merged overlay initialization guard out of this focused change.
Co-authored-by: Martin Penkava <mpenkava1337@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-14 18:12:08 -07:00
Codex
347b6ffb01
Experiment with CPU-copied overlay discovery
...
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-14 16:13:29 -07:00
Codex
edc3fd4e30
Preserve one-frame debug input pulses
...
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-14 16:02:13 -07:00
Codex
b156770bbd
Configure the runtime OpenGL 3.3 core context
...
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-14 15:59:39 -07:00
Matthew Stanley
e247155cd6
overlay: use platform-native shared-library suffixes
...
Adapted from NyperYuhgard's PR #13 POSIX overlay work.
Co-authored-by: NyperYuhgard <93950153+NyperYuhgard@users.noreply.github.com >
2026-07-14 15:58:34 -07:00
Matt Stanley
e5b5e309b5
Merge pull request #30 from mstan/feat/debug-client-command-parity-douglas
...
tools: expose existing debug-server commands in the client
2026-07-14 15:29:50 -07:00
Matt Stanley
4e31c6b71d
Merge pull request #29 from mstan/feat/debug-analog-input-douglas
...
debug: expose analog input and stick status
2026-07-14 15:29:47 -07:00
Matt Stanley
b1759ee8e1
Merge pull request #28 from mstan/park/pr13-misaligned-dispatch-diagnostics
...
traps: enrich misaligned dispatch diagnostics
2026-07-14 15:29:44 -07:00
Matt Stanley
75691a4546
Merge pull request #27 from mstan/park/pr13-overlay-cache-inventory
...
overlay: add opt-in cache inventory telemetry
2026-07-14 15:29:40 -07:00
Matthew Stanley
7350f2413a
traps: enrich misaligned dispatch diagnostics
...
Adapted from NyperYuhgard's PR #13 .
Co-authored-by: NyperYuhgard <93950153+NyperYuhgard@users.noreply.github.com >
2026-07-14 10:20:08 -07:00
Matthew Stanley
43e5f286b3
overlay: add opt-in cache inventory telemetry
...
Adapted from NyperYuhgard's PR #13 .
Co-authored-by: NyperYuhgard <93950153+NyperYuhgard@users.noreply.github.com >
2026-07-14 10:19:54 -07:00
Matthew Stanley
7d1fadb07c
runtime: report simulated-vblank FPS telemetry
...
Adapted from NyperYuhgard's PR #13 .
Co-authored-by: NyperYuhgard <93950153+NyperYuhgard@users.noreply.github.com >
2026-07-14 10:19:50 -07:00
Codex
dbaebaf37a
Expose analog input through debug controls
...
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-14 10:01:12 -07:00
Codex
1211d09bf7
Expose existing debug server commands in the client
...
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-14 10:01:01 -07:00
Matthew Stanley
098b06e047
Merge remote-tracking branch 'origin/master' into feat/reachable-main-discovery-douglas
...
# Conflicts:
# docs/config_schema.md
# recompiler/CMakeLists.txt
# recompiler/src/main_psx.cpp
2026-07-14 00:09:56 -07:00
Matt Stanley
f7d6bf2149
Merge pull request #22 from mstan/feat/config-guarded-mips-patches-douglas
...
Add config-driven guarded MIPS patches
2026-07-14 00:05:13 -07:00
Matt Stanley
f88828327e
Merge pull request #18 from mstan/fix/posix-overlay-export-scan-douglas
...
Load cached overlay exports on POSIX
2026-07-14 00:03:48 -07:00
Matt Stanley
e94574a3d9
Merge pull request #21 from mstan/fix/msvc-generated-init-shaneomac
...
Add MSVC portability for runtime and generated startup
2026-07-14 00:03:44 -07:00
Matt Stanley
a03350fb68
Merge pull request #23 from mstan/fix/overlay-init-guard-shaneomac
...
Guard overlay entry points before initialization
2026-07-14 00:03:41 -07:00
Matt Stanley
23edb88b68
Merge pull request #20 from mstan/fix/cdrom-encoded-interrupts-kem0x
...
Fix encoded CD-ROM interrupt mask matching
2026-07-14 00:03:38 -07:00
Matthew Stanley
e7b61c807c
recompiler: add guarded config MIPS patches
...
Add alias-aware, opcode-verified game-owned instruction replacements before discovery and code generation. Validate duplicate IDs and physical sites, preserve guarded overlay variants, and cover parser and generated-code behavior with CTest.
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-13 21:59:18 -07:00
Matthew Stanley
bd705bfcec
Add bounded reachable main-EXE discovery
...
Adapt Douglas's opt-in reachable discovery onto current exact/static dispatch. Validate configured static-analysis bounds before truncation, preserve the whole-image default and canonical page reservations, and leave unresolved indirect or out-of-bound targets to runtime fallback.
Source: https://github.com/douglasjv/mm8
Source-commit: https://github.com/douglasjv/mm8/commit/8415f3a95458c41c7f48fbe36caaf0ee82730720
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-13 21:56:43 -07:00
Matthew Stanley
c0fa9b1e89
overlay: load cached exports on POSIX
...
Port Douglas Vanderveer's manifest-driven macOS/Linux overlay discovery onto the current cache index and exact-dispatch loader. Validate both filename key fields, preserve ABI cleanup and rescan idempotence, and cover the POSIX primitives with a real shared-library fixture.
Co-authored-by: douglasjv <vanderveerdouglas@gmail.com >
2026-07-13 21:52:25 -07:00
Matthew Stanley
5b8098a9d9
runtime: guard overlay loader before initialization
...
Adapt only the fail-closed overlay lifecycle checks from mstan/psxrecomp#16 commit e6809ccf7d . Add a focused structural regression test and record the excluded dirty-interpreter and game/runtime work.
Co-authored-by: Martin Penkava <mpenkava1337@gmail.com >
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-07-13 21:48:39 -07:00
Martin Penkava
05d4f35bd6
build: MSVC portability for runtime and generated code
...
- psx_cyc.h / psx_cycles.c: _BitScanForward/_BitScanReverse shims for
__builtin_ctz/__builtin_clz under _MSC_VER
- full_function_emitter.cpp / main_psx.cpp: emit a portable .CRT$XCU
init-pointer instead of GCC-only __attribute__((constructor)) in
generated dispatch/game code
- main.cpp: declare cross-language globals extern "C" so MSVC links
them against their C definitions (no-op for GCC/Clang)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-13 21:47:40 -07:00
Matthew Stanley
76ddcc008a
test(spu): pin END-only voice mute semantics
...
Document the overlap with kem0x PR #14 and explicitly record the game-specific and unrelated changes excluded from this branch.
Co-authored-by: Kareem Olim <kareemolim@gmail.com >
2026-07-13 21:40:11 -07:00
Matthew Stanley
52eb8e8a24
Fix encoded CD-ROM interrupt mask matching
...
Adapt the CD interrupt mask/status comparison from kem0x PR #14 and centralize it in a tested helper. The HC05 exposes numeric INT1..INT5 reasons but gates the line with a direct mask/status AND, so the common 0x07 mask must also pass INT4 and INT5.
Source: https://github.com/mstan/psxrecomp/pull/14
Source-commit: https://github.com/mstan/psxrecomp/commit/dd9e5c65073dd41fbac2d965d2f945a866ec59e2
Co-authored-by: Kareem Olim <kareemolim@gmail.com >
2026-07-13 21:38:58 -07:00