Commit Graph
117 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5 57e96b2d81 Add a PSP Firmware screen under Settings > Tools
Shows what's actually in PSP/NAND - nothing, a fonts-only partial install, or
a full firmware with its version, build date and region - read from
flash0:/vsh/etc/version.txt, which is present both in a PSAR-unpacked install
and a NAND dumped off hardware.

Also offers to install an updater, erase the NAND, and launch the XMB, the
last one gated on FirmwareVersionSupportsVSH() since the module patches that
get vshmain.prx running are tied to 6.61's offsets.

Installing a firmware now erases flash0/flash1/ipl first - two firmwares can't
be merged, a file the new one doesn't have would linger and still get loaded.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-09 12:07:28 -06:00
Henrik RydgårdandClaude Opus 5 3a70c6b149 Install PKG game updates, and boot them
Opening a .pkg now offers to install it, the way a .zip does - see the new
InstallPkgScreen, which shows what the update patches, what it'll take up
on disk (exact, since package contents aren't compressed) and where it's
going. The package's PS3-style USRDIR/CONTENT wrapping is stripped so the
files land where the PSP expects them, in PSP/GAME/<DISC_ID>.

Booting a disc then looks for PSP/GAME/<DISC_ID>/PBOOT.PBP and boots that
instead of the disc's own EBOOT, leaving the disc mounted - so the update
overrides the files it ships and the disc supplies the rest. The update's
DISC_ID has to match; a DISC_VERSION mismatch only warns, since updates do
get used with slightly different dumps in practice.

Verified against the whole corpus: every one installs, and the
digital NP* update/base-image pairs that could be assembled all boot the
patch rather than the disc's executable. That includes Super Robot Taisen
Operation Extend from a real NPUMDIMG EBOOT.PBP, which settles that
ISO.BIN.EDAT does not re-key the PBOOT - a digital title's patched EBOOT is
encrypted exactly like a UMD one. On the UMD side, the patched
LittleBigPlanet reads PATCH.ARC out of the install alongside the disc's own
archive.

The DISC_VERSION warning turns out to be load-bearing: many of the pairs
mismatch, because the dumps in circulation are later disc revisions than the
updates were built against. docs/pkg_notes.md has the numbers, and the one
thing that doesn't work - PGD-wrapped .sprx modules, which
sceKernelLoadModuleNpDrm can't load.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-09-08 11:15:15 -06:00
Henrik RydgårdandClaude Opus 5 4b761f0715 Offer to install PSP firmware updaters instead of running them
Opening an official updater (a PSP/GAME/UPDATE EBOOT.PBP, identified by the
MSTKUPDATE disc ID) from the main screen now brings up a confirmation dialog
that unpacks the firmware into the NAND directory, where the emulated
flash0/flash1 live. Running the updater itself doesn't work, so there was
nothing useful to do with one before.

Unpacks the file list for the model we claim to be (iPSPModel), on a worker
thread, with a progress bar - for which PSARUnpackOptions gets an optional
progress callback.

AGENTS.md: translate UI strings last, in a separate commit

The English string is what all ~47 languages get derived from, so rewording it
after the sweep means redoing the sweep. Check the wording first.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-08-24 17:23:14 +02:00
Henrik Rydgård 5cffcd34ad Get rid of the confusing old USING_WIN_UI define. Make a more clear system property for headless. 2026-08-16 12:19:41 +02:00
Henrik Rydgård 933751e2a9 Windows: Avoid POSIX error codes leaking into our WSA socket error codes 2026-08-10 10:04:21 +02:00
Henrik Rydgård 3eb056ad86 Move Common/GraphicsContext.h to Common/GPU/GraphicsContext.h 2026-07-26 13:58:17 +02:00
Eloren1 938029cd6a Add screenshots + extract LoadStateConfirmScreen 2026-05-31 21:55:06 +03:00
Henrik Rydgård 3663d46a5b Split out the GameBrowser from MainScreen 2026-04-13 13:20:19 -06:00
Henrik Rydgård 0c077acc74 Do some include untangling, to limit the spread of the Windows.h include from SevenZipFileReader.h 2026-03-27 14:34:18 -06:00
Henrik Rydgård 5255d450bc Move the AdhocServerScreen to its own file, remove the "Toggle List" button 2026-02-26 17:17:42 +01:00
Henrik Rydgård 7b1ba55e72 Prevent touch controls from fading away while being held.
Fixes #20531
2026-02-04 00:00:38 +01:00
Henrik Rydgård e37c0cbef3 Introduce SimpleBaseDialogScreen, TabbedBaseDialogScreen's simpler cousin 2025-10-29 08:39:59 +01:00
Henrik Rydgård 69aa84e3b0 Split out the backgrounds and base screen classes from MiscScreens.h 2025-10-29 00:02:43 +01:00
Henrik Rydgård 5826b61d95 Extract some useful view classes from UploadScreen, use on CreditsScreen 2025-10-28 15:32:45 +01:00
Henrik Rydgård c686d48268 Add prototype Upload screen and a couple new icons. Some refactoring. 2025-10-27 12:20:20 +01:00
Henrik Rydgård aba2813ea2 Scaffold it 2025-10-08 13:00:35 -06:00
Henrik Rydgård 9ac80460d2 Break out the SystemInfoScreen from DevScreens.cpp 2025-09-23 11:21:32 -06:00
Henrik Rydgård 63f9fb73be Split out the atlas code from Theme.cpp into UIAtlas.cpp 2025-09-18 10:54:48 -06:00
Henrik Rydgård ad00c20660 Windows: Remove ARM32 configurations from project files.
These will never be supported again (and never really were, only used
for Windows Phone testing a long time ago)
2025-06-11 08:55:13 +02:00
Henrik Rydgård 2dbb54667d IAP work 2025-05-25 11:22:04 +02:00
Henrik Rydgård 60a19016ae Split out DeveloperToolsScreen from GameSettingsScreen.cpp 2025-04-09 13:13:08 +02:00
Henrik Rydgård cf059ff84c Stub a lua console, add the sol lua wrapper library 2025-03-27 08:59:37 +01:00
Henrik Rydgård cdef529aa3 Initial memory view work, not yet building 2024-12-12 17:47:33 +01:00
Henrik Rydgård 194b2ce076 Ge Debugger: Add a framebuffer listing, along with some plumbing 2024-11-23 23:23:48 +01:00
kotcrab 3182cc29e4 Add struct viewer debugging tool 2024-11-15 19:55:54 +01:00
Henrik Rydgård cf6d06c56a Start work on imdbg 2024-11-07 11:10:12 +01:00
Henrik Rydgård 87c56aed03 Split of the JitCompareScreen into its own files 2024-06-05 12:38:52 +02:00
Henrik Rydgård 5a8140c301 Initialize RAIntegration support if available. Untested. 2024-04-05 18:15:10 +02:00
Henrik Rydgård 9253bf9cb5 Add a new screen for managing installed Adreno drivers 2024-01-17 10:51:08 +01:00
Henrik Rydgård 9f6e67b17a Move the debug overlay rendering out from EmuScreen into DebugOverlay.cpp 2023-08-02 14:58:22 +02:00
Henrik Rydgård 9bd67df5b2 Achievement savestate fixes 2023-07-08 21:47:16 +02:00
Henrik Rydgård a7c21b582e Move UI/RetroAchievements.{cpp,h} to Core.
Necessary to avoid some dependency inversion.

Gotta figure out how this will interact with the libretro stuff..
2023-07-02 12:02:20 +02:00
Henrik Rydgård 84e9a85e0f Things link now. Let's see if it works.. 2023-06-26 10:01:40 +02:00
Henrik Rydgård c0f0c05417 rcheevos initial build setup and basic scaffolding 2023-06-26 10:01:40 +02:00
Henrik Rydgård fffaa41091 Extract the class TabbedUIDialogScreen from GameSettingsScreen. 2023-06-16 13:56:26 +02:00
Henrik Rydgård d996fb74d4 MSVC: Set language standard to c++17.
Noticed that we were getting some new warnings after merging the
constexpr stuff.
2023-04-02 17:55:15 +02:00
Henrik Rydgård 5c36aec484 More renaming 2023-03-26 11:21:34 +02:00
Henrik Rydgård 143f499d11 Remove a few of the Host implementations 2023-03-25 10:37:49 +01:00
Henrik Rydgård 349b73acec Move the resampler usage to a common file, AudioCommon. (#17176)
* Move the resampler usage to a common file, AudioCommon.

Ports that don't want to use the resampler can now simply exclude that
file and provide their own implementation. Next up, libretro will be
converted to do it that way.

* Android.mk typo

* libretro makefile fix

* libretro buildfix

* libretro: try a different approach for the temporary solution

* duh

* double duh
2023-03-24 17:19:57 +01:00
Unknown W. Brackets c062b78b55 Build: Cleanup some MSVC optimization settings. 2023-02-26 11:27:46 -08:00
Henrik Rydgård 3b36a1bb66 TiltEventProcessor belongs in Core, not UI. 2023-02-01 15:04:32 +01:00
Henrik Rydgård a88bafff4d Break out the JoystickHistoryView 2023-02-01 14:58:16 +01:00
Henrik Rydgård 57864f62ce Rework the display layout editor to ditch the preview thing.
We lose the snapping in the refactor because I ended up rewriting the
whole dragging mechanism, might reintroduce later.
2022-11-22 20:10:20 +01:00
Henrik Rydgård ec6d330ae4 Move AsyncImageFileView to Common, which required some more shuffling around of stuff. 2022-11-21 20:38:20 +01:00
iota97 65b7b65bcd Adress feedback 2022-02-12 18:30:55 +01:00
iota97 5e1062678f Allow custom UI themes 2022-02-11 12:42:38 +01:00
Henrik Rydgård b397e5c455 Assorted plumbing.
wip

Buildfix
2021-06-07 00:24:51 +02:00
Henrik Rydgård 65617889dd Merge ext/native/ext/... directly into ext. 2020-09-30 00:30:42 +02:00
Henrik Rydgård 82bc6f6cc5 Windows ARM fix, cleanup 2020-07-14 13:47:25 +02:00
Unknown W. Brackets 9064bbcad1 Windows: Move git-version update to build event.
Doing it on each project made it possible for two to overwrite each other.
It's rare, but this could corrupt git-version.cpp.

This makes it run when Core is resolved, and also on Windows/Headless only.
It may still require two compiles to update, but that's not a new problem.
2020-05-23 13:34:41 -07:00