Melnikoff07 / vcfg
git clone https://github.com/Melnikoff07/vcfg.git
v2.23 · today
VCFG: optical-flow frame generation plugin for GoldHEN homebrew
+51
stars, 24h · #166
+51
stars, 7 days · #887
+51
stars, 30 days · #5,815
51
★ total · +51% this week
3
forks · 1 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC
LicenseMIT
Created2026-10-19 (1d ago)
Last pushtoday
Watchers2
OwnerUser
Links
README excerpt
# VCFG VCFG (vibe coded frame generator): optical-flow frame generation for games on PS4 consoles running the GoldHEN homebrew enabler, as a GoldHEN plugin. The plugin hooks the game's frame submission, builds a motion field between the previous and the current game frame on the GPU, synthesises an in-between image and presents it before the real frame: a 30 fps game is shown at 60 Hz. **Status: experimental.** Verified on hardware (base console, GoldHEN): CUSA07439 (new engine), CUSA08519, CUSA00411 and CUSA00207 (classic engine): 30 → 60, in-game menu, FPS counter, anti-aliasing and sharpening. Any other installed game can be switched on in the app as EXPERIMENTAL (classic engine, may not work or may crash). See docs/COMPATIBILITY.md. Use at your own risk. Русское описание: README_RU.md. *Independent hobby project. Not affiliated with, endorsed or sponsored by Sony Interactive Entertainment or any game publisher. "PS4" is a trademark of its owner and is used here only to say which hardware the code runs on. Games are referred to by their title IDs. No game code or assets are included.* ## How it works 1. **Observe.** For the first ~600 flips the plugin only watches: game buffers, pixel format, free DirectMemory. 2. **Decide.** It allocates its GPU slab, one 1280×720 generated surface and work buffers (≈5 MiB) at the top of the highest free DirectMemory range, registers the surface with VideoOut right after the game's buffers, and checks every frame (flip tail form, buffer sizes, compute-register state). Any mismatch → that frame is shown natively. 3. **Generate.** GPU passes appended to the game's own flip submit: luma pyramids → hierarchical motion search (me3/me2/me1) → filtering → phase → warp to 720p → optional post (RCAS sharpening / AA) → flip the generated image, then flip the real frame with the same flip argument. Details: docs/ARCHITECTURE.md. Measured hardware facts: docs/FINDINGS.md. ## Layout | Path | What | |---|---| | `launcher/` | the VCFG app (PKG): game cards with console titles and icons, per-game settings, plugin install | | `plugin/` | new engine (A20/A22 runtime) for CUSA07439: `source/a20_copy_impl.h`, shaders in `shaders/` | | `classic/` | classic engine (v1.16 line) for the other titles and EXPERIMENTAL games; `classic/build.sh` | | `overlay/` | in-game menu and FPS counter: CPU renderer (`vov.c`, baked fonts), compositor `osd8.ll`, PC preview | | `discovery/` | passive plugin: logs how any game presents frames (no GPU commands, no allocations) | | `tools/` | `console.py` (FTP install / logs with backups), `analyze.py`, `elf_arrays.py` | ## Build Requirements: Windows PowerShell, Git Bash, OpenOrbis toolchain, GoldHEN Plugins SDK, LLVM (clang, ld.lld), Python 3 (Pillow for `overlay/bake_fonts.py`), an LLVM `llc` with the AMDGPU target for shaders. [code] The new engine keeps generated shader arrays in `plugin/source/*.h`; after changing IR in `plugin/shaders`, regenerate the arrays (`plugin/build_shader.py`) and r