Home - Mainkill1/SpiritBoot GitHub Wiki
SpiritBoot kernel and compatibility reference
This wiki documents every public kernel export and the internal cache/filesystem contracts behind calls that have caused compatibility failures. It describes the reconstructed implementation, its limits, and verified behavior. It does not treat an exported symbol as proof of complete compatibility.
Start here
| Reference | Contents |
|---|---|
| Export-Index | All 371 ordinal entries: 337 functions and 34 data exports, public ABI and actual implementation mapping |
| Kernel-Calls | Individual AV, debug, executive, HAL, interlocked, I/O and dispatcher entries |
| Runtime-Calls | Individual filesystem-cache, memory, native-service, object, process, runtime, crypto, loader and remaining entries |
| Cache-and-Pinning | Maps, BCB ownership/reuse, cache-block limits, exceptions, paging completion, write-back and teardown |
| FATX-and-Save-Contracts | Directory markers, cache/cluster crossings, allocation versus EOF, overwrite/reextend, persistent saves and false disc/disk-full errors |
| Resident-Memory-Comparison | Detailed RAM layouts, ROM execution evidence, lifecycle differences and measured reductions |
| Memory-Function-and-Table-Ledger | Every measured owned compiler extent and 34 initial table/global proofs, with retention and uncertainty |
| Memory-Resident-Page-Atlas | All 102 resident image pages with captured physical backing; 48 exact global/table and four structure sizes |
| Memory-Runtime-Physical-Owners | Current main: every unavailable physical page, live/empty pool classes and statistic overlap |
| Memory-Reference-Deep-Census | Reference physical layout, shared entry ranges and exact unknown byte ledger |
| Memory-Reference-Content-and-ROM | Remaining-byte evidence, bounded table windows and changing ROM mapping epochs |
| Memory-ROM-and-Cold-Code | Owned ROM contracts, patching/reset consumers and assembly specialization lead |
| Memory-Reference-Census | All 330 public size comparisons, 1,361 anonymous/public entry measurements and unclassified ranges |
| Boot-Memory-and-Lifecycle | 64/128 MiB layouts, checked aliases, relocation accounting, pin/DMA ordering and reset boundaries |
| Clean-Room-and-Validation | Source baseline, clean-room boundary, observed Complex behavior, ABI caveats and qualification matrix |
Use the export index to look up an ordinal from a missing-export bugcheck or an imported kernel thunk. Then follow its individual entry and any internal-contract links. The detailed pages include current backend symbols, declaration fragments where verified, behavior, ownership, waits, errors and implementation limits.
BIOS size and layout references
- Complex-BIOS-Size-and-Layout — supplied ROM container, complete measured reference image, inferred functions, table/data footprints, ROM execution and unresolved runtime owners.
- SpiritBoot-BIOS-Size-and-Layout — audited main ROM/image, every physical owner, all 59 proved global bodies, function footprints and reclamation contracts.
Source version
The original detailed reference baseline is SpiritBoot main 271495969fecc933ef3c3ff4ad0892f5e99bca2d, built from Roswell 1569e2e89fb47cc72b9c704a8884f98200432bd4 plus the ordered patches. Added ntoskrnl/xb/* files are linked through SpiritBoot's patches because they do not exist in the unmodified Roswell tree. Reconstructed line numbers describe that source version, not the base blob.
Merged updates: PR #93 merged the independent contiguous-allocation retry bookkeeping fix at 5f581fe6; PR #88 merged zero-filled FATX slot reuse at 11b35b93 after all twelve refreshed-head CI checks passed. Current main includes both ordered patches 0041 and 0043. The pages below distinguish these updates from the older reference baseline. Issue #87 remains open for loading and usable-save/reopen qualification. PR #91 remains draft; its translation robustness fix is not a demonstrated native failure cause.
Important distinctions
- Mapped, implemented and qualified are different states. Some mapped functions are reduced implementations or no-ops. Unmapped functions deliberately bugcheck; scaffold data is storage, not a working service.
- ABI argument bytes are not a typed prototype. Fastcall includes register arguments; cdecl decoration cannot establish a variadic signature.
- EOF, backing allocation and valid-data length differ. Resetting EOF does not necessarily destroy the backing chain.
- Cache pin, disk cluster and page sizes differ. A large cluster must not become an oversized single cache pin.
- A title's “disc problem” message can originate in HDD metadata creation. Preserve actual statuses and operation provenance.
- Ordinary save/load, emulator snapshot restore, warm reset and fresh boot are separate paths. Passing one does not qualify all four.
Public documentation contains source references and behavioral conclusions. Proprietary ROMs, game images, user HDDs, EEPROMs, process memory and raw private traces remain outside the wiki and product tree.
Retail 5838 and current main sizing update — 2026-10-10
- Retail-5838-BIOS-Size-and-Layout
- Retail-5838-Function-Ledger
- Retail-5838-Public-API-Comparison
- Retail-5838-Data-and-Physical-Atlas
- Retail-5838-Unclassified-Image-Ranges
- SpiritBoot-Main-Emitted-Extent-Ledger
- SpiritBoot-Main-Physical-Ownership
- SpiritBoot-Latest-Candidate-Extent-Ledger
- Memory-Reduction-Targets
- Memory-Comparison-and-Removal-Guide
- Memory-Three-BIOS-Public-API-Comparison
Memory removal workbook and kernel overhaul
- Memory-Reduction-Workbook — physical-owner challenge ledger, game headroom, allocation pressure and removal decisions.
- Memory-Pool-Reuse-Cost-and-Attribution — current 64 KiB candidate saving, eight-run allocator costs and Conker attribution limits.
- Kernel-Overhaul-Size-and-Performance — lower-level subsystem specialization, runtime roots, performance work and focused PR delivery.