Commit Graph

1273 Commits

Author SHA1 Message Date
Pegasus 732bc3f138 Align CD-ROM and MDEC source fixtures with the upstream scheduler seams
Deferred from the integration resolve commit until the CDDA and Nymashock
drive paths it edits exist on this branch.

(cherry picked from commit 9f4712040b)
2026-09-14 17:36:03 +03:00
Pegasus 703cf2b11d Time an explicit seek from the physical read head during a read
Nymashock measures a seek with CalcSeekTime(CurSector, SeekTarget). CurSector
is the physical read head, and an established read keeps it two sectors ahead
of the sector handed to the guest because HandlePlayRead fills the two-slot
SectorPipe before the guest drains it. source_explicit_seek_cycles timed a
SeekL/SeekP from the delivery cursor instead, so a seek issued mid-read
travelled two sectors too far and completed 209 cycles late at double speed.
Command_Reset already applied the same +2 lead.

Bio Hazard return 233568 is the first place this is observable: a mid-read
SeekL to LBA 141535 completed 209 cycles late, which pushed the driver's
following ReadS past the frontend return boundary and left the guest one CD
command behind for the rest of the ending tail.

Evidence, resuming the admitted capture state at return 233500:
- armed completion moves 132227220226 -> 132227220017, the value the source's
  own PSRCounter samples at returns 233560-233568 independently imply
- all 5702 compared returns 233501-239202 match the admitted reference on RAM
  page hashes and return clocks
- raw RAM at 233567/233568/233569/235000/239202 matches the stock capture byte
  for byte, closing the nine-byte terminal difference

Cold full-route requalification and the Tekken 3 / Pepsiman cold-prefix
regressions are still outstanding; this commit records the component result
only.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

(cherry picked from commit cd99b7c9bc)
2026-09-14 17:36:03 +03:00
Pegasus 794b0a0aae Report Nymashock sub-Q ahead of queued sector delivery
(cherry picked from commit 7133a6e462)
2026-09-14 17:36:02 +03:00
Pegasus 6224a262ea Advance Bio Hazard source replay through return 3846
(cherry picked from commit 7c214b32aa)
2026-09-14 17:36:01 +03:00
Pegasus 1f49235ae8 Correct recorded-sector SubQ layout and pregap track ownership
(cherry picked from commit 26b14417b0)
2026-09-14 17:36:00 +03:00
Pegasus e924c73409 Qualify optional source CDDA seek, reports and two-sector audio pipeline
(cherry picked from commit 5c8c3e21d2)
2026-09-14 17:35:59 +03:00
Pegasus ec97142539 Expose MDEC fixture paths to the test registration guard
(cherry picked from commit a00b646bbe)
2026-09-14 17:35:58 +03:00
Pegasus 52d4175b59 Model source MDEC FIFO work and request DMA service boundaries
(cherry picked from commit 978f248c25)
2026-09-14 17:35:58 +03:00
Pegasus 126b27f4d9 Bind lossless controller and loaded card identities in native replays
(cherry picked from commit 026182c1ea)
2026-09-14 17:35:21 +03:00
Pegasus df0c0860de Add qualified Nymashock memory-card protocol profile
Rebased after upstream #362: the source-card exemptions from the removed
SELECT-flush, I_STAT.7 requeue, defer guard and transition cap are dropped
with those paths.

(cherry picked from commit 306a266fae)
2026-09-14 17:35:20 +03:00
Pegasus bc07105828 Qualify explicit Nymashock DualShock ACK timing
(cherry picked from commit 599a536b97)
2026-09-14 17:33:56 +03:00
Pegasus f7a64c9ad4 Deliver and observe complete DualShock TAS inputs without mode overrides
(cherry picked from commit 28fb4e0f7c)
2026-09-14 17:32:50 +03:00
Pegasus 460c5681e9 Add lossless bounded DualShock TAS controller codec
(cherry picked from commit 0549d8daa8)
2026-09-14 17:32:11 +03:00
Pegasus bd885702a8 Admit raw blended source GPU sprites for Biohazard
(cherry picked from commit 0a66b134b8)
2026-09-14 17:32:10 +03:00
Pegasus c007201fcc Support shaded source GPU lines for Biohazard replay
(cherry picked from commit 7c0f867cc8)
2026-09-14 17:32:09 +03:00
Pegasus 41db3dd60d Support source GPU flat lines for Biohazard replay
(cherry picked from commit adb633e071)
2026-09-14 17:32:08 +03:00
Pegasus 2bf27fe2c1 Qualify remaining shaded polygon command variants
(cherry picked from commit 086a513fb1)
2026-09-14 17:32:07 +03:00
Pegasus 942ad0a210 Admit source-qualified shaded quad command aliases
(cherry picked from commit 70877b4910)
2026-09-14 17:32:06 +03:00
Pegasus de16ac599e Match source polygon coordinate wrapping and interpolation
(cherry picked from commit 8d359b75f4)
2026-09-14 17:32:05 +03:00
Pegasus 1a4545d088 Preserve source triangle-half traversal for texture-cache and feedback correctness
(cherry picked from commit 1b59dc7478)
2026-09-14 17:32:04 +03:00
Pegasus e26ff754e1 Add opt-in bounded leaf GPU command trace for replay diagnosis
(cherry picked from commit aca676a57f)
2026-09-14 17:32:04 +03:00
Pegasus 8915727d9f diag: retain queued GPU words at source profile stops
(cherry picked from commit f7134877ca)
2026-09-14 17:32:03 +03:00
Pegasus 1ea410e19e Admit tested raw and semitransparent source textured triangles
(cherry picked from commit 46ca602b9e)
2026-09-14 17:32:02 +03:00
Pegasus 7a2fa4c348 Qualify flat polygon blend flags in source GPU comparison
(cherry picked from commit fe694e323f)
2026-09-14 17:32:01 +03:00
Pegasus 9b129cd245 Admit blended textured rectangles in source GPU comparison
(cherry picked from commit 82e9f6d52a)
2026-09-14 17:32:00 +03:00
Pegasus 51e63d0130 Retain Biohazard progress snapshots through full route
(cherry picked from commit 9e801ee16f)
2026-09-14 17:31:59 +03:00
Pegasus c414fb40d2 Keep complete CPU and RAM returns for declared long TAS routes
(cherry picked from commit 021b65cf2d)
2026-09-14 17:31:56 +03:00
Pegasus 0f3a34f403 Bind full RAM diagnostics to the declared TAS return count
(cherry picked from commit 800f90507a)
2026-09-14 17:31:50 +03:00
Pegasus 204fcf8450 Expose host fast-forward speeds for verified TAS replay
(cherry picked from commit 16b6f78dd6)
2026-09-14 17:31:49 +03:00
Pegasus 9b70c21b1e Remove trailing blank lines from TAS integration files
(cherry picked from commit bc6cdfebbd)
2026-09-14 17:30:46 +03:00
Pegasus 0f4c92175b Resolve upstream TAS integration and document qualification boundaries
Runtime and recompiler portion only. The campaign documents, workflow
triggers and the CD-ROM/MDEC fixture alignment follow in later branches.

(cherry picked from commit 9f4712040b)
2026-09-14 17:30:45 +03:00
Pegasus 3bd62b3099 Integrate qualified TAS timing and execution profile
Rebased onto upstream after #362: the Ape Escape card-repair hunks are
dropped with the removed block, and the pace walk keeps upstream's uncapped
deadline consumption plus the source ACK-pulse edge.

(cherry picked from commit 8235a7700f)
2026-09-14 17:29:38 +03:00
Pegasus 5968162fe9 fix: publish deferred CPU work before GTE deadline checks
(cherry picked from commit 43abd4a5c8)
2026-09-14 17:26:34 +03:00
Pegasus 77a8480363 Read disc region from the actual SYSTEM.CNF directory entry
Prefer the ISO9660 boot file over the bounded raw-image scan. Biohazard stores SYSTEM.CNF outside that scan, leaving fresh builds at the default SCEA response. Add raw and cooked late-file regressions with an early decoy serial. The full-profile prefix again matches the retained native baseline through 5999 returns; the independent-source frontier remains return 464.

(cherry picked from commit 82c3de13ef)
2026-09-14 17:26:33 +03:00
Pegasus 324690cb97 Preserve fully qualified Windows network asset paths
(cherry picked from commit 51d5d56a27)
2026-09-14 17:26:32 +03:00
Pegasus 5e23de8393 feat: add PS1 conformance harness and fix GTE fidelity
(cherry picked from commit 98d617b5f3)
2026-09-14 17:26:31 +03:00
Alexandros Mandravillis d4abc2f05d Fix non-RA JALR interpreter handoff
(cherry picked from commit 2f8f627b24)
2026-09-14 17:26:30 +03:00
Matthew Stanley 8b689140dd Add opt-in world scene classification and immutable terrain batching 2026-09-13 21:06:58 -07:00
Matthew Stanley b4d41b173c Merge current master and preserve both runtime regression test groups 2026-09-13 19:40:33 -07:00
Matthew Stanley f2352e3d32 Keep retained scene aspect until the next displayed buffer flip 2026-09-13 19:27:03 -07:00
Matthew Stanley e3beb365ba Add opt-in native-wide presentation hold for retained loading scenes 2026-09-13 19:11:21 -07:00
Alexandros Mandravillis 693c7be0fc Fix GPU upload history overflow after retention fills (#360)
Co-authored-by: Pegasus <pegasus@psxrecomp.local>
2026-09-13 17:01:55 -07:00
Matthew Stanley 9037e7bd23 Add opt-in retained texture banks and enhancement memory snapshots 2026-09-13 16:50:26 -07:00
Matt Stanley d4c45adf62 fix(sio): remove title-specific card IRQ repair and opt-in (#362) 2026-09-13 16:33:46 -07:00
Matthew Stanley 7025bb5f88 Fix rewind keyboard load conflicting with cancel aliases 2026-09-13 14:16:20 -07:00
Aliet Exposito Garcia ab2aaf95be fix(runtime): fix compilation failure when netplay is disabled
When `PSX_NETPLAY` is turned off, the build fails because `ae_np_account_sync` is referenced without being declared in that configuration. This issue caused automated continuous integration pipelines and local builds to fail unless netplay was explicitly forced on.

Wrapping this function call ensures that the runtime compiles cleanly for projects that do not require netplay support, restoring the ability to build with netplay disabled.
2026-09-13 13:33:16 -04:00
Matt Stanley 0690e5c164 Merge pull request #357 from RetroPortingToolKit/rfc/fmv-irq-batching-invariants
RFC: FMV IRQ batching correctness gates and counterexample
2026-09-13 00:30:51 -07:00
Matt Stanley 0b898494c8 Merge pull request #356 from RetroPortingToolKit/experiment/runtime-ipo-validation
experiment(build): opt-in runtime IPO and PGO validation gates
2026-09-13 00:30:23 -07:00
Matt Stanley bd01da696a Merge pull request #353 from plinkr/feat/gl-renderer-post-gamma
feat(OpenGL renderer): add post presentation gamma control
2026-09-13 00:29:57 -07:00
Matthew Stanley 20ec948ab1 build: add opt-in runtime IPO experiment with validation gates 2026-09-12 23:31:28 -07:00