This directory contains the technical documentation for Theseus: the Xbox dashboard engine reverse-engineered from the 5960 retail XBE.
- XAP Script Contract: Complete catalog of every node type, function, property, and callback that XAP scripts in the dashboard XIPs reference. The "do not break" API surface that any implementation (Xbox, desktop, future ports) must honor.
Per-subsystem reverse engineering notes derived from analysis of the retail 5960 XBE in Ghidra. Each file documents the structures, function tables, properties, and behavior identified for one subsystem of the dashboard.
- VM: XAP bytecode VM: opcode set, operator table, built-in functions, variable resolution
- Node: Scene graph reflection, FND and PRD struct layouts, how the structures were identified from the binary
- XIP: Archive format, file layout, texture loading, mesh buffer layout
- AudioSystem: DirectSound pipeline, CAudioBuf, CAudioPump, CFilePump, CAudioClip, CMusicCollection
- SceneGroups: Group, Layer, Background, Level grouping nodes
- ShapeRender: Shape, Appearance, Material, Box, Sphere, falloff shading, mesh normal smoothing
- TmapSystem: Dynamic textures, delta field warping, audio visualizer, FFT, particle dot field
- AnimationNodes: TimeSensor, interpolators, Viewpoint, NavigationInfo
- FileOps: File and directory copy, save game grid backend
- Keyboard: On-screen keyboard layout and input handling
- Camera: View matrix construction
- Text: Font rendering, glyph layout, color formatting
- NtIoSvc: CD-ROM IOCTL service
- TitleCollection: Saved game and title enumeration backend
- Settings: System settings, screen saver, INI-style config file parser
- Date and Math: Built-in date and math objects
- StringObject: String built-in
- Util: Utility helpers
Documentation specific to building Theseus for desktop platforms (macOS, Linux, in-progress Windows). The Xbox build does not need any of this.
- Porting to PC: How Xbox APIs were replaced with SDL2 and OpenGL
- D3D8 to OpenGL Translation: Rendering layer translation
- Desktop Features: Game launching, Steam, Title Maker, tools
- Media Player Design: libmpv integration with the DVD player XAP scene