mirror of
https://github.com/mihawk-99/PS5_RetroArch.git
synced 2026-10-18 23:09:29 -05:00
Build pinned mGBA with this PS5 SDK, official metadata and both GB/GBA engines.
Support validated C initializer arrays, native directory/time imports and an
explicit config path. Map large title/core allocations so GBA archives load.
Correct mGBA callback colours and cached frame ownership, crop padded core
textures during presentation, and use the native shell exit after cleanup.
Verified: bash tools/verify.sh (format, unit, build, integration, evidence;
58 tests), then bash tools/run-title.sh --no-build --core-test=mgba --watch 180.
Owner confirms GB/GBC/GBA loading, correct colours/native Quit, and clean menu
and next game. Final capture has zero Vulkan refusals, GPU failure records or
kernel fatal-signal reports; normal frontend exit occurred before window end.
Evidence: evidence/mgba-native/{capture,expectation,iterations,build,abi}.json,
loader/recovery reports and exact linked-driver hashes. Replay with
bash tools/verify.sh evidence. Final build identity:
82024b89e74bbad4ad2ce2e2916d1a49baf26ac325fef20fc71a2c168b862337.
Patch count is deliberately 139: archive diagnostics, menu/cache ownership and
padded-source sampling edits. PS5_Vulkan was not modified. Saves/states,
long-run timing and a fresh FCEUmm/XMB transition matrix remain unverified.
97 lines
3.7 KiB
Plaintext
97 lines
3.7 KiB
Plaintext
# This port's changes to RetroArch's own sources.
|
|
#
|
|
# Unlike a unified diff, these are applied by tools/apply-port-patches.py, which
|
|
# matches each change on a stable anchor line instead of a line number. The reason
|
|
# is in that file: a diff carries one revision's line numbers and applies in the
|
|
# wrong place, or not at all, when upstream moves.
|
|
#
|
|
# vendor/retroarch is never edited. The patches go to the configured copy under
|
|
# build/ra-conf/, so "upstream plus a named, re-runnable change" stays true.
|
|
#
|
|
# 0001 register the PS5 video driver gfx/video_driver.{h,c}
|
|
0001-register-the-ps5-video-driver
|
|
#
|
|
# 0002 declare HAVE_XKBCOMMON, the one optional library upstream checks for
|
|
# without declaring, so that --disable-xkbcommon is accepted
|
|
# qb/config.params.sh
|
|
0002-declare-have-xkbcommon
|
|
#
|
|
# 0003 rename upstream's `main` so the SDK's _start has one definition to reach
|
|
# and rarch_main keeps the frontend's main loop (see the note in
|
|
# tools/apply-port-patches.py: defining HAVE_MAIN instead compiles the loop
|
|
# out, which is a title that initialises everything and exits)
|
|
# retroarch.c
|
|
0003-rename-upstream-main
|
|
#
|
|
# 0004 guard input_joypad_analog_axis against a null joypad driver, which is this
|
|
# console's normal state: without it the menu's analog read faults on the
|
|
# second pass through the runloop (see tools/apply-port-patches.py)
|
|
# input/input_driver.c
|
|
0004-guard-the-joypad-analog-read
|
|
|
|
# 0054 observe command completion, queue submission, presentation and menu draw inputs
|
|
0054-observe-vulkan-api-results
|
|
|
|
# 0055 convert the RGUI producer RGBA4444 channels to full-range RGBA8888
|
|
0055-correct-rgui-rgba8888-upload
|
|
|
|
# 0056 quiet steady-frame diagnostics and time Vulkan video preparation/submission/presentation
|
|
0056-quiet-vulkan-frame-timing
|
|
|
|
# 0057 retain startup/error logs without periodic successful-frame markers
|
|
0057-startup-only-frame-diagnostics
|
|
|
|
# 0058 reassert the title frontend logger after config parsing/rebuilt arguments
|
|
0058-preserve-frontend-development-log
|
|
|
|
# 0059 the first menu upload proves the handover; later updates must not write probes
|
|
0059-log-menu-handover-once
|
|
|
|
# 0060 pad the XMB ribbon uniform upload to the driver's 16-byte record size
|
|
0060-pad-xmb-ribbon-uniform
|
|
|
|
# 0061 expand XMB strips safely and submit the expanded vertex count
|
|
0061-correct-display-triangle-strip-expansion
|
|
|
|
# 0062 populate unused sampler layout slots for untextured menu effects
|
|
0062-bind-menu-effect-placeholder-texture
|
|
|
|
# 0063 seed the title asset path without Unix platform initialization and log XMB startup
|
|
0063-set-title-menu-asset-directory
|
|
|
|
# 0065 address the logical image inside driver-required row padding, including R8 fonts
|
|
0065-correct-padded-texture-coordinates
|
|
|
|
# 0066 isolate XMB sampling from unverified mip-chain layout
|
|
0066-single-level-menu-textures
|
|
|
|
# 0067 register the native PS5 PCM backend and select it by default
|
|
0067-native-ps5-audio
|
|
|
|
# Native platform paths, startup argument preservation and browser roots.
|
|
0068-native-ps5-frontend
|
|
|
|
# Supply the native executable path and enumerate through kernel getdents.
|
|
0069-native-executable-path
|
|
0070-native-directory-enumeration
|
|
|
|
# 0071 expose PS5 pad through the binding/menu joypad interface and auto profile
|
|
0071-register-native-ps5-joypad
|
|
|
|
# Refuse failed core selection before frontend teardown; stop a failed runloop.
|
|
0072-native-core-failure-recovery
|
|
|
|
# Route libretro dynamic loading through the native ELF core loader.
|
|
0073-native-elf-core-loader
|
|
|
|
# Opt-in native loader diagnostic verifies rejected loads preserve the live menu.
|
|
0074-native-core-recovery-diagnostic
|
|
|
|
0075-native-core-rgba-upload
|
|
|
|
0076-archive-read-error-diagnostics
|
|
|
|
0077-vulkan-menu-colour-and-cached-frame-ownership
|
|
|
|
0078-crop-padded-core-source
|