50 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5.5 1d07fdba86 Utility: Small fixes from reviewing the dialogs
- Loading a utility module without room for our (rough) memory block stored
  (u32)-1 as its address, which av_atrac3plus then memset. It now loads
  without the block, which HLE doesn't need.
- LoadNetModule's module id was unsigned, so a load error was passed on to
  sceKernelStartModule as an id.
- The dialog helper threads put the game's priorities straight into ORI
  immediates; ones that aren't a priority at all now fall back to 0x20.
- A fade never finished with an animSpeed of 0 or less.
- MsgDialog V3 button captions filling all 64 bytes ran on into the next
  field.
- GamedataInstall: a file shorter than it claimed was retried forever, Abort
  worked in any state and wrote through an unchecked pointer, and the game
  and data names were read as C strings from fixed-size fields.
- NpSignin: a cancel was overwritten with SUCCESS in the same frame, so the
  game saw a sign-in. The status is reset on start, so a reused struct no
  longer hangs.
- Unloading av_atrac3plus never reached __AtracNotifyUnloadModule, leaving
  the atrac state pointing at freed memory.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 12:50:41 -06:00
Henrik RydgårdandClaude Opus 5.5 6dffcc91d2 Utility: Check request sizes like the firmware
InitStart sizes: Netconf and NpSignin accepted any size, then wrote
common.size bytes back from a 64-68 byte host struct, copying host memory
into PSP RAM. GamedataInstall looked for install files before checking the
size, and the HtmlViewer read options before checking the whole request was
in memory. All the dialogs now check the address, then the sizes
sceUtility_Driver accepts (utility/dialog/sizes), before anything else, as
the firmware does (a bad address is INVALID_ADDRESS), and write back no more
than the struct.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-25 12:50:41 -06:00
Henrik Rydgård 66c8bfbcb2 Improve semantics 2026-08-10 10:11:24 +02:00
Henrik Rydgård 999bf59ae1 Move mutex error codes into the big enum 2025-03-21 20:44:46 +01:00
Henrik Rydgård 7a4d175e06 Port over some utility functions, fix bugs. 2025-03-18 09:36:32 +01:00
Henrik Rydgård d2c1c7b54f Consolidate even more error codes 2025-02-04 12:32:11 -06:00
Henrik Rydgård c91169e702 Restore removed <algorithm> includes.
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård 3e198c53b2 More include cleanup 2024-12-18 13:57:26 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Herman Semenov b871e76d05 [Core/Debugger/FileLoaders/FileSystems/MIPS] Using reserve if possible 2023-12-15 13:59:19 +03:00
Herman Semenov af41281761 [Core/Dialog/ELF/FileSystems/HLE/HW/Util] Added const reference for function params 2023-12-14 14:22:24 +03:00
Henrik Rydgård 1cf2a161a0 Replace the notifications with a bare-bones progress bar 2023-08-17 14:42:25 +02:00
sum2012 e00a41702c Add GamedataInstall of osm
fix #14688
2023-08-17 14:22:30 +02:00
Unknown W. Brackets fcc1abc7c3 Dialog: Update by button flag consistently.
Always check for the flag to change in Update().
2023-02-08 19:02:37 -08:00
Unknown W. Brackets a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets d473aa6db0 Module: Cleanup file read pattern.
Let's always use ReadEntireFile() when we can.
2022-10-09 14:42:30 -07:00
Unknown W. Brackets f0afc97247 Gamedata: Cleanup install request args/validate. 2022-09-18 20:39:13 -07:00
Unknown W. Brackets dd0de46ed9 Io: Use PSPPointer instead of struct temps. 2022-09-03 10:44:11 -07:00
Unknown W. Brackets 2479d52202 Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Unknown W. Brackets 88fe2e9863 Dialog: Use dialog type header more consistently. 2021-02-27 13:43:12 -08:00
Unknown W. Brackets aa13f5afb7 Dialog: Track type id on dialog class. 2021-02-27 12:01:52 -08:00
Unknown W. Brackets b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets 4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Unknown W. Brackets ab38c387ad Io: Correct some error handling for OpenFile().
See #12433.
2020-03-08 21:22:21 -07:00
Unknown W. Brackets 913121cf2b Io: Consistently use error codes with OpenFile().
This gets rid of OpenWithError(), and just always returns a negative value
on error for OpenFile().  Also fixed the sequence rollover, which could've
returned 0.

0 should be considered a valid handle ideally, but left it never returning
0 to simplify cleanup in some areas.
2019-10-20 11:03:37 -07:00
Unknown W. Brackets 078e03c7cb Gamedata: Fix savestates for data install.
Otherwise, with rewind enabled, it hangs forever.
2017-10-14 22:11:59 -07:00
Unknown W. Brackets 7471516d05 Gamedata: Reduce the transfer per call.
The standard value made my desktop drop frames without the data cached.
2015-12-25 23:24:04 -08:00
Unknown W. Brackets 34fc03068a Gamedata: Create a basic PARAM.SFO in data dir.
Fixes #7903.  Have not really tested, just based on game behavior.  Could
be inaccurate.
2015-12-25 21:54:14 -08:00
Unknown W. Brackets e4c6a8398e Gamedata: Copy in chunks instead of all at once.
This way the game's progress shows correctly.  Also, correct the progress
calculation for < 100% (integer rounding.)
2015-12-25 21:39:24 -08:00
Unknown W. Brackets fb9e5d4741 Gamedata: Refactor out file iteration.
Goal here is to process files in chunks, rather than one file at a time.
Files are often > 100MB, so we don't want to copy all in one frame.
2015-12-25 21:13:55 -08:00
Unknown W. Brackets 43e7d9dbc2 Gamedata: Use status delays in init/update/etc.
Like with savedata.
2015-12-25 21:01:13 -08:00
Unknown W. Brackets 2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets 27e27f11ad Shutdown a couple dialogs more correctly.
This brings them back to none instead of shutdown.
2015-03-28 13:01:10 -07:00
Unknown W. Brackets 996fa39684 Reduce some unnecessary includes in Core/. 2014-03-15 10:41:07 -07:00
Unknown W. Brackets bd982b2e6f Support PSP_O_TRUNC on Windows.
There are more modes we don't support properly.  May fix savedata
corruption in Gran Turismo and possibly other games.
2014-02-11 23:54:30 -08:00
Henrik Rydgård 79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
shenweip dfad2ba845 Avoid a dangerous zero. 2013-11-26 23:45:45 +08:00
Henrik Rydgard 1ec0a977e4 Fix too-slow fade in/out of save dialogs and others in 30hz games. 2013-10-16 18:54:40 +02:00
Unknown W. Brackets ff2012d37b Minor warning. 2013-10-06 22:10:38 -07:00
Lioncash a7836af14c Move variable temp into the if statement in function Update in PSPGamedataInstallDialog.cpp. It's only used in this branch statement. 2013-10-05 18:30:00 -04:00
Lioncash 3c90b489fa Merge branch 'master' of https://github.com/hrydgard/ppsspp 2013-10-05 17:44:09 -04:00
Unknown W. Brackets 49bd553238 Avoid some shadowing warnings. 2013-10-05 11:13:39 -07:00
Lioncash ce806d8c05 Fixed a mismatched delete within PSPGamedataInstallDialog.cpp. Should be delete[]. 2013-10-02 19:05:21 -04:00
Unknown W. Brackets ab189749eb Fix older savestates no longer loading. 2013-09-27 22:46:06 -07:00
shenweip 3da79bdeae Fix savedata to support old savedata. 2013-09-27 23:57:08 +08:00
shenweip dbb16517d2 Forget DoState. 2013-09-27 23:10:31 +08:00
shenweip 7bb798edb6 Implemented sceUtilityGamedataInstallUpdate. 2013-09-27 22:52:25 +08:00
Unknown W. Brackets 887a61ae56 Make it possible to add new sections optionally. 2013-09-15 07:58:52 -07:00
Henrik Rydgård 82ee817647 Convert to new-style DoState 2013-09-15 09:53:24 +02:00
shenweip 41dfea3150 Add PSPGamedataInstallDialog 2013-09-13 23:05:11 +08:00