Commit Graph
30 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Opus 5 f449fa6ab2 Implement a batch of the VSH's unresolved imports (and document three we must not)
Mostly small stubs:

- sceImpose: GetParam/SetParam/Changes/SetStatus, plus the 6.60 alias of
  sceImposeGetBatteryIconStatus. Also fixes that function's first output - it
  is a plain "is it charging" boolean, not a BATTICON_ value. We wrote
  PSP_IMPOSE_BATTICON_NONE (0x80000000) there, which games ignore but which the
  VSH reads as "no battery" and draws the empty-battery indicator for. These
  are the bulk of the traffic: the VSH calls sceImposeChanges once a frame, so
  this alone removes ~10000 trapped calls from a boot.
- SysMemForKernel: sceKernelSetRebootKernel, sceKernelSetUmdCacheOn.
- scePower_driver: scePowerSetWakeupCondition.
- sceHprm_driver, sceUsb: one NID-named call each, as in JPCSP.

Three groups are deliberately left unresolved, with comments explaining why,
because resolving them lets real flash0 drivers walk into hardware we do not
emulate and the boot dies where it used to reach the shell:

- ThreadManForKernel mutex/fpl NIDs: the NAND and ID storage drivers use these
  to init, then poll the NAND controller at 0xbd101300 forever.
- InterruptManagerForKernel intr registration: 31 calls, then a stall in GE
  list execution with no plugin module ever started.

73 unresolved import hits over 37 distinct module/NID pairs remain in a VSH
boot, mostly sceSysEventForKernel, sceSuspendForKernel and the various
*_driver modules that need real hardware behind them.

The sceImpose savestate section goes to v2 for the two new state variables.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-24 10:58:35 +02:00
Henrik Rydgård a0ecf545a6 Implement or stub assorted functions the VSH is calling 2026-08-21 10:56:06 +02:00
Henrik Rydgård 3bd41376da More memory cleanup 2026-08-11 20:12:10 +02:00
Nemoumbra 2bc5d2e400 Wrong function called in sceKernelCreateHeap 2026-04-11 23:40:05 +03:00
Henrik Rydgård ff9b009661 Add a new NID to SysMemForKernel, used by LightMP3 2025-04-12 11:35:55 +02:00
Henrik Rydgård 4e25f44eef Rename some module-related functions to include HLE where appropriate 2025-03-31 11:17:50 +02:00
Henrik Rydgård 0f840e6240 Move JPEG error codes to the big enum, some include cleanup 2025-03-21 20:44:46 +01:00
Henrik Rydgård 1f5cfe82ed Fix issue with hleLogDebugOrError where the return value argument got repeated.
Not good when the argument is a function call..
2025-03-05 11:24:44 +01:00
Henrik Rydgård 28b2c7f540 HLE log rename part 1: Remove duplicate log functions. Return type should be determined by metadata. 2025-01-29 09:45:39 +01:00
Henrik Rydgård f962fb0386 Enable checking the format string, fix some issues 2025-01-19 16:51:05 +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
Unknown W. Brackets 32feb82d16 HLE: Capture better allocation names.
We know which FPL, so don't just say "FPL".
2023-09-02 22:55:45 -07:00
Unknown W. Brackets c122ee0a11 HLE: Add some assorted detected func names.
These come from here:
https://github.com/SiSTR0/sce_symbols/blob/main/psp_names.txt
2023-06-06 23:50:49 -07:00
Unknown W. Brackets 6af6ccc1cf Global: Fix some format warnings. 2023-01-18 21:42:19 -08:00
sum2012 2d8aaaac5e Change to if (!heap) first in all function
As unknown feedback 2
2023-01-10 10:22:59 +01:00
sum2012 57c474cce7 Add 2 nids of SysMemForKernel
Find in #16297

Address unknown feedback 1
2023-01-10 10:18:36 +01:00
Unknown W. Brackets 1eac95ea25 Kernel: Respect partition param in heap funcs. 2022-11-22 00:13:06 -08:00
Unknown W. Brackets f7740edc6d Debugger: Add more metadata for memory usage. 2021-02-15 15:01:21 -08:00
Unknown W. Brackets d7fa5928d4 Kernel: Avoid two different Heap structs. 2020-08-19 20:56:05 -07: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
sum2012 3447cdf6dd oop 2020-07-28 10:50:06 +08:00
sum2012 74f710a228 Add two SysMemForKernel's nids
used in #13205
2020-07-28 10:47:08 +08:00
Henrik Rydgård df6d0a8ae7 PSP kernel: Improve logging when accessing bad kernel object handles. 2020-07-20 11:57:11 +02:00
sum2012 d19ee07ebf Some work in sceKernelPartitionTotalFreeMemSize,sceKernelPartitionMaxFreeMemSize
jpcsp ref:
https://github.com/jpcsp/jpcsp/commit/6d28d8799ce03e926ad8c764fd5deb8de165dc3b

We ignore ePartition now
2020-06-14 09:42:24 +08:00
sum2012 8a905bbb9d Wrap some SysMemForKernel
Used in "Hatsune Miku Project Diva Extend" chinese patched version
Prepare real support the chinese patched game.
2020-06-07 11:16:46 +08:00
Henrik Rydgård 34ae4cc5a9 Address additional feedback from Unknown, finally 2020-04-26 11:34:17 +02:00
Henrik Rydgård e3aa2f5e4c Assorted fixes (build and crash) 2020-04-26 11:19:31 +02:00
Henrik Rydgård e0614b7ce2 Use PPSSPP's kernel interface to retrieve Heap objects
Allows us to get rid of DoState and the map<>.
2020-04-26 11:19:31 +02:00
Henrik Rydgård bf73d3d663 Address Unknown's feedback
https://github.com/hrydgard/ppsspp/pull/7965/files
2020-04-26 11:19:31 +02:00