Skip to content

[review] mstan #243 - bios: add SCPH5552 (EU v3.0 01/06/97) BIOS build profile - #3

Closed
Alexbeav wants to merge 1 commit into
review-base/mstan-01c647e8a2fafrom
review/mstan-243-scph5552-profile
Closed

[review] mstan #243 - bios: add SCPH5552 (EU v3.0 01/06/97) BIOS build profile#3
Alexbeav wants to merge 1 commit into
review-base/mstan-01c647e8a2fafrom
review/mstan-243-scph5552-profile

Conversation

@Alexbeav

@Alexbeav Alexbeav commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Purpose

This is a review-only retrofit for the already-open upstream PR mstan/psxrecomp#243.

Do not merge this PR. The AI reviewer must inspect this exact diff before the next upstream update.

Identity

  • Upstream base: 01c647e8a2fa0b294944a2bbfcda9d7303061ea1
  • Review head: 2b1ed3a2162bf66f045ebba3387dfcf9a52e2175
  • Upstream branch: pr/scph5552-profile

Review gate

Classify each finding as valid, invalid, or uncertain. A valid finding requires a correction, a regression, and repeated validation. An uncertain finding blocks the next upstream update.

Developed with AI assistance; validated as described (test evidence in PR body). AI writes the code and the PR, but I always test before I send something up. Happy to iterate on this process with your feedback.


Summary by cubic

Adds a BIOS build profile for the SCPH-5552 (EU v3.0 01/06/97) image so the recompiler can build it. The kernel region is byte-identical to SCPH-1001, so its kernel anchors carry over; the EU shell differs and has no seed corpus yet, so it must be built with -DPSX_SHELLWIN_INTERP=ON until that corpus exists. Only the profile is tracked; the ROM image stays untracked.

Written for commit 2b1ed3a. Summary will update on new commits.

Review in cubic

Retail SCPH-5502/5552 Europe image, SHA-256 1faaa18f... ROM 0x0000-0x17FFF is
byte-identical to US SCPH-1001 v2.2 (71af94d1...), so every kernel anchor of
bios/SCPH1001.toml carries over; the EU shell differs and has no seeds, so the
shell window runs in the dirty-RAM interpreter (-DPSX_SHELLWIN_INTERP=ON).
Profile authored by the pegasus-claude T32 claimant session (98528efb) and
adopted unchanged by the operator-attended T32 session. No ROM bytes tracked.

Task: T32 MGS PAL (pegasus-claude lane).
(cherry picked from commit 4685b33)

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="bios/SCPH5552.toml">

<violation number="1" location="bios/SCPH5552.toml:27">
P2: When the packaged CLI selects a SCPH5552 BIOS, it loads the legacy root profile instead of this profile and cannot resolve that profile's SCPH5552 seed path. Update packaging to copy `bios/SCPH5552.toml` and include the referenced seed.</violation>

<violation number="2" location="bios/SCPH5552.toml:58">
P1: When the EU shell reaches code above RAM `0x5B000` with `PSX_SHELLWIN_INTERP`, the runtime cannot execute the copied bytes through the interpreter. Extend the runtime dirty range and this address-model window together, or prove that the upper copied region is unreachable before shipping this profile.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread bios/SCPH5552.toml
[[recompiler.address_model.copy]]
name = "Shell"
rom_lo = "0x1FC18000"
rom_hi = "0x1FC43000"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: When the EU shell reaches code above RAM 0x5B000 with PSX_SHELLWIN_INTERP, the runtime cannot execute the copied bytes through the interpreter. Extend the runtime dirty range and this address-model window together, or prove that the upper copied region is unreachable before shipping this profile.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At bios/SCPH5552.toml, line 58:

<comment>When the EU shell reaches code above RAM `0x5B000` with `PSX_SHELLWIN_INTERP`, the runtime cannot execute the copied bytes through the interpreter. Extend the runtime dirty range and this address-model window together, or prove that the upper copied region is unreachable before shipping this profile.</comment>

<file context>
@@ -0,0 +1,86 @@
+[[recompiler.address_model.copy]]
+name         = "Shell"
+rom_lo       = "0x1FC18000"
+rom_hi       = "0x1FC43000"
+ram_lo       = "0x00030000"
+runtime_base = "0x80030000"     # KSEG0 — LoadRunShell jumps to 0x80030000
</file context>

Comment thread bios/SCPH5552.toml
text_size = "0x80000"

[recompiler]
seeds = "recompiler/seeds/phase2_ghidra_seeds_SCPH5552.json"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: When the packaged CLI selects a SCPH5552 BIOS, it loads the legacy root profile instead of this profile and cannot resolve that profile's SCPH5552 seed path. Update packaging to copy bios/SCPH5552.toml and include the referenced seed.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At bios/SCPH5552.toml, line 27:

<comment>When the packaged CLI selects a SCPH5552 BIOS, it loads the legacy root profile instead of this profile and cannot resolve that profile's SCPH5552 seed path. Update packaging to copy `bios/SCPH5552.toml` and include the referenced seed.</comment>

<file context>
@@ -0,0 +1,86 @@
+text_size    = "0x80000"
+
+[recompiler]
+seeds    = "recompiler/seeds/phase2_ghidra_seeds_SCPH5552.json"
+out_dir  = "generated"
+out_stem = "SCPH5552"
</file context>

@Alexbeav

Copy link
Copy Markdown
Owner Author

Review complete. Upstream work continues at: mstan#243

Closing this fork review without merge. Its immutable base, discussion, and commit history remain available as evidence.

@Alexbeav Alexbeav closed this Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant