Skip to content

Add 1024x768 output support#668

Open
mpalpha wants to merge 6 commits into
ramapcsx2:masterfrom
mpalpha:master
Open

Add 1024x768 output support#668
mpalpha wants to merge 6 commits into
ramapcsx2:masterfrom
mpalpha:master

Conversation

@mpalpha
Copy link
Copy Markdown

@mpalpha mpalpha commented Feb 13, 2026

No description provided.

PlatformIO build fixes: update platform to 3.0.0, fix ESPAsyncWebServer dep, fix getParam const/ambiguity
1024x768 NTSC/PAL preset: rebuilt.
Added /wr HTTP endpoint + documentation for live register tuning without reflashing.
mpalpha and others added 3 commits February 16, 2026 20:05
Extract pure logic from gbs-control.ino into standalone headers under
include/ with zero Arduino/ESP8266 dependencies: wr_queue (ring buffer
and register validation), wr_parse (strtoul wrapper), moving_avg,
shift_calc, scale_calc, timing_calc, color_calc, led_calc.

Add PlatformIO native test suite (7 test groups, 118 tests) using Unity
framework with LLVM coverage support on macOS ARM64.

Add tv5725.h register aliases for interlace/progressive detection
(STATUS_IF_INP_INT, STATUS_IF_INP_PRG), H/V total measurement, and
pad/field control — defined in RetroScaler/gbsc-pro but unused upstream.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ning

Inspired by RetroScaler/gbsc-pro firmware features, add three slider
fieldsets to the web UI via the /wr register API:

- Output Color: brightness, contrast, Pb/U saturation, Pr/V saturation,
  sharpness (0-63, default 32), with Reset Colors button
- ADC Channels: per-channel R/G/B gain and offset for manual color
  calibration (disables auto-gain when written)
- Scanline Tuning: strength (inverted, 0-25, default 2), softness
  (0-25, default 16), brightness boost (0-25, default 8), with reset

Replace single-slot /wr deferred write globals with 8-entry ring buffer
to prevent lost writes on rapid-fire requests. Add register validation
(isKnownRegister) and strtoul input parsing to the /wr endpoint.

Add viirCoef and wlevGain fields to SlotMeta and userOptions structs so
scanline softness and brightness boost persist across slot save/load.
Add slots.bin migration for struct growth (32-byte to 34-byte entries).
Update enableScanlines() to use saved values instead of hardcoded 0x08.

Inspired by RetroScaler/gbsc-pro LED behavior, add LED sync status
feedback: solid = locked, slow blink = searching, fast blink = no
signal, off = low power.

Fix VDS color toggle state desync after Reset Colors or preset load by
moving static bool flags to file scope with resetColorToggles().

Add watchdog feeds in tight loops (optimizePhaseSP, latchPLLAD,
resetSyncProcessor) to prevent WDT resets during long operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add PlatformIO pre-build script (pre_build_webui.py) that runs
npm run build in public/ before compiling firmware, so changes to
index.html.tpl, index.ts, or style.css are automatically picked up
without a separate manual build step.

Uses subprocess.run with os.environ to inherit the real shell PATH,
because PlatformIO's SCons environment strips Volta/nvm-managed npm.

Update docs/testing.md to reflect current test structure (7 groups,
118 tests across 8 include/ headers).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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