Firmware 4.03 bodies at 0x20cb0 (image) and 0x20f50 (pattern) recovered:
frame magic/sticky/parameter checks with error store at +4 and hook,
record-pool u16 free-run allocation under the pool mutex, 0x80 record
header (type 0x40/0x50, sequence, payload at +0x80), descriptor memcpy
of mode bytes, and same-sequence queue append bumping frame+0x28.
libSceFont links libkernel for scePthreadMutexLock/Unlock; guest test
covers validation, record bytes, queue order and the allocator.
Firmware 4.03 body at 0x20f50 takes ten integer arguments with the\noutput pointer last - the PPSA20397 libSceFontGsm.prx caller rotates\nsix registers and pushes four stack arguments, no float registers.\nUpdate the declaration, stub and signature assertion, and record the\nverified offsets and record/queue semantics in the debt file.
Adds the exports imported by PPSA20397 and PPSA03530 that had no
provider: Matchmaking::V1, Matches::V1, SessionManager::V1,
UserProfile::V1, TitleCloudStorage::V1, InGameCatalog::V5 domain
surfaces and the Common template instantiations over their types.
IntrusivePtr, Vector, Iterator and Transaction members follow the
layouts already implemented for the earlier titles; API verbs,
factories and transaction entry points fail
SCE_NP_WEBAPI_ERROR_NOT_SIGNED_IN as a signed-out console does;
parameter bookkeeping succeeds without state; response accessors and
vector iteration throw since a failed request produces no response.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Implement the six WTF::charactersToDouble and WTF::charactersToFloat
overloads for Latin-1 and UTF-16 input and the four static
WTF::double_conversion::StringToDoubleConverter StringToDouble and
StringToFloat overloads for char and uint16_t input, following pinned
public WebKit. One parser follows StringToIeee: the number grammar, the
772-digit cut with a sticky digit, the exponent saturation and the
processed length. charactersToDouble and charactersToFloat add
toDoubleType's leading ASCII spaces and ok/parsedLength results, map
UTF-16 code units above 0x7F to 0 and round the float overloads through
double. StringToDoubleConverter reads the code units as they are, skips
no spaces and rounds StringToFloat directly to float as Strtof does.
Null characters with a nonzero length and a null processed length throw
where WebKit faults, a decimal exponent that leaves the range of
WebKit's int throws where WebKit overflows, and a UTF-16 charactersTo*
length above UINT32_MAX throws where WebKit's conversion Vector crashes.
Implement WTF::parseDateFromNullTerminatedCharacters(const char*, bool&)
following pinned public WebKit DateMath.cpp: the legacy RFC 2822 style
parser with its month names, comments, three date layouts, two-digit
years, am/pm, numeric offsets and time zone names, and the time range
clamp before the zone offset. Integers go through the guest libc
strtol, as WebKit calls the platform C library. Null pointers throw
where WebKit faults, and a signed overflow that is undefined in WebKit
throws. The one-argument overload still throws because it depends on
the port's configure-time time functions and the device time zone.