Skip to content

Latest commit

 

History

History
 
 

README.md

Decomp Index

This directory holds Theseus's reverse-engineering notes for the 5960 retail Xbox dashboard. The table below is the master cross-reference between the binary and the Theseus reconstruction; every row maps a function in the loaded XBE (by Ghidra label and address) to its corresponding implementation in the Theseus source tree (or marks it as reference-only for subsystems we have not yet implemented). Per-subsystem narrative documents linked in the Coverage Status table at the bottom carry the prose explanations of behavior.

The intent is auditability. Anyone with the same XBE loaded into Ghidra can search by address, compare what we call something against what they would call it, read a one-line description of the behavior, and then click through to the subsystem narrative for the longer story.

How this table was built

  • Address: hex offset in the 5960 retail dashboard XBE. Ghidra's default image base is at 0x00010000; addresses below that are XBE headers, addresses above are .text / .rdata / .data per the section table.
  • Ghidra name: the symbol as labeled in the loaded project. Names were recovered the way binary RE always recovers names: by pulling apart every dashboard binary we could get our hands on and cherry-picking what each one volunteered. The 5960 retail XBE is the target and the last dashboard build Microsoft shipped; earlier revisions in the dashboard's history are the sources we cross-reference against. The principal techniques on the 5960 side are FND/PRD table extraction (the property and function descriptor blocks in the dashboard contain plaintext method names, parsed via custom Ghidra scripts) and XAP script verification (every name reachable from script lands in a known FND row). Roughly half of the binary's 4559 functions are named today.
  • Theseus name: the corresponding implementation in the Theseus source tree. Empty when the binary function is reference-only. Marked (reference only) when we have decompiled the function for documentation but do not build it (for example, the original Microsoft DVD playback chain).
  • Subsystem: per-area grouping. Links to the narrative doc for that subsystem.
  • Description: one line, binary analysis only. No source-level commentary.

When in doubt about an entry, run the address through Ghidra and compare. The point of this table is to be checkable.

Conventions

  • Rows are sorted by address ascending (binary memory layout).
  • The Ghidra column reflects the live label in the loaded project. If a Ghidra label changes (rename, refinement), that is a row update here.
  • Theseus name uses Class::method form when the active source tree exposes that name. For free functions, the bare function name. For helpers that were folded into a larger method during reconstruction, the host method.
  • Subsystem column links to the relevant narrative doc; if no doc exists yet, the cell is plain text and a doc is on the TODO list.
  • XDK library code that is statically linked into the dashboard (D3DX, DirectSound mixer, MCpx audio drivers, AC97, kernel video drivers, CRT helpers) is intentionally outside the scope of this table. Those rows would describe Microsoft library code, not dashboard code.

Functions

Address Ghidra name Theseus name Subsystem Description
0x00013dac _classCInline CInline::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for CInline. Anchors the FND/PRD tables that script binds to.
0x00013db4 _classCSwitch CSwitch::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for CSwitch (active-child selector).
0x00013db8 _classCTextNode CTextNode::class (text.cpp) Scene Graph Static CNodeClass registration for the text-rendering node.
0x000145cc _classCSpinner CSpinner::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for the continuous-rotation node.
0x000147c8 _classCMemoryMonitor CMemoryMonitor::class (memory_monitor.cpp) Scene Graph Static CNodeClass registration for the storage-device watcher node.
0x00014b38 _classCLayout CLayout::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for the radial layout container (used by the dashboard's main menu wheel).
0x00014b3c _classCBillboard CBillboard::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for the camera-facing quad node.
0x0001a06c _classCXAppNode CXAppNode::class (main.cpp) Scene Graph Static CNodeClass registration for the application root node type.
0x0001a098 _classCTimeDepNode CTimeDepNode::class (animation_nodes.cpp) Scene Graph Static CNodeClass registration for time-dependent node base.
0x0001a0f0 _classCArrayObject CArrayObject::class (xap_vm.cpp) Scene Graph Static CNodeClass registration for the script-visible Array type.
0x0001a1b0 _classCDateObject CDateObject::class (date_node.cpp) Scene Graph Static CNodeClass registration for the script-visible Date type.
0x0001a408 _classCFile CFile::class (file_ops.cpp) Scene Graph Static CNodeClass registration for the File node.
0x0001a94c _classCVec3Object CVec3Object::class (xap_vm.cpp) Scene Graph Static CNodeClass registration for the script-visible Vec3 type.
0x0001a990 _classCDiscDrive CDiscDrive::class (disc_management.cpp) Scene Graph Static CNodeClass registration for the disc-drive node.
0x0001aa40 _classCConfig CConfig::class (config.cpp) Scene Graph Static CNodeClass registration for the dashboard config singleton.
0x0001aef0 _classCRecovery (reference only) Scene Graph Static CNodeClass registration for the original CRecovery factory-recovery node. Theseus replaced it with CReboot.
0x0001da7c _classCScreenSaver CScreenSaver::class (settings_nodes.cpp) Scene Graph Static CNodeClass registration for the screensaver node.
0x0001db0c _classCJoystick CJoystick::class (input.cpp) Scene Graph Static CNodeClass registration for the joystick / controller input node.
0x0001dbe0 _classCTimeSensor CTimeSensor::class (animation_nodes.cpp) Scene Graph Static CNodeClass registration for the VRML97 TimeSensor (animation clock).
0x0001e198 _classCMusicCollection CMusicCollection::class (music_collection.cpp) Scene Graph Static CNodeClass registration for the music-collection node.
0x0001e664 _classCSavedGameGrid CSavedGameGrid::class (savegame_grid.cpp) Scene Graph Static CNodeClass registration for the memory-panel save grid.
0x0001eac0 _classCCopyDestination CCopyDestination::class (file_ops.cpp) Scene Graph Static CNodeClass registration for the copy-target picker node.
0x0001eb64 _classCTransform CTransform::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for the VRML97 Transform group node.
0x0001ed58 _classCViewpoint CViewpoint::class (animation_nodes.cpp) Scene Graph Static CNodeClass registration for the VRML97 Viewpoint (camera) node.
0x0001ed84 _classCScreen CScreen::class (screen.cpp) Scene Graph Static CNodeClass registration for the screen-management node.
0x0001eddc _classCNavigationInfo CNavigationInfo::class (animation_nodes.cpp) Scene Graph Static CNodeClass registration for VRML97 NavigationInfo (camera control mode).
0x0001eed0 _classCCameraPath CCameraPath::class (camera.cpp) Scene Graph Static CNodeClass registration for the camera-spline node.
0x0001efd8 _classCHud CHud::class (hud_node.cpp) Scene Graph Static CNodeClass registration for the heads-up overlay node.
0x0001f004 _classCPicture CPicture::class (asset_loader.cpp) Scene Graph Static CNodeClass registration for the textured-quad picture node.
0x0001f300 _classCMaxMaterial CMaxMaterial::class (materials.cpp) Scene Graph Static CNodeClass registration for the 3ds Max material translator node.
0x0001f33c _classCLayer CLayer::class (scene_groups.cpp) Scene Graph Static CNodeClass registration for the 2D-overlay layer node.
0x0001f368 _classCKeyboard CKeyboard::class (keyboard_node.cpp) Scene Graph Static CNodeClass registration for the on-screen keyboard node.
0x000223e4 CMathClass_floor CMathClass::floor (math_node.cpp) Math Script Math.floor(x). Wraps the C runtime floor.
0x00022408 CMathClass_pow CMathClass::pow (math_node.cpp) Math Script Math.pow(x, y). Wraps pow.
0x00022410 CMathClass_random CMathClass::random (math_node.cpp) Math Script Math.random(). Returns a [0, 1) float from the CRT PRNG.
0x00022434 CMathClass_sqrt CMathClass::sqrt (math_node.cpp) Math Script Math.sqrt(x). Wraps sqrt.
0x0002c570 CXApp::CXApp globals init in main.cpp App Shell Constructor for the original CXApp singleton. Theseus replaced this with module-scope globals and free functions; the binary class is preserved for reference.
0x0002cc10 Xbox_Init Xbox_Init (main.cpp) App Shell Early-boot init: XOnlineStartup, drive-letter symlinks, XSetFileCacheSize, XInitDevices, region detection, network bring-up. Runs before scene graph creation.
0x0002d0e0 CXApp::Draw main loop in main.cpp App Shell Per-frame render entry. Calls scene graph traversal then Present.
0x0002d7e0 CXApp::InitApp TheseusInit in main.cpp App Shell Direct3D device creation, scene graph bootstrap, initial XIP load.
0x0002d930 CXApp::CleanupApp TheseusShutdown in main.cpp App Shell Tear-down: scene graph destruction, D3D device release.
0x0002da00 XApp (vtable / class registration) App Shell CXApp class-table thunk emitted by the compiler. Theseus's CTheseus equivalent was eliminated; the binary still has it.
0x0002dbc0 CXApp::GetStartupClassFile startup logic in main.cpp App Shell Resolves the boot XAP file from config. The dashboard's first scene is loaded by string lookup against this path.
0x0002dc50 CRecovery::StartRecovery CReboot::Reboot in reboot_node.cpp App Shell Original entry to factory recovery via DashRecovery(). Theseus replaced with CReboot::Reboot() returning to firmware; recovery as a concept does not apply on modded hardware.
0x0002dc80 main main (main.cpp) App Shell C entry point. Calls Xbox_Init, constructs the global CXApp (theApp), enters the per-frame Draw loop.
0x0002def0 XAppCreateFile TheseusCreateFile in main.cpp App Shell Wrapper around CreateFileA with dashboard-specific share/disposition defaults.
0x0002ea20 CNodeClass::FindByName CNodeClass::FindByName in node_system.cpp Scene Graph Walks the static class registration list (built from _classCXxxx_CXxxx__2VCNodeClass__A entries in .data) looking for a UTF-16 class name match. The XAP compiler uses this when binding DEF declarations.
0x0002ee60 CXAppNode::Advance tick loop in main.cpp Scene Graph Per-frame tick on the application root node. Drives the time-dependent node graph.
0x00030570 CArrayElementReference::Deref CArrayElementReference::Deref (xap_vm.cpp) Script VM Dereferences an array[index] LHS. Allocates the slot if missing for assignment paths.
0x00030e70 CArrayObject::concat CArrayObject::concat (xap_vm.cpp) Script VM Array concatenation builtin invoked from script via Array.concat(...).
0x00031040 CDateObject::Construct CDateObject::Construct (date_node.cpp) Script VM Date object constructor. Initializes from current system time when called with no args, or parses string/numeric input.
0x00031450 CDateObject::getDate CDateObject::getDate (date_node.cpp) Script VM Returns the day-of-month component of the bound date.
0x00031510 CDateObject::toGMTString CDateObject::toGMTString (date_node.cpp) Script VM Formats date as RFC 1123 UTC string.
0x000315c0 CDateObject::toLocaleString CDateObject::toLocaleString (date_node.cpp) Script VM Formats date using the dashboard's current locale.
0x00031660 CDateObject::toUTCString CDateObject::toUTCString (date_node.cpp) Script VM Formats date in ISO 8601 UTC form.
0x00031710 CDateObject::SetSystemClock CDateObject::SetSystemClock (date_node.cpp) Script VM Writes the bound date back to the kernel via NtSetSystemTime.
0x00031b50 CFolder::Refresh CFolder::Refresh (file_ops.cpp) File Ops Rescans a Folder node's directory and rebuilds its child File / Folder array. Driven by FindFirstFile / FindNextFile.
0x00032010 CFolder_sortByName CFolder::sortByName (file_ops.cpp) File Ops FND-bound script method: re-sorts the folder's contents alphabetically by filename.
0x00032040 CStrObject::CStrObject CStrObject::CStrObject (xap_vm.cpp) Script VM String object default constructor.
0x00032090 CStrObject::CStrObject CStrObject::CStrObject (xap_vm.cpp) Script VM String object constructor from wchar_t* literal.
0x00032130 CStrObject::CStrObject CStrObject::CStrObject (xap_vm.cpp) Script VM String object copy constructor.
0x000321f0 CNumObject::ToNum CNumObject::ToNum (xap_vm.cpp) Script VM Number-object self coercion. Returns the bound float directly without conversion.
0x00032850 CStrObject::toLowerCase CStrObject::toLowerCase (xap_vm.cpp) Script VM Lowercases the bound UTF-16 string in place using _wcslwr.
0x000328c0 CStrObject::toUpperCase CStrObject::toUpperCase (xap_vm.cpp) Script VM Uppercases the bound UTF-16 string in place using _wcsupr.
0x00032af0 CMathClass_abs CMathClass::abs (math_node.cpp) Math Script Math.abs(x). Returns the magnitude of a float.
0x00033690 ExpandCString ExpandCString (string_util.cpp) Util Resizes a CString buffer (the dashboard's growable wide-string container) to hold at least N additional characters.
0x00034d80 CFunctionCompiler::ParseExpression CFunctionCompiler::ParseExpression (xap_compile.cpp) Script VM Recursive-descent expression parser. Drives the operator-precedence DOPER table to emit operator opcodes.
0x00034ea0 CFunctionCompiler::ParseIF CFunctionCompiler::ParseIF (xap_compile.cpp) Script VM Compiles if / if/else to opCond + jump fixups.
0x00035170 CFunctionCompiler::ParseDO CFunctionCompiler::ParseDO (xap_compile.cpp) Script VM Compiles loop constructs (while, do/while, for) to opCond + back-edge opJump.
0x00035540 CFunctionCompiler::ParseBREAK CFunctionCompiler::ParseBREAK (xap_compile.cpp) Script VM Emits a forward opJump patched to the loop exit by the enclosing parse-loop.
0x00035610 CFunctionCompiler::ParseCONTINUE CFunctionCompiler::ParseCONTINUE (xap_compile.cpp) Script VM Emits a back-edge opJump to the loop condition.
0x00035800 CFunctionCompiler::ParseBlock CFunctionCompiler::ParseBlock (xap_compile.cpp) Script VM Wraps a brace-delimited statement list in opFrame / opEndFrame for local scope.
0x00035960 CFunctionCompiler::ParseStatement CFunctionCompiler::ParseStatement (xap_compile.cpp) Script VM Statement-level dispatcher. Routes by leading token to ParseIF / ParseDO / ParseBlock / etc. Emits opStatement line markers.
0x00035ec0 CClassCompiler::CompileNode CClassCompiler::CompileNode (xap_compile.cpp) Script VM VRML97 node body compiler. Walks DEF / USE / property assignments and emits scene graph opcodes.
0x00036440 CClassCompiler::CompileDot CClassCompiler::CompileDot (xap_compile.cpp) Script VM Compiles dotted property access (a.b.c). Emits opDot chain.
0x00036f70 CRunner::FetchString CRunner::FetchString (xap_vm.cpp) Script VM Reads an inline UTF-16 string from the bytecode stream. Used by opStr, opVar, and node-name opcodes.
0x000373a0 CLocalVariable::Assign CLocalVariable::Assign (xap_vm.cpp) Script VM Assignment handler for stack-frame locals. Stores the right-hand value into the local slot and updates refcounts.
0x00037510 CRunner::Push CRunner::Push (xap_vm.cpp) Script VM Pushes a CObject* onto the VM evaluation stack. Refcounts the pushed object.
0x00037800 CObject::Call CObject::Call (xap_vm.cpp) Script VM Method dispatch. Looks up the FND entry by name on the receiver's class, dereferences arguments off the script stack, and invokes the native handler via signature-typed switch (sig_vv, sig_iv, etc.).
0x00038620 CRunner::ExecuteBuiltIn CRunner::ExecuteBuiltIn (xap_vm.cpp) Script VM Global builtin dispatcher. Switches by argument-name length and wcsncmps against EnableInput, eval, launch, alert, log, DebugBreak.
0x000390f0 CVec3Object::ToStr CVec3Object::ToStr (xap_vm.cpp) Script VM Formats a 3-component vector as "x y z" for script string coercion.
0x0003a260 CDiscDrive_getTrackCount CDiscDrive::getTrackCount (disc_management.cpp) Disc Returns the number of audio tracks on the inserted CD. Used by the soundtrack import flow.
0x0003a680 CConfig::GetAVPackType CConfig::GetAVPackType (config.cpp) Settings Reads the AV pack type (composite, S-Video, component, HDMI-via-pack) from the kernel via XGetAVPack.
0x0003a740 CConfig::GetAVRegion CConfig::GetAVRegion (config.cpp) Settings Returns the configured analog video region (NTSC, PAL, etc.).
0x0003a7e0 CConfig::GetGameRegion CConfig::GetGameRegion (config.cpp) Settings Returns the console's region code (NA / JP / EU). Used to gate region-locked game launches in scripts.
0x0003a860 CConfig_GetPAL60Support CConfig::GetPAL60Support (config.cpp) Settings Returns whether the console / TV supports PAL60 mode.
0x0003ab30 CConfig_GetLaunchParameter1 CConfig::GetLaunchParameter1 (config.cpp) Settings Returns the first parameter passed by the previous title to the dashboard via XSetLaunchData.
0x0003af80 CConfig_GetVideoMode CConfig::GetVideoMode (config.cpp) Settings Returns the active video mode (480i/p, 720p, 1080i) selected in dashboard settings.
0x0003b2d0 CConfig::GetLaunchReason CConfig::GetLaunchReason (config.cpp) Settings Reports why the dashboard was booted (cold boot, returned-to-dash, eject, error).
0x0003b420 CConfig_GetFontVersion CConfig::GetFontVersion (config.cpp) Settings Returns the version of the loaded XTF font set.
0x0003b860 CConfig::GetXdashVersion CConfig::GetXdashVersion (config.cpp) Settings Returns the dashboard build version string.
0x0003b9d0 CConfig_GetDSTAllowed CConfig::GetDSTAllowed (config.cpp) Settings Returns whether daylight savings observance is enabled in the eeprom.
0x0003b9e0 CConfig_GetEthernetLinkStatus CConfig::GetEthernetLinkStatus (config.cpp) Settings Polls the ethernet PHY for link state. Drives the network-connected indicator on the settings panel.
0x0003baf0 CRecovery::RecoveryThread (reference only) App Shell Worker thread that performs the original factory-recovery wipe sequence. Theseus does not exercise this on modded hardware.
0x0003bf00 CSettingsFile::Save CSettingsFile::Save (settingsfile.cpp) Settings Serializes the in-memory settings tree to disk. Driven by the settings panel's "Save" action.
0x0003ca10 CTranslator::TranslateStripColon CTranslator::TranslateStripColon (locale_node.cpp) Locale Looks up a localized string by key, then strips a trailing : if present. Used for menu labels that need both punctuated and bare forms.
0x0003dba0 FindObjectInXIP FindObjectInXIP (xip_archive.cpp) XIP Archives Free function: searches an opened XIP archive's directory for a named object (texture, mesh, script).
0x0003ddf0 CXipFile::Open CXipFile::Open (xip_archive.cpp) XIP Archives Opens a .xip archive, reads the header, and validates the magic. Returns a CXipFile* handle for subsequent lookups.
0x0003dec0 CXipFile::StartLoadThread CXipFile::StartLoadThread (xip_archive.cpp) XIP Archives Spawns a background loader thread that streams archive payload while the main thread continues.
0x0003e290 CXipFile::Find CXipFile::Find (xip_archive.cpp) XIP Archives Linear scan of the archive's TOC for a named entry.
0x0003e320 CXipFile::FindObject CXipFile::FindObject (xip_archive.cpp) XIP Archives Higher-level wrapper around Find that also resolves cross-archive references via the global XIP search list.
0x0003f420 CGameCopier::CreateDirectoryA CGameCopier::CreateDirectory (file_ops.cpp) File Ops Wrapper around the kernel's CreateDirectory with progress-reporting hooks for the copy UI.
0x0003f700 CGameCopier::CopyFileA CGameCopier::CopyFile (file_ops.cpp) File Ops Buffered file copy with progress callback. Used by save-to-MU and game-copy flows.
0x0003f830 CGameCopier::DeleteFileA CGameCopier::DeleteFile (file_ops.cpp) File Ops DeleteFile wrapper.
0x0003f8a0 CGameCopier::DeleteDirectory CGameCopier::DeleteDirectory (file_ops.cpp) File Ops Recursive directory removal with progress callback.
0x000401b0 CScreenSaver::Advance CScreenSaver::Advance (settings_nodes.cpp) Settings Per-frame tick on the screensaver node. Counts down the idle timer and toggles the saver layer when threshold is reached.
0x000402a0 CScreenSaver::reset CScreenSaver::reset (settings_nodes.cpp) Settings Resets the idle timer to zero. Called on any input event.
0x00040320 CObject::ToNum CObject::ToNum (xap_vm.cpp) Script VM Default numeric coercion for CObject subclasses. Subclasses override; base returns 0.
0x00040380 CObject::OnSetProperty CObject::OnSetProperty (xap_vm.cpp) Script VM Property-write hook. Called after opAssign lands a value on a property; subclasses override to react to property changes.
0x00040990 CTimeDepNode::~CTimeDepNode CTimeDepNode::~CTimeDepNode (animation_nodes.cpp) Animation Destructor for time-dependent nodes (TimeSensor and friends). Unlinks from the time-dep list.
0x00040b70 CJoystick_EnableGlobalInput CJoystick::EnableGlobalInput (input.cpp) Input Toggles dashboard-wide gamepad input. Used by modal scenes (alerts, panic) to suspend or restore controller events.
0x0004147c CObject::Deref CObject::Deref (xap_vm.cpp) Script VM Dereferences a script value. For CVarObject resolves to the bound target; for primitive objects returns this.
0x000417f8 CTimeDepNode::OnSetProperty CTimeDepNode::OnSetProperty (animation_nodes.cpp) Animation Reacts to property writes on time-dep nodes. Re-registers the node with the time-dep list when its enabled toggles.
0x00041950 CObject::Assign CObject::Assign (xap_vm.cpp) Script VM Default assignment handler. Called by opAssign when LHS is a script-visible property.
0x000419e0 CSettings_GetValue CSettings::GetValue (settings_nodes.cpp) Settings FND-bound script accessor: returns the value of a settings entry by name.
0x00041f20 FUN_00041f20 CTitleArray::AddTitle (title_collection.cpp) Title Collection Reads <udata>\<titleID>\TitleMeta.xbx, extracts TitleName for the active language code (or falls back to a translated "Broken Game"), then grows the title array by 50 entries if at capacity (m_titleCount == m_titleCapacity), and copies the title ID + name into the new slot. Identified by the path-build + INI read + += 50 capacity grow + array memcpy pattern.
0x00041c90 CTimeSensor::Advance CTimeSensor::Advance (animation_nodes.cpp) Animation Per-frame tick. Computes fractional progress through the sensor's cycle interval and routes that into the bound interpolators.
0x00041d80 CObject::ToStr CObject::ToStr (xap_vm.cpp) Script VM Default string coercion. Returns class name; subclasses override for meaningful output.
0x00041d90 CObject::_vtable_default CObject::_vtable_default (xap_vm.cpp) Script VM The default vtable instance shared by base CObject instances.
0x00042230 FUN_00042230 CTitleArray::Update (title_collection.cpp) Title Collection The boot-time title enumerator. Enters m_RootLock, walks <udata>\*.* via FindFirstFile/FindNextFile, calls AddTitle for each non-fffe0000 directory, qsorts by name, then ScanSavedGames per title. Identified by the signature match (critical section + FindFirstFile loop + qsort).
0x00042740 CSavedGameGrid::GetSavedGameCount CSavedGameGrid::GetSavedGameCount (savegame_grid.cpp) Save Games Returns the total count of saves visible across all attached storage devices, summed from the title array.
0x000428d0 FUN_000428d0 Title Collection Loads / counts DLC entries for a title. Allocates a 0x1000-entry array of stride-0x34 records and iterates C:\tdata\<titleid>\$c\ via the FUN_00043730 enumerator. 5960-only DLC content management; no Theseus equivalent.
0x00042b40 GetXboxLiveAccountsCount_internal GetXboxLiveAccountsCount_internal (savegame_grid.cpp) Save Games Helper that counts Xbox Live accounts visible on the current device. Backs the Live tab on the memory grid.
0x00042c20 FUN_00042c20 CTitleArray::FindTitle (title_collection.cpp) Title Collection Returns the index of a title by ID, or -1. Linear __wcsicmp scan over the title array (stride 0x28). Identified by signature match.
0x00042cb0 FUN_00042cb0 CTitleArray::AddSavedGame (title_collection.cpp) Title Collection Adds a save record (szTitleID, szDirName, FILETIME saveTime) to the title array. Calls FindTitle; if missing calls AddTitle + qsort + re-FindTitle. Then resizes the save array to count+1, calls InitSave, qsorts, and invalidates the title's block caches.
0x00042e40 CTitleArray::RemoveTitle CTitleArray::RemoveTitle (title_collection.cpp) Title Collection Removes a title entry from the global title array (called when a title is uninstalled or the storage holding it is removed).
0x00042ef0 FUN_00042ef0 CTitleArray::RemoveSavedGame (title_collection.cpp) Title Collection Removes the Nth save (stride 0x30) from the Mth title via memmove + count decrement, then invalidates the title's block cache (offsets +0x10, +0x20). First overload, taking (int nTitle, int nSavedGame). Identified by signature match.
0x00042f40 FUN_00042f40 CTitleArray::RemoveSavedGame (title_collection.cpp) Title Collection Second overload taking (const TCHAR* szTitleID, const TCHAR* szDirName). Calls FindTitle, iterates saves by directory name, then memmove-removes. Identified by signature match.
0x00042ff0 FUN_00042ff0 Title Collection Parallel of RemoveSavedGame but operates on a stride-0x34 array (DLC) instead of stride-0x30 (saves). 5960 DLC content management; no Theseus equivalent.
0x00043150 GetSavedGameID_internal CTitleArray::GetSavedGameID (title_collection.cpp) Title Collection Returns the directory-name string for the Nth save under the Mth title. The grid-side CSavedGameGrid::GetSavedGameID2 wrapper trampolines into this on the active device.
0x00043390 FUN_00043390 CTitleArray::GetTitleTotalBlocks (title_collection.cpp) Title Collection Computes total block count for a title (cached at title-struct offset +0x20). Calls a path-walking enumerator and aggregates results. Identified by the wcscmp(... L"fffe0000") early-out and the +0x20 cache invalidation matching RemoveSavedGame.
0x00043460 FUN_00043460 Title Collection Internal path-build helper used by GetTitleTotalBlocks: appends a name to a wstring path with a backslash separator, then calls a directory walker. No direct Theseus equivalent.
0x000434f0 FUN_000434f0 Title Collection Save-game directory enumerator. Walks a <titlepath>\$s\ directory tallying entry sizes. Parallel to FUN_00043730 (DLC enumerator). Inlined / folded into Theseus's CTitleArray::Update.
0x00043730 FUN_00043730 Title Collection DLC directory enumerator. Walks <titlepath>\$c\ to count and size DLC entries. 5960-only DLC content management; folded into Theseus's CSavedGameGrid::ResolveDLCFolder flow.
0x00043ae0 FUN_00043ae0 Title Collection Drive-letter to device-unit translator ('F'/'f'->0, ... 'C'/'c'->8). Used by every CTitleArray method that branches on the active drive. Inlined in Theseus.
0x00043c50 FUN_00043c50 CTitleArray::IsDirty (title_collection.cpp) Title Collection Returns 1 if both m_root[0] is set AND m_dirty is set; 0 otherwise. Two-condition test matches IsDirty's body, not IsValid's single-condition test.
0x00044290 FUN_00044290 Live Accounts Removes ALL Xbox Live accounts from HDD by looping _XOnlineRemoveUserFromHD over each loaded user, then invalidating the cache (this+0x924 = -1). Not exposed in Theseus; kept here as a binary anchor for the unported bulk-delete flow.
0x000442f0 FUN_000442f0 Live Accounts Removes a single Xbox Live account from HDD. Per-user inner of FUN_00044290. Calls _XOnlineRemoveUserFromHD once and invalidates the cache.
0x000432f0 CFont::Open CFont::Open (text.cpp) Text Loads an XTF font file from a XIP and constructs the glyph cache.
0x00044240 CTitleArray::IsPublisherExists CTitleArray::IsPublisherExists (title_collection.cpp) Title Collection Tests whether any title in the array shares a given publisher ID. Used by save-game grouping.
0x000463f0 CMusicCollection_GetSoundtrackCount CMusicCollection::DeleteSoundtrack (music_collection.cpp, stubbed) Music Despite the Ghidra label, this trampolines into a delete-shaped helper at 0x00046320 (bounds check, close handle, memmove + count decrement). The Ghidra label appears to be a Version Tracking misalignment. Theseus stubs DeleteSoundtrack to no-op.
0x00046020 FUN_00046020 CMusicCollection::FormatSoundtrackSongTime (music_collection.cpp) Music Returns a MM:SS formatted song-length string. Calls XGetSoundtrackSongInfo, divides ms-length by 1000, formats minutes / seconds, wraps in a new CStrObject.
0x00046120 FUN_00046120 CMusicCollection::AddSoundtrack (music_collection.cpp, stubbed) Music Computes the 20-byte XC digest of the soundtrack name, compares it against a 40-byte two-entry key table for system-soundtrack admission control, then dispatches to DashAddSoundtrack. Theseus stubs this to return -1. Identified by the XCCalcDigest call shape and the digest-table compare.
0x00046320 FUN_00046320 Music Free-function ::DeleteSoundtrack(int nSoundtrack) worker. Bounds-checks against c_nSoundtrackCount, calls DashBeginUsingSoundtracks and DashDeleteSoundtrack, then on success closes the dash handle, decrements the count, and memmoves the soundtrack array (stride 0x4c). The wrapper at 0x000463f0 is what FND-binds this.
0x00046390 FUN_00046390 Music Free-function ::DeleteAllSoundtracks(). Calls DashBeginUsingSoundtracks, loops DashDeleteSoundtrack over every entry in c_rgsoundtrack, closes the dash handle, zeroes c_nSoundtrackCount.
0x00046400 FUN_00046400 CMusicCollection::ClearCopyList (music_collection.cpp, stubbed) Music Frees the existing m_rgCopySong buffer and reallocates nSongCount * sizeof(CCopySong) (stride 0x18). Resets m_nCopySongAlloc and zeroes m_nCopySongCount. Theseus stubs to no-op.
0x00046830 FUN_00046830 Music CMusicCollection::ThreadProc worker. Iterates the copy-song queue (m_rgCopySong), reads each song's name via XGetSoundtrackSongInfo, hands off to FUN_000468e0 (per-song copy). Theseus does not implement the music copy thread.
0x00046660 CMusicCollection::GetUpdateString CMusicCollection::GetUpdateString (music_collection.cpp) Music Builds the localized "Updating soundtracks..." progress string for the music panel.
0x00047520 ~CSavedGameGrid CSavedGameGrid::~CSavedGameGrid (savegame_grid.cpp) Save Games Destructor. Frees per-title cached data and unhooks the device-change watcher.
0x000476f0 CSavedGameGrid_GetTitleCount CSavedGameGrid::GetTitleCount (savegame_grid.cpp) Save Games Returns the count of distinct titles that have at least one save / DLC / Live record on the current device.
0x000478d0 CSavedGameGrid_GetTitleID CSavedGameGrid::GetTitleID (savegame_grid.cpp) Save Games Returns the 8-character hex title ID at a given grid index.
0x00047970 CSavedGameGrid::GetTitleName2 CSavedGameGrid::GetTitleName2 (savegame_grid.cpp) Save Games Returns the display name for a title at a given grid index, falling back to the cached TitleNames.ini lookup if the live cert is unavailable.
0x00047ab0 CSavedGameGrid_GetTitleName CSavedGameGrid::GetTitleName (savegame_grid.cpp) Save Games FND-bound title-name accessor exposed to scripts. Wraps GetTitleName2.
0x00048450 CSavedGameGrid::GetUpdateString CSavedGameGrid::GetUpdateString (savegame_grid.cpp) Save Games Builds the "Updating saved games..." progress string for the memory panel.
0x00048690 CSavedGameGrid::RenderIconRow CSavedGameGrid::RenderIconRow (savegame_grid.cpp) Save Games Renders one row of save tiles. Resolves icons from each title's UDATA TitleImage.xbx or DLC's ContentMeta.xbx.
0x00049590 CSavedGameGrid_selectUp CSavedGameGrid::selectUp (savegame_grid.cpp) Save Games Up-arrow handler on the grid. Walks selection upward with row wrap.
0x00049650 CSavedGameGrid_selectDown CSavedGameGrid::selectDown (savegame_grid.cpp) Save Games Down-arrow handler on the grid.
0x000497b0 CSavedGameGrid_selectRight CSavedGameGrid::selectRight (savegame_grid.cpp) Save Games Right-arrow handler on the grid. Page-flips when at column boundary.
0x00049840 CSavedGameGrid_setSelImage CSavedGameGrid::setSelImage (savegame_grid.cpp) Save Games Updates the selection-highlight texture for the currently focused tile.
0x00049940 CSavedGameGrid_FormatGridItemName CSavedGameGrid::FormatGridItemName (savegame_grid.cpp) Save Games Formats the display name for any grid item (save / DLC / Live account).
0x00049ca0 CSavedGameGrid::FormatSavedGameTime CSavedGameGrid::FormatSavedGameTime (savegame_grid.cpp) Save Games Formats a save's last-modified FILETIME into a localized date string for the tile subtitle.
0x00049eb0 CSavedGameGrid_GetXboxLiveAccountsCount CSavedGameGrid::GetXboxLiveAccountsCount (savegame_grid.cpp) Save Games FND-bound version of the Live accounts count, exposed to scripts as a property on the grid.
0x00049ed0 CSavedGameGrid_GetGridItemCount CSavedGameGrid::GetGridItemCount (savegame_grid.cpp) Save Games Total count of grid tiles for the current title (saves + DLC + Live accounts). Drives layout math.
0x00049f70 CSavedGameGrid_FormatGridItemSize CSavedGameGrid::FormatGridItemSize (savegame_grid.cpp) Save Games Formats a grid item's storage footprint as a localized "X blocks" string.
0x0004a3e0 CSavedGameGrid_FormatTitleSize CSavedGameGrid::FormatTitleSize (savegame_grid.cpp) Save Games Formats a title's total footprint (sum across all of its saves and DLC).
0x0004a700 CSavedGameGrid_GetSavedGamePath CSavedGameGrid::GetSavedGamePath (savegame_grid.cpp) Save Games Returns the absolute path on the current device for the save at index N.
0x0004a820 CSavedGameGrid_FormatFreeBlocks CSavedGameGrid::FormatFreeBlocks (savegame_grid.cpp) Save Games Formats the device's free-block count for the memory panel header.
0x0004a8d0 CSavedGameGrid_FormatTotalBlocks CSavedGameGrid::FormatTotalBlocks (savegame_grid.cpp) Save Games Formats the device's total-block count for the memory panel header.
0x0004a9c0 CHardDrive_GetTotalBlocks File Ops Returns the total block count of the HDD partition currently selected by the memory panel.
0x0004b1d0 CSavedGameGrid::DeleteThread CSavedGameGrid::DeleteThread (savegame_grid.cpp) Save Games Worker thread that performs the actual save-game delete (file removal + UDATA cleanup) off the UI thread.
0x0004b630 CSavedGameGrid::StartDelete CSavedGameGrid::StartDelete (savegame_grid.cpp) Save Games Kicks off a save-game delete operation. The confirm submenu calls this; UI bug noted in known issues prevents the action from actually firing.
0x0004b6b0 CSavedGameGrid_CanCopy CSavedGameGrid::CanCopy (savegame_grid.cpp) Save Games Returns true if the focused grid item is copyable (saves yes, DLC no, Live account stubbed).
0x0004b830 CSavedGameGrid_IsSavedGameSelected CSavedGameGrid::IsSavedGameSelected (savegame_grid.cpp) Save Games Tests whether the focused tile is a save (versus DLC or Live account). Drives save-only menu actions.
0x0004ba90 CSavedGameGrid_IsXboxLiveAccountSelected CSavedGameGrid::IsXboxLiveAccountSelected (savegame_grid.cpp) Save Games Tests whether the currently focused tile is a Live account row (versus a save or DLC row). Drives Live-specific menu actions.
0x0004bab0 CSavedGameGrid_StartXboxLiveAccountCopy CSavedGameGrid::StartXboxLiveAccountCopy (savegame_grid.cpp) Save Games Original entry to the move-Live-account-between-MUs flow. Theseus stubs this to fire OnCopyError immediately; XAP UI is preserved.
0x0004bf50 CMemoryMonitor::UpdateValidDeviceFlags CMemoryMonitor::UpdateValidDeviceFlags (memory_monitor.cpp) Memory Monitor Polls XGetDevices and refreshes the bitmask of attached storage (HDD, MU0, MU1, MU2, MU3).
0x0004c3b0 CMemoryMonitor::GetTotalAndFreeBlocks CMemoryMonitor::GetTotalAndFreeBlocks (memory_monitor.cpp) Memory Monitor Returns total + free blocks on a given device for the bar-chart display.
0x0004c480 CMemoryMonitor::Advance CMemoryMonitor::Advance (memory_monitor.cpp) Memory Monitor Per-frame tick. Triggers re-enumeration on insert / eject events.
0x0004c840 CMemoryMonitor_FormatDeviceName CMemoryMonitor::FormatDeviceName (memory_monitor.cpp) Memory Monitor First format helper for a device's display label. Builds the bare-bones name without the user-set MU label.
0x0004c8c0 CMemoryMonitor::FormatDeviceName2 CMemoryMonitor::FormatDeviceName2 (memory_monitor.cpp) Memory Monitor Builds a device's display label including the user-set MU name when available.
0x0004c930 CMemoryMonitor_FormatTotalSlots CMemoryMonitor::FormatTotalSlots (memory_monitor.cpp) Memory Monitor Formats the device's total save-slot capacity (titles can claim per-save slots, distinct from raw blocks).
0x0004c9d0 CMemoryMonitor_FormatFreeSlots CMemoryMonitor::FormatFreeSlots (memory_monitor.cpp) Memory Monitor Formats the device's remaining save-slot count.
0x0004ca90 CMemoryMonitor_FormatFreeBlocks CMemoryMonitor::FormatFreeBlocks (memory_monitor.cpp) Memory Monitor Formats remaining free blocks for a single device.
0x0004cb90 CMemoryMonitor_GetTotalFreeBlocks CMemoryMonitor::GetTotalFreeBlocks (memory_monitor.cpp) Memory Monitor FND-bound: total free blocks across all attached devices. Drives the global "free space" readout.
0x0004cbc0 CMemoryMonitor_FormatTotalBlocks CMemoryMonitor::FormatTotalBlocks (memory_monitor.cpp) Memory Monitor Formats total blocks for a single device.
0x0004ccd0 CMemoryMonitor::SetMUName CMemoryMonitor::SetMUName (memory_monitor.cpp) Memory Monitor Renames a memory unit. Writes the new name to the unit's metadata block via the kernel.
0x0004cd10 CMemoryMonitor_FormatMemoryUnit CMemoryMonitor::FormatMemoryUnit (memory_monitor.cpp) Memory Monitor Formats an MU's display label with its user-set name.
0x0004dbb0 CTransform::CalcMatrix CTransform::CalcMatrix (scene_groups.cpp) Scene Groups Composes translate / rotate / scale into the node's world matrix. Called when any TRS field changes.
0x0004e0f0 CTransform::SetRotation CTransform::SetRotation (scene_groups.cpp) Scene Groups Sets the rotation as axis-angle. Marks the matrix dirty for next CalcMatrix.
0x0004e4d0 CInline::Init CInline::Init (scene_groups.cpp) Scene Groups Inline-node init: opens the referenced XIP / XAP and inserts its root into the local scene graph.
0x0004e740 CInline::Advance CInline::Advance (scene_groups.cpp) Scene Groups Per-frame tick. If the load thread completed, swaps the placeholder for the loaded sub-tree.
0x00053ed0 CFont::LoadGlyph CFont::LoadGlyph (text.cpp) Text Decompresses a single glyph bitmap from the XTF cache table.
0x0005acb0 CKeyboard_CursorRight CKeyboard::CursorRight (keyboard_node.cpp) Keyboard Right-arrow handler on the on-screen keyboard. Wraps to row start when at row end.
0x0005b340 CKeyboard_activate CKeyboard::activate (keyboard_node.cpp) Keyboard Commits the highlighted key. Handles regular keys, layout switches (shift/sym), and the OK / cancel softkeys.
0x0005b630 CKeyboard::Backspace CKeyboard::Backspace (keyboard_node.cpp) Keyboard Handles backspace on the on-screen keyboard. Removes the last character (with surrogate pair awareness).
0x0005b700 CKeyboard_CursorLeft CKeyboard::CursorLeft (keyboard_node.cpp) Keyboard Left-arrow handler. Wraps to row end when at row start.
0x0005b740 CKeyboard_CursorRight CKeyboard::CursorRight (keyboard_node.cpp) Keyboard Right-arrow handler (alternate FND-bound entry).
0x0005b780 CKeyboard_Shift CKeyboard::Shift (keyboard_node.cpp) Keyboard Toggles the shift / caps layer of the on-screen keyboard.
0x0005c250 CLevel_load Scene Groups FND-bound script method on Level: triggers asynchronous load of the Level's referenced sub-scene.
0x0005d200 CLevel::Deactivate CLevel::Deactivate (scene_groups.cpp) Scene Groups Marks a Level node inactive. Pauses its time-dep children and skips it during render traversal.
0x0005d300 CPositionInterpolator::Interpolate CPositionInterpolator::Interpolate (animation_nodes.cpp) Animation Linear interpolation between key positions based on the bound TimeSensor's fraction.
0x0005d5a0 COrientationInterpolator::Interpolate COrientationInterpolator::Interpolate (animation_nodes.cpp) Animation Spherical-linear interpolation between key axis-angle rotations.
0x00061090 CBackgroundLoader::Fetch CBackgroundLoader::Fetch (asset_loader.cpp) Asset Loader Pulls the next pending request off the background loader queue. The loader thread spins on this.
0x00061760 CImageTexture::Load CImageTexture::Load (asset_loader.cpp) Asset Loader Loads an XBX (Xbox swizzled) texture from a XIP entry into a D3D texture.
0x00061b40 CAudioClip::Cleanup CAudioClip::Cleanup (audio_system.cpp) Audio Releases an audio clip's DirectSound buffer and waveform data.
0x00061ba0 CAudioClip::Init CAudioClip::Init (audio_system.cpp) Audio Loads a clip from a XIP entry, parses the WAV header, allocates a DSound buffer, and uploads the PCM payload.
0x000629a0 CAudioBuf::Lock CAudioBuf::Lock (audio_system.cpp) Audio DSound IDirectSoundBuffer::Lock wrapper. Used by the audio pump to write streamed samples.
0x000629d0 CAudioBuf::Unlock CAudioBuf::Unlock (audio_system.cpp) Audio DSound Unlock wrapper.
0x00062a30 CAudioBuf::Stop CAudioBuf::Stop (audio_system.cpp) Audio Stops playback of a CAudioBuf and resets its play cursor.
0x00062ad0 CAudioBuf::SetFrequency CAudioBuf::SetFrequency (audio_system.cpp) Audio Sets the buffer's playback rate. Used for pitch shifts and seek-rate effects.
0x00062fe0 CAudioPump::Stop CAudioPump::Stop (audio_system.cpp) Audio Stops the audio pump's streaming worker. The dashboard's original WMA pump path; Theseus's MP3 path is CMP3Pump.
0x000630d0 CAudioPump::FillBuffer CAudioPump::FillBuffer (audio_system.cpp) Audio Pump tick. Reads decoded samples from the source decoder and writes them into the playback buffer's free region.
0x000632b0 CFilePump::Stop CFilePump::Stop (audio_system.cpp) Audio Stops a file-backed audio pump. Closes the source file handle.
0x00063320 CFilePump::Initialize CFilePump::Initialize (audio_system.cpp) Audio Opens an audio file for streaming, parses its header, and binds a decoder.
0x00063520 CWMAPump::Initialize (reference only) Audio Original WMA-streaming pump. Cut from Theseus; replaced with CMP3Pump (minimp3-based). Preserved here for binary documentation.
0x000638a0 CAudioVisualizer::CalcSpectrum CAudioVisualizer::CalcSpectrum (audio_system.cpp) Audio Computes a frequency spectrum from the playback buffer's recent samples for visualizer scenes (FFT-driven dotfields, TMAP modulation).
0x00064ec0 CNtIoctlCdromService::DeviceIoControl CNtIoctlCdromService::DeviceIoControl (ntiosvc.cpp) NtIoSvc Routes IOCTLs to the CD-ROM device driver. The dashboard talks to the disc through this; Theseus's reconstruction reuses it for ISO/CCI mount via Hermes.
0x00065150 CCDDAStreamer::CCDDAStreamer (reference only) Audio CD digital audio streamer constructor. Used by the original soundtrack rip flow; the rip-CD-to-disk feature is not yet implemented in Theseus.
0x000676c0 CDVDPlayer::CheckUserOp (reference only) DVD Playback Checks whether a given DVD user operation (next chapter, scan, menu) is permitted by the disc's prohibited-operations mask. The full DVD playback chain was cut from Theseus; the desktop build uses libmpv instead.
0x00068d60 XOnlineGetUsers_wrapper XOnlineGetUsers_wrapper (live_accounts.cpp) Live Accounts Thin wrapper around the kernel XOnlineGetUsers import. Centralizes argument marshalling for the dashboard's Live-user enumeration paths.
0x00069470 CLiveAccounts_LoadFromHD_internal CLiveAccounts::LoadFromHD (live_accounts.cpp) Live Accounts Loads all Xbox Live accounts stored on the HDD via _XOnlineGetUsersFromHD. Populates the global g_Users[] array.
0x00069730 CLiveAccounts_GetNumberOfAccounts CLiveAccounts::GetNumberOfAccounts (live_accounts.cpp) Live Accounts Returns the count of accounts loaded by LoadFromHD.
0x00069750 CLiveAccounts_GetAccountName CLiveAccounts::GetAccountName (live_accounts.cpp) Live Accounts Returns gamertag for the Nth loaded account.
0x000697f0 CLiveAccounts_GetAccountName CLiveAccounts::GetAccountName (live_accounts.cpp) Live Accounts Overload of GetAccountName. Differs by signature; both write the same gamertag string.
0x000698b0 CLiveAccounts_IsPasswordEnabled CLiveAccounts::IsPasswordEnabled (live_accounts.cpp) Live Accounts Tests whether the bound account requires a passcode at logon.
0x000698e0 CLiveAccounts_VerifyPassword CLiveAccounts::VerifyPassword (live_accounts.cpp) Live Accounts Compares an entered passcode against the account's stored hash.
0x00069ae0 CLiveAccounts_Logoff CLiveAccounts::Logoff (live_accounts.cpp) Live Accounts Logs out the currently signed-in Live user and clears in-memory credentials.
0x0006a000 CLiveAccounts_IsBackFromEntryPoint CLiveAccounts::IsBackFromEntryPoint (live_accounts.cpp) Live Accounts Returns whether the dashboard re-entered the Live flow from a title (post-game return) versus a fresh boot.
0x0006a030 CLiveAccounts_GetLastLogonUser CLiveAccounts::GetLastLogonUser (live_accounts.cpp) Live Accounts Returns the index of the account that last logged on. Used to default the user selector.
0x0006a0d0 CLiveAccounts_IsPasswordVerified CLiveAccounts::IsPasswordVerified (live_accounts.cpp) Live Accounts Returns whether the bound account has a verified passcode in this session (gates re-verification).
0x0006a530 CLiveAccounts_GetResult CLiveAccounts::GetResult (live_accounts.cpp) Live Accounts Returns the numeric result code from the most recent Live operation (logon, friends fetch, etc.).
0x0006a590 CLiveAccounts_ClearMOTDCache CLiveAccounts::ClearMOTDCache (live_accounts.cpp) Live Accounts Invalidates the cached "message of the day" so the next Live update re-fetches it.
0x0006e6cb CFilePump::GetData CFilePump::GetData (audio_system.cpp) Audio Reads the next chunk of compressed data from the file pump's source file. Called by the decoder when its input is empty.
0x0007967f CXAppNode::GetTextureSurface CXAppNode::GetTextureSurface (main.cpp) Render Returns the underlying D3D IDirect3DSurface8 for a node's bound texture. Used by render-to-texture nodes.
0x000cfe09 CLayout::GetRadius CLayout::GetRadius (scene_groups.cpp) Scene Groups Returns the layout's circular radius. Inlined in many .text use sites; this is the FND-bound wrapper.
0x0011bec2 CXo_XOnlineLogon CXo::XOnlineLogon (xbox_live.cpp) Live Accounts Theseus-side facade over XOnlineLogon. Marshals the dashboard's account record into the kernel call's parameter shape.

Coverage status

The seed and first expansion cover the application shell, script VM, scene graph backbone, XIP archives, animation, scene groups, file ops, save games, memory monitor, audio core, font / text, keyboard, settings / locale / config, and reference-only entries for cut subsystems (DVD playback, original WMA pump). Per-narrative-doc:

Subsystem Doc Coverage
Script VM VM.md 35 functions
Scene Graph Node.md 2 functions + 32 class-table registrations
XIP Archives XIP.md 5 functions
Animation Nodes AnimationNodes.md 4 functions
Audio System AudioSystem.md 12 functions
Camera Camera.md not yet started
Date Date.md 7 functions
Math Math.md 5 functions
File Operations FileOps.md 7 functions
Disc (no doc yet, narrative TODO) 1 function
Keyboard Keyboard.md 6 functions
Locale (no doc yet, narrative TODO) 1 function
NtIoSvc NtIoSvc.md 1 function
Scene Groups SceneGroups.md 6 functions
Settings Settings.md 14 functions
Shape Render ShapeRender.md not yet started
Text Text.md 2 functions
Title Collection TitleCollection.md 9 verified Theseus mappings (AddTitle, Update, FindTitle, RemoveTitle, RemoveSavedGame x2, GetTitleTotalBlocks, IsDirty, IsPublisherExists) + 6 binary-only anchors (DLC enumerator, save dir walker, drive-letter translator, etc.); more labeling pending
TMAP System TmapSystem.md not yet started
Util Util.md 1 function
Save Games (no doc yet, narrative TODO) 29 functions
Live Accounts (no doc yet, narrative TODO) 13 verified Theseus mappings + 2 binary-only anchors (bulk delete, single-user delete)
Input (no doc yet, narrative TODO) 1 function
Memory Monitor (no doc yet, narrative TODO) 12 functions
Music Collection (no doc yet, narrative TODO) 5 verified Theseus mappings (FormatSoundtrackSongTime, GetUpdateString + 3 stubs: AddSoundtrack, ClearCopyList, DeleteSoundtrack) + 3 binary-only anchors (global ::DeleteSoundtrack, ::DeleteAllSoundtracks, ThreadProc); more labeling pending
Render (no doc yet, narrative TODO) 1 function
App Shell (no doc yet, narrative TODO) 9 functions
Asset Loader AssetLoader.md (narrative TODO) 2 functions
DVD Playback (reference-only, no doc) 1 function
Original WMA Pump (reference-only, folded into AudioSystem.md) 1 function
Original CDDA Streamer (reference-only, folded into AudioSystem.md) 1 function

Reference-only entries describe binary functions in the dashboard whose Theseus replacement is intentionally minimal or absent (DVD playback was cut, the legacy WMA pump was cut, the CDDA streamer was cut). They exist in this table for the historical record, not because they ship.

This page grows as more subsystems get audited. Open issues / corrections welcome.