Repository navigation
Project Status
Last consolidated: 2026-09-24.
Scope: This page is the current-state dashboard for MKMSZR. It owns production/proof/pending maturity, current blockers, and priority order. It does not own full 1.0 requirements or long proof chronology.
Canonical release requirements and acceptance gates: 1.0 requirements and roadmap. Detailed runtime evidence: Runtime validation status. Detailed mechanisms and proof histories remain on their owning domain pages.
Evidence labels are listed concisely on Home and applied under the methodology in Research workflow: Runtime-confirmed, Static-confirmed, Implementation/CI-confirmed, Hypothesis / strong inference, Rejected / failed, and Pending.
| System | Product state | Current evidence / limit |
|---|---|---|
| Clean-ROM validation, guarded patching, separate output, N64 checksum update | Production | Implementation/CI-confirmed for the supported USA Rev. 0 ROM; output is separate from the clean input |
| Compact eight-stage selector | Production | Runtime-confirmed A-button route across all eight safe stages; unsafe stock entries are excluded |
| 16 KiB runtime reservation and native payload | Production | Runtime-confirmed 16 KiB arena floor on the bounded all-stage profiler proof and no regressions reported on the tested full-production TEST 16KB + rainbow composition. The established Runtime V2 layout remains in the first 1 KiB; the remaining 15 KiB is an unassigned build-time expansion pool with CI-enforced bounds. |
| Ordinary-pickup persistence | Production beta | Representative Runtime-confirmed collection/restoration in all eight main stages; all 84 ordinary records are statically cataloged, not individually runtime-exhausted |
| Stage-local seeded pickup randomization | Production beta | All 84 ordinary records implemented; deterministic generation/access checks are Implementation/CI-confirmed; this is an interim stage-local mode, not the 1.0 global model |
| Pickup-driven XP progression | Production beta | Diagnostic B behavior is Runtime-confirmed through XP 85/258, Temple -> Wind, and title -> Fire. Stage entry restores XP but does not call the tier evaluator; full nine-tier runtime coverage remains Pending. See XP and progression |
| Four inventory boxes and foreign-key masking | Production beta | Runtime-confirmed switching, transition preservation, and stage-local masking on documented routes; Game Over/new-run reset remains Pending |
| Native box indicator | Production | Runtime-confirmed BOX n OF 4 through the native text path; the broader 1.0 randomizer HUD remains Pending. See Native HUD and UI
|
| Boot branding and seeded phrase | Production | Redesigned legal-screen presentation is Runtime-confirmed; seeded phrase uses a separate deterministic namespace |
| Rebranded title screen | Production beta | Candidate-B art plus configurable uppercase <NAME> EDITION are Runtime-confirmed through the normal production composition. The accepted implementation is data-only; the earlier executable-wrapper allocation is Rejected / failed. See Presentation and branding
|
| Post-legal logo bypass and selector-only save bypass | Production | Runtime-confirmed bounded routes; legal text and later/manual saves remain intact |
| Outfit recoloring | Production | Static modes remain guarded source-TLUT transforms. rainbow is now a normal browser/CLI option using the Runtime-confirmed 64-phase native palette path; seed RAINBOW64 production output is byte-identical to the manually validated proof v01. See Palette and recoloring
|
| Browser/CLI shared patch core | Production beta | Both surfaces use the same patch core; CI covers build/import composition, but full gameplay behavior remains outside CI |
These results are important feasibility evidence but are not normal browser/CLI product features unless stated above.
| Workstream | Current conclusion | Remaining gate / owner |
|---|---|---|
| Cross-stage ordinary-item materialization | Runtime-confirmed in bounded proofs. Prison renders and awards five simultaneous imported item visuals while an untouched Herbs control remains correct. External-to-embedded ordinary resource conversion is also Runtime-confirmed. | The pure planner is implemented but pipeline-disconnected. Fortress stress validation and destination-safe key/crystal award handling remain Pending before a guarded production integration proof. See Global item materialization and solvability |
| Cross-stage enemy import | Runtime-confirmed proof. A Temple monk can be imported into Fire and function in combat; a simpler Fire ordinary-enemy substitution also works. | Arbitrary roster/resource compatibility, death/despawn presentation, allocation policy, and deterministic product integration remain Pending. See Enemy randomization |
| MKT fighter / Sektor takeover | Runtime-confirmed proof line with missile experiments through v74. v62 remains the stable tested combo baseline; v69 Runtime-confirms a safe one-frame genuine chest-open player pose, v70 Runtime-confirms a genuine horizontal rocket frame reaching/travelling as the projectile, v72 Runtime-confirms stable mirrored native placement, v73 Runtime-confirms direct per-tick acceleration, and v74 Runtime-confirms the folded 60->30 Hz resampler is stable. Comparative 60-fps MKT/v74 video shows the temporal ramp is now broadly similar but v74 late visible speed is only about half the donor's on the tested route, so a separate donor-local -> target-world spatial scale remains Pending. Smoke/effects, audio, palette/helper cleanup, reacting-target branch, strike/reaction translation, and final lifecycle composition also remain Pending. | Still proof-only. v62 and v65-v70 use proof code inside production-owned bootstrap space and require reallocation for any integration. The accepted special-move direction is now the generic donor→MKMSZ projectile adapter, not further Ice-path tuning. See Sektor takeover proof history, MKT adapter primitives, and MKT compatibility overview. |
| Toasty audio | Runtime-confirmed proof. Sound proof v03 plays the audibly confirmed MKT Toasty voice through MKMSZ's native audio path. | Final product trigger/allocation is Pending. See Toasty audio research |
| Toasty visual | Runtime-confirmed image proof; compact production-layout proof pending runtime. v38 is perfect across all eight safe stages. v39 is Rejected / failed. v40 fixes the execution architecture with two tiny KSEG0→KSEG1 trampolines and compacts the unrolled proof into 628 bytes of executable code plus 144 bytes of tables, 36 bytes of slot state, and the 512-byte TLUT; aligned expansion use is 1,360 bytes. | Runtime validation of v40 is Pending. On pass, proceed directly to audio + slide/lifetime composition, then the final uppercut/contact + 4% trigger. See Toasty visual research |
| Reverse Elbow / donor move adapter research | Proof/research only. Earlier host-action work established useful MKMSZ action primitives; the accepted direction is genuine donor-to-MKMSZ semantic translation rather than behavioral approximation. | Not a 1.0 blocker. Current donor translation work belongs to MKT to MKMSZ compatibility layer and Player actions and special moves |
1.0 requirements and roadmap is the canonical owner of the complete requirement text, acceptance criteria, ambiguities, and final release gate. The current blocker summary is:
| Blocker | Current state |
|---|---|
| Production-safe global cross-stage item materialization | Pending. Finish the composed planner gate, destination-safe key/crystal award path, guarded allocation/composition, and a disposable integration proof before enabling it in the product pipeline |
| Deterministic global shuffle and retry model | Pending. Replace the interim eight stage-local pools with one deterministic global logical run and explicit deterministic retry attempts |
| Whole-run solvability validation | Pending. Finalize current access rules, completion predicate, and seed-specific required-Power-Upgrades policy |
| Native randomizer HUD | Partial. Native text and box state are proven; checks/progression/key/pickup run-state display is still required |
| Temple Map and run lifecycle invariants | Pending. Resolve Map inclusion/trigger separation/persistence, then HP/lives/continues preservation, Game Over/new-run reset, and Very Hard enforcement |
| Final production-composition runtime gate | Pending. Run a representative full global seed after the above are integrated, including all nine progression tiers and the major lifecycle boundaries |
- Finish the cross-stage resource/materialization production gate: complete the pending composed stress validation, add destination-safe key/crystal award handling, then build and manually validate the smallest guarded integration proof.
- Replace stage-local generation with deterministic global shuffle plus whole-run solver, including explicit deterministic retry attempts and a deterministic per-seed required-Power-Upgrades target.
- Build the native randomizer HUD around the finalized global-run state.
- Resolve Temple Map behavior, then HP/lives/continues lifecycle, Game Over/new-run reset, and the Very Hard invariant.
- Run the final representative full-seed 1.0 validation.
- Post-1.0: ordinary-enemy randomization/resource compatibility, imported-enemy death/despawn work, and donor-move/Sektor expansion.
This order mirrors the current release dependency chain; it is not permission to treat later proof work as production before its own validation gate.
- XP: the first V2 productionization attempt is Rejected / failed because stage initialization called the native tier evaluator too early. Diagnostic B isolated that timing error and is the current production behavior: restore persistent XP at stage entry, evaluate tiers only when a progression pickup is collected. Detailed Diagnostics A/B remain in XP and progression.
- Title: current production uses the Runtime-confirmed data-only Candidate-B composition. The old executable wrapper that overlapped pickup-persistence ownership remains Rejected / failed; proof hashes and integration history remain in Presentation and branding.
-
Sektor: v61 is Rejected / failed because donor reaction selector
0x02was reused numerically; v62 fixes that combo route. The later missile line is documented through v74: v63 rejects an unsafe file-0x87liveness assumption, v65-v67 reject intrusive lifecycle replacements, v68 is the stable stock-lifecycle control, v69 proves the resolved chest-pose cursor hook, v70 proves genuine rocket presentation while rejecting Ice-path tuning as the final adapter strategy, v71 rejects a combined placement/movement revision after an immediate hard hang, v72 Runtime-confirms direct(+5,+38)native placement with correct facing mirroring, v73 Runtime-confirms stable visible acceleration; the subsequent static trace derives 60 Hz donor -> 30 Hz target resampling, and v74 Runtime-confirms that cadence path is stable while comparative donor/target video rejects the earlier 1:1 spatial-unit assumption as a complete fidelity conversion. Full chronology remains canonical in Sektor takeover proof history. - Toasty: audio identification/playback is Runtime-confirmed in v03 and visual v38 is Runtime-confirmed perfect across all eight safe stages. v39 is Rejected / failed. v40 is the corrected compact layout: 628 bytes of table-driven native code, 144 bytes of tables, 36 bytes of slot state, and a 512-byte TLUT use 1,360 aligned expansion bytes total; freshly loaded code is entered only through KSEG1 via two 16-byte static trampolines. Runtime validation is Pending. Detailed evidence is canonical in Toasty visual research.
- Cross-stage items: a logical selector is not proof of free physical storage. Production integration must preserve explicit resource ownership, bounded allocation, deduplication, and destination-safe award semantics.
- Enemy randomization and Reverse Elbow / foreign-move completion are not 1.0 blockers.
- Bosses and scripted encounters are not ordinary-enemy entries.
- The Temple Map is not one of the 84 ordinary pickup records; its 1.0 inclusion policy is still explicit Pending work.
- Zero/unused-looking resource selectors are not automatically free physical storage.
- PS1 addresses and platform behavior do not transfer to N64 without demonstrated compatibility.
- Disposable proof ROM patches, proof caves, and archive handoffs are not silently part of the production pipeline.
- Runtime confirmation is always limited to the documented route; CI/static success does not imply exhaustive gameplay validation.
MKMSZR current documentation · Wiki source: wiki/ · Evidence/archive: ChatGPT Library MKMSZR Research · Product source: smeagol44/MKMSZ-Randomizer
Orientation / Project
- Home
- Contributor start here
- Project status
- 1.0 requirements and roadmap
- Runtime validation status
- Architecture overview
- Research methodology and evidence
- Glossary
Core Technical Reference
- Core runtime and native payload
- Memory and allocation map
- Function registry
- Address and patch-site registry
- Data structures and encodings
- Resource and overlay system
- Address quick reference
- Testing and CI
Randomizer / Product Systems
- Stage flow and selector
- Pickups and stage-local randomization
- Global item materialization and solvability
- Persistence, inventory and lifecycle
- Lifecycle static closure / unbuilt v05
- XP and progression
- Native HUD and UI
- Presentation and branding
- Audio system
- Palette and recoloring
- Web patcher and product
Stage Reference
Gameplay / Enemy / Donor Research
- Enemy randomization
- Player actions and special moves
- MKT compatibility overview
- MKT adapter primitives
- MKT fighter asset translation
- Sub-Zero ↔ Sektor animation mapping
- Sektor takeover proof history
- Toasty audio research
- Toasty visual research
- PS1 research
- N64–PS1 comparison
- N64 -> PS1 port planning and strategy
History / Failures / Superseded Material