Add 1024x768 output support#668
Open
mpalpha wants to merge 6 commits into
Open
Conversation
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.
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.