{
  "schemaVersion": 1,
  "releaseVersion": "0.1.0",
  "buildDate": "2026-10-28",
  "game": "Crusader of Centy",
  "edition": "Original USA / Sega Genesis",
  "runtime": "Self-hosted EmulatorJS 4.2.3 / Genesis Plus GX legacy, nonthreaded",
  "rom": {
    "sourceFilename": "Crusader of Centy (USA).md",
    "romBytes": 2097152,
    "romSha256": "70846fff7a4da8cd8b280b60e7d9c5009c73e968d8cd63a70b630a24705185f5",
    "zipRomByteIdentical": true,
    "checksumMatches": true,
    "headerChecksum": "e28a"
  },
  "originalCartridgeUrl": "original/crusader-of-centy-usa.md",
  "sourceRomModified": false,
  "originalUserSavesLoaded": false,
  "originalUserSavesModified": false,
  "features": {
    "browserOriginalBootAndNewGameVerified": true,
    "quickSaveLoadExactBrowserRestoreVerified": true,
    "portableDownloadedSessionReopenVerified": true,
    "sameChosenExternalFileWriteReadbackVerified": true,
    "nativeOriginalSaveAndFreshCartridgeReloadVerified": true,
    "sramIncludedBytes": 65536,
    "saveFormat": "cosom-genesis-session-v1 / .genesissave",
    "automaticOriginalSaveCommitDetection": false,
    "fastForwardChoices": [
      2,
      3,
      4
    ],
    "rewindChoices": [
      1,
      2,
      4,
      8
    ],
    "timeRatesArePerformanceTargets": true,
    "walkthrough": {
      "steps": 117,
      "chapters": 16,
      "completion": "manual",
      "storageKey": "cosom.crusader-of-centy.walkthrough.v1"
    },
    "cheats": [
      "Infinite HP",
      "Source-verified enemy attack collision disabled; puzzle and platform checks preserved",
      "Add 5000 / 50000 / 100000 Malins, capped at 9999"
    ],
    "verifiedEnemyAttackDispatches": 54
  },
  "media": {
    "images": 939,
    "imageKinds": {
      "Original scene plane": 8,
      "Original sprite layer": 4,
      "Original sprite pieces": 4,
      "Runtime tile inventory": 4,
      "Original palette": 4,
      "Original game capture": 4,
      "Original base scene layer": 175,
      "Original source palette": 89,
      "Original native sprite context": 133,
      "Original indexed sprite frame data": 114,
      "Object data diagnostic": 63,
      "Sprite tiles · indexed preview": 241,
      "Indexed bank": 68,
      "Background tiles · indexed preview": 28
    },
    "musicCommands": 26,
    "loopingMusicCommands": 24,
    "finiteMusicCommands": 2,
    "music03IndependentNativeStems": 2,
    "audibleEffectCommands": 108,
    "restOnlyEffectSlots": 9,
    "continuousEffectLoops": 6,
    "sourcePcmDefinitions": 28,
    "distinctOriginalPcmPayloads": 17,
    "loopAudioPcmModified": false
  },
  "evidence": {
    "originalRuntime": "original/provenance.json",
    "recoveredMedia": "assets/media-recovery.json",
    "originalAudioData": "assets/audio-source.json",
    "images": "images/manifest.json",
    "music": "music/manifest.json",
    "soundEffects": "sound-effects/manifest.json",
    "exactNativeStateRestoreVerified": true
  },
  "limits": [
    "A complete campaign playthrough and physical wireless controller test have not been performed.",
    "The attack collision bypass preserves shared puzzle and platform checks. Terrain hazards, unique scripts and three unclassified zero-damage callers remain outside its verified coverage.",
    "Graphics include source-derived base layers, captured runtime contexts and diagnostic indexed banks. All runtime object composition, story variants and sprite palette assignments are not complete.",
    "Music and effect scene names remain largely unassigned. Original command identifiers and source offsets are retained.",
    "Original in-game Save is verified in the native core; automatic chosen-file updating after that command is not implemented. Use Save session now."
  ]
}
