Skip to content

Widescreen patch - #1

Merged
HayatoG merged 3 commits into
switch-portfrom
widescreen
May 28, 2026
Merged

Widescreen patch#1
HayatoG merged 3 commits into
switch-portfrom
widescreen

Conversation

@HayatoG

@HayatoG HayatoG commented May 28, 2026

Copy link
Copy Markdown
Owner

No description provided.

HayatoG and others added 3 commits May 27, 2026 18:18
…ine BG-fill)

WIDESCREEN_PLAN.md: target MODE1_GBA_WIDTH~288 (36 tiles, true 16:9 at 160 tall).
Half A (render): bring the unpatched Switch ViruaPPU onto the widescreen
scaffolding (overridable MODE1_GBA_WIDTH + clip extents), gameplay-only wide
clip, drop the Phase-1 stretch. Half B (engine, hard/iterative): BGs 256x256 ->
512x256 (64 tiles) + fill the extra columns in scroll.c, recenter HUD/textboxes,
handle off-screen-sprite leak + affine paths. Milestones W1-W5. Notes the
dependency on the virtuappu-fps (threading) branch for playable framerate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…IDTH + clip extents

First implementation step on the widescreen branch (built on the merged threading
base). In the Switch ViruaPPU (captured in switch-parallel-render.patch):
- mode1.h: MODE1_GBA_WIDTH becomes an overridable #define (default 240, set via
  -DMODE1_GBA_WIDTH=N) pulled out of the enum; add MODE1_GBA_VIEWPORT_X (OAM clip)
  and MODE1_GBA_BG_CLIP_X (BG composite clip).
- mode1.c: clip OAM at VIEWPORT_X and BG composite at BG_CLIP_X (force-black past
  it) so a wider frame doesn't expose stale BG/parked-sprite data.

All three extents stay 240, so this is BEHAVIOR-NEUTRAL until -DMODE1_GBA_WIDTH is
raised and the engine is taught to fill the wider BG buffer (Half B in
WIDESCREEN_PLAN.md — the visible, HW-iterated part). Builds clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@HayatoG
HayatoG merged commit b98bb5a into switch-port May 28, 2026
2 of 5 checks passed
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